[{"data":1,"prerenderedAt":1277},["ShallowReactive",2],{"navigation":3,"-guide-api":57,"-guide-api-surround":1274},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":16},"Guide","\u002Fguide","1.guide\u002F1.index",[9,12,17,22,27,32,37,42,47,52],{"title":10,"path":6,"stem":7,"icon":11},"Getting Started","lucide:rocket",{"title":13,"path":14,"stem":15,"icon":16},"API Reference","\u002Fguide\u002Fapi","1.guide\u002F10.api","lucide:book-open",{"title":18,"path":19,"stem":20,"icon":21},"Caching Functions","\u002Fguide\u002Ffunctions","1.guide\u002F2.functions","lucide:square-function",{"title":23,"path":24,"stem":25,"icon":26},"Invalidation & Expiration","\u002Fguide\u002Finvalidation","1.guide\u002F3.invalidation","lucide:trash-2",{"title":28,"path":29,"stem":30,"icon":31},"Storage","\u002Fguide\u002Fstorage","1.guide\u002F4.storage","lucide:database",{"title":33,"path":34,"stem":35,"icon":36},"Caching HTTP Handlers","\u002Fguide\u002Fhandler","1.guide\u002F5.handler","lucide:server",{"title":38,"path":39,"stem":40,"icon":41},"Query Parameters","\u002Fguide\u002Fquery-params","1.guide\u002F6.query-params","lucide:link-2",{"title":43,"path":44,"stem":45,"icon":46},"Cookies","\u002Fguide\u002Fcookies","1.guide\u002F7.cookies","lucide:cookie",{"title":48,"path":49,"stem":50,"icon":51},"Cache-Control & Eligibility","\u002Fguide\u002Fcache-control","1.guide\u002F8.cache-control","lucide:sliders-horizontal",{"title":53,"path":54,"stem":55,"icon":56},"Incremental Static Regeneration","\u002Fguide\u002Fisr","1.guide\u002F9.isr","lucide:refresh-cw",{"id":58,"title":13,"body":59,"description":76,"extension":1268,"meta":1269,"navigation":1271,"path":14,"seo":1272,"stem":15,"__hash__":1273},"content\u002F1.guide\u002F10.api.md",{"type":60,"value":61,"toc":1254,"icon":16},"minimark",[62,70,128,136,154,157,163,182,191,193,199,236,239,267,269,275,304,311,313,318,424,427,433,450,460,462,467,526,529,547,551,568,583,585,590,620,628,630,636,676,679,693,712,716,733,738,820,822,827,863,866,872,876,888,892,947,949,954,990,993,998,1023,1043,1047,1059,1064,1068,1176,1178,1184,1214,1217,1219,1225,1244,1250],[63,64,66],"h3",{"id":65},"cachedeventhandler",[67,68,69],"code",{},"CachedEventHandler",[71,72,77],"pre",{"className":73,"code":74,"language":75,"meta":76,"style":76},"language-ts shiki shiki-themes github-light github-dark github-dark","type CachedEventHandler\u003CE extends HTTPEvent = HTTPEvent> = EventHandler\u003CE> &\n","ts","",[67,78,79],{"__ignoreMap":76},[80,81,84,88,92,96,99,102,105,108,110,113,116,119,121,123,125],"span",{"class":82,"line":83},"line",1,[80,85,87],{"class":86},"so5gQ","type",[80,89,91],{"class":90},"shcOC"," CachedEventHandler",[80,93,95],{"class":94},"slsVL","\u003C",[80,97,98],{"class":90},"E",[80,100,101],{"class":86}," extends",[80,103,104],{"class":90}," HTTPEvent",[80,106,107],{"class":86}," =",[80,109,104],{"class":90},[80,111,112],{"class":94},"> ",[80,114,115],{"class":86},"=",[80,117,118],{"class":90}," EventHandler",[80,120,95],{"class":94},[80,122,98],{"class":90},[80,124,112],{"class":94},[80,126,127],{"class":86},"&\n",[129,130,131,132,135],"p",{},"Cached event handler returned by ",[67,133,134],{},"defineCachedHandler",".",[129,137,138,139,146,147,153],{},"An ",[140,141,143],"a",{"href":142},"#eventhandler",[67,144,145],{},"EventHandler"," augmented with on-demand revalidation methods forwarded from\nthe underlying cached function. Each accepts the ",[140,148,150],{"href":149},"#httpevent",[67,151,152],{},"HTTPEvent"," directly and derives\nthe exact storage key the handler caches under, so no manual key reconstruction is needed.",[155,156],"hr",{},[63,158,160],{"id":159},"cachedfunction",[67,161,162],{},"cachedFunction",[71,164,166],{"className":73,"code":165,"language":75,"meta":76,"style":76},"const cachedFunction = defineCachedFunction;\n",[67,167,168],{"__ignoreMap":76},[80,169,170,173,177,179],{"class":82,"line":83},[80,171,172],{"class":86},"const",[80,174,176],{"class":175},"suiK_"," cachedFunction",[80,178,107],{"class":86},[80,180,181],{"class":94}," defineCachedFunction;\n",[129,183,184,185,135],{},"Alias for ",[140,186,188],{"href":187},"#definecachedfunction",[67,189,190],{},"defineCachedFunction",[155,192],{},[63,194,196],{"id":195},"cachestatus",[67,197,198],{},"CacheStatus",[71,200,202],{"className":73,"code":201,"language":75,"meta":76,"style":76},"type CacheStatus = \"hit\" | \"stale\" | \"revalidated\" | \"miss\";\n",[67,203,204],{"__ignoreMap":76},[80,205,206,208,211,213,217,220,223,225,228,230,233],{"class":82,"line":83},[80,207,87],{"class":86},[80,209,210],{"class":90}," CacheStatus",[80,212,107],{"class":86},[80,214,216],{"class":215},"sfrk1"," \"hit\"",[80,218,219],{"class":86}," |",[80,221,222],{"class":215}," \"stale\"",[80,224,219],{"class":86},[80,226,227],{"class":215}," \"revalidated\"",[80,229,219],{"class":86},[80,231,232],{"class":215}," \"miss\"",[80,234,235],{"class":94},";\n",[129,237,238],{},"How a cached value was served on a given call.",[240,241,242,249,255,261],"ul",{},[243,244,245,248],"li",{},[67,246,247],{},"\"hit\""," — a fresh cached value was returned without re-resolving.",[243,250,251,254],{},[67,252,253],{},"\"stale\""," — a stale value was served while a background SWR refresh runs.",[243,256,257,260],{},[67,258,259],{},"\"revalidated\""," — a prior value existed but was expired\u002Finvalid, so it was\nre-resolved in the foreground (no stale value served) before returning.",[243,262,263,266],{},[67,264,265],{},"\"miss\""," — the value was resolved fresh on this call (nothing was cached).",[155,268],{},[63,270,272],{"id":271},"creatememorystorage",[67,273,274],{},"createMemoryStorage",[71,276,278],{"className":73,"code":277,"language":75,"meta":76,"style":76},"function createMemoryStorage(opts: MemoryStorageOptions =\n",[67,279,280],{"__ignoreMap":76},[80,281,282,285,288,291,295,298,301],{"class":82,"line":83},[80,283,284],{"class":86},"function",[80,286,287],{"class":90}," createMemoryStorage",[80,289,290],{"class":94},"(",[80,292,294],{"class":293},"sQHwn","opts",[80,296,297],{"class":86},":",[80,299,300],{"class":90}," MemoryStorageOptions",[80,302,303],{"class":86}," =\n",[129,305,306,307,310],{},"Creates an in-memory storage backed by a ",[67,308,309],{},"Map"," with optional TTL support (in seconds) and LRU eviction.",[155,312],{},[63,314,316],{"id":315},"definecachedfunction",[67,317,190],{},[71,319,321],{"className":73,"code":320,"language":75,"meta":76,"style":76},"function defineCachedFunction\u003CT, ArgsT extends unknown[] = any[]>(\n  fn: (...args: ArgsT) => T | Promise\u003CT>,\n  opts: CacheOptions\u003CT, ArgsT> =\n",[67,322,323,357,400],{"__ignoreMap":76},[80,324,325,327,330,332,335,338,341,343,346,349,351,354],{"class":82,"line":83},[80,326,284],{"class":86},[80,328,329],{"class":90}," defineCachedFunction",[80,331,95],{"class":94},[80,333,334],{"class":90},"T",[80,336,337],{"class":94},", ",[80,339,340],{"class":90},"ArgsT",[80,342,101],{"class":86},[80,344,345],{"class":175}," unknown",[80,347,348],{"class":94},"[] ",[80,350,115],{"class":86},[80,352,353],{"class":175}," any",[80,355,356],{"class":94},"[]>(\n",[80,358,360,363,365,368,371,374,376,379,382,385,388,390,393,395,397],{"class":82,"line":359},2,[80,361,362],{"class":90},"  fn",[80,364,297],{"class":86},[80,366,367],{"class":94}," (",[80,369,370],{"class":86},"...",[80,372,373],{"class":293},"args",[80,375,297],{"class":86},[80,377,378],{"class":90}," ArgsT",[80,380,381],{"class":94},") ",[80,383,384],{"class":86},"=>",[80,386,387],{"class":90}," T",[80,389,219],{"class":86},[80,391,392],{"class":90}," Promise",[80,394,95],{"class":94},[80,396,334],{"class":90},[80,398,399],{"class":94},">,\n",[80,401,403,406,408,411,413,415,417,419,421],{"class":82,"line":402},3,[80,404,405],{"class":293},"  opts",[80,407,297],{"class":86},[80,409,410],{"class":90}," CacheOptions",[80,412,95],{"class":94},[80,414,334],{"class":90},[80,416,337],{"class":94},[80,418,340],{"class":90},[80,420,112],{"class":94},[80,422,423],{"class":86},"=\n",[129,425,426],{},"Wraps a function with caching support including TTL, SWR, integrity checks, and request deduplication.",[129,428,429],{},[430,431,432],"strong",{},"Parameters:",[240,434,435,443],{},[243,436,437,442],{},[430,438,439],{},[67,440,441],{},"fn"," — The function to cache.",[243,444,445,449],{},[430,446,447],{},[67,448,294],{}," — Cache configuration options.",[129,451,452,455,456,459],{},[430,453,454],{},"Returns:"," — A cached function with a ",[67,457,458],{},".resolveKey(...args)"," method for cache key resolution.",[155,461],{},[63,463,465],{"id":464},"definecachedhandler",[67,466,134],{},[71,468,470],{"className":73,"code":469,"language":75,"meta":76,"style":76},"function defineCachedHandler\u003CE extends HTTPEvent = HTTPEvent>(\n  handler: EventHandler\u003CE>,\n  opts: CachedEventHandlerOptions\u003CE> =\n",[67,471,472,494,509],{"__ignoreMap":76},[80,473,474,476,479,481,483,485,487,489,491],{"class":82,"line":83},[80,475,284],{"class":86},[80,477,478],{"class":90}," defineCachedHandler",[80,480,95],{"class":94},[80,482,98],{"class":90},[80,484,101],{"class":86},[80,486,104],{"class":90},[80,488,107],{"class":86},[80,490,104],{"class":90},[80,492,493],{"class":94},">(\n",[80,495,496,499,501,503,505,507],{"class":82,"line":359},[80,497,498],{"class":293},"  handler",[80,500,297],{"class":86},[80,502,118],{"class":90},[80,504,95],{"class":94},[80,506,98],{"class":90},[80,508,399],{"class":94},[80,510,511,513,515,518,520,522,524],{"class":82,"line":402},[80,512,405],{"class":293},[80,514,297],{"class":86},[80,516,517],{"class":90}," CachedEventHandlerOptions",[80,519,95],{"class":94},[80,521,98],{"class":90},[80,523,112],{"class":94},[80,525,423],{"class":86},[129,527,528],{},"Wraps an HTTP event handler with response caching.",[129,530,531,532,337,535,538,539,542,543,546],{},"Automatically generates cache keys from the URL path and variable headers,\nsets ",[67,533,534],{},"cache-control",[67,536,537],{},"etag",", and ",[67,540,541],{},"last-modified"," headers, and handles\n",[67,544,545],{},"304 Not Modified"," responses via conditional request headers.",[129,548,549],{},[430,550,432],{},[240,552,553,561],{},[243,554,555,560],{},[430,556,557],{},[67,558,559],{},"handler"," — The event handler to cache.",[243,562,563,567],{},[430,564,565],{},[67,566,294],{}," — Cache and HTTP-specific configuration options.",[129,569,570,572,573,337,576,538,579,582],{},[430,571,454],{}," — A new event handler that serves cached responses when available. The handler\nalso exposes ",[67,574,575],{},".resolveKeys(event)",[67,577,578],{},".invalidate(event)",[67,580,581],{},".expire(event)"," for\non-demand revalidation, keyed exactly as the handler caches (no key reconstruction).",[155,584],{},[63,586,588],{"id":587},"eventhandler",[67,589,145],{},[71,591,593],{"className":73,"code":592,"language":75,"meta":76,"style":76},"type EventHandler\u003CE extends HTTPEvent = HTTPEvent> = (\n",[67,594,595],{"__ignoreMap":76},[80,596,597,599,601,603,605,607,609,611,613,615,617],{"class":82,"line":83},[80,598,87],{"class":86},[80,600,118],{"class":90},[80,602,95],{"class":94},[80,604,98],{"class":90},[80,606,101],{"class":86},[80,608,104],{"class":90},[80,610,107],{"class":86},[80,612,104],{"class":90},[80,614,112],{"class":94},[80,616,115],{"class":86},[80,618,619],{"class":94}," (\n",[129,621,622,623,627],{},"Handler function that receives an ",[140,624,625],{"href":149},[67,626,152],{}," and returns a response value.",[155,629],{},[63,631,633],{"id":632},"expirecache",[67,634,635],{},"expireCache",[71,637,639],{"className":73,"code":638,"language":75,"meta":76,"style":76},"async function expireCache\u003CArgsT extends unknown[] = any[]>(\n  input:\n",[67,640,641,668],{"__ignoreMap":76},[80,642,643,646,649,652,654,656,658,660,662,664,666],{"class":82,"line":83},[80,644,645],{"class":86},"async",[80,647,648],{"class":86}," function",[80,650,651],{"class":90}," expireCache",[80,653,95],{"class":94},[80,655,340],{"class":90},[80,657,101],{"class":86},[80,659,345],{"class":175},[80,661,348],{"class":94},[80,663,115],{"class":86},[80,665,353],{"class":175},[80,667,356],{"class":94},[80,669,670,673],{"class":82,"line":359},[80,671,672],{"class":293},"  input",[80,674,675],{"class":86},":\n",[129,677,678],{},"Expires cached entries for given arguments and cache options across all base prefixes,\nwithout removing them.",[129,680,681,682,688,689,692],{},"Unlike ",[140,683,685],{"href":684},"#invalidatecache",[67,686,687],{},"invalidateCache"," (which removes entries entirely), expired entries keep\nserving the stale value with SWR — still bounded by the originally configured\n",[67,690,691],{},"staleMaxAge"," window — while the next access triggers a background refresh.\nWithout SWR, the next call re-resolves before returning.",[129,694,695,696,698,699,702,703,698,706,698,709,711],{},"Uses the same key derivation as ",[67,697,190],{}," \u002F ",[67,700,701],{},"resolveCacheKeys",".\nPass the same ",[67,704,705],{},"maxAge",[67,707,708],{},"swr",[67,710,691],{}," options you cache with so the\nremaining storage TTL is preserved.",[129,713,714],{},[430,715,432],{},[240,717,718],{},[243,719,720,725,726,729,730,732],{},[430,721,722],{},[67,723,724],{},"input"," — Object with ",[67,727,728],{},"options"," (cache options) and optional ",[67,731,373],{}," (function arguments).",[129,734,735],{},[430,736,737],{},"Example:",[71,739,741],{"className":73,"code":740,"language":75,"meta":76,"style":76},"\u002F\u002F Mark a cached entry for background refresh on next access\nawait expireCache({\n  options: { name: \"fetchUser\", getKey: (id: string) => id, maxAge: 60, staleMaxAge: 300 },\n  args: [\"user-123\"],\n});\n",[67,742,743,749,759,802,814],{"__ignoreMap":76},[80,744,745],{"class":82,"line":83},[80,746,748],{"class":747},"sCsY4","\u002F\u002F Mark a cached entry for background refresh on next access\n",[80,750,751,754,756],{"class":82,"line":359},[80,752,753],{"class":86},"await",[80,755,651],{"class":90},[80,757,758],{"class":94},"({\n",[80,760,761,764,767,769,772,775,778,780,783,785,787,790,793,796,799],{"class":82,"line":402},[80,762,763],{"class":94},"  options: { name: ",[80,765,766],{"class":215},"\"fetchUser\"",[80,768,337],{"class":94},[80,770,771],{"class":90},"getKey",[80,773,774],{"class":94},": (",[80,776,777],{"class":293},"id",[80,779,297],{"class":86},[80,781,782],{"class":175}," string",[80,784,381],{"class":94},[80,786,384],{"class":86},[80,788,789],{"class":94}," id, maxAge: ",[80,791,792],{"class":175},"60",[80,794,795],{"class":94},", staleMaxAge: ",[80,797,798],{"class":175},"300",[80,800,801],{"class":94}," },\n",[80,803,805,808,811],{"class":82,"line":804},4,[80,806,807],{"class":94},"  args: [",[80,809,810],{"class":215},"\"user-123\"",[80,812,813],{"class":94},"],\n",[80,815,817],{"class":82,"line":816},5,[80,818,819],{"class":94},"});\n",[155,821],{},[63,823,825],{"id":824},"invalidatecache",[67,826,687],{},[71,828,830],{"className":73,"code":829,"language":75,"meta":76,"style":76},"async function invalidateCache\u003CArgsT extends unknown[] = any[]>(\n  input:\n",[67,831,832,857],{"__ignoreMap":76},[80,833,834,836,838,841,843,845,847,849,851,853,855],{"class":82,"line":83},[80,835,645],{"class":86},[80,837,648],{"class":86},[80,839,840],{"class":90}," invalidateCache",[80,842,95],{"class":94},[80,844,340],{"class":90},[80,846,101],{"class":86},[80,848,345],{"class":175},[80,850,348],{"class":94},[80,852,115],{"class":86},[80,854,353],{"class":175},[80,856,356],{"class":94},[80,858,859,861],{"class":82,"line":359},[80,860,672],{"class":293},[80,862,675],{"class":86},[129,864,865],{},"Invalidates (removes) cached entries for given arguments and cache options across all base prefixes.",[129,867,695,868,698,870,135],{},[67,869,190],{},[67,871,701],{},[129,873,874],{},[430,875,432],{},[240,877,878],{},[243,879,880,725,884,729,886,732],{},[430,881,882],{},[67,883,724],{},[67,885,728],{},[67,887,373],{},[129,889,890],{},[430,891,737],{},[71,893,895],{"className":73,"code":894,"language":75,"meta":76,"style":76},"\u002F\u002F Invalidate a specific cached entry\nawait invalidateCache({\n  options: { name: \"fetchUser\", getKey: (id: string) => id },\n  args: [\"user-123\"],\n});\n",[67,896,897,902,910,935,943],{"__ignoreMap":76},[80,898,899],{"class":82,"line":83},[80,900,901],{"class":747},"\u002F\u002F Invalidate a specific cached entry\n",[80,903,904,906,908],{"class":82,"line":359},[80,905,753],{"class":86},[80,907,840],{"class":90},[80,909,758],{"class":94},[80,911,912,914,916,918,920,922,924,926,928,930,932],{"class":82,"line":402},[80,913,763],{"class":94},[80,915,766],{"class":215},[80,917,337],{"class":94},[80,919,771],{"class":90},[80,921,774],{"class":94},[80,923,777],{"class":293},[80,925,297],{"class":86},[80,927,782],{"class":175},[80,929,381],{"class":94},[80,931,384],{"class":86},[80,933,934],{"class":94}," id },\n",[80,936,937,939,941],{"class":82,"line":804},[80,938,807],{"class":94},[80,940,810],{"class":215},[80,942,813],{"class":94},[80,944,945],{"class":82,"line":816},[80,946,819],{"class":94},[155,948],{},[63,950,952],{"id":951},"resolvecachekeys",[67,953,701],{},[71,955,957],{"className":73,"code":956,"language":75,"meta":76,"style":76},"async function resolveCacheKeys\u003CArgsT extends unknown[] = any[]>(\n  input:\n",[67,958,959,984],{"__ignoreMap":76},[80,960,961,963,965,968,970,972,974,976,978,980,982],{"class":82,"line":83},[80,962,645],{"class":86},[80,964,648],{"class":86},[80,966,967],{"class":90}," resolveCacheKeys",[80,969,95],{"class":94},[80,971,340],{"class":90},[80,973,101],{"class":86},[80,975,345],{"class":175},[80,977,348],{"class":94},[80,979,115],{"class":86},[80,981,353],{"class":175},[80,983,356],{"class":94},[80,985,986,988],{"class":82,"line":359},[80,987,672],{"class":293},[80,989,675],{"class":86},[129,991,992],{},"Resolves all cache storage keys (one per base prefix) for given arguments and cache options.",[129,994,695,995,997],{},[67,996,190],{}," internally:",[240,999,1000,1010],{},[243,1001,1002,1003,1006,1007,1009],{},"When ",[67,1004,1005],{},"opts.getKey"," is provided, it is called with ",[67,1008,373],{}," to produce the key segment.",[243,1011,1012,1013,1015,1016,1019,1020,1022],{},"Otherwise, ",[67,1014,373],{}," are hashed with ",[67,1017,1018],{},"ohash"," (same default as ",[67,1021,190],{},").",[129,1024,1025,1026,337,1028,337,1031,538,1034,1037,1038,698,1040,1042],{},"Pass the same ",[67,1027,771],{},[67,1029,1030],{},"name",[67,1032,1033],{},"group",[67,1035,1036],{},"base"," options you use in\n",[67,1039,190],{},[67,1041,134],{}," to get the exact storage keys.",[129,1044,1045],{},[430,1046,432],{},[240,1048,1049],{},[243,1050,1051,725,1055,729,1057,732],{},[430,1052,1053],{},[67,1054,724],{},[67,1056,728],{},[67,1058,373],{},[129,1060,1061,1063],{},[430,1062,454],{}," — An array of storage key strings (one per base prefix).",[129,1065,1066],{},[430,1067,737],{},[71,1069,1071],{"className":73,"code":1070,"language":75,"meta":76,"style":76},"const keys = await resolveCacheKeys({\n  options: { name: \"fetchUser\", getKey: (id: string) => id },\n  args: [\"user-123\"],\n});\nfor (const key of keys) {\n  await useStorage().set(key, null); \u002F\u002F invalidate all tiers\n}\n",[67,1072,1073,1089,1113,1121,1125,1143,1170],{"__ignoreMap":76},[80,1074,1075,1077,1080,1082,1085,1087],{"class":82,"line":83},[80,1076,172],{"class":86},[80,1078,1079],{"class":175}," keys",[80,1081,107],{"class":86},[80,1083,1084],{"class":86}," await",[80,1086,967],{"class":90},[80,1088,758],{"class":94},[80,1090,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111],{"class":82,"line":359},[80,1092,763],{"class":94},[80,1094,766],{"class":215},[80,1096,337],{"class":94},[80,1098,771],{"class":90},[80,1100,774],{"class":94},[80,1102,777],{"class":293},[80,1104,297],{"class":86},[80,1106,782],{"class":175},[80,1108,381],{"class":94},[80,1110,384],{"class":86},[80,1112,934],{"class":94},[80,1114,1115,1117,1119],{"class":82,"line":402},[80,1116,807],{"class":94},[80,1118,810],{"class":215},[80,1120,813],{"class":94},[80,1122,1123],{"class":82,"line":804},[80,1124,819],{"class":94},[80,1126,1127,1130,1132,1134,1137,1140],{"class":82,"line":816},[80,1128,1129],{"class":86},"for",[80,1131,367],{"class":94},[80,1133,172],{"class":86},[80,1135,1136],{"class":175}," key",[80,1138,1139],{"class":86}," of",[80,1141,1142],{"class":94}," keys) {\n",[80,1144,1146,1149,1152,1155,1158,1161,1164,1167],{"class":82,"line":1145},6,[80,1147,1148],{"class":86},"  await",[80,1150,1151],{"class":90}," useStorage",[80,1153,1154],{"class":94},"().",[80,1156,1157],{"class":90},"set",[80,1159,1160],{"class":94},"(key, ",[80,1162,1163],{"class":175},"null",[80,1165,1166],{"class":94},"); ",[80,1168,1169],{"class":747},"\u002F\u002F invalidate all tiers\n",[80,1171,1173],{"class":82,"line":1172},7,[80,1174,1175],{"class":94},"}\n",[155,1177],{},[63,1179,1181],{"id":1180},"setstorage",[67,1182,1183],{},"setStorage",[71,1185,1187],{"className":73,"code":1186,"language":75,"meta":76,"style":76},"function setStorage(storage: StorageInterface): void\n",[67,1188,1189],{"__ignoreMap":76},[80,1190,1191,1193,1196,1198,1201,1203,1206,1209,1211],{"class":82,"line":83},[80,1192,284],{"class":86},[80,1194,1195],{"class":90}," setStorage",[80,1197,290],{"class":94},[80,1199,1200],{"class":293},"storage",[80,1202,297],{"class":86},[80,1204,1205],{"class":90}," StorageInterface",[80,1207,1208],{"class":94},")",[80,1210,297],{"class":86},[80,1212,1213],{"class":175}," void\n",[129,1215,1216],{},"Sets a custom storage implementation to be used by all cached functions.",[155,1218],{},[63,1220,1222],{"id":1221},"usestorage",[67,1223,1224],{},"useStorage",[71,1226,1228],{"className":73,"code":1227,"language":75,"meta":76,"style":76},"function useStorage(): StorageInterface\n",[67,1229,1230],{"__ignoreMap":76},[80,1231,1232,1234,1236,1239,1241],{"class":82,"line":83},[80,1233,284],{"class":86},[80,1235,1151],{"class":90},[80,1237,1238],{"class":94},"()",[80,1240,297],{"class":86},[80,1242,1243],{"class":90}," StorageInterface\n",[129,1245,1246,1247,1249],{},"Returns the current storage instance. If none has been set via ",[67,1248,1183],{},", lazily initializes an in-memory storage.",[1251,1252,1253],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}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);}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":76,"searchDepth":359,"depth":359,"links":1255},[1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267],{"id":65,"depth":402,"text":69},{"id":159,"depth":402,"text":162},{"id":195,"depth":402,"text":198},{"id":271,"depth":402,"text":274},{"id":315,"depth":402,"text":190},{"id":464,"depth":402,"text":134},{"id":587,"depth":402,"text":145},{"id":632,"depth":402,"text":635},{"id":824,"depth":402,"text":687},{"id":951,"depth":402,"text":701},{"id":1180,"depth":402,"text":1183},{"id":1221,"depth":402,"text":1224},"md",{"automd":1270,"icon":16},true,{"icon":16},{"title":13,"description":76},"A8x--irR2K07a_u5224X-YTEK5CTpceLO7jIWbfHc4k",[1275,1276],{"title":10,"path":6,"stem":7,"description":76,"icon":11,"children":-1},{"title":18,"path":19,"stem":20,"description":76,"icon":21,"children":-1},1783601179223]