next
Version:
The React Framework
31 lines (30 loc) • 1.38 kB
JavaScript
import { DynamicServerError } from "./hooks-server-context";
import { staticGenerationAsyncStorage } from "./static-generation-async-storage";
class StaticGenBailoutError extends Error {
constructor(...args){
super(...args);
this.code = "NEXT_STATIC_GEN_BAILOUT";
}
}
export const staticGenerationBailout = (reason, opts)=>{
const staticGenerationStore = staticGenerationAsyncStorage.getStore();
if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) {
return true;
}
if (staticGenerationStore == null ? void 0 : staticGenerationStore.dynamicShouldError) {
const { dynamic ="error" , link } = opts || {};
const suffix = link ? " See more info here: " + link : "";
throw new StaticGenBailoutError('Page with `dynamic = "' + dynamic + "\"` couldn't be rendered statically because it used `" + reason + "`." + suffix);
}
if (staticGenerationStore) {
staticGenerationStore.revalidate = 0;
}
if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) {
const err = new DynamicServerError(reason);
staticGenerationStore.dynamicUsageDescription = reason;
staticGenerationStore.dynamicUsageStack = err.stack;
throw err;
}
return false;
};
//# sourceMappingURL=static-generation-bailout.js.map