{"version":3,"sources":["../../../../src/server/request/cookies.ts"],"sourcesContent":["import {\n  type ReadonlyRequestCookies,\n  areCookiesMutableInCurrentPhase,\n  RequestCookiesAdapter,\n} from '../web/spec-extension/adapters/request-cookies'\nimport { RequestCookies } from '../web/spec-extension/cookies'\nimport {\n  workAsyncStorage,\n  type WorkStore,\n} from '../app-render/work-async-storage.external'\nimport {\n  throwForMissingRequestStore,\n  workUnitAsyncStorage,\n  type PrerenderStoreModern,\n  type RequestStore,\n  isInEarlyRenderStage,\n} from '../app-render/work-unit-async-storage.external'\nimport {\n  postponeWithTracking,\n  throwToInterruptStaticGeneration,\n  trackDynamicDataInDynamicRender,\n} from '../app-render/dynamic-rendering'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport {\n  delayUntilRuntimeStage,\n  makeDevtoolsIOAwarePromise,\n  makeHangingPromise,\n} from '../dynamic-rendering-utils'\nimport { createDedupedByCallsiteServerErrorLoggerDev } from '../create-deduped-by-callsite-server-error-logger'\nimport { isRequestAPICallableInsideAfter } from './utils'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport { RenderStage } from '../app-render/staged-rendering'\n\nexport function cookies(): Promise<ReadonlyRequestCookies> {\n  const callingExpression = 'cookies'\n  const workStore = workAsyncStorage.getStore()\n  const workUnitStore = workUnitAsyncStorage.getStore()\n\n  if (workStore) {\n    if (\n      workUnitStore &&\n      workUnitStore.phase === 'after' &&\n      !isRequestAPICallableInsideAfter()\n    ) {\n      throw new Error(\n        // TODO(after): clarify that this only applies to pages?\n        `Route ${workStore.route} used \\`cookies()\\` inside \\`after()\\`. This is not supported. If you need this data inside an \\`after()\\` callback, use \\`cookies()\\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`\n      )\n    }\n\n    if (workStore.forceStatic) {\n      // When using forceStatic we override all other logic and always just return an empty\n      // cookies object without tracking\n      const underlyingCookies = createEmptyCookies()\n      return makeUntrackedCookies(underlyingCookies)\n    }\n\n    if (workStore.dynamicShouldError) {\n      throw new StaticGenBailoutError(\n        `Route ${workStore.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`cookies()\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n      )\n    }\n\n    if (workUnitStore) {\n      switch (workUnitStore.type) {\n        case 'cache':\n          const error = new Error(\n            `Route ${workStore.route} used \\`cookies()\\` inside \"use cache\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \\`cookies()\\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`\n          )\n          Error.captureStackTrace(error, cookies)\n          workStore.invalidDynamicUsageError ??= error\n          throw error\n        case 'unstable-cache':\n          throw new Error(\n            `Route ${workStore.route} used \\`cookies()\\` inside a function cached with \\`unstable_cache()\\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \\`cookies()\\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`\n          )\n        case 'generate-static-params':\n          throw new Error(\n            `Route ${workStore.route} used \\`cookies()\\` inside \\`generateStaticParams\\`. This is not supported because \\`generateStaticParams\\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`\n          )\n        case 'prerender':\n          return makeHangingCookies(workStore, workUnitStore)\n        case 'prerender-client':\n        case 'validation-client':\n          const exportName = '`cookies`'\n          throw new InvariantError(\n            `${exportName} must not be used within a Client Component. Next.js should be preventing ${exportName} from being included in Client Components statically, but did not in this case.`\n          )\n        case 'prerender-ppr':\n          // We need track dynamic access here eagerly to keep continuity with\n          // how cookies has worked in PPR without cacheComponents.\n          return postponeWithTracking(\n            workStore.route,\n            callingExpression,\n            workUnitStore.dynamicTracking\n          )\n        case 'prerender-legacy':\n          // We track dynamic access here so we don't need to wrap the cookies\n          // in individual property access tracking.\n          return throwToInterruptStaticGeneration(\n            callingExpression,\n            workStore,\n            workUnitStore\n          )\n        case 'prerender-runtime':\n          return delayUntilRuntimeStage(\n            workUnitStore,\n            makeUntrackedCookies(workUnitStore.cookies)\n          )\n        case 'private-cache':\n          // Private caches are delayed until the runtime stage in use-cache-wrapper,\n          // so we don't need an additional delay here.\n          return makeUntrackedCookies(workUnitStore.cookies)\n        case 'request':\n          trackDynamicDataInDynamicRender(workUnitStore)\n\n          let underlyingCookies: ReadonlyRequestCookies\n\n          if (areCookiesMutableInCurrentPhase(workUnitStore)) {\n            // We can't conditionally return different types here based on the context.\n            // To avoid confusion, we always return the readonly type here.\n            underlyingCookies =\n              workUnitStore.userspaceMutableCookies as unknown as ReadonlyRequestCookies\n          } else {\n            underlyingCookies = workUnitStore.cookies\n          }\n\n          if (process.env.NODE_ENV === 'development') {\n            // Semantically we only need the dev tracking when running in `next dev`\n            // but since you would never use next dev with production NODE_ENV we use this\n            // as a proxy so we can statically exclude this code from production builds.\n            return makeUntrackedCookiesWithDevWarnings(\n              workUnitStore,\n              underlyingCookies,\n              workStore?.route\n            )\n          } else if (workUnitStore.asyncApiPromises) {\n            const early = isInEarlyRenderStage(workUnitStore)\n            if (underlyingCookies === workUnitStore.mutableCookies) {\n              return early\n                ? workUnitStore.asyncApiPromises.earlyMutableCookies\n                : workUnitStore.asyncApiPromises.mutableCookies\n            } else {\n              return early\n                ? workUnitStore.asyncApiPromises.earlyCookies\n                : workUnitStore.asyncApiPromises.cookies\n            }\n          } else {\n            return makeUntrackedCookies(underlyingCookies)\n          }\n        default:\n          workUnitStore satisfies never\n      }\n    }\n  }\n\n  // If we end up here, there was no work store or work unit store present.\n  throwForMissingRequestStore(callingExpression)\n}\n\nfunction createEmptyCookies(): ReadonlyRequestCookies {\n  return RequestCookiesAdapter.seal(new RequestCookies(new Headers({})))\n}\n\ninterface CacheLifetime {}\nconst CachedCookies = new WeakMap<\n  CacheLifetime,\n  Promise<ReadonlyRequestCookies>\n>()\n\nfunction makeHangingCookies(\n  workStore: WorkStore,\n  prerenderStore: PrerenderStoreModern\n): Promise<ReadonlyRequestCookies> {\n  const cachedPromise = CachedCookies.get(prerenderStore)\n  if (cachedPromise) {\n    return cachedPromise\n  }\n\n  const promise = makeHangingPromise<ReadonlyRequestCookies>(\n    prerenderStore.renderSignal,\n    workStore.route,\n    '`cookies()`'\n  )\n  CachedCookies.set(prerenderStore, promise)\n\n  return promise\n}\n\nfunction makeUntrackedCookies(\n  underlyingCookies: ReadonlyRequestCookies\n): Promise<ReadonlyRequestCookies> {\n  const cachedCookies = CachedCookies.get(underlyingCookies)\n  if (cachedCookies) {\n    return cachedCookies\n  }\n\n  const promise = Promise.resolve(underlyingCookies)\n  CachedCookies.set(underlyingCookies, promise)\n\n  return promise\n}\n\nfunction makeUntrackedCookiesWithDevWarnings(\n  requestStore: RequestStore,\n  underlyingCookies: ReadonlyRequestCookies,\n  route?: string\n): Promise<ReadonlyRequestCookies> {\n  if (requestStore.asyncApiPromises) {\n    const early = isInEarlyRenderStage(requestStore)\n    let promise: Promise<ReadonlyRequestCookies>\n    if (underlyingCookies === requestStore.mutableCookies) {\n      promise = early\n        ? requestStore.asyncApiPromises.earlyMutableCookies\n        : requestStore.asyncApiPromises.mutableCookies\n    } else if (underlyingCookies === requestStore.cookies) {\n      promise = early\n        ? requestStore.asyncApiPromises.earlyCookies\n        : requestStore.asyncApiPromises.cookies\n    } else {\n      throw new InvariantError(\n        'Received an underlying cookies object that does not match either `cookies` or `mutableCookies`'\n      )\n    }\n    return instrumentCookiesPromiseWithDevWarnings(promise, route)\n  }\n\n  const cachedCookies = CachedCookies.get(underlyingCookies)\n  if (cachedCookies) {\n    return cachedCookies\n  }\n\n  const promise = makeDevtoolsIOAwarePromise(\n    underlyingCookies,\n    requestStore,\n    RenderStage.Runtime\n  )\n\n  const proxiedPromise = instrumentCookiesPromiseWithDevWarnings(promise, route)\n\n  CachedCookies.set(underlyingCookies, proxiedPromise)\n\n  return proxiedPromise\n}\n\nconst warnForSyncAccess = createDedupedByCallsiteServerErrorLoggerDev(\n  createCookiesAccessError\n)\n\nfunction instrumentCookiesPromiseWithDevWarnings(\n  promise: Promise<ReadonlyRequestCookies>,\n  route: string | undefined\n) {\n  Object.defineProperties(promise, {\n    [Symbol.iterator]: replaceableWarningDescriptorForSymbolIterator(\n      promise,\n      route\n    ),\n    size: replaceableWarningDescriptor(promise, 'size', route),\n    get: replaceableWarningDescriptor(promise, 'get', route),\n    getAll: replaceableWarningDescriptor(promise, 'getAll', route),\n    has: replaceableWarningDescriptor(promise, 'has', route),\n    set: replaceableWarningDescriptor(promise, 'set', route),\n    delete: replaceableWarningDescriptor(promise, 'delete', route),\n    clear: replaceableWarningDescriptor(promise, 'clear', route),\n    toString: replaceableWarningDescriptor(promise, 'toString', route),\n  })\n  return promise\n}\n\nfunction replaceableWarningDescriptor(\n  target: unknown,\n  prop: string,\n  route: string | undefined\n) {\n  return {\n    enumerable: false,\n    get() {\n      warnForSyncAccess(route, `\\`cookies().${prop}\\``)\n      return undefined\n    },\n    set(value: unknown) {\n      Object.defineProperty(target, prop, {\n        value,\n        writable: true,\n        configurable: true,\n      })\n    },\n    configurable: true,\n  }\n}\n\nfunction replaceableWarningDescriptorForSymbolIterator(\n  target: unknown,\n  route: string | undefined\n) {\n  return {\n    enumerable: false,\n    get() {\n      warnForSyncAccess(route, '`...cookies()` or similar iteration')\n      return undefined\n    },\n    set(value: unknown) {\n      Object.defineProperty(target, Symbol.iterator, {\n        value,\n        writable: true,\n        enumerable: true,\n        configurable: true,\n      })\n    },\n    configurable: true,\n  }\n}\n\nfunction createCookiesAccessError(\n  route: string | undefined,\n  expression: string\n) {\n  const prefix = route ? `Route \"${route}\" ` : 'This route '\n  return new Error(\n    `${prefix}used ${expression}. ` +\n      `\\`cookies()\\` returns a Promise and must be unwrapped with \\`await\\` or \\`React.use()\\` before accessing its properties. ` +\n      `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`\n  )\n}\n"],"names":["areCookiesMutableInCurrentPhase","RequestCookiesAdapter","RequestCookies","workAsyncStorage","throwForMissingRequestStore","workUnitAsyncStorage","isInEarlyRenderStage","postponeWithTracking","throwToInterruptStaticGeneration","trackDynamicDataInDynamicRender","StaticGenBailoutError","delayUntilRuntimeStage","makeDevtoolsIOAwarePromise","makeHangingPromise","createDedupedByCallsiteServerErrorLoggerDev","isRequestAPICallableInsideAfter","InvariantError","RenderStage","cookies","callingExpression","workStore","getStore","workUnitStore","phase","Error","route","forceStatic","underlyingCookies","createEmptyCookies","makeUntrackedCookies","dynamicShouldError","type","error","captureStackTrace","invalidDynamicUsageError","makeHangingCookies","exportName","dynamicTracking","userspaceMutableCookies","process","env","NODE_ENV","makeUntrackedCookiesWithDevWarnings","asyncApiPromises","early","mutableCookies","earlyMutableCookies","earlyCookies","seal","Headers","CachedCookies","WeakMap","prerenderStore","cachedPromise","get","promise","renderSignal","set","cachedCookies","Promise","resolve","requestStore","instrumentCookiesPromiseWithDevWarnings","Runtime","proxiedPromise","warnForSyncAccess","createCookiesAccessError","Object","defineProperties","Symbol","iterator","replaceableWarningDescriptorForSymbolIterator","size","replaceableWarningDescriptor","getAll","has","delete","clear","toString","target","prop","enumerable","undefined","value","defineProperty","writable","configurable","expression","prefix"],"mappings":"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","ignoreList":[0]}