"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { isStaticGenBailoutError: null, staticGenerationBailout: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { isStaticGenBailoutError: function() { return isStaticGenBailoutError; }, staticGenerationBailout: function() { return staticGenerationBailout; } }); const _hooksservercontext = require("./hooks-server-context"); const _staticgenerationasyncstorageexternal = require("./static-generation-async-storage.external"); const NEXT_STATIC_GEN_BAILOUT = "NEXT_STATIC_GEN_BAILOUT"; class StaticGenBailoutError extends Error { constructor(...args){ super(...args); this.code = NEXT_STATIC_GEN_BAILOUT; } } function isStaticGenBailoutError(error) { if (typeof error !== "object" || error === null || !("code" in error)) { return false; } return error.code === NEXT_STATIC_GEN_BAILOUT; } function formatErrorMessage(reason, opts) { const { dynamic, link } = opts || {}; const suffix = link ? " See more info here: " + link : ""; return "Page" + (dynamic ? ' with `dynamic = "' + dynamic + '"`' : "") + " couldn't be rendered statically because it used `" + reason + "`." + suffix; } const staticGenerationBailout = (reason, param)=>{ let { dynamic, link } = param === void 0 ? {} : param; const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore(); if (!staticGenerationStore) return false; if (staticGenerationStore.forceStatic) { return true; } if (staticGenerationStore.dynamicShouldError) { throw new StaticGenBailoutError(formatErrorMessage(reason, { link, dynamic: dynamic != null ? dynamic : "error" })); } const message = formatErrorMessage(reason, { dynamic, // this error should be caught by Next to bail out of static generation // in case it's uncaught, this link provides some additional context as to why link: "https://nextjs.org/docs/messages/dynamic-server-error" }); // If postpone is available, we should postpone the render. staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason); // As this is a bailout, we don't want to revalidate, so set the revalidate // to 0. staticGenerationStore.revalidate = 0; if (staticGenerationStore.isStaticGeneration) { const err = new _hooksservercontext.DynamicServerError(message); staticGenerationStore.dynamicUsageDescription = reason; staticGenerationStore.dynamicUsageStack = err.stack; throw err; } return false; }; if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=static-generation-bailout.js.map