[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-next-cache-components":3,"mdc-qelwh0-key":36,"related-repo-openai-next-cache-components":6289,"related-org-openai-next-cache-components":6391},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"next-cache-components","implement Next.js 16 caching strategies","Next.js 16 Cache Components guidance — PPR, use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache. Use when implementing partial prerendering, caching strategies, or migrating from older Next.js cache patterns.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":18,"type":15},"Next.js","next-js",{"name":20,"slug":21,"type":15},"Caching","caching",{"name":23,"slug":24,"type":15},"Frontend","frontend",4888,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-08-28T15:08:45.698651",null,661,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fvercel\u002Fskills\u002Fnext-cache-components","---\nname: next-cache-components\ndescription: Next.js 16 Cache Components guidance — PPR, use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache. Use when implementing partial prerendering, caching strategies, or migrating from older Next.js cache patterns.\nmetadata:\n  priority: 6\n  docs:\n    - \"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fgetting-started\u002Fcache-components\"\n    - \"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Fdirectives\u002Fuse-cache\"\n  pathPatterns:\n    - 'next.config.*'\n    - 'app\u002F**'\n    - 'src\u002Fapp\u002F**'\n    - 'apps\u002F*\u002Fapp\u002F**'\n    - 'apps\u002F*\u002Fsrc\u002Fapp\u002F**'\n  importPatterns:\n    - \"next\u002Fcache\"\n  bashPatterns:\n    - '\\bnext\\s+(dev|build)\\b'\n  promptSignals:\n    phrases:\n      - \"use cache\"\n      - \"cache components\"\n      - \"partial prerendering\"\n      - \"PPR\"\n      - \"cacheLife\"\n      - \"cacheTag\"\n      - \"updateTag\"\n      - \"unstable_cache\"\n    allOf:\n      - [cache, component]\n      - [cache, directive]\n      - [partial, prerender]\n    anyOf:\n      - \"revalidateTag\"\n      - \"stale\"\n      - \"revalidate\"\n      - \"cache profile\"\n    noneOf: []\n    minScore: 6\n---\n\n# Cache Components (Next.js 16+)\n\nCache Components enable Partial Prerendering (PPR) - mix static, cached, and dynamic content in a single route.\n\n## Enable Cache Components\n\n```ts\n\u002F\u002F next.config.ts\nimport type { NextConfig } from 'next'\n\nconst nextConfig: NextConfig = {\n  cacheComponents: true,\n}\n\nexport default nextConfig\n```\n\nThis replaces the old `experimental.ppr` flag.\n\n---\n\n## Three Content Types\n\nWith Cache Components enabled, content falls into three categories:\n\n### 1. Static (Auto-Prerendered)\n\nSynchronous code, imports, pure computations - prerendered at build time:\n\n```tsx\nexport default function Page() {\n  return (\n    \u003Cheader>\n      \u003Ch1>Our Blog\u003C\u002Fh1>  {\u002F* Static - instant *\u002F}\n      \u003Cnav>...\u003C\u002Fnav>\n    \u003C\u002Fheader>\n  )\n}\n```\n\n### 2. Cached (`use cache`)\n\nAsync data that doesn't need fresh fetches every request:\n\n```tsx\nasync function BlogPosts() {\n  'use cache'\n  cacheLife('hours')\n\n  const posts = await db.posts.findMany()\n  return \u003CPostList posts={posts} \u002F>\n}\n```\n\n### 3. Dynamic (Suspense)\n\nRuntime data that must be fresh - wrap in Suspense:\n\n```tsx\nimport { Suspense } from 'react'\n\nexport default function Page() {\n  return (\n    \u003C>\n      \u003CBlogPosts \u002F>  {\u002F* Cached *\u002F}\n\n      \u003CSuspense fallback={\u003Cp>Loading...\u003C\u002Fp>}>\n        \u003CUserPreferences \u002F>  {\u002F* Dynamic - streams in *\u002F}\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function UserPreferences() {\n  const theme = (await cookies()).get('theme')?.value\n  return \u003Cp>Theme: {theme}\u003C\u002Fp>\n}\n```\n\n---\n\n## `use cache` Directive\n\n### File Level\n\n```tsx\n'use cache'\n\nexport default async function Page() {\n  \u002F\u002F Entire page is cached\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n```\n\n### Component Level\n\n```tsx\nexport async function CachedComponent() {\n  'use cache'\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n```\n\n### Function Level\n\n```tsx\nexport async function getData() {\n  'use cache'\n  return db.query('SELECT * FROM posts')\n}\n```\n\n---\n\n## Cache Profiles\n\n### Built-in Profiles\n\n```tsx\n'use cache'                    \u002F\u002F Default: 5m stale, 15m revalidate\n```\n\n```tsx\n'use cache: remote'           \u002F\u002F Platform-provided cache (Redis, KV)\n```\n\n```tsx\n'use cache: private'          \u002F\u002F For compliance, allows runtime APIs\n```\n\n### `cacheLife()` - Custom Lifetime\n\n```tsx\nimport { cacheLife } from 'next\u002Fcache'\n\nasync function getData() {\n  'use cache'\n  cacheLife('hours')  \u002F\u002F Built-in profile\n  return fetch('\u002Fapi\u002Fdata')\n}\n```\n\nBuilt-in profiles: `'default'`, `'minutes'`, `'hours'`, `'days'`, `'weeks'`, `'max'`\n\n### Inline Configuration\n\n```tsx\nasync function getData() {\n  'use cache'\n  cacheLife({\n    stale: 3600,      \u002F\u002F 1 hour - serve stale while revalidating\n    revalidate: 7200, \u002F\u002F 2 hours - background revalidation interval\n    expire: 86400,    \u002F\u002F 1 day - hard expiration\n  })\n  return fetch('\u002Fapi\u002Fdata')\n}\n```\n\n---\n\n## Cache Invalidation\n\n### `cacheTag()` - Tag Cached Content\n\n```tsx\nimport { cacheTag } from 'next\u002Fcache'\n\nasync function getProducts() {\n  'use cache'\n  cacheTag('products')\n  return db.products.findMany()\n}\n\nasync function getProduct(id: string) {\n  'use cache'\n  cacheTag('products', `product-${id}`)\n  return db.products.findUnique({ where: { id } })\n}\n```\n\n### `updateTag()` - Immediate Invalidation\n\nUse when you need the cache refreshed within the same request:\n\n```tsx\n'use server'\n\nimport { updateTag } from 'next\u002Fcache'\n\nexport async function updateProduct(id: string, data: FormData) {\n  await db.products.update({ where: { id }, data })\n  updateTag(`product-${id}`)  \u002F\u002F Immediate - same request sees fresh data\n}\n```\n\n### `revalidateTag()` - Background Revalidation\n\nUse for stale-while-revalidate behavior:\n\n```tsx\n'use server'\n\nimport { revalidateTag } from 'next\u002Fcache'\n\nexport async function createPost(data: FormData) {\n  await db.posts.create({ data })\n  revalidateTag('posts')  \u002F\u002F Background - next request sees fresh data\n}\n```\n\n---\n\n## Runtime Data Constraint\n\n**Cannot** access `cookies()`, `headers()`, or `searchParams` inside `use cache`.\n\n### Solution: Pass as Arguments\n\n```tsx\n\u002F\u002F Wrong - runtime API inside use cache\nasync function CachedProfile() {\n  'use cache'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Error!\n  return \u003Cdiv>{session}\u003C\u002Fdiv>\n}\n\n\u002F\u002F Correct - extract outside, pass as argument\nasync function ProfilePage() {\n  const session = (await cookies()).get('session')?.value\n  return \u003CCachedProfile sessionId={session} \u002F>\n}\n\nasync function CachedProfile({ sessionId }: { sessionId: string }) {\n  'use cache'\n  \u002F\u002F sessionId becomes part of cache key automatically\n  const data = await fetchUserData(sessionId)\n  return \u003Cdiv>{data.name}\u003C\u002Fdiv>\n}\n```\n\n### Exception: `use cache: private`\n\nFor compliance requirements when you can't refactor:\n\n```tsx\nasync function getData() {\n  'use cache: private'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Allowed\n  return fetchData(session)\n}\n```\n\n---\n\n## Cache Key Generation\n\nCache keys are automatic based on:\n- **Build ID** - invalidates all caches on deploy\n- **Function ID** - hash of function location\n- **Serializable arguments** - props become part of key\n- **Closure variables** - outer scope values included\n\n```tsx\nasync function Component({ userId }: { userId: string }) {\n  const getData = async (filter: string) => {\n    'use cache'\n    \u002F\u002F Cache key = userId (closure) + filter (argument)\n    return fetch(`\u002Fapi\u002Fusers\u002F${userId}?filter=${filter}`)\n  }\n  return getData('active')\n}\n```\n\n---\n\n## Complete Example\n\n```tsx\nimport { Suspense } from 'react'\nimport { cookies } from 'next\u002Fheaders'\nimport { cacheLife, cacheTag } from 'next\u002Fcache'\n\nexport default function DashboardPage() {\n  return (\n    \u003C>\n      {\u002F* Static shell - instant from CDN *\u002F}\n      \u003Cheader>\u003Ch1>Dashboard\u003C\u002Fh1>\u003C\u002Fheader>\n      \u003Cnav>...\u003C\u002Fnav>\n\n      {\u002F* Cached - fast, revalidates hourly *\u002F}\n      \u003CStats \u002F>\n\n      {\u002F* Dynamic - streams in with fresh data *\u002F}\n      \u003CSuspense fallback={\u003CNotificationsSkeleton \u002F>}>\n        \u003CNotifications \u002F>\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function Stats() {\n  'use cache'\n  cacheLife('hours')\n  cacheTag('dashboard-stats')\n\n  const stats = await db.stats.aggregate()\n  return \u003CStatsDisplay stats={stats} \u002F>\n}\n\nasync function Notifications() {\n  const userId = (await cookies()).get('userId')?.value\n  const notifications = await db.notifications.findMany({\n    where: { userId, read: false }\n  })\n  return \u003CNotificationList items={notifications} \u002F>\n}\n```\n\n---\n\n## Migration from Previous Versions\n\n| Old Config | Replacement |\n|-----------|-------------|\n| `experimental.ppr` | `cacheComponents: true` |\n| `dynamic = 'force-dynamic'` | Remove (default behavior) |\n| `dynamic = 'force-static'` | `'use cache'` + `cacheLife('max')` |\n| `revalidate = N` | `cacheLife({ revalidate: N })` |\n| `unstable_cache()` | `'use cache'` directive |\n\n### Migrating `unstable_cache` to `use cache`\n\n`unstable_cache` has been replaced by the `use cache` directive in Next.js 16. When `cacheComponents` is enabled, convert `unstable_cache` calls to `use cache` functions:\n\n**Before (`unstable_cache`):**\n\n```tsx\nimport { unstable_cache } from 'next\u002Fcache'\n\nconst getCachedUser = unstable_cache(\n  async (id) => getUser(id),\n  ['my-app-user'],\n  {\n    tags: ['users'],\n    revalidate: 60,\n  }\n)\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n```\n\n**After (`use cache`):**\n\n```tsx\nimport { cacheLife, cacheTag } from 'next\u002Fcache'\n\nasync function getCachedUser(id: string) {\n  'use cache'\n  cacheTag('users')\n  cacheLife({ revalidate: 60 })\n  return getUser(id)\n}\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n```\n\nKey differences:\n- **No manual cache keys** - `use cache` generates keys automatically from function arguments and closures. The `keyParts` array from `unstable_cache` is no longer needed.\n- **Tags** - Replace `options.tags` with `cacheTag()` calls inside the function.\n- **Revalidation** - Replace `options.revalidate` with `cacheLife({ revalidate: N })` or a built-in profile like `cacheLife('minutes')`.\n- **Dynamic data** - `unstable_cache` did not support `cookies()` or `headers()` inside the callback. The same restriction applies to `use cache`, but you can use `'use cache: private'` if needed.\n\n---\n\n## Limitations\n\n- **Edge runtime not supported** - requires Node.js\n- **Static export not supported** - needs server\n- **Non-deterministic values** (`Math.random()`, `Date.now()`) execute once at build time inside `use cache`\n\nFor request-time randomness outside cache:\n\n```tsx\nimport { connection } from 'next\u002Fserver'\n\nasync function DynamicContent() {\n  await connection()  \u002F\u002F Defer to request time\n  const id = crypto.randomUUID()  \u002F\u002F Different per request\n  return \u003Cdiv>{id}\u003C\u002Fdiv>\n}\n```\n\nSources:\n- [Cache Components Guide](https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fgetting-started\u002Fcache-components)\n- [use cache Directive](https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Fdirectives\u002Fuse-cache)\n- [unstable_cache (legacy)](https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Ffunctions\u002Funstable_cache)\n",{"data":37,"body":78},{"name":4,"description":6,"metadata":38},{"priority":39,"docs":40,"pathPatterns":43,"importPatterns":49,"bashPatterns":51,"promptSignals":53},6,[41,42],"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fgetting-started\u002Fcache-components","https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Fdirectives\u002Fuse-cache",[44,45,46,47,48],"next.config.*","app\u002F**","src\u002Fapp\u002F**","apps\u002F*\u002Fapp\u002F**","apps\u002F*\u002Fsrc\u002Fapp\u002F**",[50],"next\u002Fcache",[52],"\\bnext\\s+(dev|build)\\b",{"phrases":54,"allOf":63,"anyOf":72,"noneOf":77,"minScore":39},[55,56,57,58,59,60,61,62],"use cache","cache components","partial prerendering","PPR","cacheLife","cacheTag","updateTag","unstable_cache",[64,67,69],[65,66],"cache","component",[65,68],"directive",[70,71],"partial","prerender",[73,74,75,76],"revalidateTag","stale","revalidate","cache profile",[],{"type":79,"children":80},"root",[81,90,96,103,285,298,302,308,313,320,325,509,522,527,707,713,718,1138,1141,1152,1158,1301,1307,1426,1432,1530,1533,1539,1545,1572,1600,1628,1640,1801,1848,1854,2045,2048,2054,2066,2415,2427,2432,2685,2697,2702,2906,2909,2915,2955,2961,3451,3462,3467,3614,3617,3623,3628,3673,3913,3916,3922,4791,4794,4800,4937,4955,4994,5009,5443,5457,5863,5868,6003,6006,6012,6064,6069,6245,6250,6283],{"type":82,"tag":83,"props":84,"children":86},"element","h1",{"id":85},"cache-components-nextjs-16",[87],{"type":88,"value":89},"text","Cache Components (Next.js 16+)",{"type":82,"tag":91,"props":92,"children":93},"p",{},[94],{"type":88,"value":95},"Cache Components enable Partial Prerendering (PPR) - mix static, cached, and dynamic content in a single route.",{"type":82,"tag":97,"props":98,"children":100},"h2",{"id":99},"enable-cache-components",[101],{"type":88,"value":102},"Enable Cache Components",{"type":82,"tag":104,"props":105,"children":110},"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F next.config.ts\nimport type { NextConfig } from 'next'\n\nconst nextConfig: NextConfig = {\n  cacheComponents: true,\n}\n\nexport default nextConfig\n","ts","",[111],{"type":82,"tag":112,"props":113,"children":114},"code",{"__ignoreMap":109},[115,127,180,190,225,250,258,266],{"type":82,"tag":116,"props":117,"children":120},"span",{"class":118,"line":119},"line",1,[121],{"type":82,"tag":116,"props":122,"children":124},{"style":123},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[125],{"type":88,"value":126},"\u002F\u002F next.config.ts\n",{"type":82,"tag":116,"props":128,"children":130},{"class":118,"line":129},2,[131,137,142,148,154,159,164,169,175],{"type":82,"tag":116,"props":132,"children":134},{"style":133},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[135],{"type":88,"value":136},"import",{"type":82,"tag":116,"props":138,"children":139},{"style":133},[140],{"type":88,"value":141}," type",{"type":82,"tag":116,"props":143,"children":145},{"style":144},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[146],{"type":88,"value":147}," {",{"type":82,"tag":116,"props":149,"children":151},{"style":150},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[152],{"type":88,"value":153}," NextConfig",{"type":82,"tag":116,"props":155,"children":156},{"style":144},[157],{"type":88,"value":158}," }",{"type":82,"tag":116,"props":160,"children":161},{"style":133},[162],{"type":88,"value":163}," from",{"type":82,"tag":116,"props":165,"children":166},{"style":144},[167],{"type":88,"value":168}," '",{"type":82,"tag":116,"props":170,"children":172},{"style":171},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[173],{"type":88,"value":174},"next",{"type":82,"tag":116,"props":176,"children":177},{"style":144},[178],{"type":88,"value":179},"'\n",{"type":82,"tag":116,"props":181,"children":183},{"class":118,"line":182},3,[184],{"type":82,"tag":116,"props":185,"children":187},{"emptyLinePlaceholder":186},true,[188],{"type":88,"value":189},"\n",{"type":82,"tag":116,"props":191,"children":193},{"class":118,"line":192},4,[194,200,205,210,215,220],{"type":82,"tag":116,"props":195,"children":197},{"style":196},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[198],{"type":88,"value":199},"const",{"type":82,"tag":116,"props":201,"children":202},{"style":150},[203],{"type":88,"value":204}," nextConfig",{"type":82,"tag":116,"props":206,"children":207},{"style":144},[208],{"type":88,"value":209},":",{"type":82,"tag":116,"props":211,"children":213},{"style":212},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[214],{"type":88,"value":153},{"type":82,"tag":116,"props":216,"children":217},{"style":144},[218],{"type":88,"value":219}," =",{"type":82,"tag":116,"props":221,"children":222},{"style":144},[223],{"type":88,"value":224}," {\n",{"type":82,"tag":116,"props":226,"children":228},{"class":118,"line":227},5,[229,235,239,245],{"type":82,"tag":116,"props":230,"children":232},{"style":231},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[233],{"type":88,"value":234},"  cacheComponents",{"type":82,"tag":116,"props":236,"children":237},{"style":144},[238],{"type":88,"value":209},{"type":82,"tag":116,"props":240,"children":242},{"style":241},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[243],{"type":88,"value":244}," true",{"type":82,"tag":116,"props":246,"children":247},{"style":144},[248],{"type":88,"value":249},",\n",{"type":82,"tag":116,"props":251,"children":252},{"class":118,"line":39},[253],{"type":82,"tag":116,"props":254,"children":255},{"style":144},[256],{"type":88,"value":257},"}\n",{"type":82,"tag":116,"props":259,"children":261},{"class":118,"line":260},7,[262],{"type":82,"tag":116,"props":263,"children":264},{"emptyLinePlaceholder":186},[265],{"type":88,"value":189},{"type":82,"tag":116,"props":267,"children":269},{"class":118,"line":268},8,[270,275,280],{"type":82,"tag":116,"props":271,"children":272},{"style":133},[273],{"type":88,"value":274},"export",{"type":82,"tag":116,"props":276,"children":277},{"style":133},[278],{"type":88,"value":279}," default",{"type":82,"tag":116,"props":281,"children":282},{"style":150},[283],{"type":88,"value":284}," nextConfig\n",{"type":82,"tag":91,"props":286,"children":287},{},[288,290,296],{"type":88,"value":289},"This replaces the old ",{"type":82,"tag":112,"props":291,"children":293},{"className":292},[],[294],{"type":88,"value":295},"experimental.ppr",{"type":88,"value":297}," flag.",{"type":82,"tag":299,"props":300,"children":301},"hr",{},[],{"type":82,"tag":97,"props":303,"children":305},{"id":304},"three-content-types",[306],{"type":88,"value":307},"Three Content Types",{"type":82,"tag":91,"props":309,"children":310},{},[311],{"type":88,"value":312},"With Cache Components enabled, content falls into three categories:",{"type":82,"tag":314,"props":315,"children":317},"h3",{"id":316},"_1-static-auto-prerendered",[318],{"type":88,"value":319},"1. Static (Auto-Prerendered)",{"type":82,"tag":91,"props":321,"children":322},{},[323],{"type":88,"value":324},"Synchronous code, imports, pure computations - prerendered at build time:",{"type":82,"tag":104,"props":326,"children":330},{"className":327,"code":328,"language":329,"meta":109,"style":109},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default function Page() {\n  return (\n    \u003Cheader>\n      \u003Ch1>Our Blog\u003C\u002Fh1>  {\u002F* Static - instant *\u002F}\n      \u003Cnav>...\u003C\u002Fnav>\n    \u003C\u002Fheader>\n  )\n}\n","tsx",[331],{"type":82,"tag":112,"props":332,"children":333},{"__ignoreMap":109},[334,365,378,396,445,478,494,502],{"type":82,"tag":116,"props":335,"children":336},{"class":118,"line":119},[337,341,345,350,356,361],{"type":82,"tag":116,"props":338,"children":339},{"style":133},[340],{"type":88,"value":274},{"type":82,"tag":116,"props":342,"children":343},{"style":133},[344],{"type":88,"value":279},{"type":82,"tag":116,"props":346,"children":347},{"style":196},[348],{"type":88,"value":349}," function",{"type":82,"tag":116,"props":351,"children":353},{"style":352},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[354],{"type":88,"value":355}," Page",{"type":82,"tag":116,"props":357,"children":358},{"style":144},[359],{"type":88,"value":360},"()",{"type":82,"tag":116,"props":362,"children":363},{"style":144},[364],{"type":88,"value":224},{"type":82,"tag":116,"props":366,"children":367},{"class":118,"line":129},[368,373],{"type":82,"tag":116,"props":369,"children":370},{"style":133},[371],{"type":88,"value":372},"  return",{"type":82,"tag":116,"props":374,"children":375},{"style":231},[376],{"type":88,"value":377}," (\n",{"type":82,"tag":116,"props":379,"children":380},{"class":118,"line":182},[381,386,391],{"type":82,"tag":116,"props":382,"children":383},{"style":144},[384],{"type":88,"value":385},"    \u003C",{"type":82,"tag":116,"props":387,"children":388},{"style":231},[389],{"type":88,"value":390},"header",{"type":82,"tag":116,"props":392,"children":393},{"style":144},[394],{"type":88,"value":395},">\n",{"type":82,"tag":116,"props":397,"children":398},{"class":118,"line":192},[399,404,408,413,418,423,427,431,436,441],{"type":82,"tag":116,"props":400,"children":401},{"style":144},[402],{"type":88,"value":403},"      \u003C",{"type":82,"tag":116,"props":405,"children":406},{"style":231},[407],{"type":88,"value":83},{"type":82,"tag":116,"props":409,"children":410},{"style":144},[411],{"type":88,"value":412},">",{"type":82,"tag":116,"props":414,"children":415},{"style":150},[416],{"type":88,"value":417},"Our Blog",{"type":82,"tag":116,"props":419,"children":420},{"style":144},[421],{"type":88,"value":422},"\u003C\u002F",{"type":82,"tag":116,"props":424,"children":425},{"style":231},[426],{"type":88,"value":83},{"type":82,"tag":116,"props":428,"children":429},{"style":144},[430],{"type":88,"value":412},{"type":82,"tag":116,"props":432,"children":433},{"style":144},[434],{"type":88,"value":435},"  {",{"type":82,"tag":116,"props":437,"children":438},{"style":123},[439],{"type":88,"value":440},"\u002F* Static - instant *\u002F",{"type":82,"tag":116,"props":442,"children":443},{"style":144},[444],{"type":88,"value":257},{"type":82,"tag":116,"props":446,"children":447},{"class":118,"line":227},[448,452,457,461,466,470,474],{"type":82,"tag":116,"props":449,"children":450},{"style":144},[451],{"type":88,"value":403},{"type":82,"tag":116,"props":453,"children":454},{"style":231},[455],{"type":88,"value":456},"nav",{"type":82,"tag":116,"props":458,"children":459},{"style":144},[460],{"type":88,"value":412},{"type":82,"tag":116,"props":462,"children":463},{"style":150},[464],{"type":88,"value":465},"...",{"type":82,"tag":116,"props":467,"children":468},{"style":144},[469],{"type":88,"value":422},{"type":82,"tag":116,"props":471,"children":472},{"style":231},[473],{"type":88,"value":456},{"type":82,"tag":116,"props":475,"children":476},{"style":144},[477],{"type":88,"value":395},{"type":82,"tag":116,"props":479,"children":480},{"class":118,"line":39},[481,486,490],{"type":82,"tag":116,"props":482,"children":483},{"style":144},[484],{"type":88,"value":485},"    \u003C\u002F",{"type":82,"tag":116,"props":487,"children":488},{"style":231},[489],{"type":88,"value":390},{"type":82,"tag":116,"props":491,"children":492},{"style":144},[493],{"type":88,"value":395},{"type":82,"tag":116,"props":495,"children":496},{"class":118,"line":260},[497],{"type":82,"tag":116,"props":498,"children":499},{"style":231},[500],{"type":88,"value":501},"  )\n",{"type":82,"tag":116,"props":503,"children":504},{"class":118,"line":268},[505],{"type":82,"tag":116,"props":506,"children":507},{"style":144},[508],{"type":88,"value":257},{"type":82,"tag":314,"props":510,"children":512},{"id":511},"_2-cached-use-cache",[513,515,520],{"type":88,"value":514},"2. Cached (",{"type":82,"tag":112,"props":516,"children":518},{"className":517},[],[519],{"type":88,"value":55},{"type":88,"value":521},")",{"type":82,"tag":91,"props":523,"children":524},{},[525],{"type":88,"value":526},"Async data that doesn't need fresh fetches every request:",{"type":82,"tag":104,"props":528,"children":530},{"className":327,"code":529,"language":329,"meta":109,"style":109},"async function BlogPosts() {\n  'use cache'\n  cacheLife('hours')\n\n  const posts = await db.posts.findMany()\n  return \u003CPostList posts={posts} \u002F>\n}\n",[531],{"type":82,"tag":112,"props":532,"children":533},{"__ignoreMap":109},[534,559,575,607,614,665,700],{"type":82,"tag":116,"props":535,"children":536},{"class":118,"line":119},[537,542,546,551,555],{"type":82,"tag":116,"props":538,"children":539},{"style":196},[540],{"type":88,"value":541},"async",{"type":82,"tag":116,"props":543,"children":544},{"style":196},[545],{"type":88,"value":349},{"type":82,"tag":116,"props":547,"children":548},{"style":352},[549],{"type":88,"value":550}," BlogPosts",{"type":82,"tag":116,"props":552,"children":553},{"style":144},[554],{"type":88,"value":360},{"type":82,"tag":116,"props":556,"children":557},{"style":144},[558],{"type":88,"value":224},{"type":82,"tag":116,"props":560,"children":561},{"class":118,"line":129},[562,567,571],{"type":82,"tag":116,"props":563,"children":564},{"style":144},[565],{"type":88,"value":566},"  '",{"type":82,"tag":116,"props":568,"children":569},{"style":171},[570],{"type":88,"value":55},{"type":82,"tag":116,"props":572,"children":573},{"style":144},[574],{"type":88,"value":179},{"type":82,"tag":116,"props":576,"children":577},{"class":118,"line":182},[578,583,588,593,598,602],{"type":82,"tag":116,"props":579,"children":580},{"style":352},[581],{"type":88,"value":582},"  cacheLife",{"type":82,"tag":116,"props":584,"children":585},{"style":231},[586],{"type":88,"value":587},"(",{"type":82,"tag":116,"props":589,"children":590},{"style":144},[591],{"type":88,"value":592},"'",{"type":82,"tag":116,"props":594,"children":595},{"style":171},[596],{"type":88,"value":597},"hours",{"type":82,"tag":116,"props":599,"children":600},{"style":144},[601],{"type":88,"value":592},{"type":82,"tag":116,"props":603,"children":604},{"style":231},[605],{"type":88,"value":606},")\n",{"type":82,"tag":116,"props":608,"children":609},{"class":118,"line":192},[610],{"type":82,"tag":116,"props":611,"children":612},{"emptyLinePlaceholder":186},[613],{"type":88,"value":189},{"type":82,"tag":116,"props":615,"children":616},{"class":118,"line":227},[617,622,627,631,636,641,646,651,655,660],{"type":82,"tag":116,"props":618,"children":619},{"style":196},[620],{"type":88,"value":621},"  const",{"type":82,"tag":116,"props":623,"children":624},{"style":150},[625],{"type":88,"value":626}," posts",{"type":82,"tag":116,"props":628,"children":629},{"style":144},[630],{"type":88,"value":219},{"type":82,"tag":116,"props":632,"children":633},{"style":133},[634],{"type":88,"value":635}," await",{"type":82,"tag":116,"props":637,"children":638},{"style":150},[639],{"type":88,"value":640}," db",{"type":82,"tag":116,"props":642,"children":643},{"style":144},[644],{"type":88,"value":645},".",{"type":82,"tag":116,"props":647,"children":648},{"style":150},[649],{"type":88,"value":650},"posts",{"type":82,"tag":116,"props":652,"children":653},{"style":144},[654],{"type":88,"value":645},{"type":82,"tag":116,"props":656,"children":657},{"style":352},[658],{"type":88,"value":659},"findMany",{"type":82,"tag":116,"props":661,"children":662},{"style":231},[663],{"type":88,"value":664},"()\n",{"type":82,"tag":116,"props":666,"children":667},{"class":118,"line":39},[668,672,677,682,686,691,695],{"type":82,"tag":116,"props":669,"children":670},{"style":133},[671],{"type":88,"value":372},{"type":82,"tag":116,"props":673,"children":674},{"style":144},[675],{"type":88,"value":676}," \u003C",{"type":82,"tag":116,"props":678,"children":679},{"style":212},[680],{"type":88,"value":681},"PostList",{"type":82,"tag":116,"props":683,"children":684},{"style":196},[685],{"type":88,"value":626},{"type":82,"tag":116,"props":687,"children":688},{"style":144},[689],{"type":88,"value":690},"={",{"type":82,"tag":116,"props":692,"children":693},{"style":150},[694],{"type":88,"value":650},{"type":82,"tag":116,"props":696,"children":697},{"style":144},[698],{"type":88,"value":699},"} \u002F>\n",{"type":82,"tag":116,"props":701,"children":702},{"class":118,"line":260},[703],{"type":82,"tag":116,"props":704,"children":705},{"style":144},[706],{"type":88,"value":257},{"type":82,"tag":314,"props":708,"children":710},{"id":709},"_3-dynamic-suspense",[711],{"type":88,"value":712},"3. Dynamic (Suspense)",{"type":82,"tag":91,"props":714,"children":715},{},[716],{"type":88,"value":717},"Runtime data that must be fresh - wrap in Suspense:",{"type":82,"tag":104,"props":719,"children":721},{"className":327,"code":720,"language":329,"meta":109,"style":109},"import { Suspense } from 'react'\n\nexport default function Page() {\n  return (\n    \u003C>\n      \u003CBlogPosts \u002F>  {\u002F* Cached *\u002F}\n\n      \u003CSuspense fallback={\u003Cp>Loading...\u003C\u002Fp>}>\n        \u003CUserPreferences \u002F>  {\u002F* Dynamic - streams in *\u002F}\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function UserPreferences() {\n  const theme = (await cookies()).get('theme')?.value\n  return \u003Cp>Theme: {theme}\u003C\u002Fp>\n}\n",[722],{"type":82,"tag":112,"props":723,"children":724},{"__ignoreMap":109},[725,762,769,796,807,815,845,852,900,931,948,957,965,973,981,1006,1083,1130],{"type":82,"tag":116,"props":726,"children":727},{"class":118,"line":119},[728,732,736,741,745,749,753,758],{"type":82,"tag":116,"props":729,"children":730},{"style":133},[731],{"type":88,"value":136},{"type":82,"tag":116,"props":733,"children":734},{"style":144},[735],{"type":88,"value":147},{"type":82,"tag":116,"props":737,"children":738},{"style":150},[739],{"type":88,"value":740}," Suspense",{"type":82,"tag":116,"props":742,"children":743},{"style":144},[744],{"type":88,"value":158},{"type":82,"tag":116,"props":746,"children":747},{"style":133},[748],{"type":88,"value":163},{"type":82,"tag":116,"props":750,"children":751},{"style":144},[752],{"type":88,"value":168},{"type":82,"tag":116,"props":754,"children":755},{"style":171},[756],{"type":88,"value":757},"react",{"type":82,"tag":116,"props":759,"children":760},{"style":144},[761],{"type":88,"value":179},{"type":82,"tag":116,"props":763,"children":764},{"class":118,"line":129},[765],{"type":82,"tag":116,"props":766,"children":767},{"emptyLinePlaceholder":186},[768],{"type":88,"value":189},{"type":82,"tag":116,"props":770,"children":771},{"class":118,"line":182},[772,776,780,784,788,792],{"type":82,"tag":116,"props":773,"children":774},{"style":133},[775],{"type":88,"value":274},{"type":82,"tag":116,"props":777,"children":778},{"style":133},[779],{"type":88,"value":279},{"type":82,"tag":116,"props":781,"children":782},{"style":196},[783],{"type":88,"value":349},{"type":82,"tag":116,"props":785,"children":786},{"style":352},[787],{"type":88,"value":355},{"type":82,"tag":116,"props":789,"children":790},{"style":144},[791],{"type":88,"value":360},{"type":82,"tag":116,"props":793,"children":794},{"style":144},[795],{"type":88,"value":224},{"type":82,"tag":116,"props":797,"children":798},{"class":118,"line":192},[799,803],{"type":82,"tag":116,"props":800,"children":801},{"style":133},[802],{"type":88,"value":372},{"type":82,"tag":116,"props":804,"children":805},{"style":231},[806],{"type":88,"value":377},{"type":82,"tag":116,"props":808,"children":809},{"class":118,"line":227},[810],{"type":82,"tag":116,"props":811,"children":812},{"style":144},[813],{"type":88,"value":814},"    \u003C>\n",{"type":82,"tag":116,"props":816,"children":817},{"class":118,"line":39},[818,822,827,832,836,841],{"type":82,"tag":116,"props":819,"children":820},{"style":144},[821],{"type":88,"value":403},{"type":82,"tag":116,"props":823,"children":824},{"style":212},[825],{"type":88,"value":826},"BlogPosts",{"type":82,"tag":116,"props":828,"children":829},{"style":144},[830],{"type":88,"value":831}," \u002F>",{"type":82,"tag":116,"props":833,"children":834},{"style":144},[835],{"type":88,"value":435},{"type":82,"tag":116,"props":837,"children":838},{"style":123},[839],{"type":88,"value":840},"\u002F* Cached *\u002F",{"type":82,"tag":116,"props":842,"children":843},{"style":144},[844],{"type":88,"value":257},{"type":82,"tag":116,"props":846,"children":847},{"class":118,"line":260},[848],{"type":82,"tag":116,"props":849,"children":850},{"emptyLinePlaceholder":186},[851],{"type":88,"value":189},{"type":82,"tag":116,"props":853,"children":854},{"class":118,"line":268},[855,859,864,869,874,878,882,887,891,895],{"type":82,"tag":116,"props":856,"children":857},{"style":144},[858],{"type":88,"value":403},{"type":82,"tag":116,"props":860,"children":861},{"style":212},[862],{"type":88,"value":863},"Suspense",{"type":82,"tag":116,"props":865,"children":866},{"style":196},[867],{"type":88,"value":868}," fallback",{"type":82,"tag":116,"props":870,"children":871},{"style":144},[872],{"type":88,"value":873},"={\u003C",{"type":82,"tag":116,"props":875,"children":876},{"style":231},[877],{"type":88,"value":91},{"type":82,"tag":116,"props":879,"children":880},{"style":144},[881],{"type":88,"value":412},{"type":82,"tag":116,"props":883,"children":884},{"style":150},[885],{"type":88,"value":886},"Loading...",{"type":82,"tag":116,"props":888,"children":889},{"style":144},[890],{"type":88,"value":422},{"type":82,"tag":116,"props":892,"children":893},{"style":231},[894],{"type":88,"value":91},{"type":82,"tag":116,"props":896,"children":897},{"style":144},[898],{"type":88,"value":899},">}>\n",{"type":82,"tag":116,"props":901,"children":903},{"class":118,"line":902},9,[904,909,914,918,922,927],{"type":82,"tag":116,"props":905,"children":906},{"style":144},[907],{"type":88,"value":908},"        \u003C",{"type":82,"tag":116,"props":910,"children":911},{"style":212},[912],{"type":88,"value":913},"UserPreferences",{"type":82,"tag":116,"props":915,"children":916},{"style":144},[917],{"type":88,"value":831},{"type":82,"tag":116,"props":919,"children":920},{"style":144},[921],{"type":88,"value":435},{"type":82,"tag":116,"props":923,"children":924},{"style":123},[925],{"type":88,"value":926},"\u002F* Dynamic - streams in *\u002F",{"type":82,"tag":116,"props":928,"children":929},{"style":144},[930],{"type":88,"value":257},{"type":82,"tag":116,"props":932,"children":934},{"class":118,"line":933},10,[935,940,944],{"type":82,"tag":116,"props":936,"children":937},{"style":144},[938],{"type":88,"value":939},"      \u003C\u002F",{"type":82,"tag":116,"props":941,"children":942},{"style":212},[943],{"type":88,"value":863},{"type":82,"tag":116,"props":945,"children":946},{"style":144},[947],{"type":88,"value":395},{"type":82,"tag":116,"props":949,"children":951},{"class":118,"line":950},11,[952],{"type":82,"tag":116,"props":953,"children":954},{"style":144},[955],{"type":88,"value":956},"    \u003C\u002F>\n",{"type":82,"tag":116,"props":958,"children":960},{"class":118,"line":959},12,[961],{"type":82,"tag":116,"props":962,"children":963},{"style":231},[964],{"type":88,"value":501},{"type":82,"tag":116,"props":966,"children":968},{"class":118,"line":967},13,[969],{"type":82,"tag":116,"props":970,"children":971},{"style":144},[972],{"type":88,"value":257},{"type":82,"tag":116,"props":974,"children":976},{"class":118,"line":975},14,[977],{"type":82,"tag":116,"props":978,"children":979},{"emptyLinePlaceholder":186},[980],{"type":88,"value":189},{"type":82,"tag":116,"props":982,"children":984},{"class":118,"line":983},15,[985,989,993,998,1002],{"type":82,"tag":116,"props":986,"children":987},{"style":196},[988],{"type":88,"value":541},{"type":82,"tag":116,"props":990,"children":991},{"style":196},[992],{"type":88,"value":349},{"type":82,"tag":116,"props":994,"children":995},{"style":352},[996],{"type":88,"value":997}," UserPreferences",{"type":82,"tag":116,"props":999,"children":1000},{"style":144},[1001],{"type":88,"value":360},{"type":82,"tag":116,"props":1003,"children":1004},{"style":144},[1005],{"type":88,"value":224},{"type":82,"tag":116,"props":1007,"children":1009},{"class":118,"line":1008},16,[1010,1014,1019,1023,1028,1033,1038,1043,1047,1052,1056,1060,1065,1069,1073,1078],{"type":82,"tag":116,"props":1011,"children":1012},{"style":196},[1013],{"type":88,"value":621},{"type":82,"tag":116,"props":1015,"children":1016},{"style":150},[1017],{"type":88,"value":1018}," theme",{"type":82,"tag":116,"props":1020,"children":1021},{"style":144},[1022],{"type":88,"value":219},{"type":82,"tag":116,"props":1024,"children":1025},{"style":231},[1026],{"type":88,"value":1027}," (",{"type":82,"tag":116,"props":1029,"children":1030},{"style":133},[1031],{"type":88,"value":1032},"await",{"type":82,"tag":116,"props":1034,"children":1035},{"style":352},[1036],{"type":88,"value":1037}," cookies",{"type":82,"tag":116,"props":1039,"children":1040},{"style":231},[1041],{"type":88,"value":1042},"())",{"type":82,"tag":116,"props":1044,"children":1045},{"style":144},[1046],{"type":88,"value":645},{"type":82,"tag":116,"props":1048,"children":1049},{"style":352},[1050],{"type":88,"value":1051},"get",{"type":82,"tag":116,"props":1053,"children":1054},{"style":231},[1055],{"type":88,"value":587},{"type":82,"tag":116,"props":1057,"children":1058},{"style":144},[1059],{"type":88,"value":592},{"type":82,"tag":116,"props":1061,"children":1062},{"style":171},[1063],{"type":88,"value":1064},"theme",{"type":82,"tag":116,"props":1066,"children":1067},{"style":144},[1068],{"type":88,"value":592},{"type":82,"tag":116,"props":1070,"children":1071},{"style":231},[1072],{"type":88,"value":521},{"type":82,"tag":116,"props":1074,"children":1075},{"style":144},[1076],{"type":88,"value":1077},"?.",{"type":82,"tag":116,"props":1079,"children":1080},{"style":150},[1081],{"type":88,"value":1082},"value\n",{"type":82,"tag":116,"props":1084,"children":1086},{"class":118,"line":1085},17,[1087,1091,1095,1099,1103,1108,1113,1117,1122,1126],{"type":82,"tag":116,"props":1088,"children":1089},{"style":133},[1090],{"type":88,"value":372},{"type":82,"tag":116,"props":1092,"children":1093},{"style":144},[1094],{"type":88,"value":676},{"type":82,"tag":116,"props":1096,"children":1097},{"style":231},[1098],{"type":88,"value":91},{"type":82,"tag":116,"props":1100,"children":1101},{"style":144},[1102],{"type":88,"value":412},{"type":82,"tag":116,"props":1104,"children":1105},{"style":150},[1106],{"type":88,"value":1107},"Theme: ",{"type":82,"tag":116,"props":1109,"children":1110},{"style":144},[1111],{"type":88,"value":1112},"{",{"type":82,"tag":116,"props":1114,"children":1115},{"style":150},[1116],{"type":88,"value":1064},{"type":82,"tag":116,"props":1118,"children":1119},{"style":144},[1120],{"type":88,"value":1121},"}\u003C\u002F",{"type":82,"tag":116,"props":1123,"children":1124},{"style":231},[1125],{"type":88,"value":91},{"type":82,"tag":116,"props":1127,"children":1128},{"style":144},[1129],{"type":88,"value":395},{"type":82,"tag":116,"props":1131,"children":1133},{"class":118,"line":1132},18,[1134],{"type":82,"tag":116,"props":1135,"children":1136},{"style":144},[1137],{"type":88,"value":257},{"type":82,"tag":299,"props":1139,"children":1140},{},[],{"type":82,"tag":97,"props":1142,"children":1144},{"id":1143},"use-cache-directive",[1145,1150],{"type":82,"tag":112,"props":1146,"children":1148},{"className":1147},[],[1149],{"type":88,"value":55},{"type":88,"value":1151}," Directive",{"type":82,"tag":314,"props":1153,"children":1155},{"id":1154},"file-level",[1156],{"type":88,"value":1157},"File Level",{"type":82,"tag":104,"props":1159,"children":1161},{"className":327,"code":1160,"language":329,"meta":109,"style":109},"'use cache'\n\nexport default async function Page() {\n  \u002F\u002F Entire page is cached\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n",[1162],{"type":82,"tag":112,"props":1163,"children":1164},{"__ignoreMap":109},[1165,1180,1187,1219,1227,1256,1294],{"type":82,"tag":116,"props":1166,"children":1167},{"class":118,"line":119},[1168,1172,1176],{"type":82,"tag":116,"props":1169,"children":1170},{"style":144},[1171],{"type":88,"value":592},{"type":82,"tag":116,"props":1173,"children":1174},{"style":171},[1175],{"type":88,"value":55},{"type":82,"tag":116,"props":1177,"children":1178},{"style":144},[1179],{"type":88,"value":179},{"type":82,"tag":116,"props":1181,"children":1182},{"class":118,"line":129},[1183],{"type":82,"tag":116,"props":1184,"children":1185},{"emptyLinePlaceholder":186},[1186],{"type":88,"value":189},{"type":82,"tag":116,"props":1188,"children":1189},{"class":118,"line":182},[1190,1194,1198,1203,1207,1211,1215],{"type":82,"tag":116,"props":1191,"children":1192},{"style":133},[1193],{"type":88,"value":274},{"type":82,"tag":116,"props":1195,"children":1196},{"style":133},[1197],{"type":88,"value":279},{"type":82,"tag":116,"props":1199,"children":1200},{"style":196},[1201],{"type":88,"value":1202}," async",{"type":82,"tag":116,"props":1204,"children":1205},{"style":196},[1206],{"type":88,"value":349},{"type":82,"tag":116,"props":1208,"children":1209},{"style":352},[1210],{"type":88,"value":355},{"type":82,"tag":116,"props":1212,"children":1213},{"style":144},[1214],{"type":88,"value":360},{"type":82,"tag":116,"props":1216,"children":1217},{"style":144},[1218],{"type":88,"value":224},{"type":82,"tag":116,"props":1220,"children":1221},{"class":118,"line":192},[1222],{"type":82,"tag":116,"props":1223,"children":1224},{"style":123},[1225],{"type":88,"value":1226},"  \u002F\u002F Entire page is cached\n",{"type":82,"tag":116,"props":1228,"children":1229},{"class":118,"line":227},[1230,1234,1239,1243,1247,1252],{"type":82,"tag":116,"props":1231,"children":1232},{"style":196},[1233],{"type":88,"value":621},{"type":82,"tag":116,"props":1235,"children":1236},{"style":150},[1237],{"type":88,"value":1238}," data",{"type":82,"tag":116,"props":1240,"children":1241},{"style":144},[1242],{"type":88,"value":219},{"type":82,"tag":116,"props":1244,"children":1245},{"style":133},[1246],{"type":88,"value":635},{"type":82,"tag":116,"props":1248,"children":1249},{"style":352},[1250],{"type":88,"value":1251}," fetchData",{"type":82,"tag":116,"props":1253,"children":1254},{"style":231},[1255],{"type":88,"value":664},{"type":82,"tag":116,"props":1257,"children":1258},{"class":118,"line":39},[1259,1263,1267,1272,1277,1282,1286,1290],{"type":82,"tag":116,"props":1260,"children":1261},{"style":133},[1262],{"type":88,"value":372},{"type":82,"tag":116,"props":1264,"children":1265},{"style":144},[1266],{"type":88,"value":676},{"type":82,"tag":116,"props":1268,"children":1269},{"style":231},[1270],{"type":88,"value":1271},"div",{"type":82,"tag":116,"props":1273,"children":1274},{"style":144},[1275],{"type":88,"value":1276},">{",{"type":82,"tag":116,"props":1278,"children":1279},{"style":150},[1280],{"type":88,"value":1281},"data",{"type":82,"tag":116,"props":1283,"children":1284},{"style":144},[1285],{"type":88,"value":1121},{"type":82,"tag":116,"props":1287,"children":1288},{"style":231},[1289],{"type":88,"value":1271},{"type":82,"tag":116,"props":1291,"children":1292},{"style":144},[1293],{"type":88,"value":395},{"type":82,"tag":116,"props":1295,"children":1296},{"class":118,"line":260},[1297],{"type":82,"tag":116,"props":1298,"children":1299},{"style":144},[1300],{"type":88,"value":257},{"type":82,"tag":314,"props":1302,"children":1304},{"id":1303},"component-level",[1305],{"type":88,"value":1306},"Component Level",{"type":82,"tag":104,"props":1308,"children":1310},{"className":327,"code":1309,"language":329,"meta":109,"style":109},"export async function CachedComponent() {\n  'use cache'\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n",[1311],{"type":82,"tag":112,"props":1312,"children":1313},{"__ignoreMap":109},[1314,1342,1357,1384,1419],{"type":82,"tag":116,"props":1315,"children":1316},{"class":118,"line":119},[1317,1321,1325,1329,1334,1338],{"type":82,"tag":116,"props":1318,"children":1319},{"style":133},[1320],{"type":88,"value":274},{"type":82,"tag":116,"props":1322,"children":1323},{"style":196},[1324],{"type":88,"value":1202},{"type":82,"tag":116,"props":1326,"children":1327},{"style":196},[1328],{"type":88,"value":349},{"type":82,"tag":116,"props":1330,"children":1331},{"style":352},[1332],{"type":88,"value":1333}," CachedComponent",{"type":82,"tag":116,"props":1335,"children":1336},{"style":144},[1337],{"type":88,"value":360},{"type":82,"tag":116,"props":1339,"children":1340},{"style":144},[1341],{"type":88,"value":224},{"type":82,"tag":116,"props":1343,"children":1344},{"class":118,"line":129},[1345,1349,1353],{"type":82,"tag":116,"props":1346,"children":1347},{"style":144},[1348],{"type":88,"value":566},{"type":82,"tag":116,"props":1350,"children":1351},{"style":171},[1352],{"type":88,"value":55},{"type":82,"tag":116,"props":1354,"children":1355},{"style":144},[1356],{"type":88,"value":179},{"type":82,"tag":116,"props":1358,"children":1359},{"class":118,"line":182},[1360,1364,1368,1372,1376,1380],{"type":82,"tag":116,"props":1361,"children":1362},{"style":196},[1363],{"type":88,"value":621},{"type":82,"tag":116,"props":1365,"children":1366},{"style":150},[1367],{"type":88,"value":1238},{"type":82,"tag":116,"props":1369,"children":1370},{"style":144},[1371],{"type":88,"value":219},{"type":82,"tag":116,"props":1373,"children":1374},{"style":133},[1375],{"type":88,"value":635},{"type":82,"tag":116,"props":1377,"children":1378},{"style":352},[1379],{"type":88,"value":1251},{"type":82,"tag":116,"props":1381,"children":1382},{"style":231},[1383],{"type":88,"value":664},{"type":82,"tag":116,"props":1385,"children":1386},{"class":118,"line":192},[1387,1391,1395,1399,1403,1407,1411,1415],{"type":82,"tag":116,"props":1388,"children":1389},{"style":133},[1390],{"type":88,"value":372},{"type":82,"tag":116,"props":1392,"children":1393},{"style":144},[1394],{"type":88,"value":676},{"type":82,"tag":116,"props":1396,"children":1397},{"style":231},[1398],{"type":88,"value":1271},{"type":82,"tag":116,"props":1400,"children":1401},{"style":144},[1402],{"type":88,"value":1276},{"type":82,"tag":116,"props":1404,"children":1405},{"style":150},[1406],{"type":88,"value":1281},{"type":82,"tag":116,"props":1408,"children":1409},{"style":144},[1410],{"type":88,"value":1121},{"type":82,"tag":116,"props":1412,"children":1413},{"style":231},[1414],{"type":88,"value":1271},{"type":82,"tag":116,"props":1416,"children":1417},{"style":144},[1418],{"type":88,"value":395},{"type":82,"tag":116,"props":1420,"children":1421},{"class":118,"line":227},[1422],{"type":82,"tag":116,"props":1423,"children":1424},{"style":144},[1425],{"type":88,"value":257},{"type":82,"tag":314,"props":1427,"children":1429},{"id":1428},"function-level",[1430],{"type":88,"value":1431},"Function Level",{"type":82,"tag":104,"props":1433,"children":1435},{"className":327,"code":1434,"language":329,"meta":109,"style":109},"export async function getData() {\n  'use cache'\n  return db.query('SELECT * FROM posts')\n}\n",[1436],{"type":82,"tag":112,"props":1437,"children":1438},{"__ignoreMap":109},[1439,1467,1482,1523],{"type":82,"tag":116,"props":1440,"children":1441},{"class":118,"line":119},[1442,1446,1450,1454,1459,1463],{"type":82,"tag":116,"props":1443,"children":1444},{"style":133},[1445],{"type":88,"value":274},{"type":82,"tag":116,"props":1447,"children":1448},{"style":196},[1449],{"type":88,"value":1202},{"type":82,"tag":116,"props":1451,"children":1452},{"style":196},[1453],{"type":88,"value":349},{"type":82,"tag":116,"props":1455,"children":1456},{"style":352},[1457],{"type":88,"value":1458}," getData",{"type":82,"tag":116,"props":1460,"children":1461},{"style":144},[1462],{"type":88,"value":360},{"type":82,"tag":116,"props":1464,"children":1465},{"style":144},[1466],{"type":88,"value":224},{"type":82,"tag":116,"props":1468,"children":1469},{"class":118,"line":129},[1470,1474,1478],{"type":82,"tag":116,"props":1471,"children":1472},{"style":144},[1473],{"type":88,"value":566},{"type":82,"tag":116,"props":1475,"children":1476},{"style":171},[1477],{"type":88,"value":55},{"type":82,"tag":116,"props":1479,"children":1480},{"style":144},[1481],{"type":88,"value":179},{"type":82,"tag":116,"props":1483,"children":1484},{"class":118,"line":182},[1485,1489,1493,1497,1502,1506,1510,1515,1519],{"type":82,"tag":116,"props":1486,"children":1487},{"style":133},[1488],{"type":88,"value":372},{"type":82,"tag":116,"props":1490,"children":1491},{"style":150},[1492],{"type":88,"value":640},{"type":82,"tag":116,"props":1494,"children":1495},{"style":144},[1496],{"type":88,"value":645},{"type":82,"tag":116,"props":1498,"children":1499},{"style":352},[1500],{"type":88,"value":1501},"query",{"type":82,"tag":116,"props":1503,"children":1504},{"style":231},[1505],{"type":88,"value":587},{"type":82,"tag":116,"props":1507,"children":1508},{"style":144},[1509],{"type":88,"value":592},{"type":82,"tag":116,"props":1511,"children":1512},{"style":171},[1513],{"type":88,"value":1514},"SELECT * FROM posts",{"type":82,"tag":116,"props":1516,"children":1517},{"style":144},[1518],{"type":88,"value":592},{"type":82,"tag":116,"props":1520,"children":1521},{"style":231},[1522],{"type":88,"value":606},{"type":82,"tag":116,"props":1524,"children":1525},{"class":118,"line":192},[1526],{"type":82,"tag":116,"props":1527,"children":1528},{"style":144},[1529],{"type":88,"value":257},{"type":82,"tag":299,"props":1531,"children":1532},{},[],{"type":82,"tag":97,"props":1534,"children":1536},{"id":1535},"cache-profiles",[1537],{"type":88,"value":1538},"Cache Profiles",{"type":82,"tag":314,"props":1540,"children":1542},{"id":1541},"built-in-profiles",[1543],{"type":88,"value":1544},"Built-in Profiles",{"type":82,"tag":104,"props":1546,"children":1548},{"className":327,"code":1547,"language":329,"meta":109,"style":109},"'use cache'                    \u002F\u002F Default: 5m stale, 15m revalidate\n",[1549],{"type":82,"tag":112,"props":1550,"children":1551},{"__ignoreMap":109},[1552],{"type":82,"tag":116,"props":1553,"children":1554},{"class":118,"line":119},[1555,1559,1563,1567],{"type":82,"tag":116,"props":1556,"children":1557},{"style":144},[1558],{"type":88,"value":592},{"type":82,"tag":116,"props":1560,"children":1561},{"style":171},[1562],{"type":88,"value":55},{"type":82,"tag":116,"props":1564,"children":1565},{"style":144},[1566],{"type":88,"value":592},{"type":82,"tag":116,"props":1568,"children":1569},{"style":123},[1570],{"type":88,"value":1571},"                    \u002F\u002F Default: 5m stale, 15m revalidate\n",{"type":82,"tag":104,"props":1573,"children":1575},{"className":327,"code":1574,"language":329,"meta":109,"style":109},"'use cache: remote'           \u002F\u002F Platform-provided cache (Redis, KV)\n",[1576],{"type":82,"tag":112,"props":1577,"children":1578},{"__ignoreMap":109},[1579],{"type":82,"tag":116,"props":1580,"children":1581},{"class":118,"line":119},[1582,1586,1591,1595],{"type":82,"tag":116,"props":1583,"children":1584},{"style":144},[1585],{"type":88,"value":592},{"type":82,"tag":116,"props":1587,"children":1588},{"style":171},[1589],{"type":88,"value":1590},"use cache: remote",{"type":82,"tag":116,"props":1592,"children":1593},{"style":144},[1594],{"type":88,"value":592},{"type":82,"tag":116,"props":1596,"children":1597},{"style":123},[1598],{"type":88,"value":1599},"           \u002F\u002F Platform-provided cache (Redis, KV)\n",{"type":82,"tag":104,"props":1601,"children":1603},{"className":327,"code":1602,"language":329,"meta":109,"style":109},"'use cache: private'          \u002F\u002F For compliance, allows runtime APIs\n",[1604],{"type":82,"tag":112,"props":1605,"children":1606},{"__ignoreMap":109},[1607],{"type":82,"tag":116,"props":1608,"children":1609},{"class":118,"line":119},[1610,1614,1619,1623],{"type":82,"tag":116,"props":1611,"children":1612},{"style":144},[1613],{"type":88,"value":592},{"type":82,"tag":116,"props":1615,"children":1616},{"style":171},[1617],{"type":88,"value":1618},"use cache: private",{"type":82,"tag":116,"props":1620,"children":1621},{"style":144},[1622],{"type":88,"value":592},{"type":82,"tag":116,"props":1624,"children":1625},{"style":123},[1626],{"type":88,"value":1627},"          \u002F\u002F For compliance, allows runtime APIs\n",{"type":82,"tag":314,"props":1629,"children":1631},{"id":1630},"cachelife-custom-lifetime",[1632,1638],{"type":82,"tag":112,"props":1633,"children":1635},{"className":1634},[],[1636],{"type":88,"value":1637},"cacheLife()",{"type":88,"value":1639}," - Custom Lifetime",{"type":82,"tag":104,"props":1641,"children":1643},{"className":327,"code":1642,"language":329,"meta":109,"style":109},"import { cacheLife } from 'next\u002Fcache'\n\nasync function getData() {\n  'use cache'\n  cacheLife('hours')  \u002F\u002F Built-in profile\n  return fetch('\u002Fapi\u002Fdata')\n}\n",[1644],{"type":82,"tag":112,"props":1645,"children":1646},{"__ignoreMap":109},[1647,1683,1690,1713,1728,1761,1794],{"type":82,"tag":116,"props":1648,"children":1649},{"class":118,"line":119},[1650,1654,1658,1663,1667,1671,1675,1679],{"type":82,"tag":116,"props":1651,"children":1652},{"style":133},[1653],{"type":88,"value":136},{"type":82,"tag":116,"props":1655,"children":1656},{"style":144},[1657],{"type":88,"value":147},{"type":82,"tag":116,"props":1659,"children":1660},{"style":150},[1661],{"type":88,"value":1662}," cacheLife",{"type":82,"tag":116,"props":1664,"children":1665},{"style":144},[1666],{"type":88,"value":158},{"type":82,"tag":116,"props":1668,"children":1669},{"style":133},[1670],{"type":88,"value":163},{"type":82,"tag":116,"props":1672,"children":1673},{"style":144},[1674],{"type":88,"value":168},{"type":82,"tag":116,"props":1676,"children":1677},{"style":171},[1678],{"type":88,"value":50},{"type":82,"tag":116,"props":1680,"children":1681},{"style":144},[1682],{"type":88,"value":179},{"type":82,"tag":116,"props":1684,"children":1685},{"class":118,"line":129},[1686],{"type":82,"tag":116,"props":1687,"children":1688},{"emptyLinePlaceholder":186},[1689],{"type":88,"value":189},{"type":82,"tag":116,"props":1691,"children":1692},{"class":118,"line":182},[1693,1697,1701,1705,1709],{"type":82,"tag":116,"props":1694,"children":1695},{"style":196},[1696],{"type":88,"value":541},{"type":82,"tag":116,"props":1698,"children":1699},{"style":196},[1700],{"type":88,"value":349},{"type":82,"tag":116,"props":1702,"children":1703},{"style":352},[1704],{"type":88,"value":1458},{"type":82,"tag":116,"props":1706,"children":1707},{"style":144},[1708],{"type":88,"value":360},{"type":82,"tag":116,"props":1710,"children":1711},{"style":144},[1712],{"type":88,"value":224},{"type":82,"tag":116,"props":1714,"children":1715},{"class":118,"line":192},[1716,1720,1724],{"type":82,"tag":116,"props":1717,"children":1718},{"style":144},[1719],{"type":88,"value":566},{"type":82,"tag":116,"props":1721,"children":1722},{"style":171},[1723],{"type":88,"value":55},{"type":82,"tag":116,"props":1725,"children":1726},{"style":144},[1727],{"type":88,"value":179},{"type":82,"tag":116,"props":1729,"children":1730},{"class":118,"line":227},[1731,1735,1739,1743,1747,1751,1756],{"type":82,"tag":116,"props":1732,"children":1733},{"style":352},[1734],{"type":88,"value":582},{"type":82,"tag":116,"props":1736,"children":1737},{"style":231},[1738],{"type":88,"value":587},{"type":82,"tag":116,"props":1740,"children":1741},{"style":144},[1742],{"type":88,"value":592},{"type":82,"tag":116,"props":1744,"children":1745},{"style":171},[1746],{"type":88,"value":597},{"type":82,"tag":116,"props":1748,"children":1749},{"style":144},[1750],{"type":88,"value":592},{"type":82,"tag":116,"props":1752,"children":1753},{"style":231},[1754],{"type":88,"value":1755},")  ",{"type":82,"tag":116,"props":1757,"children":1758},{"style":123},[1759],{"type":88,"value":1760},"\u002F\u002F Built-in profile\n",{"type":82,"tag":116,"props":1762,"children":1763},{"class":118,"line":39},[1764,1768,1773,1777,1781,1786,1790],{"type":82,"tag":116,"props":1765,"children":1766},{"style":133},[1767],{"type":88,"value":372},{"type":82,"tag":116,"props":1769,"children":1770},{"style":352},[1771],{"type":88,"value":1772}," fetch",{"type":82,"tag":116,"props":1774,"children":1775},{"style":231},[1776],{"type":88,"value":587},{"type":82,"tag":116,"props":1778,"children":1779},{"style":144},[1780],{"type":88,"value":592},{"type":82,"tag":116,"props":1782,"children":1783},{"style":171},[1784],{"type":88,"value":1785},"\u002Fapi\u002Fdata",{"type":82,"tag":116,"props":1787,"children":1788},{"style":144},[1789],{"type":88,"value":592},{"type":82,"tag":116,"props":1791,"children":1792},{"style":231},[1793],{"type":88,"value":606},{"type":82,"tag":116,"props":1795,"children":1796},{"class":118,"line":260},[1797],{"type":82,"tag":116,"props":1798,"children":1799},{"style":144},[1800],{"type":88,"value":257},{"type":82,"tag":91,"props":1802,"children":1803},{},[1804,1806,1812,1814,1820,1821,1827,1828,1834,1835,1841,1842],{"type":88,"value":1805},"Built-in profiles: ",{"type":82,"tag":112,"props":1807,"children":1809},{"className":1808},[],[1810],{"type":88,"value":1811},"'default'",{"type":88,"value":1813},", ",{"type":82,"tag":112,"props":1815,"children":1817},{"className":1816},[],[1818],{"type":88,"value":1819},"'minutes'",{"type":88,"value":1813},{"type":82,"tag":112,"props":1822,"children":1824},{"className":1823},[],[1825],{"type":88,"value":1826},"'hours'",{"type":88,"value":1813},{"type":82,"tag":112,"props":1829,"children":1831},{"className":1830},[],[1832],{"type":88,"value":1833},"'days'",{"type":88,"value":1813},{"type":82,"tag":112,"props":1836,"children":1838},{"className":1837},[],[1839],{"type":88,"value":1840},"'weeks'",{"type":88,"value":1813},{"type":82,"tag":112,"props":1843,"children":1845},{"className":1844},[],[1846],{"type":88,"value":1847},"'max'",{"type":82,"tag":314,"props":1849,"children":1851},{"id":1850},"inline-configuration",[1852],{"type":88,"value":1853},"Inline Configuration",{"type":82,"tag":104,"props":1855,"children":1857},{"className":327,"code":1856,"language":329,"meta":109,"style":109},"async function getData() {\n  'use cache'\n  cacheLife({\n    stale: 3600,      \u002F\u002F 1 hour - serve stale while revalidating\n    revalidate: 7200, \u002F\u002F 2 hours - background revalidation interval\n    expire: 86400,    \u002F\u002F 1 day - hard expiration\n  })\n  return fetch('\u002Fapi\u002Fdata')\n}\n",[1858],{"type":82,"tag":112,"props":1859,"children":1860},{"__ignoreMap":109},[1861,1884,1899,1915,1943,1969,1995,2007,2038],{"type":82,"tag":116,"props":1862,"children":1863},{"class":118,"line":119},[1864,1868,1872,1876,1880],{"type":82,"tag":116,"props":1865,"children":1866},{"style":196},[1867],{"type":88,"value":541},{"type":82,"tag":116,"props":1869,"children":1870},{"style":196},[1871],{"type":88,"value":349},{"type":82,"tag":116,"props":1873,"children":1874},{"style":352},[1875],{"type":88,"value":1458},{"type":82,"tag":116,"props":1877,"children":1878},{"style":144},[1879],{"type":88,"value":360},{"type":82,"tag":116,"props":1881,"children":1882},{"style":144},[1883],{"type":88,"value":224},{"type":82,"tag":116,"props":1885,"children":1886},{"class":118,"line":129},[1887,1891,1895],{"type":82,"tag":116,"props":1888,"children":1889},{"style":144},[1890],{"type":88,"value":566},{"type":82,"tag":116,"props":1892,"children":1893},{"style":171},[1894],{"type":88,"value":55},{"type":82,"tag":116,"props":1896,"children":1897},{"style":144},[1898],{"type":88,"value":179},{"type":82,"tag":116,"props":1900,"children":1901},{"class":118,"line":182},[1902,1906,1910],{"type":82,"tag":116,"props":1903,"children":1904},{"style":352},[1905],{"type":88,"value":582},{"type":82,"tag":116,"props":1907,"children":1908},{"style":231},[1909],{"type":88,"value":587},{"type":82,"tag":116,"props":1911,"children":1912},{"style":144},[1913],{"type":88,"value":1914},"{\n",{"type":82,"tag":116,"props":1916,"children":1917},{"class":118,"line":192},[1918,1923,1927,1933,1938],{"type":82,"tag":116,"props":1919,"children":1920},{"style":231},[1921],{"type":88,"value":1922},"    stale",{"type":82,"tag":116,"props":1924,"children":1925},{"style":144},[1926],{"type":88,"value":209},{"type":82,"tag":116,"props":1928,"children":1930},{"style":1929},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1931],{"type":88,"value":1932}," 3600",{"type":82,"tag":116,"props":1934,"children":1935},{"style":144},[1936],{"type":88,"value":1937},",",{"type":82,"tag":116,"props":1939,"children":1940},{"style":123},[1941],{"type":88,"value":1942},"      \u002F\u002F 1 hour - serve stale while revalidating\n",{"type":82,"tag":116,"props":1944,"children":1945},{"class":118,"line":227},[1946,1951,1955,1960,1964],{"type":82,"tag":116,"props":1947,"children":1948},{"style":231},[1949],{"type":88,"value":1950},"    revalidate",{"type":82,"tag":116,"props":1952,"children":1953},{"style":144},[1954],{"type":88,"value":209},{"type":82,"tag":116,"props":1956,"children":1957},{"style":1929},[1958],{"type":88,"value":1959}," 7200",{"type":82,"tag":116,"props":1961,"children":1962},{"style":144},[1963],{"type":88,"value":1937},{"type":82,"tag":116,"props":1965,"children":1966},{"style":123},[1967],{"type":88,"value":1968}," \u002F\u002F 2 hours - background revalidation interval\n",{"type":82,"tag":116,"props":1970,"children":1971},{"class":118,"line":39},[1972,1977,1981,1986,1990],{"type":82,"tag":116,"props":1973,"children":1974},{"style":231},[1975],{"type":88,"value":1976},"    expire",{"type":82,"tag":116,"props":1978,"children":1979},{"style":144},[1980],{"type":88,"value":209},{"type":82,"tag":116,"props":1982,"children":1983},{"style":1929},[1984],{"type":88,"value":1985}," 86400",{"type":82,"tag":116,"props":1987,"children":1988},{"style":144},[1989],{"type":88,"value":1937},{"type":82,"tag":116,"props":1991,"children":1992},{"style":123},[1993],{"type":88,"value":1994},"    \u002F\u002F 1 day - hard expiration\n",{"type":82,"tag":116,"props":1996,"children":1997},{"class":118,"line":260},[1998,2003],{"type":82,"tag":116,"props":1999,"children":2000},{"style":144},[2001],{"type":88,"value":2002},"  }",{"type":82,"tag":116,"props":2004,"children":2005},{"style":231},[2006],{"type":88,"value":606},{"type":82,"tag":116,"props":2008,"children":2009},{"class":118,"line":268},[2010,2014,2018,2022,2026,2030,2034],{"type":82,"tag":116,"props":2011,"children":2012},{"style":133},[2013],{"type":88,"value":372},{"type":82,"tag":116,"props":2015,"children":2016},{"style":352},[2017],{"type":88,"value":1772},{"type":82,"tag":116,"props":2019,"children":2020},{"style":231},[2021],{"type":88,"value":587},{"type":82,"tag":116,"props":2023,"children":2024},{"style":144},[2025],{"type":88,"value":592},{"type":82,"tag":116,"props":2027,"children":2028},{"style":171},[2029],{"type":88,"value":1785},{"type":82,"tag":116,"props":2031,"children":2032},{"style":144},[2033],{"type":88,"value":592},{"type":82,"tag":116,"props":2035,"children":2036},{"style":231},[2037],{"type":88,"value":606},{"type":82,"tag":116,"props":2039,"children":2040},{"class":118,"line":902},[2041],{"type":82,"tag":116,"props":2042,"children":2043},{"style":144},[2044],{"type":88,"value":257},{"type":82,"tag":299,"props":2046,"children":2047},{},[],{"type":82,"tag":97,"props":2049,"children":2051},{"id":2050},"cache-invalidation",[2052],{"type":88,"value":2053},"Cache Invalidation",{"type":82,"tag":314,"props":2055,"children":2057},{"id":2056},"cachetag-tag-cached-content",[2058,2064],{"type":82,"tag":112,"props":2059,"children":2061},{"className":2060},[],[2062],{"type":88,"value":2063},"cacheTag()",{"type":88,"value":2065}," - Tag Cached Content",{"type":82,"tag":104,"props":2067,"children":2069},{"className":327,"code":2068,"language":329,"meta":109,"style":109},"import { cacheTag } from 'next\u002Fcache'\n\nasync function getProducts() {\n  'use cache'\n  cacheTag('products')\n  return db.products.findMany()\n}\n\nasync function getProduct(id: string) {\n  'use cache'\n  cacheTag('products', `product-${id}`)\n  return db.products.findUnique({ where: { id } })\n}\n",[2070],{"type":82,"tag":112,"props":2071,"children":2072},{"__ignoreMap":109},[2073,2109,2116,2140,2155,2184,2215,2222,2229,2272,2287,2342,2408],{"type":82,"tag":116,"props":2074,"children":2075},{"class":118,"line":119},[2076,2080,2084,2089,2093,2097,2101,2105],{"type":82,"tag":116,"props":2077,"children":2078},{"style":133},[2079],{"type":88,"value":136},{"type":82,"tag":116,"props":2081,"children":2082},{"style":144},[2083],{"type":88,"value":147},{"type":82,"tag":116,"props":2085,"children":2086},{"style":150},[2087],{"type":88,"value":2088}," cacheTag",{"type":82,"tag":116,"props":2090,"children":2091},{"style":144},[2092],{"type":88,"value":158},{"type":82,"tag":116,"props":2094,"children":2095},{"style":133},[2096],{"type":88,"value":163},{"type":82,"tag":116,"props":2098,"children":2099},{"style":144},[2100],{"type":88,"value":168},{"type":82,"tag":116,"props":2102,"children":2103},{"style":171},[2104],{"type":88,"value":50},{"type":82,"tag":116,"props":2106,"children":2107},{"style":144},[2108],{"type":88,"value":179},{"type":82,"tag":116,"props":2110,"children":2111},{"class":118,"line":129},[2112],{"type":82,"tag":116,"props":2113,"children":2114},{"emptyLinePlaceholder":186},[2115],{"type":88,"value":189},{"type":82,"tag":116,"props":2117,"children":2118},{"class":118,"line":182},[2119,2123,2127,2132,2136],{"type":82,"tag":116,"props":2120,"children":2121},{"style":196},[2122],{"type":88,"value":541},{"type":82,"tag":116,"props":2124,"children":2125},{"style":196},[2126],{"type":88,"value":349},{"type":82,"tag":116,"props":2128,"children":2129},{"style":352},[2130],{"type":88,"value":2131}," getProducts",{"type":82,"tag":116,"props":2133,"children":2134},{"style":144},[2135],{"type":88,"value":360},{"type":82,"tag":116,"props":2137,"children":2138},{"style":144},[2139],{"type":88,"value":224},{"type":82,"tag":116,"props":2141,"children":2142},{"class":118,"line":192},[2143,2147,2151],{"type":82,"tag":116,"props":2144,"children":2145},{"style":144},[2146],{"type":88,"value":566},{"type":82,"tag":116,"props":2148,"children":2149},{"style":171},[2150],{"type":88,"value":55},{"type":82,"tag":116,"props":2152,"children":2153},{"style":144},[2154],{"type":88,"value":179},{"type":82,"tag":116,"props":2156,"children":2157},{"class":118,"line":227},[2158,2163,2167,2171,2176,2180],{"type":82,"tag":116,"props":2159,"children":2160},{"style":352},[2161],{"type":88,"value":2162},"  cacheTag",{"type":82,"tag":116,"props":2164,"children":2165},{"style":231},[2166],{"type":88,"value":587},{"type":82,"tag":116,"props":2168,"children":2169},{"style":144},[2170],{"type":88,"value":592},{"type":82,"tag":116,"props":2172,"children":2173},{"style":171},[2174],{"type":88,"value":2175},"products",{"type":82,"tag":116,"props":2177,"children":2178},{"style":144},[2179],{"type":88,"value":592},{"type":82,"tag":116,"props":2181,"children":2182},{"style":231},[2183],{"type":88,"value":606},{"type":82,"tag":116,"props":2185,"children":2186},{"class":118,"line":39},[2187,2191,2195,2199,2203,2207,2211],{"type":82,"tag":116,"props":2188,"children":2189},{"style":133},[2190],{"type":88,"value":372},{"type":82,"tag":116,"props":2192,"children":2193},{"style":150},[2194],{"type":88,"value":640},{"type":82,"tag":116,"props":2196,"children":2197},{"style":144},[2198],{"type":88,"value":645},{"type":82,"tag":116,"props":2200,"children":2201},{"style":150},[2202],{"type":88,"value":2175},{"type":82,"tag":116,"props":2204,"children":2205},{"style":144},[2206],{"type":88,"value":645},{"type":82,"tag":116,"props":2208,"children":2209},{"style":352},[2210],{"type":88,"value":659},{"type":82,"tag":116,"props":2212,"children":2213},{"style":231},[2214],{"type":88,"value":664},{"type":82,"tag":116,"props":2216,"children":2217},{"class":118,"line":260},[2218],{"type":82,"tag":116,"props":2219,"children":2220},{"style":144},[2221],{"type":88,"value":257},{"type":82,"tag":116,"props":2223,"children":2224},{"class":118,"line":268},[2225],{"type":82,"tag":116,"props":2226,"children":2227},{"emptyLinePlaceholder":186},[2228],{"type":88,"value":189},{"type":82,"tag":116,"props":2230,"children":2231},{"class":118,"line":902},[2232,2236,2240,2245,2249,2255,2259,2264,2268],{"type":82,"tag":116,"props":2233,"children":2234},{"style":196},[2235],{"type":88,"value":541},{"type":82,"tag":116,"props":2237,"children":2238},{"style":196},[2239],{"type":88,"value":349},{"type":82,"tag":116,"props":2241,"children":2242},{"style":352},[2243],{"type":88,"value":2244}," getProduct",{"type":82,"tag":116,"props":2246,"children":2247},{"style":144},[2248],{"type":88,"value":587},{"type":82,"tag":116,"props":2250,"children":2252},{"style":2251},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[2253],{"type":88,"value":2254},"id",{"type":82,"tag":116,"props":2256,"children":2257},{"style":144},[2258],{"type":88,"value":209},{"type":82,"tag":116,"props":2260,"children":2261},{"style":212},[2262],{"type":88,"value":2263}," string",{"type":82,"tag":116,"props":2265,"children":2266},{"style":144},[2267],{"type":88,"value":521},{"type":82,"tag":116,"props":2269,"children":2270},{"style":144},[2271],{"type":88,"value":224},{"type":82,"tag":116,"props":2273,"children":2274},{"class":118,"line":933},[2275,2279,2283],{"type":82,"tag":116,"props":2276,"children":2277},{"style":144},[2278],{"type":88,"value":566},{"type":82,"tag":116,"props":2280,"children":2281},{"style":171},[2282],{"type":88,"value":55},{"type":82,"tag":116,"props":2284,"children":2285},{"style":144},[2286],{"type":88,"value":179},{"type":82,"tag":116,"props":2288,"children":2289},{"class":118,"line":950},[2290,2294,2298,2302,2306,2310,2314,2319,2324,2329,2333,2338],{"type":82,"tag":116,"props":2291,"children":2292},{"style":352},[2293],{"type":88,"value":2162},{"type":82,"tag":116,"props":2295,"children":2296},{"style":231},[2297],{"type":88,"value":587},{"type":82,"tag":116,"props":2299,"children":2300},{"style":144},[2301],{"type":88,"value":592},{"type":82,"tag":116,"props":2303,"children":2304},{"style":171},[2305],{"type":88,"value":2175},{"type":82,"tag":116,"props":2307,"children":2308},{"style":144},[2309],{"type":88,"value":592},{"type":82,"tag":116,"props":2311,"children":2312},{"style":144},[2313],{"type":88,"value":1937},{"type":82,"tag":116,"props":2315,"children":2316},{"style":144},[2317],{"type":88,"value":2318}," `",{"type":82,"tag":116,"props":2320,"children":2321},{"style":171},[2322],{"type":88,"value":2323},"product-",{"type":82,"tag":116,"props":2325,"children":2326},{"style":144},[2327],{"type":88,"value":2328},"${",{"type":82,"tag":116,"props":2330,"children":2331},{"style":150},[2332],{"type":88,"value":2254},{"type":82,"tag":116,"props":2334,"children":2335},{"style":144},[2336],{"type":88,"value":2337},"}`",{"type":82,"tag":116,"props":2339,"children":2340},{"style":231},[2341],{"type":88,"value":606},{"type":82,"tag":116,"props":2343,"children":2344},{"class":118,"line":959},[2345,2349,2353,2357,2361,2365,2370,2374,2378,2383,2387,2391,2396,2400,2404],{"type":82,"tag":116,"props":2346,"children":2347},{"style":133},[2348],{"type":88,"value":372},{"type":82,"tag":116,"props":2350,"children":2351},{"style":150},[2352],{"type":88,"value":640},{"type":82,"tag":116,"props":2354,"children":2355},{"style":144},[2356],{"type":88,"value":645},{"type":82,"tag":116,"props":2358,"children":2359},{"style":150},[2360],{"type":88,"value":2175},{"type":82,"tag":116,"props":2362,"children":2363},{"style":144},[2364],{"type":88,"value":645},{"type":82,"tag":116,"props":2366,"children":2367},{"style":352},[2368],{"type":88,"value":2369},"findUnique",{"type":82,"tag":116,"props":2371,"children":2372},{"style":231},[2373],{"type":88,"value":587},{"type":82,"tag":116,"props":2375,"children":2376},{"style":144},[2377],{"type":88,"value":1112},{"type":82,"tag":116,"props":2379,"children":2380},{"style":231},[2381],{"type":88,"value":2382}," where",{"type":82,"tag":116,"props":2384,"children":2385},{"style":144},[2386],{"type":88,"value":209},{"type":82,"tag":116,"props":2388,"children":2389},{"style":144},[2390],{"type":88,"value":147},{"type":82,"tag":116,"props":2392,"children":2393},{"style":150},[2394],{"type":88,"value":2395}," id",{"type":82,"tag":116,"props":2397,"children":2398},{"style":144},[2399],{"type":88,"value":158},{"type":82,"tag":116,"props":2401,"children":2402},{"style":144},[2403],{"type":88,"value":158},{"type":82,"tag":116,"props":2405,"children":2406},{"style":231},[2407],{"type":88,"value":606},{"type":82,"tag":116,"props":2409,"children":2410},{"class":118,"line":967},[2411],{"type":82,"tag":116,"props":2412,"children":2413},{"style":144},[2414],{"type":88,"value":257},{"type":82,"tag":314,"props":2416,"children":2418},{"id":2417},"updatetag-immediate-invalidation",[2419,2425],{"type":82,"tag":112,"props":2420,"children":2422},{"className":2421},[],[2423],{"type":88,"value":2424},"updateTag()",{"type":88,"value":2426}," - Immediate Invalidation",{"type":82,"tag":91,"props":2428,"children":2429},{},[2430],{"type":88,"value":2431},"Use when you need the cache refreshed within the same request:",{"type":82,"tag":104,"props":2433,"children":2435},{"className":327,"code":2434,"language":329,"meta":109,"style":109},"'use server'\n\nimport { updateTag } from 'next\u002Fcache'\n\nexport async function updateProduct(id: string, data: FormData) {\n  await db.products.update({ where: { id }, data })\n  updateTag(`product-${id}`)  \u002F\u002F Immediate - same request sees fresh data\n}\n",[2436],{"type":82,"tag":112,"props":2437,"children":2438},{"__ignoreMap":109},[2439,2455,2462,2498,2505,2566,2636,2678],{"type":82,"tag":116,"props":2440,"children":2441},{"class":118,"line":119},[2442,2446,2451],{"type":82,"tag":116,"props":2443,"children":2444},{"style":144},[2445],{"type":88,"value":592},{"type":82,"tag":116,"props":2447,"children":2448},{"style":171},[2449],{"type":88,"value":2450},"use server",{"type":82,"tag":116,"props":2452,"children":2453},{"style":144},[2454],{"type":88,"value":179},{"type":82,"tag":116,"props":2456,"children":2457},{"class":118,"line":129},[2458],{"type":82,"tag":116,"props":2459,"children":2460},{"emptyLinePlaceholder":186},[2461],{"type":88,"value":189},{"type":82,"tag":116,"props":2463,"children":2464},{"class":118,"line":182},[2465,2469,2473,2478,2482,2486,2490,2494],{"type":82,"tag":116,"props":2466,"children":2467},{"style":133},[2468],{"type":88,"value":136},{"type":82,"tag":116,"props":2470,"children":2471},{"style":144},[2472],{"type":88,"value":147},{"type":82,"tag":116,"props":2474,"children":2475},{"style":150},[2476],{"type":88,"value":2477}," updateTag",{"type":82,"tag":116,"props":2479,"children":2480},{"style":144},[2481],{"type":88,"value":158},{"type":82,"tag":116,"props":2483,"children":2484},{"style":133},[2485],{"type":88,"value":163},{"type":82,"tag":116,"props":2487,"children":2488},{"style":144},[2489],{"type":88,"value":168},{"type":82,"tag":116,"props":2491,"children":2492},{"style":171},[2493],{"type":88,"value":50},{"type":82,"tag":116,"props":2495,"children":2496},{"style":144},[2497],{"type":88,"value":179},{"type":82,"tag":116,"props":2499,"children":2500},{"class":118,"line":192},[2501],{"type":82,"tag":116,"props":2502,"children":2503},{"emptyLinePlaceholder":186},[2504],{"type":88,"value":189},{"type":82,"tag":116,"props":2506,"children":2507},{"class":118,"line":227},[2508,2512,2516,2520,2525,2529,2533,2537,2541,2545,2549,2553,2558,2562],{"type":82,"tag":116,"props":2509,"children":2510},{"style":133},[2511],{"type":88,"value":274},{"type":82,"tag":116,"props":2513,"children":2514},{"style":196},[2515],{"type":88,"value":1202},{"type":82,"tag":116,"props":2517,"children":2518},{"style":196},[2519],{"type":88,"value":349},{"type":82,"tag":116,"props":2521,"children":2522},{"style":352},[2523],{"type":88,"value":2524}," updateProduct",{"type":82,"tag":116,"props":2526,"children":2527},{"style":144},[2528],{"type":88,"value":587},{"type":82,"tag":116,"props":2530,"children":2531},{"style":2251},[2532],{"type":88,"value":2254},{"type":82,"tag":116,"props":2534,"children":2535},{"style":144},[2536],{"type":88,"value":209},{"type":82,"tag":116,"props":2538,"children":2539},{"style":212},[2540],{"type":88,"value":2263},{"type":82,"tag":116,"props":2542,"children":2543},{"style":144},[2544],{"type":88,"value":1937},{"type":82,"tag":116,"props":2546,"children":2547},{"style":2251},[2548],{"type":88,"value":1238},{"type":82,"tag":116,"props":2550,"children":2551},{"style":144},[2552],{"type":88,"value":209},{"type":82,"tag":116,"props":2554,"children":2555},{"style":212},[2556],{"type":88,"value":2557}," FormData",{"type":82,"tag":116,"props":2559,"children":2560},{"style":144},[2561],{"type":88,"value":521},{"type":82,"tag":116,"props":2563,"children":2564},{"style":144},[2565],{"type":88,"value":224},{"type":82,"tag":116,"props":2567,"children":2568},{"class":118,"line":39},[2569,2574,2578,2582,2586,2590,2595,2599,2603,2607,2611,2615,2619,2624,2628,2632],{"type":82,"tag":116,"props":2570,"children":2571},{"style":133},[2572],{"type":88,"value":2573},"  await",{"type":82,"tag":116,"props":2575,"children":2576},{"style":150},[2577],{"type":88,"value":640},{"type":82,"tag":116,"props":2579,"children":2580},{"style":144},[2581],{"type":88,"value":645},{"type":82,"tag":116,"props":2583,"children":2584},{"style":150},[2585],{"type":88,"value":2175},{"type":82,"tag":116,"props":2587,"children":2588},{"style":144},[2589],{"type":88,"value":645},{"type":82,"tag":116,"props":2591,"children":2592},{"style":352},[2593],{"type":88,"value":2594},"update",{"type":82,"tag":116,"props":2596,"children":2597},{"style":231},[2598],{"type":88,"value":587},{"type":82,"tag":116,"props":2600,"children":2601},{"style":144},[2602],{"type":88,"value":1112},{"type":82,"tag":116,"props":2604,"children":2605},{"style":231},[2606],{"type":88,"value":2382},{"type":82,"tag":116,"props":2608,"children":2609},{"style":144},[2610],{"type":88,"value":209},{"type":82,"tag":116,"props":2612,"children":2613},{"style":144},[2614],{"type":88,"value":147},{"type":82,"tag":116,"props":2616,"children":2617},{"style":150},[2618],{"type":88,"value":2395},{"type":82,"tag":116,"props":2620,"children":2621},{"style":144},[2622],{"type":88,"value":2623}," },",{"type":82,"tag":116,"props":2625,"children":2626},{"style":150},[2627],{"type":88,"value":1238},{"type":82,"tag":116,"props":2629,"children":2630},{"style":144},[2631],{"type":88,"value":158},{"type":82,"tag":116,"props":2633,"children":2634},{"style":231},[2635],{"type":88,"value":606},{"type":82,"tag":116,"props":2637,"children":2638},{"class":118,"line":260},[2639,2644,2648,2653,2657,2661,2665,2669,2673],{"type":82,"tag":116,"props":2640,"children":2641},{"style":352},[2642],{"type":88,"value":2643},"  updateTag",{"type":82,"tag":116,"props":2645,"children":2646},{"style":231},[2647],{"type":88,"value":587},{"type":82,"tag":116,"props":2649,"children":2650},{"style":144},[2651],{"type":88,"value":2652},"`",{"type":82,"tag":116,"props":2654,"children":2655},{"style":171},[2656],{"type":88,"value":2323},{"type":82,"tag":116,"props":2658,"children":2659},{"style":144},[2660],{"type":88,"value":2328},{"type":82,"tag":116,"props":2662,"children":2663},{"style":150},[2664],{"type":88,"value":2254},{"type":82,"tag":116,"props":2666,"children":2667},{"style":144},[2668],{"type":88,"value":2337},{"type":82,"tag":116,"props":2670,"children":2671},{"style":231},[2672],{"type":88,"value":1755},{"type":82,"tag":116,"props":2674,"children":2675},{"style":123},[2676],{"type":88,"value":2677},"\u002F\u002F Immediate - same request sees fresh data\n",{"type":82,"tag":116,"props":2679,"children":2680},{"class":118,"line":268},[2681],{"type":82,"tag":116,"props":2682,"children":2683},{"style":144},[2684],{"type":88,"value":257},{"type":82,"tag":314,"props":2686,"children":2688},{"id":2687},"revalidatetag-background-revalidation",[2689,2695],{"type":82,"tag":112,"props":2690,"children":2692},{"className":2691},[],[2693],{"type":88,"value":2694},"revalidateTag()",{"type":88,"value":2696}," - Background Revalidation",{"type":82,"tag":91,"props":2698,"children":2699},{},[2700],{"type":88,"value":2701},"Use for stale-while-revalidate behavior:",{"type":82,"tag":104,"props":2703,"children":2705},{"className":327,"code":2704,"language":329,"meta":109,"style":109},"'use server'\n\nimport { revalidateTag } from 'next\u002Fcache'\n\nexport async function createPost(data: FormData) {\n  await db.posts.create({ data })\n  revalidateTag('posts')  \u002F\u002F Background - next request sees fresh data\n}\n",[2706],{"type":82,"tag":112,"props":2707,"children":2708},{"__ignoreMap":109},[2709,2724,2731,2767,2774,2818,2866,2899],{"type":82,"tag":116,"props":2710,"children":2711},{"class":118,"line":119},[2712,2716,2720],{"type":82,"tag":116,"props":2713,"children":2714},{"style":144},[2715],{"type":88,"value":592},{"type":82,"tag":116,"props":2717,"children":2718},{"style":171},[2719],{"type":88,"value":2450},{"type":82,"tag":116,"props":2721,"children":2722},{"style":144},[2723],{"type":88,"value":179},{"type":82,"tag":116,"props":2725,"children":2726},{"class":118,"line":129},[2727],{"type":82,"tag":116,"props":2728,"children":2729},{"emptyLinePlaceholder":186},[2730],{"type":88,"value":189},{"type":82,"tag":116,"props":2732,"children":2733},{"class":118,"line":182},[2734,2738,2742,2747,2751,2755,2759,2763],{"type":82,"tag":116,"props":2735,"children":2736},{"style":133},[2737],{"type":88,"value":136},{"type":82,"tag":116,"props":2739,"children":2740},{"style":144},[2741],{"type":88,"value":147},{"type":82,"tag":116,"props":2743,"children":2744},{"style":150},[2745],{"type":88,"value":2746}," revalidateTag",{"type":82,"tag":116,"props":2748,"children":2749},{"style":144},[2750],{"type":88,"value":158},{"type":82,"tag":116,"props":2752,"children":2753},{"style":133},[2754],{"type":88,"value":163},{"type":82,"tag":116,"props":2756,"children":2757},{"style":144},[2758],{"type":88,"value":168},{"type":82,"tag":116,"props":2760,"children":2761},{"style":171},[2762],{"type":88,"value":50},{"type":82,"tag":116,"props":2764,"children":2765},{"style":144},[2766],{"type":88,"value":179},{"type":82,"tag":116,"props":2768,"children":2769},{"class":118,"line":192},[2770],{"type":82,"tag":116,"props":2771,"children":2772},{"emptyLinePlaceholder":186},[2773],{"type":88,"value":189},{"type":82,"tag":116,"props":2775,"children":2776},{"class":118,"line":227},[2777,2781,2785,2789,2794,2798,2802,2806,2810,2814],{"type":82,"tag":116,"props":2778,"children":2779},{"style":133},[2780],{"type":88,"value":274},{"type":82,"tag":116,"props":2782,"children":2783},{"style":196},[2784],{"type":88,"value":1202},{"type":82,"tag":116,"props":2786,"children":2787},{"style":196},[2788],{"type":88,"value":349},{"type":82,"tag":116,"props":2790,"children":2791},{"style":352},[2792],{"type":88,"value":2793}," createPost",{"type":82,"tag":116,"props":2795,"children":2796},{"style":144},[2797],{"type":88,"value":587},{"type":82,"tag":116,"props":2799,"children":2800},{"style":2251},[2801],{"type":88,"value":1281},{"type":82,"tag":116,"props":2803,"children":2804},{"style":144},[2805],{"type":88,"value":209},{"type":82,"tag":116,"props":2807,"children":2808},{"style":212},[2809],{"type":88,"value":2557},{"type":82,"tag":116,"props":2811,"children":2812},{"style":144},[2813],{"type":88,"value":521},{"type":82,"tag":116,"props":2815,"children":2816},{"style":144},[2817],{"type":88,"value":224},{"type":82,"tag":116,"props":2819,"children":2820},{"class":118,"line":39},[2821,2825,2829,2833,2837,2841,2846,2850,2854,2858,2862],{"type":82,"tag":116,"props":2822,"children":2823},{"style":133},[2824],{"type":88,"value":2573},{"type":82,"tag":116,"props":2826,"children":2827},{"style":150},[2828],{"type":88,"value":640},{"type":82,"tag":116,"props":2830,"children":2831},{"style":144},[2832],{"type":88,"value":645},{"type":82,"tag":116,"props":2834,"children":2835},{"style":150},[2836],{"type":88,"value":650},{"type":82,"tag":116,"props":2838,"children":2839},{"style":144},[2840],{"type":88,"value":645},{"type":82,"tag":116,"props":2842,"children":2843},{"style":352},[2844],{"type":88,"value":2845},"create",{"type":82,"tag":116,"props":2847,"children":2848},{"style":231},[2849],{"type":88,"value":587},{"type":82,"tag":116,"props":2851,"children":2852},{"style":144},[2853],{"type":88,"value":1112},{"type":82,"tag":116,"props":2855,"children":2856},{"style":150},[2857],{"type":88,"value":1238},{"type":82,"tag":116,"props":2859,"children":2860},{"style":144},[2861],{"type":88,"value":158},{"type":82,"tag":116,"props":2863,"children":2864},{"style":231},[2865],{"type":88,"value":606},{"type":82,"tag":116,"props":2867,"children":2868},{"class":118,"line":260},[2869,2874,2878,2882,2886,2890,2894],{"type":82,"tag":116,"props":2870,"children":2871},{"style":352},[2872],{"type":88,"value":2873},"  revalidateTag",{"type":82,"tag":116,"props":2875,"children":2876},{"style":231},[2877],{"type":88,"value":587},{"type":82,"tag":116,"props":2879,"children":2880},{"style":144},[2881],{"type":88,"value":592},{"type":82,"tag":116,"props":2883,"children":2884},{"style":171},[2885],{"type":88,"value":650},{"type":82,"tag":116,"props":2887,"children":2888},{"style":144},[2889],{"type":88,"value":592},{"type":82,"tag":116,"props":2891,"children":2892},{"style":231},[2893],{"type":88,"value":1755},{"type":82,"tag":116,"props":2895,"children":2896},{"style":123},[2897],{"type":88,"value":2898},"\u002F\u002F Background - next request sees fresh data\n",{"type":82,"tag":116,"props":2900,"children":2901},{"class":118,"line":268},[2902],{"type":82,"tag":116,"props":2903,"children":2904},{"style":144},[2905],{"type":88,"value":257},{"type":82,"tag":299,"props":2907,"children":2908},{},[],{"type":82,"tag":97,"props":2910,"children":2912},{"id":2911},"runtime-data-constraint",[2913],{"type":88,"value":2914},"Runtime Data Constraint",{"type":82,"tag":91,"props":2916,"children":2917},{},[2918,2924,2926,2932,2933,2939,2941,2947,2949,2954],{"type":82,"tag":2919,"props":2920,"children":2921},"strong",{},[2922],{"type":88,"value":2923},"Cannot",{"type":88,"value":2925}," access ",{"type":82,"tag":112,"props":2927,"children":2929},{"className":2928},[],[2930],{"type":88,"value":2931},"cookies()",{"type":88,"value":1813},{"type":82,"tag":112,"props":2934,"children":2936},{"className":2935},[],[2937],{"type":88,"value":2938},"headers()",{"type":88,"value":2940},", or ",{"type":82,"tag":112,"props":2942,"children":2944},{"className":2943},[],[2945],{"type":88,"value":2946},"searchParams",{"type":88,"value":2948}," inside ",{"type":82,"tag":112,"props":2950,"children":2952},{"className":2951},[],[2953],{"type":88,"value":55},{"type":88,"value":645},{"type":82,"tag":314,"props":2956,"children":2958},{"id":2957},"solution-pass-as-arguments",[2959],{"type":88,"value":2960},"Solution: Pass as Arguments",{"type":82,"tag":104,"props":2962,"children":2964},{"className":327,"code":2963,"language":329,"meta":109,"style":109},"\u002F\u002F Wrong - runtime API inside use cache\nasync function CachedProfile() {\n  'use cache'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Error!\n  return \u003Cdiv>{session}\u003C\u002Fdiv>\n}\n\n\u002F\u002F Correct - extract outside, pass as argument\nasync function ProfilePage() {\n  const session = (await cookies()).get('session')?.value\n  return \u003CCachedProfile sessionId={session} \u002F>\n}\n\nasync function CachedProfile({ sessionId }: { sessionId: string }) {\n  'use cache'\n  \u002F\u002F sessionId becomes part of cache key automatically\n  const data = await fetchUserData(sessionId)\n  return \u003Cdiv>{data.name}\u003C\u002Fdiv>\n}\n",[2965],{"type":82,"tag":112,"props":2966,"children":2967},{"__ignoreMap":109},[2968,2976,3000,3015,3090,3125,3132,3139,3147,3171,3238,3271,3278,3285,3339,3354,3362,3399,3443],{"type":82,"tag":116,"props":2969,"children":2970},{"class":118,"line":119},[2971],{"type":82,"tag":116,"props":2972,"children":2973},{"style":123},[2974],{"type":88,"value":2975},"\u002F\u002F Wrong - runtime API inside use cache\n",{"type":82,"tag":116,"props":2977,"children":2978},{"class":118,"line":129},[2979,2983,2987,2992,2996],{"type":82,"tag":116,"props":2980,"children":2981},{"style":196},[2982],{"type":88,"value":541},{"type":82,"tag":116,"props":2984,"children":2985},{"style":196},[2986],{"type":88,"value":349},{"type":82,"tag":116,"props":2988,"children":2989},{"style":352},[2990],{"type":88,"value":2991}," CachedProfile",{"type":82,"tag":116,"props":2993,"children":2994},{"style":144},[2995],{"type":88,"value":360},{"type":82,"tag":116,"props":2997,"children":2998},{"style":144},[2999],{"type":88,"value":224},{"type":82,"tag":116,"props":3001,"children":3002},{"class":118,"line":182},[3003,3007,3011],{"type":82,"tag":116,"props":3004,"children":3005},{"style":144},[3006],{"type":88,"value":566},{"type":82,"tag":116,"props":3008,"children":3009},{"style":171},[3010],{"type":88,"value":55},{"type":82,"tag":116,"props":3012,"children":3013},{"style":144},[3014],{"type":88,"value":179},{"type":82,"tag":116,"props":3016,"children":3017},{"class":118,"line":192},[3018,3022,3027,3031,3035,3039,3043,3047,3051,3055,3059,3063,3068,3072,3076,3080,3085],{"type":82,"tag":116,"props":3019,"children":3020},{"style":196},[3021],{"type":88,"value":621},{"type":82,"tag":116,"props":3023,"children":3024},{"style":150},[3025],{"type":88,"value":3026}," session",{"type":82,"tag":116,"props":3028,"children":3029},{"style":144},[3030],{"type":88,"value":219},{"type":82,"tag":116,"props":3032,"children":3033},{"style":231},[3034],{"type":88,"value":1027},{"type":82,"tag":116,"props":3036,"children":3037},{"style":133},[3038],{"type":88,"value":1032},{"type":82,"tag":116,"props":3040,"children":3041},{"style":352},[3042],{"type":88,"value":1037},{"type":82,"tag":116,"props":3044,"children":3045},{"style":231},[3046],{"type":88,"value":1042},{"type":82,"tag":116,"props":3048,"children":3049},{"style":144},[3050],{"type":88,"value":645},{"type":82,"tag":116,"props":3052,"children":3053},{"style":352},[3054],{"type":88,"value":1051},{"type":82,"tag":116,"props":3056,"children":3057},{"style":231},[3058],{"type":88,"value":587},{"type":82,"tag":116,"props":3060,"children":3061},{"style":144},[3062],{"type":88,"value":592},{"type":82,"tag":116,"props":3064,"children":3065},{"style":171},[3066],{"type":88,"value":3067},"session",{"type":82,"tag":116,"props":3069,"children":3070},{"style":144},[3071],{"type":88,"value":592},{"type":82,"tag":116,"props":3073,"children":3074},{"style":231},[3075],{"type":88,"value":521},{"type":82,"tag":116,"props":3077,"children":3078},{"style":144},[3079],{"type":88,"value":1077},{"type":82,"tag":116,"props":3081,"children":3082},{"style":150},[3083],{"type":88,"value":3084},"value",{"type":82,"tag":116,"props":3086,"children":3087},{"style":123},[3088],{"type":88,"value":3089},"  \u002F\u002F Error!\n",{"type":82,"tag":116,"props":3091,"children":3092},{"class":118,"line":227},[3093,3097,3101,3105,3109,3113,3117,3121],{"type":82,"tag":116,"props":3094,"children":3095},{"style":133},[3096],{"type":88,"value":372},{"type":82,"tag":116,"props":3098,"children":3099},{"style":144},[3100],{"type":88,"value":676},{"type":82,"tag":116,"props":3102,"children":3103},{"style":231},[3104],{"type":88,"value":1271},{"type":82,"tag":116,"props":3106,"children":3107},{"style":144},[3108],{"type":88,"value":1276},{"type":82,"tag":116,"props":3110,"children":3111},{"style":150},[3112],{"type":88,"value":3067},{"type":82,"tag":116,"props":3114,"children":3115},{"style":144},[3116],{"type":88,"value":1121},{"type":82,"tag":116,"props":3118,"children":3119},{"style":231},[3120],{"type":88,"value":1271},{"type":82,"tag":116,"props":3122,"children":3123},{"style":144},[3124],{"type":88,"value":395},{"type":82,"tag":116,"props":3126,"children":3127},{"class":118,"line":39},[3128],{"type":82,"tag":116,"props":3129,"children":3130},{"style":144},[3131],{"type":88,"value":257},{"type":82,"tag":116,"props":3133,"children":3134},{"class":118,"line":260},[3135],{"type":82,"tag":116,"props":3136,"children":3137},{"emptyLinePlaceholder":186},[3138],{"type":88,"value":189},{"type":82,"tag":116,"props":3140,"children":3141},{"class":118,"line":268},[3142],{"type":82,"tag":116,"props":3143,"children":3144},{"style":123},[3145],{"type":88,"value":3146},"\u002F\u002F Correct - extract outside, pass as argument\n",{"type":82,"tag":116,"props":3148,"children":3149},{"class":118,"line":902},[3150,3154,3158,3163,3167],{"type":82,"tag":116,"props":3151,"children":3152},{"style":196},[3153],{"type":88,"value":541},{"type":82,"tag":116,"props":3155,"children":3156},{"style":196},[3157],{"type":88,"value":349},{"type":82,"tag":116,"props":3159,"children":3160},{"style":352},[3161],{"type":88,"value":3162}," ProfilePage",{"type":82,"tag":116,"props":3164,"children":3165},{"style":144},[3166],{"type":88,"value":360},{"type":82,"tag":116,"props":3168,"children":3169},{"style":144},[3170],{"type":88,"value":224},{"type":82,"tag":116,"props":3172,"children":3173},{"class":118,"line":933},[3174,3178,3182,3186,3190,3194,3198,3202,3206,3210,3214,3218,3222,3226,3230,3234],{"type":82,"tag":116,"props":3175,"children":3176},{"style":196},[3177],{"type":88,"value":621},{"type":82,"tag":116,"props":3179,"children":3180},{"style":150},[3181],{"type":88,"value":3026},{"type":82,"tag":116,"props":3183,"children":3184},{"style":144},[3185],{"type":88,"value":219},{"type":82,"tag":116,"props":3187,"children":3188},{"style":231},[3189],{"type":88,"value":1027},{"type":82,"tag":116,"props":3191,"children":3192},{"style":133},[3193],{"type":88,"value":1032},{"type":82,"tag":116,"props":3195,"children":3196},{"style":352},[3197],{"type":88,"value":1037},{"type":82,"tag":116,"props":3199,"children":3200},{"style":231},[3201],{"type":88,"value":1042},{"type":82,"tag":116,"props":3203,"children":3204},{"style":144},[3205],{"type":88,"value":645},{"type":82,"tag":116,"props":3207,"children":3208},{"style":352},[3209],{"type":88,"value":1051},{"type":82,"tag":116,"props":3211,"children":3212},{"style":231},[3213],{"type":88,"value":587},{"type":82,"tag":116,"props":3215,"children":3216},{"style":144},[3217],{"type":88,"value":592},{"type":82,"tag":116,"props":3219,"children":3220},{"style":171},[3221],{"type":88,"value":3067},{"type":82,"tag":116,"props":3223,"children":3224},{"style":144},[3225],{"type":88,"value":592},{"type":82,"tag":116,"props":3227,"children":3228},{"style":231},[3229],{"type":88,"value":521},{"type":82,"tag":116,"props":3231,"children":3232},{"style":144},[3233],{"type":88,"value":1077},{"type":82,"tag":116,"props":3235,"children":3236},{"style":150},[3237],{"type":88,"value":1082},{"type":82,"tag":116,"props":3239,"children":3240},{"class":118,"line":950},[3241,3245,3249,3254,3259,3263,3267],{"type":82,"tag":116,"props":3242,"children":3243},{"style":133},[3244],{"type":88,"value":372},{"type":82,"tag":116,"props":3246,"children":3247},{"style":144},[3248],{"type":88,"value":676},{"type":82,"tag":116,"props":3250,"children":3251},{"style":212},[3252],{"type":88,"value":3253},"CachedProfile",{"type":82,"tag":116,"props":3255,"children":3256},{"style":196},[3257],{"type":88,"value":3258}," sessionId",{"type":82,"tag":116,"props":3260,"children":3261},{"style":144},[3262],{"type":88,"value":690},{"type":82,"tag":116,"props":3264,"children":3265},{"style":150},[3266],{"type":88,"value":3067},{"type":82,"tag":116,"props":3268,"children":3269},{"style":144},[3270],{"type":88,"value":699},{"type":82,"tag":116,"props":3272,"children":3273},{"class":118,"line":959},[3274],{"type":82,"tag":116,"props":3275,"children":3276},{"style":144},[3277],{"type":88,"value":257},{"type":82,"tag":116,"props":3279,"children":3280},{"class":118,"line":967},[3281],{"type":82,"tag":116,"props":3282,"children":3283},{"emptyLinePlaceholder":186},[3284],{"type":88,"value":189},{"type":82,"tag":116,"props":3286,"children":3287},{"class":118,"line":975},[3288,3292,3296,3300,3305,3309,3314,3318,3322,3326,3330,3335],{"type":82,"tag":116,"props":3289,"children":3290},{"style":196},[3291],{"type":88,"value":541},{"type":82,"tag":116,"props":3293,"children":3294},{"style":196},[3295],{"type":88,"value":349},{"type":82,"tag":116,"props":3297,"children":3298},{"style":352},[3299],{"type":88,"value":2991},{"type":82,"tag":116,"props":3301,"children":3302},{"style":144},[3303],{"type":88,"value":3304},"({",{"type":82,"tag":116,"props":3306,"children":3307},{"style":2251},[3308],{"type":88,"value":3258},{"type":82,"tag":116,"props":3310,"children":3311},{"style":144},[3312],{"type":88,"value":3313}," }:",{"type":82,"tag":116,"props":3315,"children":3316},{"style":144},[3317],{"type":88,"value":147},{"type":82,"tag":116,"props":3319,"children":3320},{"style":231},[3321],{"type":88,"value":3258},{"type":82,"tag":116,"props":3323,"children":3324},{"style":144},[3325],{"type":88,"value":209},{"type":82,"tag":116,"props":3327,"children":3328},{"style":212},[3329],{"type":88,"value":2263},{"type":82,"tag":116,"props":3331,"children":3332},{"style":144},[3333],{"type":88,"value":3334}," })",{"type":82,"tag":116,"props":3336,"children":3337},{"style":144},[3338],{"type":88,"value":224},{"type":82,"tag":116,"props":3340,"children":3341},{"class":118,"line":983},[3342,3346,3350],{"type":82,"tag":116,"props":3343,"children":3344},{"style":144},[3345],{"type":88,"value":566},{"type":82,"tag":116,"props":3347,"children":3348},{"style":171},[3349],{"type":88,"value":55},{"type":82,"tag":116,"props":3351,"children":3352},{"style":144},[3353],{"type":88,"value":179},{"type":82,"tag":116,"props":3355,"children":3356},{"class":118,"line":1008},[3357],{"type":82,"tag":116,"props":3358,"children":3359},{"style":123},[3360],{"type":88,"value":3361},"  \u002F\u002F sessionId becomes part of cache key automatically\n",{"type":82,"tag":116,"props":3363,"children":3364},{"class":118,"line":1085},[3365,3369,3373,3377,3381,3386,3390,3395],{"type":82,"tag":116,"props":3366,"children":3367},{"style":196},[3368],{"type":88,"value":621},{"type":82,"tag":116,"props":3370,"children":3371},{"style":150},[3372],{"type":88,"value":1238},{"type":82,"tag":116,"props":3374,"children":3375},{"style":144},[3376],{"type":88,"value":219},{"type":82,"tag":116,"props":3378,"children":3379},{"style":133},[3380],{"type":88,"value":635},{"type":82,"tag":116,"props":3382,"children":3383},{"style":352},[3384],{"type":88,"value":3385}," fetchUserData",{"type":82,"tag":116,"props":3387,"children":3388},{"style":231},[3389],{"type":88,"value":587},{"type":82,"tag":116,"props":3391,"children":3392},{"style":150},[3393],{"type":88,"value":3394},"sessionId",{"type":82,"tag":116,"props":3396,"children":3397},{"style":231},[3398],{"type":88,"value":606},{"type":82,"tag":116,"props":3400,"children":3401},{"class":118,"line":1132},[3402,3406,3410,3414,3418,3422,3426,3431,3435,3439],{"type":82,"tag":116,"props":3403,"children":3404},{"style":133},[3405],{"type":88,"value":372},{"type":82,"tag":116,"props":3407,"children":3408},{"style":144},[3409],{"type":88,"value":676},{"type":82,"tag":116,"props":3411,"children":3412},{"style":231},[3413],{"type":88,"value":1271},{"type":82,"tag":116,"props":3415,"children":3416},{"style":144},[3417],{"type":88,"value":1276},{"type":82,"tag":116,"props":3419,"children":3420},{"style":150},[3421],{"type":88,"value":1281},{"type":82,"tag":116,"props":3423,"children":3424},{"style":144},[3425],{"type":88,"value":645},{"type":82,"tag":116,"props":3427,"children":3428},{"style":150},[3429],{"type":88,"value":3430},"name",{"type":82,"tag":116,"props":3432,"children":3433},{"style":144},[3434],{"type":88,"value":1121},{"type":82,"tag":116,"props":3436,"children":3437},{"style":231},[3438],{"type":88,"value":1271},{"type":82,"tag":116,"props":3440,"children":3441},{"style":144},[3442],{"type":88,"value":395},{"type":82,"tag":116,"props":3444,"children":3446},{"class":118,"line":3445},19,[3447],{"type":82,"tag":116,"props":3448,"children":3449},{"style":144},[3450],{"type":88,"value":257},{"type":82,"tag":314,"props":3452,"children":3454},{"id":3453},"exception-use-cache-private",[3455,3457],{"type":88,"value":3456},"Exception: ",{"type":82,"tag":112,"props":3458,"children":3460},{"className":3459},[],[3461],{"type":88,"value":1618},{"type":82,"tag":91,"props":3463,"children":3464},{},[3465],{"type":88,"value":3466},"For compliance requirements when you can't refactor:",{"type":82,"tag":104,"props":3468,"children":3470},{"className":327,"code":3469,"language":329,"meta":109,"style":109},"async function getData() {\n  'use cache: private'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Allowed\n  return fetchData(session)\n}\n",[3471],{"type":82,"tag":112,"props":3472,"children":3473},{"__ignoreMap":109},[3474,3497,3512,3584,3607],{"type":82,"tag":116,"props":3475,"children":3476},{"class":118,"line":119},[3477,3481,3485,3489,3493],{"type":82,"tag":116,"props":3478,"children":3479},{"style":196},[3480],{"type":88,"value":541},{"type":82,"tag":116,"props":3482,"children":3483},{"style":196},[3484],{"type":88,"value":349},{"type":82,"tag":116,"props":3486,"children":3487},{"style":352},[3488],{"type":88,"value":1458},{"type":82,"tag":116,"props":3490,"children":3491},{"style":144},[3492],{"type":88,"value":360},{"type":82,"tag":116,"props":3494,"children":3495},{"style":144},[3496],{"type":88,"value":224},{"type":82,"tag":116,"props":3498,"children":3499},{"class":118,"line":129},[3500,3504,3508],{"type":82,"tag":116,"props":3501,"children":3502},{"style":144},[3503],{"type":88,"value":566},{"type":82,"tag":116,"props":3505,"children":3506},{"style":171},[3507],{"type":88,"value":1618},{"type":82,"tag":116,"props":3509,"children":3510},{"style":144},[3511],{"type":88,"value":179},{"type":82,"tag":116,"props":3513,"children":3514},{"class":118,"line":182},[3515,3519,3523,3527,3531,3535,3539,3543,3547,3551,3555,3559,3563,3567,3571,3575,3579],{"type":82,"tag":116,"props":3516,"children":3517},{"style":196},[3518],{"type":88,"value":621},{"type":82,"tag":116,"props":3520,"children":3521},{"style":150},[3522],{"type":88,"value":3026},{"type":82,"tag":116,"props":3524,"children":3525},{"style":144},[3526],{"type":88,"value":219},{"type":82,"tag":116,"props":3528,"children":3529},{"style":231},[3530],{"type":88,"value":1027},{"type":82,"tag":116,"props":3532,"children":3533},{"style":133},[3534],{"type":88,"value":1032},{"type":82,"tag":116,"props":3536,"children":3537},{"style":352},[3538],{"type":88,"value":1037},{"type":82,"tag":116,"props":3540,"children":3541},{"style":231},[3542],{"type":88,"value":1042},{"type":82,"tag":116,"props":3544,"children":3545},{"style":144},[3546],{"type":88,"value":645},{"type":82,"tag":116,"props":3548,"children":3549},{"style":352},[3550],{"type":88,"value":1051},{"type":82,"tag":116,"props":3552,"children":3553},{"style":231},[3554],{"type":88,"value":587},{"type":82,"tag":116,"props":3556,"children":3557},{"style":144},[3558],{"type":88,"value":592},{"type":82,"tag":116,"props":3560,"children":3561},{"style":171},[3562],{"type":88,"value":3067},{"type":82,"tag":116,"props":3564,"children":3565},{"style":144},[3566],{"type":88,"value":592},{"type":82,"tag":116,"props":3568,"children":3569},{"style":231},[3570],{"type":88,"value":521},{"type":82,"tag":116,"props":3572,"children":3573},{"style":144},[3574],{"type":88,"value":1077},{"type":82,"tag":116,"props":3576,"children":3577},{"style":150},[3578],{"type":88,"value":3084},{"type":82,"tag":116,"props":3580,"children":3581},{"style":123},[3582],{"type":88,"value":3583},"  \u002F\u002F Allowed\n",{"type":82,"tag":116,"props":3585,"children":3586},{"class":118,"line":192},[3587,3591,3595,3599,3603],{"type":82,"tag":116,"props":3588,"children":3589},{"style":133},[3590],{"type":88,"value":372},{"type":82,"tag":116,"props":3592,"children":3593},{"style":352},[3594],{"type":88,"value":1251},{"type":82,"tag":116,"props":3596,"children":3597},{"style":231},[3598],{"type":88,"value":587},{"type":82,"tag":116,"props":3600,"children":3601},{"style":150},[3602],{"type":88,"value":3067},{"type":82,"tag":116,"props":3604,"children":3605},{"style":231},[3606],{"type":88,"value":606},{"type":82,"tag":116,"props":3608,"children":3609},{"class":118,"line":227},[3610],{"type":82,"tag":116,"props":3611,"children":3612},{"style":144},[3613],{"type":88,"value":257},{"type":82,"tag":299,"props":3615,"children":3616},{},[],{"type":82,"tag":97,"props":3618,"children":3620},{"id":3619},"cache-key-generation",[3621],{"type":88,"value":3622},"Cache Key Generation",{"type":82,"tag":91,"props":3624,"children":3625},{},[3626],{"type":88,"value":3627},"Cache keys are automatic based on:",{"type":82,"tag":3629,"props":3630,"children":3631},"ul",{},[3632,3643,3653,3663],{"type":82,"tag":3633,"props":3634,"children":3635},"li",{},[3636,3641],{"type":82,"tag":2919,"props":3637,"children":3638},{},[3639],{"type":88,"value":3640},"Build ID",{"type":88,"value":3642}," - invalidates all caches on deploy",{"type":82,"tag":3633,"props":3644,"children":3645},{},[3646,3651],{"type":82,"tag":2919,"props":3647,"children":3648},{},[3649],{"type":88,"value":3650},"Function ID",{"type":88,"value":3652}," - hash of function location",{"type":82,"tag":3633,"props":3654,"children":3655},{},[3656,3661],{"type":82,"tag":2919,"props":3657,"children":3658},{},[3659],{"type":88,"value":3660},"Serializable arguments",{"type":88,"value":3662}," - props become part of key",{"type":82,"tag":3633,"props":3664,"children":3665},{},[3666,3671],{"type":82,"tag":2919,"props":3667,"children":3668},{},[3669],{"type":88,"value":3670},"Closure variables",{"type":88,"value":3672}," - outer scope values included",{"type":82,"tag":104,"props":3674,"children":3676},{"className":327,"code":3675,"language":329,"meta":109,"style":109},"async function Component({ userId }: { userId: string }) {\n  const getData = async (filter: string) => {\n    'use cache'\n    \u002F\u002F Cache key = userId (closure) + filter (argument)\n    return fetch(`\u002Fapi\u002Fusers\u002F${userId}?filter=${filter}`)\n  }\n  return getData('active')\n}\n",[3677],{"type":82,"tag":112,"props":3678,"children":3679},{"__ignoreMap":109},[3680,3733,3782,3798,3806,3866,3874,3906],{"type":82,"tag":116,"props":3681,"children":3682},{"class":118,"line":119},[3683,3687,3691,3696,3700,3705,3709,3713,3717,3721,3725,3729],{"type":82,"tag":116,"props":3684,"children":3685},{"style":196},[3686],{"type":88,"value":541},{"type":82,"tag":116,"props":3688,"children":3689},{"style":196},[3690],{"type":88,"value":349},{"type":82,"tag":116,"props":3692,"children":3693},{"style":352},[3694],{"type":88,"value":3695}," Component",{"type":82,"tag":116,"props":3697,"children":3698},{"style":144},[3699],{"type":88,"value":3304},{"type":82,"tag":116,"props":3701,"children":3702},{"style":2251},[3703],{"type":88,"value":3704}," userId",{"type":82,"tag":116,"props":3706,"children":3707},{"style":144},[3708],{"type":88,"value":3313},{"type":82,"tag":116,"props":3710,"children":3711},{"style":144},[3712],{"type":88,"value":147},{"type":82,"tag":116,"props":3714,"children":3715},{"style":231},[3716],{"type":88,"value":3704},{"type":82,"tag":116,"props":3718,"children":3719},{"style":144},[3720],{"type":88,"value":209},{"type":82,"tag":116,"props":3722,"children":3723},{"style":212},[3724],{"type":88,"value":2263},{"type":82,"tag":116,"props":3726,"children":3727},{"style":144},[3728],{"type":88,"value":3334},{"type":82,"tag":116,"props":3730,"children":3731},{"style":144},[3732],{"type":88,"value":224},{"type":82,"tag":116,"props":3734,"children":3735},{"class":118,"line":129},[3736,3740,3744,3748,3752,3756,3761,3765,3769,3773,3778],{"type":82,"tag":116,"props":3737,"children":3738},{"style":196},[3739],{"type":88,"value":621},{"type":82,"tag":116,"props":3741,"children":3742},{"style":150},[3743],{"type":88,"value":1458},{"type":82,"tag":116,"props":3745,"children":3746},{"style":144},[3747],{"type":88,"value":219},{"type":82,"tag":116,"props":3749,"children":3750},{"style":196},[3751],{"type":88,"value":1202},{"type":82,"tag":116,"props":3753,"children":3754},{"style":144},[3755],{"type":88,"value":1027},{"type":82,"tag":116,"props":3757,"children":3758},{"style":2251},[3759],{"type":88,"value":3760},"filter",{"type":82,"tag":116,"props":3762,"children":3763},{"style":144},[3764],{"type":88,"value":209},{"type":82,"tag":116,"props":3766,"children":3767},{"style":212},[3768],{"type":88,"value":2263},{"type":82,"tag":116,"props":3770,"children":3771},{"style":144},[3772],{"type":88,"value":521},{"type":82,"tag":116,"props":3774,"children":3775},{"style":196},[3776],{"type":88,"value":3777}," =>",{"type":82,"tag":116,"props":3779,"children":3780},{"style":144},[3781],{"type":88,"value":224},{"type":82,"tag":116,"props":3783,"children":3784},{"class":118,"line":182},[3785,3790,3794],{"type":82,"tag":116,"props":3786,"children":3787},{"style":144},[3788],{"type":88,"value":3789},"    '",{"type":82,"tag":116,"props":3791,"children":3792},{"style":171},[3793],{"type":88,"value":55},{"type":82,"tag":116,"props":3795,"children":3796},{"style":144},[3797],{"type":88,"value":179},{"type":82,"tag":116,"props":3799,"children":3800},{"class":118,"line":192},[3801],{"type":82,"tag":116,"props":3802,"children":3803},{"style":123},[3804],{"type":88,"value":3805},"    \u002F\u002F Cache key = userId (closure) + filter (argument)\n",{"type":82,"tag":116,"props":3807,"children":3808},{"class":118,"line":227},[3809,3814,3818,3822,3826,3831,3835,3840,3845,3850,3854,3858,3862],{"type":82,"tag":116,"props":3810,"children":3811},{"style":133},[3812],{"type":88,"value":3813},"    return",{"type":82,"tag":116,"props":3815,"children":3816},{"style":352},[3817],{"type":88,"value":1772},{"type":82,"tag":116,"props":3819,"children":3820},{"style":231},[3821],{"type":88,"value":587},{"type":82,"tag":116,"props":3823,"children":3824},{"style":144},[3825],{"type":88,"value":2652},{"type":82,"tag":116,"props":3827,"children":3828},{"style":171},[3829],{"type":88,"value":3830},"\u002Fapi\u002Fusers\u002F",{"type":82,"tag":116,"props":3832,"children":3833},{"style":144},[3834],{"type":88,"value":2328},{"type":82,"tag":116,"props":3836,"children":3837},{"style":150},[3838],{"type":88,"value":3839},"userId",{"type":82,"tag":116,"props":3841,"children":3842},{"style":144},[3843],{"type":88,"value":3844},"}",{"type":82,"tag":116,"props":3846,"children":3847},{"style":171},[3848],{"type":88,"value":3849},"?filter=",{"type":82,"tag":116,"props":3851,"children":3852},{"style":144},[3853],{"type":88,"value":2328},{"type":82,"tag":116,"props":3855,"children":3856},{"style":150},[3857],{"type":88,"value":3760},{"type":82,"tag":116,"props":3859,"children":3860},{"style":144},[3861],{"type":88,"value":2337},{"type":82,"tag":116,"props":3863,"children":3864},{"style":231},[3865],{"type":88,"value":606},{"type":82,"tag":116,"props":3867,"children":3868},{"class":118,"line":39},[3869],{"type":82,"tag":116,"props":3870,"children":3871},{"style":144},[3872],{"type":88,"value":3873},"  }\n",{"type":82,"tag":116,"props":3875,"children":3876},{"class":118,"line":260},[3877,3881,3885,3889,3893,3898,3902],{"type":82,"tag":116,"props":3878,"children":3879},{"style":133},[3880],{"type":88,"value":372},{"type":82,"tag":116,"props":3882,"children":3883},{"style":352},[3884],{"type":88,"value":1458},{"type":82,"tag":116,"props":3886,"children":3887},{"style":231},[3888],{"type":88,"value":587},{"type":82,"tag":116,"props":3890,"children":3891},{"style":144},[3892],{"type":88,"value":592},{"type":82,"tag":116,"props":3894,"children":3895},{"style":171},[3896],{"type":88,"value":3897},"active",{"type":82,"tag":116,"props":3899,"children":3900},{"style":144},[3901],{"type":88,"value":592},{"type":82,"tag":116,"props":3903,"children":3904},{"style":231},[3905],{"type":88,"value":606},{"type":82,"tag":116,"props":3907,"children":3908},{"class":118,"line":268},[3909],{"type":82,"tag":116,"props":3910,"children":3911},{"style":144},[3912],{"type":88,"value":257},{"type":82,"tag":299,"props":3914,"children":3915},{},[],{"type":82,"tag":97,"props":3917,"children":3919},{"id":3918},"complete-example",[3920],{"type":88,"value":3921},"Complete Example",{"type":82,"tag":104,"props":3923,"children":3925},{"className":327,"code":3924,"language":329,"meta":109,"style":109},"import { Suspense } from 'react'\nimport { cookies } from 'next\u002Fheaders'\nimport { cacheLife, cacheTag } from 'next\u002Fcache'\n\nexport default function DashboardPage() {\n  return (\n    \u003C>\n      {\u002F* Static shell - instant from CDN *\u002F}\n      \u003Cheader>\u003Ch1>Dashboard\u003C\u002Fh1>\u003C\u002Fheader>\n      \u003Cnav>...\u003C\u002Fnav>\n\n      {\u002F* Cached - fast, revalidates hourly *\u002F}\n      \u003CStats \u002F>\n\n      {\u002F* Dynamic - streams in with fresh data *\u002F}\n      \u003CSuspense fallback={\u003CNotificationsSkeleton \u002F>}>\n        \u003CNotifications \u002F>\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function Stats() {\n  'use cache'\n  cacheLife('hours')\n  cacheTag('dashboard-stats')\n\n  const stats = await db.stats.aggregate()\n  return \u003CStatsDisplay stats={stats} \u002F>\n}\n\nasync function Notifications() {\n  const userId = (await cookies()).get('userId')?.value\n  const notifications = await db.notifications.findMany({\n    where: { userId, read: false }\n  })\n  return \u003CNotificationList items={notifications} \u002F>\n}\n",[3926],{"type":82,"tag":112,"props":3927,"children":3928},{"__ignoreMap":109},[3929,3964,4000,4043,4050,4078,4089,4096,4113,4163,4194,4201,4217,4234,4241,4257,4286,4302,4317,4324,4332,4340,4348,4373,4389,4417,4446,4454,4501,4534,4542,4550,4575,4643,4693,4737,4749,4783],{"type":82,"tag":116,"props":3930,"children":3931},{"class":118,"line":119},[3932,3936,3940,3944,3948,3952,3956,3960],{"type":82,"tag":116,"props":3933,"children":3934},{"style":133},[3935],{"type":88,"value":136},{"type":82,"tag":116,"props":3937,"children":3938},{"style":144},[3939],{"type":88,"value":147},{"type":82,"tag":116,"props":3941,"children":3942},{"style":150},[3943],{"type":88,"value":740},{"type":82,"tag":116,"props":3945,"children":3946},{"style":144},[3947],{"type":88,"value":158},{"type":82,"tag":116,"props":3949,"children":3950},{"style":133},[3951],{"type":88,"value":163},{"type":82,"tag":116,"props":3953,"children":3954},{"style":144},[3955],{"type":88,"value":168},{"type":82,"tag":116,"props":3957,"children":3958},{"style":171},[3959],{"type":88,"value":757},{"type":82,"tag":116,"props":3961,"children":3962},{"style":144},[3963],{"type":88,"value":179},{"type":82,"tag":116,"props":3965,"children":3966},{"class":118,"line":129},[3967,3971,3975,3979,3983,3987,3991,3996],{"type":82,"tag":116,"props":3968,"children":3969},{"style":133},[3970],{"type":88,"value":136},{"type":82,"tag":116,"props":3972,"children":3973},{"style":144},[3974],{"type":88,"value":147},{"type":82,"tag":116,"props":3976,"children":3977},{"style":150},[3978],{"type":88,"value":1037},{"type":82,"tag":116,"props":3980,"children":3981},{"style":144},[3982],{"type":88,"value":158},{"type":82,"tag":116,"props":3984,"children":3985},{"style":133},[3986],{"type":88,"value":163},{"type":82,"tag":116,"props":3988,"children":3989},{"style":144},[3990],{"type":88,"value":168},{"type":82,"tag":116,"props":3992,"children":3993},{"style":171},[3994],{"type":88,"value":3995},"next\u002Fheaders",{"type":82,"tag":116,"props":3997,"children":3998},{"style":144},[3999],{"type":88,"value":179},{"type":82,"tag":116,"props":4001,"children":4002},{"class":118,"line":182},[4003,4007,4011,4015,4019,4023,4027,4031,4035,4039],{"type":82,"tag":116,"props":4004,"children":4005},{"style":133},[4006],{"type":88,"value":136},{"type":82,"tag":116,"props":4008,"children":4009},{"style":144},[4010],{"type":88,"value":147},{"type":82,"tag":116,"props":4012,"children":4013},{"style":150},[4014],{"type":88,"value":1662},{"type":82,"tag":116,"props":4016,"children":4017},{"style":144},[4018],{"type":88,"value":1937},{"type":82,"tag":116,"props":4020,"children":4021},{"style":150},[4022],{"type":88,"value":2088},{"type":82,"tag":116,"props":4024,"children":4025},{"style":144},[4026],{"type":88,"value":158},{"type":82,"tag":116,"props":4028,"children":4029},{"style":133},[4030],{"type":88,"value":163},{"type":82,"tag":116,"props":4032,"children":4033},{"style":144},[4034],{"type":88,"value":168},{"type":82,"tag":116,"props":4036,"children":4037},{"style":171},[4038],{"type":88,"value":50},{"type":82,"tag":116,"props":4040,"children":4041},{"style":144},[4042],{"type":88,"value":179},{"type":82,"tag":116,"props":4044,"children":4045},{"class":118,"line":192},[4046],{"type":82,"tag":116,"props":4047,"children":4048},{"emptyLinePlaceholder":186},[4049],{"type":88,"value":189},{"type":82,"tag":116,"props":4051,"children":4052},{"class":118,"line":227},[4053,4057,4061,4065,4070,4074],{"type":82,"tag":116,"props":4054,"children":4055},{"style":133},[4056],{"type":88,"value":274},{"type":82,"tag":116,"props":4058,"children":4059},{"style":133},[4060],{"type":88,"value":279},{"type":82,"tag":116,"props":4062,"children":4063},{"style":196},[4064],{"type":88,"value":349},{"type":82,"tag":116,"props":4066,"children":4067},{"style":352},[4068],{"type":88,"value":4069}," DashboardPage",{"type":82,"tag":116,"props":4071,"children":4072},{"style":144},[4073],{"type":88,"value":360},{"type":82,"tag":116,"props":4075,"children":4076},{"style":144},[4077],{"type":88,"value":224},{"type":82,"tag":116,"props":4079,"children":4080},{"class":118,"line":39},[4081,4085],{"type":82,"tag":116,"props":4082,"children":4083},{"style":133},[4084],{"type":88,"value":372},{"type":82,"tag":116,"props":4086,"children":4087},{"style":231},[4088],{"type":88,"value":377},{"type":82,"tag":116,"props":4090,"children":4091},{"class":118,"line":260},[4092],{"type":82,"tag":116,"props":4093,"children":4094},{"style":144},[4095],{"type":88,"value":814},{"type":82,"tag":116,"props":4097,"children":4098},{"class":118,"line":268},[4099,4104,4109],{"type":82,"tag":116,"props":4100,"children":4101},{"style":144},[4102],{"type":88,"value":4103},"      {",{"type":82,"tag":116,"props":4105,"children":4106},{"style":123},[4107],{"type":88,"value":4108},"\u002F* Static shell - instant from CDN *\u002F",{"type":82,"tag":116,"props":4110,"children":4111},{"style":144},[4112],{"type":88,"value":257},{"type":82,"tag":116,"props":4114,"children":4115},{"class":118,"line":902},[4116,4120,4124,4129,4133,4137,4142,4146,4150,4155,4159],{"type":82,"tag":116,"props":4117,"children":4118},{"style":144},[4119],{"type":88,"value":403},{"type":82,"tag":116,"props":4121,"children":4122},{"style":231},[4123],{"type":88,"value":390},{"type":82,"tag":116,"props":4125,"children":4126},{"style":144},[4127],{"type":88,"value":4128},">\u003C",{"type":82,"tag":116,"props":4130,"children":4131},{"style":231},[4132],{"type":88,"value":83},{"type":82,"tag":116,"props":4134,"children":4135},{"style":144},[4136],{"type":88,"value":412},{"type":82,"tag":116,"props":4138,"children":4139},{"style":150},[4140],{"type":88,"value":4141},"Dashboard",{"type":82,"tag":116,"props":4143,"children":4144},{"style":144},[4145],{"type":88,"value":422},{"type":82,"tag":116,"props":4147,"children":4148},{"style":231},[4149],{"type":88,"value":83},{"type":82,"tag":116,"props":4151,"children":4152},{"style":144},[4153],{"type":88,"value":4154},">\u003C\u002F",{"type":82,"tag":116,"props":4156,"children":4157},{"style":231},[4158],{"type":88,"value":390},{"type":82,"tag":116,"props":4160,"children":4161},{"style":144},[4162],{"type":88,"value":395},{"type":82,"tag":116,"props":4164,"children":4165},{"class":118,"line":933},[4166,4170,4174,4178,4182,4186,4190],{"type":82,"tag":116,"props":4167,"children":4168},{"style":144},[4169],{"type":88,"value":403},{"type":82,"tag":116,"props":4171,"children":4172},{"style":231},[4173],{"type":88,"value":456},{"type":82,"tag":116,"props":4175,"children":4176},{"style":144},[4177],{"type":88,"value":412},{"type":82,"tag":116,"props":4179,"children":4180},{"style":150},[4181],{"type":88,"value":465},{"type":82,"tag":116,"props":4183,"children":4184},{"style":144},[4185],{"type":88,"value":422},{"type":82,"tag":116,"props":4187,"children":4188},{"style":231},[4189],{"type":88,"value":456},{"type":82,"tag":116,"props":4191,"children":4192},{"style":144},[4193],{"type":88,"value":395},{"type":82,"tag":116,"props":4195,"children":4196},{"class":118,"line":950},[4197],{"type":82,"tag":116,"props":4198,"children":4199},{"emptyLinePlaceholder":186},[4200],{"type":88,"value":189},{"type":82,"tag":116,"props":4202,"children":4203},{"class":118,"line":959},[4204,4208,4213],{"type":82,"tag":116,"props":4205,"children":4206},{"style":144},[4207],{"type":88,"value":4103},{"type":82,"tag":116,"props":4209,"children":4210},{"style":123},[4211],{"type":88,"value":4212},"\u002F* Cached - fast, revalidates hourly *\u002F",{"type":82,"tag":116,"props":4214,"children":4215},{"style":144},[4216],{"type":88,"value":257},{"type":82,"tag":116,"props":4218,"children":4219},{"class":118,"line":967},[4220,4224,4229],{"type":82,"tag":116,"props":4221,"children":4222},{"style":144},[4223],{"type":88,"value":403},{"type":82,"tag":116,"props":4225,"children":4226},{"style":212},[4227],{"type":88,"value":4228},"Stats",{"type":82,"tag":116,"props":4230,"children":4231},{"style":144},[4232],{"type":88,"value":4233}," \u002F>\n",{"type":82,"tag":116,"props":4235,"children":4236},{"class":118,"line":975},[4237],{"type":82,"tag":116,"props":4238,"children":4239},{"emptyLinePlaceholder":186},[4240],{"type":88,"value":189},{"type":82,"tag":116,"props":4242,"children":4243},{"class":118,"line":983},[4244,4248,4253],{"type":82,"tag":116,"props":4245,"children":4246},{"style":144},[4247],{"type":88,"value":4103},{"type":82,"tag":116,"props":4249,"children":4250},{"style":123},[4251],{"type":88,"value":4252},"\u002F* Dynamic - streams in with fresh data *\u002F",{"type":82,"tag":116,"props":4254,"children":4255},{"style":144},[4256],{"type":88,"value":257},{"type":82,"tag":116,"props":4258,"children":4259},{"class":118,"line":1008},[4260,4264,4268,4272,4276,4281],{"type":82,"tag":116,"props":4261,"children":4262},{"style":144},[4263],{"type":88,"value":403},{"type":82,"tag":116,"props":4265,"children":4266},{"style":212},[4267],{"type":88,"value":863},{"type":82,"tag":116,"props":4269,"children":4270},{"style":196},[4271],{"type":88,"value":868},{"type":82,"tag":116,"props":4273,"children":4274},{"style":144},[4275],{"type":88,"value":873},{"type":82,"tag":116,"props":4277,"children":4278},{"style":212},[4279],{"type":88,"value":4280},"NotificationsSkeleton",{"type":82,"tag":116,"props":4282,"children":4283},{"style":144},[4284],{"type":88,"value":4285}," \u002F>}>\n",{"type":82,"tag":116,"props":4287,"children":4288},{"class":118,"line":1085},[4289,4293,4298],{"type":82,"tag":116,"props":4290,"children":4291},{"style":144},[4292],{"type":88,"value":908},{"type":82,"tag":116,"props":4294,"children":4295},{"style":212},[4296],{"type":88,"value":4297},"Notifications",{"type":82,"tag":116,"props":4299,"children":4300},{"style":144},[4301],{"type":88,"value":4233},{"type":82,"tag":116,"props":4303,"children":4304},{"class":118,"line":1132},[4305,4309,4313],{"type":82,"tag":116,"props":4306,"children":4307},{"style":144},[4308],{"type":88,"value":939},{"type":82,"tag":116,"props":4310,"children":4311},{"style":212},[4312],{"type":88,"value":863},{"type":82,"tag":116,"props":4314,"children":4315},{"style":144},[4316],{"type":88,"value":395},{"type":82,"tag":116,"props":4318,"children":4319},{"class":118,"line":3445},[4320],{"type":82,"tag":116,"props":4321,"children":4322},{"style":144},[4323],{"type":88,"value":956},{"type":82,"tag":116,"props":4325,"children":4327},{"class":118,"line":4326},20,[4328],{"type":82,"tag":116,"props":4329,"children":4330},{"style":231},[4331],{"type":88,"value":501},{"type":82,"tag":116,"props":4333,"children":4335},{"class":118,"line":4334},21,[4336],{"type":82,"tag":116,"props":4337,"children":4338},{"style":144},[4339],{"type":88,"value":257},{"type":82,"tag":116,"props":4341,"children":4343},{"class":118,"line":4342},22,[4344],{"type":82,"tag":116,"props":4345,"children":4346},{"emptyLinePlaceholder":186},[4347],{"type":88,"value":189},{"type":82,"tag":116,"props":4349,"children":4351},{"class":118,"line":4350},23,[4352,4356,4360,4365,4369],{"type":82,"tag":116,"props":4353,"children":4354},{"style":196},[4355],{"type":88,"value":541},{"type":82,"tag":116,"props":4357,"children":4358},{"style":196},[4359],{"type":88,"value":349},{"type":82,"tag":116,"props":4361,"children":4362},{"style":352},[4363],{"type":88,"value":4364}," Stats",{"type":82,"tag":116,"props":4366,"children":4367},{"style":144},[4368],{"type":88,"value":360},{"type":82,"tag":116,"props":4370,"children":4371},{"style":144},[4372],{"type":88,"value":224},{"type":82,"tag":116,"props":4374,"children":4376},{"class":118,"line":4375},24,[4377,4381,4385],{"type":82,"tag":116,"props":4378,"children":4379},{"style":144},[4380],{"type":88,"value":566},{"type":82,"tag":116,"props":4382,"children":4383},{"style":171},[4384],{"type":88,"value":55},{"type":82,"tag":116,"props":4386,"children":4387},{"style":144},[4388],{"type":88,"value":179},{"type":82,"tag":116,"props":4390,"children":4392},{"class":118,"line":4391},25,[4393,4397,4401,4405,4409,4413],{"type":82,"tag":116,"props":4394,"children":4395},{"style":352},[4396],{"type":88,"value":582},{"type":82,"tag":116,"props":4398,"children":4399},{"style":231},[4400],{"type":88,"value":587},{"type":82,"tag":116,"props":4402,"children":4403},{"style":144},[4404],{"type":88,"value":592},{"type":82,"tag":116,"props":4406,"children":4407},{"style":171},[4408],{"type":88,"value":597},{"type":82,"tag":116,"props":4410,"children":4411},{"style":144},[4412],{"type":88,"value":592},{"type":82,"tag":116,"props":4414,"children":4415},{"style":231},[4416],{"type":88,"value":606},{"type":82,"tag":116,"props":4418,"children":4420},{"class":118,"line":4419},26,[4421,4425,4429,4433,4438,4442],{"type":82,"tag":116,"props":4422,"children":4423},{"style":352},[4424],{"type":88,"value":2162},{"type":82,"tag":116,"props":4426,"children":4427},{"style":231},[4428],{"type":88,"value":587},{"type":82,"tag":116,"props":4430,"children":4431},{"style":144},[4432],{"type":88,"value":592},{"type":82,"tag":116,"props":4434,"children":4435},{"style":171},[4436],{"type":88,"value":4437},"dashboard-stats",{"type":82,"tag":116,"props":4439,"children":4440},{"style":144},[4441],{"type":88,"value":592},{"type":82,"tag":116,"props":4443,"children":4444},{"style":231},[4445],{"type":88,"value":606},{"type":82,"tag":116,"props":4447,"children":4449},{"class":118,"line":4448},27,[4450],{"type":82,"tag":116,"props":4451,"children":4452},{"emptyLinePlaceholder":186},[4453],{"type":88,"value":189},{"type":82,"tag":116,"props":4455,"children":4457},{"class":118,"line":4456},28,[4458,4462,4467,4471,4475,4479,4483,4488,4492,4497],{"type":82,"tag":116,"props":4459,"children":4460},{"style":196},[4461],{"type":88,"value":621},{"type":82,"tag":116,"props":4463,"children":4464},{"style":150},[4465],{"type":88,"value":4466}," stats",{"type":82,"tag":116,"props":4468,"children":4469},{"style":144},[4470],{"type":88,"value":219},{"type":82,"tag":116,"props":4472,"children":4473},{"style":133},[4474],{"type":88,"value":635},{"type":82,"tag":116,"props":4476,"children":4477},{"style":150},[4478],{"type":88,"value":640},{"type":82,"tag":116,"props":4480,"children":4481},{"style":144},[4482],{"type":88,"value":645},{"type":82,"tag":116,"props":4484,"children":4485},{"style":150},[4486],{"type":88,"value":4487},"stats",{"type":82,"tag":116,"props":4489,"children":4490},{"style":144},[4491],{"type":88,"value":645},{"type":82,"tag":116,"props":4493,"children":4494},{"style":352},[4495],{"type":88,"value":4496},"aggregate",{"type":82,"tag":116,"props":4498,"children":4499},{"style":231},[4500],{"type":88,"value":664},{"type":82,"tag":116,"props":4502,"children":4504},{"class":118,"line":4503},29,[4505,4509,4513,4518,4522,4526,4530],{"type":82,"tag":116,"props":4506,"children":4507},{"style":133},[4508],{"type":88,"value":372},{"type":82,"tag":116,"props":4510,"children":4511},{"style":144},[4512],{"type":88,"value":676},{"type":82,"tag":116,"props":4514,"children":4515},{"style":212},[4516],{"type":88,"value":4517},"StatsDisplay",{"type":82,"tag":116,"props":4519,"children":4520},{"style":196},[4521],{"type":88,"value":4466},{"type":82,"tag":116,"props":4523,"children":4524},{"style":144},[4525],{"type":88,"value":690},{"type":82,"tag":116,"props":4527,"children":4528},{"style":150},[4529],{"type":88,"value":4487},{"type":82,"tag":116,"props":4531,"children":4532},{"style":144},[4533],{"type":88,"value":699},{"type":82,"tag":116,"props":4535,"children":4537},{"class":118,"line":4536},30,[4538],{"type":82,"tag":116,"props":4539,"children":4540},{"style":144},[4541],{"type":88,"value":257},{"type":82,"tag":116,"props":4543,"children":4545},{"class":118,"line":4544},31,[4546],{"type":82,"tag":116,"props":4547,"children":4548},{"emptyLinePlaceholder":186},[4549],{"type":88,"value":189},{"type":82,"tag":116,"props":4551,"children":4553},{"class":118,"line":4552},32,[4554,4558,4562,4567,4571],{"type":82,"tag":116,"props":4555,"children":4556},{"style":196},[4557],{"type":88,"value":541},{"type":82,"tag":116,"props":4559,"children":4560},{"style":196},[4561],{"type":88,"value":349},{"type":82,"tag":116,"props":4563,"children":4564},{"style":352},[4565],{"type":88,"value":4566}," Notifications",{"type":82,"tag":116,"props":4568,"children":4569},{"style":144},[4570],{"type":88,"value":360},{"type":82,"tag":116,"props":4572,"children":4573},{"style":144},[4574],{"type":88,"value":224},{"type":82,"tag":116,"props":4576,"children":4578},{"class":118,"line":4577},33,[4579,4583,4587,4591,4595,4599,4603,4607,4611,4615,4619,4623,4627,4631,4635,4639],{"type":82,"tag":116,"props":4580,"children":4581},{"style":196},[4582],{"type":88,"value":621},{"type":82,"tag":116,"props":4584,"children":4585},{"style":150},[4586],{"type":88,"value":3704},{"type":82,"tag":116,"props":4588,"children":4589},{"style":144},[4590],{"type":88,"value":219},{"type":82,"tag":116,"props":4592,"children":4593},{"style":231},[4594],{"type":88,"value":1027},{"type":82,"tag":116,"props":4596,"children":4597},{"style":133},[4598],{"type":88,"value":1032},{"type":82,"tag":116,"props":4600,"children":4601},{"style":352},[4602],{"type":88,"value":1037},{"type":82,"tag":116,"props":4604,"children":4605},{"style":231},[4606],{"type":88,"value":1042},{"type":82,"tag":116,"props":4608,"children":4609},{"style":144},[4610],{"type":88,"value":645},{"type":82,"tag":116,"props":4612,"children":4613},{"style":352},[4614],{"type":88,"value":1051},{"type":82,"tag":116,"props":4616,"children":4617},{"style":231},[4618],{"type":88,"value":587},{"type":82,"tag":116,"props":4620,"children":4621},{"style":144},[4622],{"type":88,"value":592},{"type":82,"tag":116,"props":4624,"children":4625},{"style":171},[4626],{"type":88,"value":3839},{"type":82,"tag":116,"props":4628,"children":4629},{"style":144},[4630],{"type":88,"value":592},{"type":82,"tag":116,"props":4632,"children":4633},{"style":231},[4634],{"type":88,"value":521},{"type":82,"tag":116,"props":4636,"children":4637},{"style":144},[4638],{"type":88,"value":1077},{"type":82,"tag":116,"props":4640,"children":4641},{"style":150},[4642],{"type":88,"value":1082},{"type":82,"tag":116,"props":4644,"children":4646},{"class":118,"line":4645},34,[4647,4651,4656,4660,4664,4668,4672,4677,4681,4685,4689],{"type":82,"tag":116,"props":4648,"children":4649},{"style":196},[4650],{"type":88,"value":621},{"type":82,"tag":116,"props":4652,"children":4653},{"style":150},[4654],{"type":88,"value":4655}," notifications",{"type":82,"tag":116,"props":4657,"children":4658},{"style":144},[4659],{"type":88,"value":219},{"type":82,"tag":116,"props":4661,"children":4662},{"style":133},[4663],{"type":88,"value":635},{"type":82,"tag":116,"props":4665,"children":4666},{"style":150},[4667],{"type":88,"value":640},{"type":82,"tag":116,"props":4669,"children":4670},{"style":144},[4671],{"type":88,"value":645},{"type":82,"tag":116,"props":4673,"children":4674},{"style":150},[4675],{"type":88,"value":4676},"notifications",{"type":82,"tag":116,"props":4678,"children":4679},{"style":144},[4680],{"type":88,"value":645},{"type":82,"tag":116,"props":4682,"children":4683},{"style":352},[4684],{"type":88,"value":659},{"type":82,"tag":116,"props":4686,"children":4687},{"style":231},[4688],{"type":88,"value":587},{"type":82,"tag":116,"props":4690,"children":4691},{"style":144},[4692],{"type":88,"value":1914},{"type":82,"tag":116,"props":4694,"children":4696},{"class":118,"line":4695},35,[4697,4702,4706,4710,4714,4718,4723,4727,4732],{"type":82,"tag":116,"props":4698,"children":4699},{"style":231},[4700],{"type":88,"value":4701},"    where",{"type":82,"tag":116,"props":4703,"children":4704},{"style":144},[4705],{"type":88,"value":209},{"type":82,"tag":116,"props":4707,"children":4708},{"style":144},[4709],{"type":88,"value":147},{"type":82,"tag":116,"props":4711,"children":4712},{"style":150},[4713],{"type":88,"value":3704},{"type":82,"tag":116,"props":4715,"children":4716},{"style":144},[4717],{"type":88,"value":1937},{"type":82,"tag":116,"props":4719,"children":4720},{"style":231},[4721],{"type":88,"value":4722}," read",{"type":82,"tag":116,"props":4724,"children":4725},{"style":144},[4726],{"type":88,"value":209},{"type":82,"tag":116,"props":4728,"children":4729},{"style":241},[4730],{"type":88,"value":4731}," false",{"type":82,"tag":116,"props":4733,"children":4734},{"style":144},[4735],{"type":88,"value":4736}," }\n",{"type":82,"tag":116,"props":4738,"children":4740},{"class":118,"line":4739},36,[4741,4745],{"type":82,"tag":116,"props":4742,"children":4743},{"style":144},[4744],{"type":88,"value":2002},{"type":82,"tag":116,"props":4746,"children":4747},{"style":231},[4748],{"type":88,"value":606},{"type":82,"tag":116,"props":4750,"children":4752},{"class":118,"line":4751},37,[4753,4757,4761,4766,4771,4775,4779],{"type":82,"tag":116,"props":4754,"children":4755},{"style":133},[4756],{"type":88,"value":372},{"type":82,"tag":116,"props":4758,"children":4759},{"style":144},[4760],{"type":88,"value":676},{"type":82,"tag":116,"props":4762,"children":4763},{"style":212},[4764],{"type":88,"value":4765},"NotificationList",{"type":82,"tag":116,"props":4767,"children":4768},{"style":196},[4769],{"type":88,"value":4770}," items",{"type":82,"tag":116,"props":4772,"children":4773},{"style":144},[4774],{"type":88,"value":690},{"type":82,"tag":116,"props":4776,"children":4777},{"style":150},[4778],{"type":88,"value":4676},{"type":82,"tag":116,"props":4780,"children":4781},{"style":144},[4782],{"type":88,"value":699},{"type":82,"tag":116,"props":4784,"children":4786},{"class":118,"line":4785},38,[4787],{"type":82,"tag":116,"props":4788,"children":4789},{"style":144},[4790],{"type":88,"value":257},{"type":82,"tag":299,"props":4792,"children":4793},{},[],{"type":82,"tag":97,"props":4795,"children":4797},{"id":4796},"migration-from-previous-versions",[4798],{"type":88,"value":4799},"Migration from Previous Versions",{"type":82,"tag":4801,"props":4802,"children":4803},"table",{},[4804,4823],{"type":82,"tag":4805,"props":4806,"children":4807},"thead",{},[4808],{"type":82,"tag":4809,"props":4810,"children":4811},"tr",{},[4812,4818],{"type":82,"tag":4813,"props":4814,"children":4815},"th",{},[4816],{"type":88,"value":4817},"Old Config",{"type":82,"tag":4813,"props":4819,"children":4820},{},[4821],{"type":88,"value":4822},"Replacement",{"type":82,"tag":4824,"props":4825,"children":4826},"tbody",{},[4827,4848,4865,4894,4915],{"type":82,"tag":4809,"props":4828,"children":4829},{},[4830,4839],{"type":82,"tag":4831,"props":4832,"children":4833},"td",{},[4834],{"type":82,"tag":112,"props":4835,"children":4837},{"className":4836},[],[4838],{"type":88,"value":295},{"type":82,"tag":4831,"props":4840,"children":4841},{},[4842],{"type":82,"tag":112,"props":4843,"children":4845},{"className":4844},[],[4846],{"type":88,"value":4847},"cacheComponents: true",{"type":82,"tag":4809,"props":4849,"children":4850},{},[4851,4860],{"type":82,"tag":4831,"props":4852,"children":4853},{},[4854],{"type":82,"tag":112,"props":4855,"children":4857},{"className":4856},[],[4858],{"type":88,"value":4859},"dynamic = 'force-dynamic'",{"type":82,"tag":4831,"props":4861,"children":4862},{},[4863],{"type":88,"value":4864},"Remove (default behavior)",{"type":82,"tag":4809,"props":4866,"children":4867},{},[4868,4877],{"type":82,"tag":4831,"props":4869,"children":4870},{},[4871],{"type":82,"tag":112,"props":4872,"children":4874},{"className":4873},[],[4875],{"type":88,"value":4876},"dynamic = 'force-static'",{"type":82,"tag":4831,"props":4878,"children":4879},{},[4880,4886,4888],{"type":82,"tag":112,"props":4881,"children":4883},{"className":4882},[],[4884],{"type":88,"value":4885},"'use cache'",{"type":88,"value":4887}," + ",{"type":82,"tag":112,"props":4889,"children":4891},{"className":4890},[],[4892],{"type":88,"value":4893},"cacheLife('max')",{"type":82,"tag":4809,"props":4895,"children":4896},{},[4897,4906],{"type":82,"tag":4831,"props":4898,"children":4899},{},[4900],{"type":82,"tag":112,"props":4901,"children":4903},{"className":4902},[],[4904],{"type":88,"value":4905},"revalidate = N",{"type":82,"tag":4831,"props":4907,"children":4908},{},[4909],{"type":82,"tag":112,"props":4910,"children":4912},{"className":4911},[],[4913],{"type":88,"value":4914},"cacheLife({ revalidate: N })",{"type":82,"tag":4809,"props":4916,"children":4917},{},[4918,4927],{"type":82,"tag":4831,"props":4919,"children":4920},{},[4921],{"type":82,"tag":112,"props":4922,"children":4924},{"className":4923},[],[4925],{"type":88,"value":4926},"unstable_cache()",{"type":82,"tag":4831,"props":4928,"children":4929},{},[4930,4935],{"type":82,"tag":112,"props":4931,"children":4933},{"className":4932},[],[4934],{"type":88,"value":4885},{"type":88,"value":4936}," directive",{"type":82,"tag":314,"props":4938,"children":4940},{"id":4939},"migrating-unstable_cache-to-use-cache",[4941,4943,4948,4950],{"type":88,"value":4942},"Migrating ",{"type":82,"tag":112,"props":4944,"children":4946},{"className":4945},[],[4947],{"type":88,"value":62},{"type":88,"value":4949}," to ",{"type":82,"tag":112,"props":4951,"children":4953},{"className":4952},[],[4954],{"type":88,"value":55},{"type":82,"tag":91,"props":4956,"children":4957},{},[4958,4963,4965,4970,4972,4978,4980,4985,4987,4992],{"type":82,"tag":112,"props":4959,"children":4961},{"className":4960},[],[4962],{"type":88,"value":62},{"type":88,"value":4964}," has been replaced by the ",{"type":82,"tag":112,"props":4966,"children":4968},{"className":4967},[],[4969],{"type":88,"value":55},{"type":88,"value":4971}," directive in Next.js 16. When ",{"type":82,"tag":112,"props":4973,"children":4975},{"className":4974},[],[4976],{"type":88,"value":4977},"cacheComponents",{"type":88,"value":4979}," is enabled, convert ",{"type":82,"tag":112,"props":4981,"children":4983},{"className":4982},[],[4984],{"type":88,"value":62},{"type":88,"value":4986}," calls to ",{"type":82,"tag":112,"props":4988,"children":4990},{"className":4989},[],[4991],{"type":88,"value":55},{"type":88,"value":4993}," functions:",{"type":82,"tag":91,"props":4995,"children":4996},{},[4997],{"type":82,"tag":2919,"props":4998,"children":4999},{},[5000,5002,5007],{"type":88,"value":5001},"Before (",{"type":82,"tag":112,"props":5003,"children":5005},{"className":5004},[],[5006],{"type":88,"value":62},{"type":88,"value":5008},"):",{"type":82,"tag":104,"props":5010,"children":5012},{"className":327,"code":5011,"language":329,"meta":109,"style":109},"import { unstable_cache } from 'next\u002Fcache'\n\nconst getCachedUser = unstable_cache(\n  async (id) => getUser(id),\n  ['my-app-user'],\n  {\n    tags: ['users'],\n    revalidate: 60,\n  }\n)\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n",[5013],{"type":82,"tag":112,"props":5014,"children":5015},{"__ignoreMap":109},[5016,5052,5059,5085,5123,5153,5161,5199,5219,5226,5233,5240,5323,5355,5392,5436],{"type":82,"tag":116,"props":5017,"children":5018},{"class":118,"line":119},[5019,5023,5027,5032,5036,5040,5044,5048],{"type":82,"tag":116,"props":5020,"children":5021},{"style":133},[5022],{"type":88,"value":136},{"type":82,"tag":116,"props":5024,"children":5025},{"style":144},[5026],{"type":88,"value":147},{"type":82,"tag":116,"props":5028,"children":5029},{"style":150},[5030],{"type":88,"value":5031}," unstable_cache",{"type":82,"tag":116,"props":5033,"children":5034},{"style":144},[5035],{"type":88,"value":158},{"type":82,"tag":116,"props":5037,"children":5038},{"style":133},[5039],{"type":88,"value":163},{"type":82,"tag":116,"props":5041,"children":5042},{"style":144},[5043],{"type":88,"value":168},{"type":82,"tag":116,"props":5045,"children":5046},{"style":171},[5047],{"type":88,"value":50},{"type":82,"tag":116,"props":5049,"children":5050},{"style":144},[5051],{"type":88,"value":179},{"type":82,"tag":116,"props":5053,"children":5054},{"class":118,"line":129},[5055],{"type":82,"tag":116,"props":5056,"children":5057},{"emptyLinePlaceholder":186},[5058],{"type":88,"value":189},{"type":82,"tag":116,"props":5060,"children":5061},{"class":118,"line":182},[5062,5066,5071,5076,5080],{"type":82,"tag":116,"props":5063,"children":5064},{"style":196},[5065],{"type":88,"value":199},{"type":82,"tag":116,"props":5067,"children":5068},{"style":150},[5069],{"type":88,"value":5070}," getCachedUser ",{"type":82,"tag":116,"props":5072,"children":5073},{"style":144},[5074],{"type":88,"value":5075},"=",{"type":82,"tag":116,"props":5077,"children":5078},{"style":352},[5079],{"type":88,"value":5031},{"type":82,"tag":116,"props":5081,"children":5082},{"style":150},[5083],{"type":88,"value":5084},"(\n",{"type":82,"tag":116,"props":5086,"children":5087},{"class":118,"line":192},[5088,5093,5097,5101,5105,5109,5114,5119],{"type":82,"tag":116,"props":5089,"children":5090},{"style":196},[5091],{"type":88,"value":5092},"  async",{"type":82,"tag":116,"props":5094,"children":5095},{"style":144},[5096],{"type":88,"value":1027},{"type":82,"tag":116,"props":5098,"children":5099},{"style":2251},[5100],{"type":88,"value":2254},{"type":82,"tag":116,"props":5102,"children":5103},{"style":144},[5104],{"type":88,"value":521},{"type":82,"tag":116,"props":5106,"children":5107},{"style":196},[5108],{"type":88,"value":3777},{"type":82,"tag":116,"props":5110,"children":5111},{"style":352},[5112],{"type":88,"value":5113}," getUser",{"type":82,"tag":116,"props":5115,"children":5116},{"style":150},[5117],{"type":88,"value":5118},"(id)",{"type":82,"tag":116,"props":5120,"children":5121},{"style":144},[5122],{"type":88,"value":249},{"type":82,"tag":116,"props":5124,"children":5125},{"class":118,"line":227},[5126,5131,5135,5140,5144,5149],{"type":82,"tag":116,"props":5127,"children":5128},{"style":150},[5129],{"type":88,"value":5130},"  [",{"type":82,"tag":116,"props":5132,"children":5133},{"style":144},[5134],{"type":88,"value":592},{"type":82,"tag":116,"props":5136,"children":5137},{"style":171},[5138],{"type":88,"value":5139},"my-app-user",{"type":82,"tag":116,"props":5141,"children":5142},{"style":144},[5143],{"type":88,"value":592},{"type":82,"tag":116,"props":5145,"children":5146},{"style":150},[5147],{"type":88,"value":5148},"]",{"type":82,"tag":116,"props":5150,"children":5151},{"style":144},[5152],{"type":88,"value":249},{"type":82,"tag":116,"props":5154,"children":5155},{"class":118,"line":39},[5156],{"type":82,"tag":116,"props":5157,"children":5158},{"style":144},[5159],{"type":88,"value":5160},"  {\n",{"type":82,"tag":116,"props":5162,"children":5163},{"class":118,"line":260},[5164,5169,5173,5178,5182,5187,5191,5195],{"type":82,"tag":116,"props":5165,"children":5166},{"style":231},[5167],{"type":88,"value":5168},"    tags",{"type":82,"tag":116,"props":5170,"children":5171},{"style":144},[5172],{"type":88,"value":209},{"type":82,"tag":116,"props":5174,"children":5175},{"style":150},[5176],{"type":88,"value":5177}," [",{"type":82,"tag":116,"props":5179,"children":5180},{"style":144},[5181],{"type":88,"value":592},{"type":82,"tag":116,"props":5183,"children":5184},{"style":171},[5185],{"type":88,"value":5186},"users",{"type":82,"tag":116,"props":5188,"children":5189},{"style":144},[5190],{"type":88,"value":592},{"type":82,"tag":116,"props":5192,"children":5193},{"style":150},[5194],{"type":88,"value":5148},{"type":82,"tag":116,"props":5196,"children":5197},{"style":144},[5198],{"type":88,"value":249},{"type":82,"tag":116,"props":5200,"children":5201},{"class":118,"line":268},[5202,5206,5210,5215],{"type":82,"tag":116,"props":5203,"children":5204},{"style":231},[5205],{"type":88,"value":1950},{"type":82,"tag":116,"props":5207,"children":5208},{"style":144},[5209],{"type":88,"value":209},{"type":82,"tag":116,"props":5211,"children":5212},{"style":1929},[5213],{"type":88,"value":5214}," 60",{"type":82,"tag":116,"props":5216,"children":5217},{"style":144},[5218],{"type":88,"value":249},{"type":82,"tag":116,"props":5220,"children":5221},{"class":118,"line":902},[5222],{"type":82,"tag":116,"props":5223,"children":5224},{"style":144},[5225],{"type":88,"value":3873},{"type":82,"tag":116,"props":5227,"children":5228},{"class":118,"line":933},[5229],{"type":82,"tag":116,"props":5230,"children":5231},{"style":150},[5232],{"type":88,"value":606},{"type":82,"tag":116,"props":5234,"children":5235},{"class":118,"line":950},[5236],{"type":82,"tag":116,"props":5237,"children":5238},{"emptyLinePlaceholder":186},[5239],{"type":88,"value":189},{"type":82,"tag":116,"props":5241,"children":5242},{"class":118,"line":959},[5243,5247,5251,5255,5259,5263,5267,5272,5276,5280,5284,5288,5293,5298,5302,5306,5310,5315,5319],{"type":82,"tag":116,"props":5244,"children":5245},{"style":133},[5246],{"type":88,"value":274},{"type":82,"tag":116,"props":5248,"children":5249},{"style":133},[5250],{"type":88,"value":279},{"type":82,"tag":116,"props":5252,"children":5253},{"style":196},[5254],{"type":88,"value":1202},{"type":82,"tag":116,"props":5256,"children":5257},{"style":196},[5258],{"type":88,"value":349},{"type":82,"tag":116,"props":5260,"children":5261},{"style":352},[5262],{"type":88,"value":355},{"type":82,"tag":116,"props":5264,"children":5265},{"style":144},[5266],{"type":88,"value":3304},{"type":82,"tag":116,"props":5268,"children":5269},{"style":2251},[5270],{"type":88,"value":5271}," params",{"type":82,"tag":116,"props":5273,"children":5274},{"style":144},[5275],{"type":88,"value":3313},{"type":82,"tag":116,"props":5277,"children":5278},{"style":144},[5279],{"type":88,"value":147},{"type":82,"tag":116,"props":5281,"children":5282},{"style":231},[5283],{"type":88,"value":5271},{"type":82,"tag":116,"props":5285,"children":5286},{"style":144},[5287],{"type":88,"value":209},{"type":82,"tag":116,"props":5289,"children":5290},{"style":212},[5291],{"type":88,"value":5292}," Promise",{"type":82,"tag":116,"props":5294,"children":5295},{"style":144},[5296],{"type":88,"value":5297},"\u003C{",{"type":82,"tag":116,"props":5299,"children":5300},{"style":231},[5301],{"type":88,"value":2395},{"type":82,"tag":116,"props":5303,"children":5304},{"style":144},[5305],{"type":88,"value":209},{"type":82,"tag":116,"props":5307,"children":5308},{"style":212},[5309],{"type":88,"value":2263},{"type":82,"tag":116,"props":5311,"children":5312},{"style":144},[5313],{"type":88,"value":5314}," }>",{"type":82,"tag":116,"props":5316,"children":5317},{"style":144},[5318],{"type":88,"value":3334},{"type":82,"tag":116,"props":5320,"children":5321},{"style":144},[5322],{"type":88,"value":224},{"type":82,"tag":116,"props":5324,"children":5325},{"class":118,"line":967},[5326,5330,5334,5338,5342,5346,5350],{"type":82,"tag":116,"props":5327,"children":5328},{"style":196},[5329],{"type":88,"value":621},{"type":82,"tag":116,"props":5331,"children":5332},{"style":144},[5333],{"type":88,"value":147},{"type":82,"tag":116,"props":5335,"children":5336},{"style":150},[5337],{"type":88,"value":2395},{"type":82,"tag":116,"props":5339,"children":5340},{"style":144},[5341],{"type":88,"value":158},{"type":82,"tag":116,"props":5343,"children":5344},{"style":144},[5345],{"type":88,"value":219},{"type":82,"tag":116,"props":5347,"children":5348},{"style":133},[5349],{"type":88,"value":635},{"type":82,"tag":116,"props":5351,"children":5352},{"style":150},[5353],{"type":88,"value":5354}," params\n",{"type":82,"tag":116,"props":5356,"children":5357},{"class":118,"line":975},[5358,5362,5367,5371,5375,5380,5384,5388],{"type":82,"tag":116,"props":5359,"children":5360},{"style":196},[5361],{"type":88,"value":621},{"type":82,"tag":116,"props":5363,"children":5364},{"style":150},[5365],{"type":88,"value":5366}," user",{"type":82,"tag":116,"props":5368,"children":5369},{"style":144},[5370],{"type":88,"value":219},{"type":82,"tag":116,"props":5372,"children":5373},{"style":133},[5374],{"type":88,"value":635},{"type":82,"tag":116,"props":5376,"children":5377},{"style":352},[5378],{"type":88,"value":5379}," getCachedUser",{"type":82,"tag":116,"props":5381,"children":5382},{"style":231},[5383],{"type":88,"value":587},{"type":82,"tag":116,"props":5385,"children":5386},{"style":150},[5387],{"type":88,"value":2254},{"type":82,"tag":116,"props":5389,"children":5390},{"style":231},[5391],{"type":88,"value":606},{"type":82,"tag":116,"props":5393,"children":5394},{"class":118,"line":983},[5395,5399,5403,5407,5411,5416,5420,5424,5428,5432],{"type":82,"tag":116,"props":5396,"children":5397},{"style":133},[5398],{"type":88,"value":372},{"type":82,"tag":116,"props":5400,"children":5401},{"style":144},[5402],{"type":88,"value":676},{"type":82,"tag":116,"props":5404,"children":5405},{"style":231},[5406],{"type":88,"value":1271},{"type":82,"tag":116,"props":5408,"children":5409},{"style":144},[5410],{"type":88,"value":1276},{"type":82,"tag":116,"props":5412,"children":5413},{"style":150},[5414],{"type":88,"value":5415},"user",{"type":82,"tag":116,"props":5417,"children":5418},{"style":144},[5419],{"type":88,"value":645},{"type":82,"tag":116,"props":5421,"children":5422},{"style":150},[5423],{"type":88,"value":3430},{"type":82,"tag":116,"props":5425,"children":5426},{"style":144},[5427],{"type":88,"value":1121},{"type":82,"tag":116,"props":5429,"children":5430},{"style":231},[5431],{"type":88,"value":1271},{"type":82,"tag":116,"props":5433,"children":5434},{"style":144},[5435],{"type":88,"value":395},{"type":82,"tag":116,"props":5437,"children":5438},{"class":118,"line":1008},[5439],{"type":82,"tag":116,"props":5440,"children":5441},{"style":144},[5442],{"type":88,"value":257},{"type":82,"tag":91,"props":5444,"children":5445},{},[5446],{"type":82,"tag":2919,"props":5447,"children":5448},{},[5449,5451,5456],{"type":88,"value":5450},"After (",{"type":82,"tag":112,"props":5452,"children":5454},{"className":5453},[],[5455],{"type":88,"value":55},{"type":88,"value":5008},{"type":82,"tag":104,"props":5458,"children":5460},{"className":327,"code":5459,"language":329,"meta":109,"style":109},"import { cacheLife, cacheTag } from 'next\u002Fcache'\n\nasync function getCachedUser(id: string) {\n  'use cache'\n  cacheTag('users')\n  cacheLife({ revalidate: 60 })\n  return getUser(id)\n}\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n",[5461],{"type":82,"tag":112,"props":5462,"children":5463},{"__ignoreMap":109},[5464,5507,5514,5553,5568,5595,5631,5654,5661,5668,5747,5778,5813,5856],{"type":82,"tag":116,"props":5465,"children":5466},{"class":118,"line":119},[5467,5471,5475,5479,5483,5487,5491,5495,5499,5503],{"type":82,"tag":116,"props":5468,"children":5469},{"style":133},[5470],{"type":88,"value":136},{"type":82,"tag":116,"props":5472,"children":5473},{"style":144},[5474],{"type":88,"value":147},{"type":82,"tag":116,"props":5476,"children":5477},{"style":150},[5478],{"type":88,"value":1662},{"type":82,"tag":116,"props":5480,"children":5481},{"style":144},[5482],{"type":88,"value":1937},{"type":82,"tag":116,"props":5484,"children":5485},{"style":150},[5486],{"type":88,"value":2088},{"type":82,"tag":116,"props":5488,"children":5489},{"style":144},[5490],{"type":88,"value":158},{"type":82,"tag":116,"props":5492,"children":5493},{"style":133},[5494],{"type":88,"value":163},{"type":82,"tag":116,"props":5496,"children":5497},{"style":144},[5498],{"type":88,"value":168},{"type":82,"tag":116,"props":5500,"children":5501},{"style":171},[5502],{"type":88,"value":50},{"type":82,"tag":116,"props":5504,"children":5505},{"style":144},[5506],{"type":88,"value":179},{"type":82,"tag":116,"props":5508,"children":5509},{"class":118,"line":129},[5510],{"type":82,"tag":116,"props":5511,"children":5512},{"emptyLinePlaceholder":186},[5513],{"type":88,"value":189},{"type":82,"tag":116,"props":5515,"children":5516},{"class":118,"line":182},[5517,5521,5525,5529,5533,5537,5541,5545,5549],{"type":82,"tag":116,"props":5518,"children":5519},{"style":196},[5520],{"type":88,"value":541},{"type":82,"tag":116,"props":5522,"children":5523},{"style":196},[5524],{"type":88,"value":349},{"type":82,"tag":116,"props":5526,"children":5527},{"style":352},[5528],{"type":88,"value":5379},{"type":82,"tag":116,"props":5530,"children":5531},{"style":144},[5532],{"type":88,"value":587},{"type":82,"tag":116,"props":5534,"children":5535},{"style":2251},[5536],{"type":88,"value":2254},{"type":82,"tag":116,"props":5538,"children":5539},{"style":144},[5540],{"type":88,"value":209},{"type":82,"tag":116,"props":5542,"children":5543},{"style":212},[5544],{"type":88,"value":2263},{"type":82,"tag":116,"props":5546,"children":5547},{"style":144},[5548],{"type":88,"value":521},{"type":82,"tag":116,"props":5550,"children":5551},{"style":144},[5552],{"type":88,"value":224},{"type":82,"tag":116,"props":5554,"children":5555},{"class":118,"line":192},[5556,5560,5564],{"type":82,"tag":116,"props":5557,"children":5558},{"style":144},[5559],{"type":88,"value":566},{"type":82,"tag":116,"props":5561,"children":5562},{"style":171},[5563],{"type":88,"value":55},{"type":82,"tag":116,"props":5565,"children":5566},{"style":144},[5567],{"type":88,"value":179},{"type":82,"tag":116,"props":5569,"children":5570},{"class":118,"line":227},[5571,5575,5579,5583,5587,5591],{"type":82,"tag":116,"props":5572,"children":5573},{"style":352},[5574],{"type":88,"value":2162},{"type":82,"tag":116,"props":5576,"children":5577},{"style":231},[5578],{"type":88,"value":587},{"type":82,"tag":116,"props":5580,"children":5581},{"style":144},[5582],{"type":88,"value":592},{"type":82,"tag":116,"props":5584,"children":5585},{"style":171},[5586],{"type":88,"value":5186},{"type":82,"tag":116,"props":5588,"children":5589},{"style":144},[5590],{"type":88,"value":592},{"type":82,"tag":116,"props":5592,"children":5593},{"style":231},[5594],{"type":88,"value":606},{"type":82,"tag":116,"props":5596,"children":5597},{"class":118,"line":39},[5598,5602,5606,5610,5615,5619,5623,5627],{"type":82,"tag":116,"props":5599,"children":5600},{"style":352},[5601],{"type":88,"value":582},{"type":82,"tag":116,"props":5603,"children":5604},{"style":231},[5605],{"type":88,"value":587},{"type":82,"tag":116,"props":5607,"children":5608},{"style":144},[5609],{"type":88,"value":1112},{"type":82,"tag":116,"props":5611,"children":5612},{"style":231},[5613],{"type":88,"value":5614}," revalidate",{"type":82,"tag":116,"props":5616,"children":5617},{"style":144},[5618],{"type":88,"value":209},{"type":82,"tag":116,"props":5620,"children":5621},{"style":1929},[5622],{"type":88,"value":5214},{"type":82,"tag":116,"props":5624,"children":5625},{"style":144},[5626],{"type":88,"value":158},{"type":82,"tag":116,"props":5628,"children":5629},{"style":231},[5630],{"type":88,"value":606},{"type":82,"tag":116,"props":5632,"children":5633},{"class":118,"line":260},[5634,5638,5642,5646,5650],{"type":82,"tag":116,"props":5635,"children":5636},{"style":133},[5637],{"type":88,"value":372},{"type":82,"tag":116,"props":5639,"children":5640},{"style":352},[5641],{"type":88,"value":5113},{"type":82,"tag":116,"props":5643,"children":5644},{"style":231},[5645],{"type":88,"value":587},{"type":82,"tag":116,"props":5647,"children":5648},{"style":150},[5649],{"type":88,"value":2254},{"type":82,"tag":116,"props":5651,"children":5652},{"style":231},[5653],{"type":88,"value":606},{"type":82,"tag":116,"props":5655,"children":5656},{"class":118,"line":268},[5657],{"type":82,"tag":116,"props":5658,"children":5659},{"style":144},[5660],{"type":88,"value":257},{"type":82,"tag":116,"props":5662,"children":5663},{"class":118,"line":902},[5664],{"type":82,"tag":116,"props":5665,"children":5666},{"emptyLinePlaceholder":186},[5667],{"type":88,"value":189},{"type":82,"tag":116,"props":5669,"children":5670},{"class":118,"line":933},[5671,5675,5679,5683,5687,5691,5695,5699,5703,5707,5711,5715,5719,5723,5727,5731,5735,5739,5743],{"type":82,"tag":116,"props":5672,"children":5673},{"style":133},[5674],{"type":88,"value":274},{"type":82,"tag":116,"props":5676,"children":5677},{"style":133},[5678],{"type":88,"value":279},{"type":82,"tag":116,"props":5680,"children":5681},{"style":196},[5682],{"type":88,"value":1202},{"type":82,"tag":116,"props":5684,"children":5685},{"style":196},[5686],{"type":88,"value":349},{"type":82,"tag":116,"props":5688,"children":5689},{"style":352},[5690],{"type":88,"value":355},{"type":82,"tag":116,"props":5692,"children":5693},{"style":144},[5694],{"type":88,"value":3304},{"type":82,"tag":116,"props":5696,"children":5697},{"style":2251},[5698],{"type":88,"value":5271},{"type":82,"tag":116,"props":5700,"children":5701},{"style":144},[5702],{"type":88,"value":3313},{"type":82,"tag":116,"props":5704,"children":5705},{"style":144},[5706],{"type":88,"value":147},{"type":82,"tag":116,"props":5708,"children":5709},{"style":231},[5710],{"type":88,"value":5271},{"type":82,"tag":116,"props":5712,"children":5713},{"style":144},[5714],{"type":88,"value":209},{"type":82,"tag":116,"props":5716,"children":5717},{"style":212},[5718],{"type":88,"value":5292},{"type":82,"tag":116,"props":5720,"children":5721},{"style":144},[5722],{"type":88,"value":5297},{"type":82,"tag":116,"props":5724,"children":5725},{"style":231},[5726],{"type":88,"value":2395},{"type":82,"tag":116,"props":5728,"children":5729},{"style":144},[5730],{"type":88,"value":209},{"type":82,"tag":116,"props":5732,"children":5733},{"style":212},[5734],{"type":88,"value":2263},{"type":82,"tag":116,"props":5736,"children":5737},{"style":144},[5738],{"type":88,"value":5314},{"type":82,"tag":116,"props":5740,"children":5741},{"style":144},[5742],{"type":88,"value":3334},{"type":82,"tag":116,"props":5744,"children":5745},{"style":144},[5746],{"type":88,"value":224},{"type":82,"tag":116,"props":5748,"children":5749},{"class":118,"line":950},[5750,5754,5758,5762,5766,5770,5774],{"type":82,"tag":116,"props":5751,"children":5752},{"style":196},[5753],{"type":88,"value":621},{"type":82,"tag":116,"props":5755,"children":5756},{"style":144},[5757],{"type":88,"value":147},{"type":82,"tag":116,"props":5759,"children":5760},{"style":150},[5761],{"type":88,"value":2395},{"type":82,"tag":116,"props":5763,"children":5764},{"style":144},[5765],{"type":88,"value":158},{"type":82,"tag":116,"props":5767,"children":5768},{"style":144},[5769],{"type":88,"value":219},{"type":82,"tag":116,"props":5771,"children":5772},{"style":133},[5773],{"type":88,"value":635},{"type":82,"tag":116,"props":5775,"children":5776},{"style":150},[5777],{"type":88,"value":5354},{"type":82,"tag":116,"props":5779,"children":5780},{"class":118,"line":959},[5781,5785,5789,5793,5797,5801,5805,5809],{"type":82,"tag":116,"props":5782,"children":5783},{"style":196},[5784],{"type":88,"value":621},{"type":82,"tag":116,"props":5786,"children":5787},{"style":150},[5788],{"type":88,"value":5366},{"type":82,"tag":116,"props":5790,"children":5791},{"style":144},[5792],{"type":88,"value":219},{"type":82,"tag":116,"props":5794,"children":5795},{"style":133},[5796],{"type":88,"value":635},{"type":82,"tag":116,"props":5798,"children":5799},{"style":352},[5800],{"type":88,"value":5379},{"type":82,"tag":116,"props":5802,"children":5803},{"style":231},[5804],{"type":88,"value":587},{"type":82,"tag":116,"props":5806,"children":5807},{"style":150},[5808],{"type":88,"value":2254},{"type":82,"tag":116,"props":5810,"children":5811},{"style":231},[5812],{"type":88,"value":606},{"type":82,"tag":116,"props":5814,"children":5815},{"class":118,"line":967},[5816,5820,5824,5828,5832,5836,5840,5844,5848,5852],{"type":82,"tag":116,"props":5817,"children":5818},{"style":133},[5819],{"type":88,"value":372},{"type":82,"tag":116,"props":5821,"children":5822},{"style":144},[5823],{"type":88,"value":676},{"type":82,"tag":116,"props":5825,"children":5826},{"style":231},[5827],{"type":88,"value":1271},{"type":82,"tag":116,"props":5829,"children":5830},{"style":144},[5831],{"type":88,"value":1276},{"type":82,"tag":116,"props":5833,"children":5834},{"style":150},[5835],{"type":88,"value":5415},{"type":82,"tag":116,"props":5837,"children":5838},{"style":144},[5839],{"type":88,"value":645},{"type":82,"tag":116,"props":5841,"children":5842},{"style":150},[5843],{"type":88,"value":3430},{"type":82,"tag":116,"props":5845,"children":5846},{"style":144},[5847],{"type":88,"value":1121},{"type":82,"tag":116,"props":5849,"children":5850},{"style":231},[5851],{"type":88,"value":1271},{"type":82,"tag":116,"props":5853,"children":5854},{"style":144},[5855],{"type":88,"value":395},{"type":82,"tag":116,"props":5857,"children":5858},{"class":118,"line":975},[5859],{"type":82,"tag":116,"props":5860,"children":5861},{"style":144},[5862],{"type":88,"value":257},{"type":82,"tag":91,"props":5864,"children":5865},{},[5866],{"type":88,"value":5867},"Key differences:",{"type":82,"tag":3629,"props":5869,"children":5870},{},[5871,5903,5928,5958],{"type":82,"tag":3633,"props":5872,"children":5873},{},[5874,5879,5881,5886,5888,5894,5896,5901],{"type":82,"tag":2919,"props":5875,"children":5876},{},[5877],{"type":88,"value":5878},"No manual cache keys",{"type":88,"value":5880}," - ",{"type":82,"tag":112,"props":5882,"children":5884},{"className":5883},[],[5885],{"type":88,"value":55},{"type":88,"value":5887}," generates keys automatically from function arguments and closures. The ",{"type":82,"tag":112,"props":5889,"children":5891},{"className":5890},[],[5892],{"type":88,"value":5893},"keyParts",{"type":88,"value":5895}," array from ",{"type":82,"tag":112,"props":5897,"children":5899},{"className":5898},[],[5900],{"type":88,"value":62},{"type":88,"value":5902}," is no longer needed.",{"type":82,"tag":3633,"props":5904,"children":5905},{},[5906,5911,5913,5919,5921,5926],{"type":82,"tag":2919,"props":5907,"children":5908},{},[5909],{"type":88,"value":5910},"Tags",{"type":88,"value":5912}," - Replace ",{"type":82,"tag":112,"props":5914,"children":5916},{"className":5915},[],[5917],{"type":88,"value":5918},"options.tags",{"type":88,"value":5920}," with ",{"type":82,"tag":112,"props":5922,"children":5924},{"className":5923},[],[5925],{"type":88,"value":2063},{"type":88,"value":5927}," calls inside the function.",{"type":82,"tag":3633,"props":5929,"children":5930},{},[5931,5936,5937,5943,5944,5949,5951,5957],{"type":82,"tag":2919,"props":5932,"children":5933},{},[5934],{"type":88,"value":5935},"Revalidation",{"type":88,"value":5912},{"type":82,"tag":112,"props":5938,"children":5940},{"className":5939},[],[5941],{"type":88,"value":5942},"options.revalidate",{"type":88,"value":5920},{"type":82,"tag":112,"props":5945,"children":5947},{"className":5946},[],[5948],{"type":88,"value":4914},{"type":88,"value":5950}," or a built-in profile like ",{"type":82,"tag":112,"props":5952,"children":5954},{"className":5953},[],[5955],{"type":88,"value":5956},"cacheLife('minutes')",{"type":88,"value":645},{"type":82,"tag":3633,"props":5959,"children":5960},{},[5961,5966,5967,5972,5974,5979,5981,5986,5988,5993,5995,6001],{"type":82,"tag":2919,"props":5962,"children":5963},{},[5964],{"type":88,"value":5965},"Dynamic data",{"type":88,"value":5880},{"type":82,"tag":112,"props":5968,"children":5970},{"className":5969},[],[5971],{"type":88,"value":62},{"type":88,"value":5973}," did not support ",{"type":82,"tag":112,"props":5975,"children":5977},{"className":5976},[],[5978],{"type":88,"value":2931},{"type":88,"value":5980}," or ",{"type":82,"tag":112,"props":5982,"children":5984},{"className":5983},[],[5985],{"type":88,"value":2938},{"type":88,"value":5987}," inside the callback. The same restriction applies to ",{"type":82,"tag":112,"props":5989,"children":5991},{"className":5990},[],[5992],{"type":88,"value":55},{"type":88,"value":5994},", but you can use ",{"type":82,"tag":112,"props":5996,"children":5998},{"className":5997},[],[5999],{"type":88,"value":6000},"'use cache: private'",{"type":88,"value":6002}," if needed.",{"type":82,"tag":299,"props":6004,"children":6005},{},[],{"type":82,"tag":97,"props":6007,"children":6009},{"id":6008},"limitations",[6010],{"type":88,"value":6011},"Limitations",{"type":82,"tag":3629,"props":6013,"children":6014},{},[6015,6025,6035],{"type":82,"tag":3633,"props":6016,"children":6017},{},[6018,6023],{"type":82,"tag":2919,"props":6019,"children":6020},{},[6021],{"type":88,"value":6022},"Edge runtime not supported",{"type":88,"value":6024}," - requires Node.js",{"type":82,"tag":3633,"props":6026,"children":6027},{},[6028,6033],{"type":82,"tag":2919,"props":6029,"children":6030},{},[6031],{"type":88,"value":6032},"Static export not supported",{"type":88,"value":6034}," - needs server",{"type":82,"tag":3633,"props":6036,"children":6037},{},[6038,6043,6044,6050,6051,6057,6059],{"type":82,"tag":2919,"props":6039,"children":6040},{},[6041],{"type":88,"value":6042},"Non-deterministic values",{"type":88,"value":1027},{"type":82,"tag":112,"props":6045,"children":6047},{"className":6046},[],[6048],{"type":88,"value":6049},"Math.random()",{"type":88,"value":1813},{"type":82,"tag":112,"props":6052,"children":6054},{"className":6053},[],[6055],{"type":88,"value":6056},"Date.now()",{"type":88,"value":6058},") execute once at build time inside ",{"type":82,"tag":112,"props":6060,"children":6062},{"className":6061},[],[6063],{"type":88,"value":55},{"type":82,"tag":91,"props":6065,"children":6066},{},[6067],{"type":88,"value":6068},"For request-time randomness outside cache:",{"type":82,"tag":104,"props":6070,"children":6072},{"className":327,"code":6071,"language":329,"meta":109,"style":109},"import { connection } from 'next\u002Fserver'\n\nasync function DynamicContent() {\n  await connection()  \u002F\u002F Defer to request time\n  const id = crypto.randomUUID()  \u002F\u002F Different per request\n  return \u003Cdiv>{id}\u003C\u002Fdiv>\n}\n",[6073],{"type":82,"tag":112,"props":6074,"children":6075},{"__ignoreMap":109},[6076,6113,6120,6144,6165,6203,6238],{"type":82,"tag":116,"props":6077,"children":6078},{"class":118,"line":119},[6079,6083,6087,6092,6096,6100,6104,6109],{"type":82,"tag":116,"props":6080,"children":6081},{"style":133},[6082],{"type":88,"value":136},{"type":82,"tag":116,"props":6084,"children":6085},{"style":144},[6086],{"type":88,"value":147},{"type":82,"tag":116,"props":6088,"children":6089},{"style":150},[6090],{"type":88,"value":6091}," connection",{"type":82,"tag":116,"props":6093,"children":6094},{"style":144},[6095],{"type":88,"value":158},{"type":82,"tag":116,"props":6097,"children":6098},{"style":133},[6099],{"type":88,"value":163},{"type":82,"tag":116,"props":6101,"children":6102},{"style":144},[6103],{"type":88,"value":168},{"type":82,"tag":116,"props":6105,"children":6106},{"style":171},[6107],{"type":88,"value":6108},"next\u002Fserver",{"type":82,"tag":116,"props":6110,"children":6111},{"style":144},[6112],{"type":88,"value":179},{"type":82,"tag":116,"props":6114,"children":6115},{"class":118,"line":129},[6116],{"type":82,"tag":116,"props":6117,"children":6118},{"emptyLinePlaceholder":186},[6119],{"type":88,"value":189},{"type":82,"tag":116,"props":6121,"children":6122},{"class":118,"line":182},[6123,6127,6131,6136,6140],{"type":82,"tag":116,"props":6124,"children":6125},{"style":196},[6126],{"type":88,"value":541},{"type":82,"tag":116,"props":6128,"children":6129},{"style":196},[6130],{"type":88,"value":349},{"type":82,"tag":116,"props":6132,"children":6133},{"style":352},[6134],{"type":88,"value":6135}," DynamicContent",{"type":82,"tag":116,"props":6137,"children":6138},{"style":144},[6139],{"type":88,"value":360},{"type":82,"tag":116,"props":6141,"children":6142},{"style":144},[6143],{"type":88,"value":224},{"type":82,"tag":116,"props":6145,"children":6146},{"class":118,"line":192},[6147,6151,6155,6160],{"type":82,"tag":116,"props":6148,"children":6149},{"style":133},[6150],{"type":88,"value":2573},{"type":82,"tag":116,"props":6152,"children":6153},{"style":352},[6154],{"type":88,"value":6091},{"type":82,"tag":116,"props":6156,"children":6157},{"style":231},[6158],{"type":88,"value":6159},"()  ",{"type":82,"tag":116,"props":6161,"children":6162},{"style":123},[6163],{"type":88,"value":6164},"\u002F\u002F Defer to request time\n",{"type":82,"tag":116,"props":6166,"children":6167},{"class":118,"line":227},[6168,6172,6176,6180,6185,6189,6194,6198],{"type":82,"tag":116,"props":6169,"children":6170},{"style":196},[6171],{"type":88,"value":621},{"type":82,"tag":116,"props":6173,"children":6174},{"style":150},[6175],{"type":88,"value":2395},{"type":82,"tag":116,"props":6177,"children":6178},{"style":144},[6179],{"type":88,"value":219},{"type":82,"tag":116,"props":6181,"children":6182},{"style":150},[6183],{"type":88,"value":6184}," crypto",{"type":82,"tag":116,"props":6186,"children":6187},{"style":144},[6188],{"type":88,"value":645},{"type":82,"tag":116,"props":6190,"children":6191},{"style":352},[6192],{"type":88,"value":6193},"randomUUID",{"type":82,"tag":116,"props":6195,"children":6196},{"style":231},[6197],{"type":88,"value":6159},{"type":82,"tag":116,"props":6199,"children":6200},{"style":123},[6201],{"type":88,"value":6202},"\u002F\u002F Different per request\n",{"type":82,"tag":116,"props":6204,"children":6205},{"class":118,"line":39},[6206,6210,6214,6218,6222,6226,6230,6234],{"type":82,"tag":116,"props":6207,"children":6208},{"style":133},[6209],{"type":88,"value":372},{"type":82,"tag":116,"props":6211,"children":6212},{"style":144},[6213],{"type":88,"value":676},{"type":82,"tag":116,"props":6215,"children":6216},{"style":231},[6217],{"type":88,"value":1271},{"type":82,"tag":116,"props":6219,"children":6220},{"style":144},[6221],{"type":88,"value":1276},{"type":82,"tag":116,"props":6223,"children":6224},{"style":150},[6225],{"type":88,"value":2254},{"type":82,"tag":116,"props":6227,"children":6228},{"style":144},[6229],{"type":88,"value":1121},{"type":82,"tag":116,"props":6231,"children":6232},{"style":231},[6233],{"type":88,"value":1271},{"type":82,"tag":116,"props":6235,"children":6236},{"style":144},[6237],{"type":88,"value":395},{"type":82,"tag":116,"props":6239,"children":6240},{"class":118,"line":260},[6241],{"type":82,"tag":116,"props":6242,"children":6243},{"style":144},[6244],{"type":88,"value":257},{"type":82,"tag":91,"props":6246,"children":6247},{},[6248],{"type":88,"value":6249},"Sources:",{"type":82,"tag":3629,"props":6251,"children":6252},{},[6253,6264,6273],{"type":82,"tag":3633,"props":6254,"children":6255},{},[6256],{"type":82,"tag":6257,"props":6258,"children":6261},"a",{"href":41,"rel":6259},[6260],"nofollow",[6262],{"type":88,"value":6263},"Cache Components Guide",{"type":82,"tag":3633,"props":6265,"children":6266},{},[6267],{"type":82,"tag":6257,"props":6268,"children":6270},{"href":42,"rel":6269},[6260],[6271],{"type":88,"value":6272},"use cache Directive",{"type":82,"tag":3633,"props":6274,"children":6275},{},[6276],{"type":82,"tag":6257,"props":6277,"children":6280},{"href":6278,"rel":6279},"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Ffunctions\u002Funstable_cache",[6260],[6281],{"type":88,"value":6282},"unstable_cache (legacy)",{"type":82,"tag":6284,"props":6285,"children":6286},"style",{},[6287],{"type":88,"value":6288},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":6290,"total":6390},[6291,6310,6326,6338,6353,6366,6378],{"slug":6292,"name":6292,"fn":6293,"description":6294,"org":6295,"tags":6296,"stars":25,"repoUrl":26,"updatedAt":6309},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6297,6300,6303,6306],{"name":6298,"slug":6299,"type":15},"Accessibility","accessibility",{"name":6301,"slug":6302,"type":15},"Charts","charts",{"name":6304,"slug":6305,"type":15},"Data Visualization","data-visualization",{"name":6307,"slug":6308,"type":15},"Design","design","2026-06-30T19:00:57.102",{"slug":6311,"name":6311,"fn":6312,"description":6313,"org":6314,"tags":6315,"stars":25,"repoUrl":26,"updatedAt":6325},"adobe-batch-edit-photos","apply consistent photo adjustments","Apply consistent photo adjustments across a set of images so they look like they were edited together. Use this skill whenever the user says \"make my photos look cohesive\", \"give all these the same style\", \"apply a warm and golden feel to all of these\", \"make this cinematic\", \"match the look across my photos\", \"edit all my travel photos the same way\", \"batch edit these\", \"make these consistent\", \"fix my phone photos\", or uploads a folder of photos and wants a unified, polished result. Also triggers for requests like \"apply a preset to all of these\", \"make these look professional\", or \"they were shot in mixed lighting — can you fix them all\". Outputs direct final image URLs plus an in-chat preview grid and optional Firefly Board link. Access: 🔐 Signed-In required | Gen AI: ❌\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6316,6319,6322],{"name":6317,"slug":6318,"type":15},"Creative","creative",{"name":6320,"slug":6321,"type":15},"Editing","editing",{"name":6323,"slug":6324,"type":15},"Imaging","imaging","2026-08-28T15:09:11.185865",{"slug":6327,"name":6327,"fn":6328,"description":6329,"org":6330,"tags":6331,"stars":25,"repoUrl":26,"updatedAt":6337},"adobe-create-mockups","create product and scene mockups","Use when a user wants to see their logo, design, or sketch on a product or scene mockup — mugs, t-shirts, business cards, hats, phone screens, posters, billboards, or similar. Triggers on \"create mockups\", \"show my logo on products\", or any logo upload with a request to visualize it on items. Access: 🔐 Signed-In required | Gen AI: ✅ Adobe Firefly via `image_generate` used for design creation, sketch polishing, and mockup scene generation\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6332,6333,6334],{"name":6317,"slug":6318,"type":15},{"name":6307,"slug":6308,"type":15},{"name":6335,"slug":6336,"type":15},"Graphics","graphics","2026-08-28T15:09:07.42507",{"slug":6339,"name":6339,"fn":6340,"description":6341,"org":6342,"tags":6343,"stars":25,"repoUrl":26,"updatedAt":6352},"adobe-create-social-variations","export platform-ready social media assets","Resize, crop, or export any image or video into platform-ready social media assets using Adobe Creative Cloud tools. Use this skill when a user wants to prepare a photo, image, or video for one or more social platforms — Instagram, TikTok, LinkedIn, Facebook, YouTube, Snapchat, Pinterest, Threads, or X\u002FTwitter. Triggers on: \"prepare my image for Instagram\", \"resize for TikTok\", \"get this ready to post\", \"make versions for all platforms\", \"social media sizes\", \"crop for stories\", \"export for LinkedIn\", \"resize my video for social\", \"make social media assets\", or any request to adapt a photo or video for specific platforms. Handles subject-aware cropping, AI canvas expansion, test previews before full runs, and same-ratio video resizing.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6344,6345,6346,6349],{"name":6317,"slug":6318,"type":15},{"name":6335,"slug":6336,"type":15},{"name":6347,"slug":6348,"type":15},"Marketing","marketing",{"name":6350,"slug":6351,"type":15},"Social Media","social-media","2026-08-28T15:10:07.282096",{"slug":6354,"name":6354,"fn":6355,"description":6356,"org":6357,"tags":6358,"stars":25,"repoUrl":26,"updatedAt":6365},"adobe-design-from-template","create visual designs from templates","Create any visual design using Adobe Express templates — flyers, posters, social media posts (Instagram, Facebook, LinkedIn), business cards, invitations, greeting cards, resumes, cover letters, brochures, newsletters, certificates, presentations, YouTube thumbnails, email headers, logos, menus, and labels. Use this skill whenever the user wants to make, design, or build any visual — even if they just say \"make me a flyer\", \"design a poster\", \"I need something for Instagram\", \"create an event invite\", or \"make a business card\". Also handles browsing templates, editing text, replacing images, changing backgrounds, animating, and exporting designs. Access: 🔐 Signed-In required | Gen AI: ❌ by default — image replacement only where the surface permits generative AI (e.g. Codex); none on Claude\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6359,6360,6361,6362],{"name":6317,"slug":6318,"type":15},{"name":6307,"slug":6308,"type":15},{"name":6335,"slug":6336,"type":15},{"name":6363,"slug":6364,"type":15},"Templates","templates","2026-08-28T15:10:03.050113",{"slug":6367,"name":6367,"fn":6368,"description":6369,"org":6370,"tags":6371,"stars":25,"repoUrl":26,"updatedAt":6377},"adobe-edit-quick-cut","create video sizzle reels","Create a punchy sizzle reel from a video using Adobe Quick Cut. Use this skill whenever a user wants to cut, trim, or shorten a video into highlights — including phrases like \"make a sizzle reel\", \"make a highlight reel\", \"quick cut this\", \"cut the best parts\", \"shorten this video\", \"make a highlight clip\", \"summarize this video visually\", or any request to produce a shorter edited version of a video. Use this skill for Quick Cut requests before suggesting manual editing in Premiere. Requires the user to upload a video file.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6372,6373,6374],{"name":6317,"slug":6318,"type":15},{"name":6320,"slug":6321,"type":15},{"name":6375,"slug":6376,"type":15},"Video","video","2026-08-28T15:09:07.765245",{"slug":6379,"name":6379,"fn":6380,"description":6381,"org":6382,"tags":6383,"stars":25,"repoUrl":26,"updatedAt":6389},"adobe-retouch-portraits","batch retouch portrait photos","Bulk-retouch a folder of portrait photos using Adobe tools — designed for wedding photographers and event photographers who need fast, walk-away batch processing. Use this skill when the user says \"retouch my photos\", \"batch process these portraits\", \"process my wedding photos\", \"clean up this folder of images\", \"run my headshots through Adobe\", or uploads\u002Fselects a folder of photos and wants them polished and ready to review. Automatically applies auto-straighten, auto-tone, and auto-light to every image. Outputs a preview grid and download folder. Access: 🔐 Signed-In required | Gen AI: ❌ by default — optional background-only cleanup only where the surface permits generative AI (e.g. Codex); none on Claude\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6384,6385,6386],{"name":6317,"slug":6318,"type":15},{"name":6323,"slug":6324,"type":15},{"name":6387,"slug":6388,"type":15},"Photography","photography","2026-08-28T15:09:10.386974",499,{"items":6392,"total":6591},[6393,6414,6437,6454,6470,6489,6508,6520,6536,6550,6562,6575],{"slug":6394,"name":6394,"fn":6395,"description":6396,"org":6397,"tags":6398,"stars":6411,"repoUrl":6412,"updatedAt":6413},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6399,6402,6405,6408],{"name":6400,"slug":6401,"type":15},"Documents","documents",{"name":6403,"slug":6404,"type":15},"Healthcare","healthcare",{"name":6406,"slug":6407,"type":15},"Insurance","insurance",{"name":6409,"slug":6410,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-08-02T05:48:07.395855",{"slug":6415,"name":6415,"fn":6416,"description":6417,"org":6418,"tags":6419,"stars":6434,"repoUrl":6435,"updatedAt":6436},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6420,6423,6425,6428,6431],{"name":6421,"slug":6422,"type":15},".NET","dotnet",{"name":6424,"slug":6415,"type":15},"ASP.NET Core",{"name":6426,"slug":6427,"type":15},"Blazor","blazor",{"name":6429,"slug":6430,"type":15},"C#","csharp",{"name":6432,"slug":6433,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":6438,"name":6438,"fn":6439,"description":6440,"org":6441,"tags":6442,"stars":6434,"repoUrl":6435,"updatedAt":6453},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6443,6446,6449,6452],{"name":6444,"slug":6445,"type":15},"Apps SDK","apps-sdk",{"name":6447,"slug":6448,"type":15},"ChatGPT","chatgpt",{"name":6450,"slug":6451,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":6455,"name":6455,"fn":6456,"description":6457,"org":6458,"tags":6459,"stars":6434,"repoUrl":6435,"updatedAt":6469},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6460,6463,6466],{"name":6461,"slug":6462,"type":15},"API Development","api-development",{"name":6464,"slug":6465,"type":15},"CLI","cli",{"name":6467,"slug":6468,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":6471,"name":6471,"fn":6472,"description":6473,"org":6474,"tags":6475,"stars":6434,"repoUrl":6435,"updatedAt":6488},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6476,6479,6482,6485],{"name":6477,"slug":6478,"type":15},"Cloudflare","cloudflare",{"name":6480,"slug":6481,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":6483,"slug":6484,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":6486,"slug":6487,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":6490,"name":6490,"fn":6491,"description":6492,"org":6493,"tags":6494,"stars":6434,"repoUrl":6435,"updatedAt":6507},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6495,6498,6501,6504],{"name":6496,"slug":6497,"type":15},"Productivity","productivity",{"name":6499,"slug":6500,"type":15},"Project Management","project-management",{"name":6502,"slug":6503,"type":15},"Strategy","strategy",{"name":6505,"slug":6506,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":6509,"name":6509,"fn":6510,"description":6511,"org":6512,"tags":6513,"stars":6434,"repoUrl":6435,"updatedAt":6519},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6514,6515,6517,6518],{"name":6307,"slug":6308,"type":15},{"name":6516,"slug":6509,"type":15},"Figma",{"name":23,"slug":24,"type":15},{"name":6450,"slug":6451,"type":15},"2026-04-12T05:06:47.939943",{"slug":6521,"name":6521,"fn":6522,"description":6523,"org":6524,"tags":6525,"stars":6434,"repoUrl":6435,"updatedAt":6535},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6526,6527,6530,6531,6532],{"name":6307,"slug":6308,"type":15},{"name":6528,"slug":6529,"type":15},"Design System","design-system",{"name":6516,"slug":6509,"type":15},{"name":23,"slug":24,"type":15},{"name":6533,"slug":6534,"type":15},"UI Components","ui-components","2026-05-10T05:59:52.971881",{"slug":6537,"name":6537,"fn":6538,"description":6539,"org":6540,"tags":6541,"stars":6434,"repoUrl":6435,"updatedAt":6549},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6542,6543,6544,6547,6548],{"name":6307,"slug":6308,"type":15},{"name":6528,"slug":6529,"type":15},{"name":6545,"slug":6546,"type":15},"Documentation","documentation",{"name":6516,"slug":6509,"type":15},{"name":23,"slug":24,"type":15},"2026-05-16T06:07:47.821474",{"slug":6551,"name":6551,"fn":6552,"description":6553,"org":6554,"tags":6555,"stars":6434,"repoUrl":6435,"updatedAt":6561},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6556,6557,6558,6559,6560],{"name":6307,"slug":6308,"type":15},{"name":6516,"slug":6509,"type":15},{"name":23,"slug":24,"type":15},{"name":6533,"slug":6534,"type":15},{"name":6432,"slug":6433,"type":15},"2026-05-16T06:07:40.583615",{"slug":6563,"name":6563,"fn":6564,"description":6565,"org":6566,"tags":6567,"stars":6434,"repoUrl":6435,"updatedAt":6574},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6568,6571,6572,6573],{"name":6569,"slug":6570,"type":15},"Animation","animation",{"name":6467,"slug":6468,"type":15},{"name":6317,"slug":6318,"type":15},{"name":6307,"slug":6308,"type":15},"2026-05-02T05:31:48.48485",{"slug":6576,"name":6576,"fn":6577,"description":6578,"org":6579,"tags":6580,"stars":6434,"repoUrl":6435,"updatedAt":6590},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6581,6582,6583,6586,6589],{"name":6317,"slug":6318,"type":15},{"name":6307,"slug":6308,"type":15},{"name":6584,"slug":6585,"type":15},"Image Generation","image-generation",{"name":6587,"slug":6588,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",578]