"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { describeHasCheckingStringProperty: null, describeStringPropertyAccess: null, isRequestAPICallableInsideAfter: null, throwWithStaticGenerationBailoutError: null, throwWithStaticGenerationBailoutErrorWithDynamicError: null, wellKnownProperties: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { describeHasCheckingStringProperty: function() { return describeHasCheckingStringProperty; }, describeStringPropertyAccess: function() { return describeStringPropertyAccess; }, isRequestAPICallableInsideAfter: function() { return isRequestAPICallableInsideAfter; }, throwWithStaticGenerationBailoutError: function() { return throwWithStaticGenerationBailoutError; }, throwWithStaticGenerationBailoutErrorWithDynamicError: function() { return throwWithStaticGenerationBailoutErrorWithDynamicError; }, wellKnownProperties: function() { return wellKnownProperties; } }); const _staticgenerationbailout = require("../../client/components/static-generation-bailout"); const _aftertaskasyncstorageexternal = require("../app-render/after-task-async-storage.external"); // This regex will have fast negatives meaning valid identifiers may not pass // this test. However this is only used during static generation to provide hints // about why a page bailed out of some or all prerendering and we can use bracket notation // for example while `ಠ_ಠ` is a valid identifier it's ok to print `searchParams['ಠ_ಠ']` // even if this would have been fine too `searchParams.ಠ_ಠ` const isDefinitelyAValidIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/; function describeStringPropertyAccess(target, prop) { if (isDefinitelyAValidIdentifier.test(prop)) { return `\`${target}.${prop}\``; } return `\`${target}[${JSON.stringify(prop)}]\``; } function describeHasCheckingStringProperty(target, prop) { const stringifiedProp = JSON.stringify(prop); return `\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`; } function throwWithStaticGenerationBailoutError(route, expression) { throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`); } function throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) { throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`); } function isRequestAPICallableInsideAfter() { const afterTaskStore = _aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore(); return (afterTaskStore == null ? void 0 : afterTaskStore.rootTaskSpawnPhase) === 'action'; } const wellKnownProperties = new Set([ 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toString', 'valueOf', 'toLocaleString', // Promise prototype // fallthrough 'then', 'catch', 'finally', // React Promise extension // fallthrough 'status', // React introspection 'displayName', // Common tested properties // fallthrough 'toJSON', '$$typeof', '__esModule' ]); //# sourceMappingURL=utils.js.map