@nifrajs/web 5.5.1 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/dist/boundary.d.ts +67 -7
  3. package/dist/boundary.d.ts.map +1 -1
  4. package/dist/boundary.js +6 -4
  5. package/dist/boundary.js.map +1 -1
  6. package/dist/build-plan.d.ts +3 -0
  7. package/dist/build-plan.d.ts.map +1 -1
  8. package/dist/build-plan.js.map +1 -1
  9. package/dist/build-vite.d.ts.map +1 -1
  10. package/dist/build-vite.js +2 -0
  11. package/dist/build-vite.js.map +1 -1
  12. package/dist/build.d.ts +9 -2
  13. package/dist/build.d.ts.map +1 -1
  14. package/dist/build.js +9 -0
  15. package/dist/build.js.map +1 -1
  16. package/dist/client.d.ts +2 -1
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +140 -12
  19. package/dist/client.js.map +1 -1
  20. package/dist/csp.d.ts +8 -0
  21. package/dist/csp.d.ts.map +1 -1
  22. package/dist/csp.js +11 -2
  23. package/dist/csp.js.map +1 -1
  24. package/dist/deferred.d.ts +6 -4
  25. package/dist/deferred.d.ts.map +1 -1
  26. package/dist/deferred.js +10 -6
  27. package/dist/deferred.js.map +1 -1
  28. package/dist/dev-feed.d.ts.map +1 -1
  29. package/dist/dev-feed.js +11 -2
  30. package/dist/dev-feed.js.map +1 -1
  31. package/dist/dev-session.d.ts.map +1 -1
  32. package/dist/dev-session.js +13 -6
  33. package/dist/dev-session.js.map +1 -1
  34. package/dist/dev.d.ts +4 -1
  35. package/dist/dev.d.ts.map +1 -1
  36. package/dist/dev.js +12 -5
  37. package/dist/dev.js.map +1 -1
  38. package/dist/diagnostic-catalog.d.ts +4 -0
  39. package/dist/diagnostic-catalog.d.ts.map +1 -1
  40. package/dist/diagnostic-catalog.js +48 -0
  41. package/dist/diagnostic-catalog.js.map +1 -1
  42. package/dist/diagnostic.d.ts +1 -1
  43. package/dist/diagnostic.d.ts.map +1 -1
  44. package/dist/diagnostic.js +1 -1
  45. package/dist/diagnostic.js.map +1 -1
  46. package/dist/fn.d.ts +5 -3
  47. package/dist/fn.d.ts.map +1 -1
  48. package/dist/fn.js +20 -5
  49. package/dist/fn.js.map +1 -1
  50. package/dist/fs.d.ts.map +1 -1
  51. package/dist/fs.js +13 -3
  52. package/dist/fs.js.map +1 -1
  53. package/dist/identity.d.ts +22 -0
  54. package/dist/identity.d.ts.map +1 -0
  55. package/dist/identity.js +60 -0
  56. package/dist/identity.js.map +1 -0
  57. package/dist/index.d.ts +7 -6
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/internal/cdn/cloudflare.d.ts +2 -1
  62. package/dist/internal/cdn/cloudflare.d.ts.map +1 -1
  63. package/dist/internal/cdn/cloudflare.js +2 -1
  64. package/dist/internal/cdn/cloudflare.js.map +1 -1
  65. package/dist/internal/certified-components.d.ts +1 -1
  66. package/dist/internal/certified-components.js +1 -1
  67. package/dist/internal/codegen.d.ts +11 -10
  68. package/dist/internal/codegen.d.ts.map +1 -1
  69. package/dist/internal/codegen.js +65 -8
  70. package/dist/internal/codegen.js.map +1 -1
  71. package/dist/internal/dev-websocket.d.ts +73 -0
  72. package/dist/internal/dev-websocket.d.ts.map +1 -0
  73. package/dist/internal/dev-websocket.js +145 -0
  74. package/dist/internal/dev-websocket.js.map +1 -0
  75. package/dist/internal/hole-runtime.d.ts +66 -0
  76. package/dist/internal/hole-runtime.d.ts.map +1 -0
  77. package/dist/internal/hole-runtime.js +211 -0
  78. package/dist/internal/hole-runtime.js.map +1 -0
  79. package/dist/internal/identity-epoch.d.ts +50 -0
  80. package/dist/internal/identity-epoch.d.ts.map +1 -0
  81. package/dist/internal/identity-epoch.js +179 -0
  82. package/dist/internal/identity-epoch.js.map +1 -0
  83. package/dist/internal/invalidation-contract.d.ts +23 -0
  84. package/dist/internal/invalidation-contract.d.ts.map +1 -0
  85. package/dist/internal/invalidation-contract.js +11 -0
  86. package/dist/internal/invalidation-contract.js.map +1 -0
  87. package/dist/internal/invalidation.d.ts +62 -0
  88. package/dist/internal/invalidation.d.ts.map +1 -0
  89. package/dist/internal/invalidation.js +149 -0
  90. package/dist/internal/invalidation.js.map +1 -0
  91. package/dist/internal/island-bindings.d.ts +51 -0
  92. package/dist/internal/island-bindings.d.ts.map +1 -0
  93. package/dist/internal/island-bindings.js +147 -0
  94. package/dist/internal/island-bindings.js.map +1 -0
  95. package/dist/internal/island-list.d.ts +26 -0
  96. package/dist/internal/island-list.d.ts.map +1 -0
  97. package/dist/internal/island-list.js +78 -0
  98. package/dist/internal/island-list.js.map +1 -0
  99. package/dist/internal/island-mount.d.ts +4 -0
  100. package/dist/internal/island-mount.d.ts.map +1 -0
  101. package/dist/internal/island-mount.js +66 -0
  102. package/dist/internal/island-mount.js.map +1 -0
  103. package/dist/internal/island-owner.d.ts +5 -0
  104. package/dist/internal/island-owner.d.ts.map +1 -0
  105. package/dist/internal/island-owner.js +20 -0
  106. package/dist/internal/island-owner.js.map +1 -0
  107. package/dist/internal/island-resource.d.ts +30 -0
  108. package/dist/internal/island-resource.d.ts.map +1 -0
  109. package/dist/internal/island-resource.js +57 -0
  110. package/dist/internal/island-resource.js.map +1 -0
  111. package/dist/internal/island-signals.d.ts +51 -0
  112. package/dist/internal/island-signals.d.ts.map +1 -0
  113. package/dist/internal/island-signals.js +220 -0
  114. package/dist/internal/island-signals.js.map +1 -0
  115. package/dist/internal/keep-alive-table.d.ts +23 -0
  116. package/dist/internal/keep-alive-table.d.ts.map +1 -0
  117. package/dist/internal/keep-alive-table.js +53 -0
  118. package/dist/internal/keep-alive-table.js.map +1 -0
  119. package/dist/internal/live-contract.d.ts +96 -0
  120. package/dist/internal/live-contract.d.ts.map +1 -0
  121. package/dist/internal/live-contract.js +5 -0
  122. package/dist/internal/live-contract.js.map +1 -0
  123. package/dist/internal/live-queries.d.ts +22 -0
  124. package/dist/internal/live-queries.d.ts.map +1 -0
  125. package/dist/internal/live-queries.js +54 -0
  126. package/dist/internal/live-queries.js.map +1 -0
  127. package/dist/internal/page-events.d.ts +10 -0
  128. package/dist/internal/page-events.d.ts.map +1 -0
  129. package/dist/internal/page-events.js +26 -0
  130. package/dist/internal/page-events.js.map +1 -0
  131. package/dist/internal/page-execution.d.ts +14 -1
  132. package/dist/internal/page-execution.d.ts.map +1 -1
  133. package/dist/internal/page-execution.js +415 -31
  134. package/dist/internal/page-execution.js.map +1 -1
  135. package/dist/internal/ppr/admission.d.ts +83 -0
  136. package/dist/internal/ppr/admission.d.ts.map +1 -0
  137. package/dist/internal/ppr/admission.js +221 -0
  138. package/dist/internal/ppr/admission.js.map +1 -0
  139. package/dist/internal/ppr/canary.d.ts +24 -0
  140. package/dist/internal/ppr/canary.d.ts.map +1 -0
  141. package/dist/internal/ppr/canary.js +102 -0
  142. package/dist/internal/ppr/canary.js.map +1 -0
  143. package/dist/internal/ppr/compile-shell.d.ts +39 -0
  144. package/dist/internal/ppr/compile-shell.d.ts.map +1 -0
  145. package/dist/internal/ppr/compile-shell.js +298 -0
  146. package/dist/internal/ppr/compile-shell.js.map +1 -0
  147. package/dist/internal/ppr/contract.d.ts +177 -0
  148. package/dist/internal/ppr/contract.d.ts.map +1 -0
  149. package/dist/internal/ppr/contract.js +80 -0
  150. package/dist/internal/ppr/contract.js.map +1 -0
  151. package/dist/internal/ppr/frames.d.ts +71 -0
  152. package/dist/internal/ppr/frames.d.ts.map +1 -0
  153. package/dist/internal/ppr/frames.js +119 -0
  154. package/dist/internal/ppr/frames.js.map +1 -0
  155. package/dist/internal/ppr/integration.d.ts +19 -0
  156. package/dist/internal/ppr/integration.d.ts.map +1 -0
  157. package/dist/internal/ppr/integration.js +106 -0
  158. package/dist/internal/ppr/integration.js.map +1 -0
  159. package/dist/internal/ppr/options.d.ts +96 -0
  160. package/dist/internal/ppr/options.d.ts.map +1 -0
  161. package/dist/internal/ppr/options.js +125 -0
  162. package/dist/internal/ppr/options.js.map +1 -0
  163. package/dist/internal/ppr/route-rules.d.ts +12 -0
  164. package/dist/internal/ppr/route-rules.d.ts.map +1 -0
  165. package/dist/internal/ppr/route-rules.js +53 -0
  166. package/dist/internal/ppr/route-rules.js.map +1 -0
  167. package/dist/internal/ppr/runtime.d.ts +29 -0
  168. package/dist/internal/ppr/runtime.d.ts.map +1 -0
  169. package/dist/internal/ppr/runtime.js +32 -0
  170. package/dist/internal/ppr/runtime.js.map +1 -0
  171. package/dist/internal/ppr/server.d.ts +29 -0
  172. package/dist/internal/ppr/server.d.ts.map +1 -0
  173. package/dist/internal/ppr/server.js +1407 -0
  174. package/dist/internal/ppr/server.js.map +1 -0
  175. package/dist/internal/ppr/shell-store.d.ts +38 -0
  176. package/dist/internal/ppr/shell-store.d.ts.map +1 -0
  177. package/dist/internal/ppr/shell-store.js +90 -0
  178. package/dist/internal/ppr/shell-store.js.map +1 -0
  179. package/dist/internal/prerendered-pages.d.ts +1 -1
  180. package/dist/internal/prerendered-pages.d.ts.map +1 -1
  181. package/dist/internal/prerendered-pages.js +7 -4
  182. package/dist/internal/prerendered-pages.js.map +1 -1
  183. package/dist/internal/query-digest.d.ts +9 -0
  184. package/dist/internal/query-digest.d.ts.map +1 -0
  185. package/dist/internal/query-digest.js +23 -0
  186. package/dist/internal/query-digest.js.map +1 -0
  187. package/dist/internal/query-runtime.d.ts +6 -1
  188. package/dist/internal/query-runtime.d.ts.map +1 -1
  189. package/dist/internal/query-runtime.js +9 -0
  190. package/dist/internal/query-runtime.js.map +1 -1
  191. package/dist/internal/query-seam.d.ts +29 -0
  192. package/dist/internal/query-seam.d.ts.map +1 -0
  193. package/dist/internal/query-seam.js +23 -0
  194. package/dist/internal/query-seam.js.map +1 -0
  195. package/dist/internal/render-document.d.ts +28 -1
  196. package/dist/internal/render-document.d.ts.map +1 -1
  197. package/dist/internal/render-document.js +83 -18
  198. package/dist/internal/render-document.js.map +1 -1
  199. package/dist/internal/request-abort.d.ts +8 -0
  200. package/dist/internal/request-abort.d.ts.map +1 -0
  201. package/dist/internal/request-abort.js +22 -0
  202. package/dist/internal/request-abort.js.map +1 -0
  203. package/dist/internal/server-boundary.d.ts +2 -0
  204. package/dist/internal/server-boundary.d.ts.map +1 -1
  205. package/dist/internal/server-boundary.js +8 -1
  206. package/dist/internal/server-boundary.js.map +1 -1
  207. package/dist/internal/share-data.d.ts +10 -0
  208. package/dist/internal/share-data.d.ts.map +1 -0
  209. package/dist/internal/share-data.js +135 -0
  210. package/dist/internal/share-data.js.map +1 -0
  211. package/dist/internal/store-signature.d.ts +15 -0
  212. package/dist/internal/store-signature.d.ts.map +1 -0
  213. package/dist/internal/store-signature.js +114 -0
  214. package/dist/internal/store-signature.js.map +1 -0
  215. package/dist/internal/vite-plugin-compat.d.ts +2 -2
  216. package/dist/internal/vite-plugin-compat.js +2 -2
  217. package/dist/internal/web-app.d.ts +25 -0
  218. package/dist/internal/web-app.d.ts.map +1 -1
  219. package/dist/internal/web-app.js +78 -3
  220. package/dist/internal/web-app.js.map +1 -1
  221. package/dist/islands-swap.d.ts +41 -0
  222. package/dist/islands-swap.d.ts.map +1 -0
  223. package/dist/islands-swap.js +270 -0
  224. package/dist/islands-swap.js.map +1 -0
  225. package/dist/islands.d.ts +86 -24
  226. package/dist/islands.d.ts.map +1 -1
  227. package/dist/islands.js +138 -78
  228. package/dist/islands.js.map +1 -1
  229. package/dist/isr.d.ts +67 -13
  230. package/dist/isr.d.ts.map +1 -1
  231. package/dist/isr.js +247 -99
  232. package/dist/isr.js.map +1 -1
  233. package/dist/keep-alive.d.ts +147 -0
  234. package/dist/keep-alive.d.ts.map +1 -0
  235. package/dist/keep-alive.js +1069 -0
  236. package/dist/keep-alive.js.map +1 -0
  237. package/dist/live/bus.d.ts +56 -0
  238. package/dist/live/bus.d.ts.map +1 -0
  239. package/dist/live/bus.js +32 -0
  240. package/dist/live/bus.js.map +1 -0
  241. package/dist/live/core.d.ts +25 -0
  242. package/dist/live/core.d.ts.map +1 -0
  243. package/dist/live/core.js +29 -0
  244. package/dist/live/core.js.map +1 -0
  245. package/dist/live/history.d.ts +38 -0
  246. package/dist/live/history.d.ts.map +1 -0
  247. package/dist/live/history.js +104 -0
  248. package/dist/live/history.js.map +1 -0
  249. package/dist/live/hub-protocol.d.ts +46 -0
  250. package/dist/live/hub-protocol.d.ts.map +1 -0
  251. package/dist/live/hub-protocol.js +108 -0
  252. package/dist/live/hub-protocol.js.map +1 -0
  253. package/dist/live/hub.d.ts +181 -0
  254. package/dist/live/hub.d.ts.map +1 -0
  255. package/dist/live/hub.js +539 -0
  256. package/dist/live/hub.js.map +1 -0
  257. package/dist/live/keyring.d.ts +87 -0
  258. package/dist/live/keyring.d.ts.map +1 -0
  259. package/dist/live/keyring.js +260 -0
  260. package/dist/live/keyring.js.map +1 -0
  261. package/dist/live/read-capped.d.ts +6 -0
  262. package/dist/live/read-capped.d.ts.map +1 -0
  263. package/dist/live/read-capped.js +42 -0
  264. package/dist/live/read-capped.js.map +1 -0
  265. package/dist/live/revocations.d.ts +52 -0
  266. package/dist/live/revocations.d.ts.map +1 -0
  267. package/dist/live/revocations.js +116 -0
  268. package/dist/live/revocations.js.map +1 -0
  269. package/dist/live/settings.d.ts +14 -0
  270. package/dist/live/settings.d.ts.map +1 -0
  271. package/dist/live/settings.js +38 -0
  272. package/dist/live/settings.js.map +1 -0
  273. package/dist/live-client.d.ts +34 -0
  274. package/dist/live-client.d.ts.map +1 -0
  275. package/dist/live-client.js +840 -0
  276. package/dist/live-client.js.map +1 -0
  277. package/dist/live-hub.d.ts +130 -0
  278. package/dist/live-hub.d.ts.map +1 -0
  279. package/dist/live-hub.js +507 -0
  280. package/dist/live-hub.js.map +1 -0
  281. package/dist/live-redis.d.ts +48 -0
  282. package/dist/live-redis.d.ts.map +1 -0
  283. package/dist/live-redis.js +201 -0
  284. package/dist/live-redis.js.map +1 -0
  285. package/dist/live.d.ts +94 -0
  286. package/dist/live.d.ts.map +1 -0
  287. package/dist/live.js +869 -0
  288. package/dist/live.js.map +1 -0
  289. package/dist/manifest.d.ts +113 -2
  290. package/dist/manifest.d.ts.map +1 -1
  291. package/dist/manifest.js +109 -5
  292. package/dist/manifest.js.map +1 -1
  293. package/dist/navigation.d.ts +9 -3
  294. package/dist/navigation.d.ts.map +1 -1
  295. package/dist/navigation.js +13 -3
  296. package/dist/navigation.js.map +1 -1
  297. package/dist/plugins/vite-zone-guard.d.ts +6 -0
  298. package/dist/plugins/vite-zone-guard.d.ts.map +1 -1
  299. package/dist/plugins/vite-zone-guard.js +8 -2
  300. package/dist/plugins/vite-zone-guard.js.map +1 -1
  301. package/dist/ppr.d.ts +73 -0
  302. package/dist/ppr.d.ts.map +1 -0
  303. package/dist/ppr.js +76 -0
  304. package/dist/ppr.js.map +1 -0
  305. package/dist/query.d.ts +8 -13
  306. package/dist/query.d.ts.map +1 -1
  307. package/dist/query.js +112 -18
  308. package/dist/query.js.map +1 -1
  309. package/dist/render-seam.d.ts +30 -0
  310. package/dist/render-seam.d.ts.map +1 -1
  311. package/dist/render-seam.js +5 -0
  312. package/dist/render-seam.js.map +1 -1
  313. package/dist/route-types.d.ts.map +1 -1
  314. package/dist/route-types.js +2 -2
  315. package/dist/route-types.js.map +1 -1
  316. package/dist/router.d.ts +72 -4
  317. package/dist/router.d.ts.map +1 -1
  318. package/dist/router.js +374 -99
  319. package/dist/router.js.map +1 -1
  320. package/dist/server-components/build.d.ts.map +1 -1
  321. package/dist/server-components/build.js +3 -3
  322. package/dist/server-components/build.js.map +1 -1
  323. package/dist/server-components/client.d.ts +23 -1
  324. package/dist/server-components/client.d.ts.map +1 -1
  325. package/dist/server-components/client.js +92 -5
  326. package/dist/server-components/client.js.map +1 -1
  327. package/dist/server-components/hole.d.ts +8 -0
  328. package/dist/server-components/hole.d.ts.map +1 -0
  329. package/dist/server-components/hole.js +20 -0
  330. package/dist/server-components/hole.js.map +1 -0
  331. package/dist/server-components/html-policy.d.ts.map +1 -1
  332. package/dist/server-components/html-policy.js +62 -4
  333. package/dist/server-components/html-policy.js.map +1 -1
  334. package/dist/server-components/html-scan.d.ts +17 -0
  335. package/dist/server-components/html-scan.d.ts.map +1 -0
  336. package/dist/server-components/html-scan.js +180 -0
  337. package/dist/server-components/html-scan.js.map +1 -0
  338. package/dist/server-components/html.d.ts.map +1 -1
  339. package/dist/server-components/html.js +19 -4
  340. package/dist/server-components/html.js.map +1 -1
  341. package/dist/server-components/router-integration.d.ts +4 -1
  342. package/dist/server-components/router-integration.d.ts.map +1 -1
  343. package/dist/server-components/router-integration.js +23 -2
  344. package/dist/server-components/router-integration.js.map +1 -1
  345. package/dist/server-components/runtime.d.ts +6 -1
  346. package/dist/server-components/runtime.d.ts.map +1 -1
  347. package/dist/server-components/runtime.js +86 -28
  348. package/dist/server-components/runtime.js.map +1 -1
  349. package/dist/server-components/state.d.ts +3 -1
  350. package/dist/server-components/state.d.ts.map +1 -1
  351. package/dist/server-components/state.js +50 -38
  352. package/dist/server-components/state.js.map +1 -1
  353. package/dist/server-components/types.d.ts +9 -0
  354. package/dist/server-components/types.d.ts.map +1 -1
  355. package/dist/vite.d.ts +5 -1
  356. package/dist/vite.d.ts.map +1 -1
  357. package/dist/vite.js +58 -4
  358. package/dist/vite.js.map +1 -1
  359. package/package.json +48 -8
  360. package/src/boundary.ts +77 -5
  361. package/src/build-plan.ts +3 -0
  362. package/src/build-vite.ts +2 -0
  363. package/src/build.ts +19 -1
  364. package/src/client.ts +147 -10
  365. package/src/csp.ts +16 -2
  366. package/src/deferred.ts +11 -5
  367. package/src/dev-feed.ts +11 -2
  368. package/src/dev-session.ts +22 -11
  369. package/src/dev.ts +29 -8
  370. package/src/diagnostic-catalog.ts +53 -0
  371. package/src/diagnostic.ts +1 -0
  372. package/src/fn.ts +24 -7
  373. package/src/fs.ts +22 -8
  374. package/src/identity.ts +61 -0
  375. package/src/index.ts +19 -0
  376. package/src/internal/cdn/cloudflare.ts +2 -1
  377. package/src/internal/certified-components.ts +1 -1
  378. package/src/internal/codegen.ts +87 -8
  379. package/src/internal/dev-websocket.ts +230 -0
  380. package/src/internal/hole-runtime.ts +286 -0
  381. package/src/internal/identity-epoch.ts +235 -0
  382. package/src/internal/invalidation-contract.ts +35 -0
  383. package/src/internal/invalidation.ts +213 -0
  384. package/src/internal/island-bindings.ts +191 -0
  385. package/src/internal/island-list.ts +92 -0
  386. package/src/internal/island-mount.ts +68 -0
  387. package/src/internal/island-owner.ts +20 -0
  388. package/src/internal/island-resource.ts +76 -0
  389. package/src/internal/island-signals.ts +249 -0
  390. package/src/internal/keep-alive-table.ts +72 -0
  391. package/src/internal/live-contract.ts +106 -0
  392. package/src/internal/live-queries.ts +60 -0
  393. package/src/internal/page-events.ts +27 -0
  394. package/src/internal/page-execution.ts +579 -40
  395. package/src/internal/ppr/admission.ts +300 -0
  396. package/src/internal/ppr/canary.ts +122 -0
  397. package/src/internal/ppr/compile-shell.ts +379 -0
  398. package/src/internal/ppr/contract.ts +265 -0
  399. package/src/internal/ppr/frames.ts +170 -0
  400. package/src/internal/ppr/integration.ts +137 -0
  401. package/src/internal/ppr/options.ts +221 -0
  402. package/src/internal/ppr/route-rules.ts +77 -0
  403. package/src/internal/ppr/runtime.ts +36 -0
  404. package/src/internal/ppr/server.ts +1764 -0
  405. package/src/internal/ppr/shell-store.ts +139 -0
  406. package/src/internal/prerendered-pages.ts +7 -4
  407. package/src/internal/query-digest.ts +34 -0
  408. package/src/internal/query-runtime.ts +14 -1
  409. package/src/internal/query-seam.ts +48 -0
  410. package/src/internal/render-document.ts +149 -22
  411. package/src/internal/request-abort.ts +26 -0
  412. package/src/internal/server-boundary.ts +10 -1
  413. package/src/internal/share-data.ts +136 -0
  414. package/src/internal/store-signature.ts +149 -0
  415. package/src/internal/vite-plugin-compat.ts +2 -2
  416. package/src/internal/web-app.ts +121 -3
  417. package/src/islands-swap.ts +283 -0
  418. package/src/islands.ts +169 -72
  419. package/src/isr.ts +348 -106
  420. package/src/keep-alive.ts +1315 -0
  421. package/src/live/bus.ts +77 -0
  422. package/src/live/core.ts +52 -0
  423. package/src/live/history.ts +109 -0
  424. package/src/live/hub-protocol.ts +133 -0
  425. package/src/live/hub.ts +615 -0
  426. package/src/live/keyring.ts +379 -0
  427. package/src/live/read-capped.ts +36 -0
  428. package/src/live/revocations.ts +155 -0
  429. package/src/live/settings.ts +46 -0
  430. package/src/live-client.ts +973 -0
  431. package/src/live-hub.ts +658 -0
  432. package/src/live-redis.ts +259 -0
  433. package/src/live.ts +1096 -0
  434. package/src/manifest.ts +274 -6
  435. package/src/navigation.ts +14 -2
  436. package/src/plugins/vite-zone-guard.ts +15 -2
  437. package/src/ppr.ts +153 -0
  438. package/src/query.ts +147 -20
  439. package/src/render-seam.ts +35 -0
  440. package/src/route-types.ts +3 -1
  441. package/src/router.ts +494 -101
  442. package/src/server-components/build.ts +9 -3
  443. package/src/server-components/client.ts +89 -5
  444. package/src/server-components/hole.ts +23 -0
  445. package/src/server-components/html-policy.ts +63 -4
  446. package/src/server-components/html-scan.ts +159 -0
  447. package/src/server-components/html.ts +18 -4
  448. package/src/server-components/router-integration.ts +21 -2
  449. package/src/server-components/runtime.ts +112 -30
  450. package/src/server-components/state.ts +66 -44
  451. package/src/server-components/types.ts +16 -0
  452. package/src/vite.ts +75 -6
  453. package/dist/nano.d.ts +0 -125
  454. package/dist/nano.d.ts.map +0 -1
  455. package/dist/nano.js +0 -190
  456. package/dist/nano.js.map +0 -1
  457. package/src/nano.ts +0 -246
@@ -3,10 +3,11 @@ import { cspCandidateNonce, cspDocumentNonce, cspHeaderValue, prepareCspPolicy,
3
3
  import { DEFAULT_CSS_LOADING, normalizeCssLoading } from "../css-contract.js";
4
4
  import { DEFERRED_ERROR_CODE, DEFERRED_RUNTIME, prepareDeferred } from "../deferred.js";
5
5
  import { ISR_REVALIDATE_HEADER, ISR_REVALIDATE_TAGS_HEADER, serializeISRTags } from "../isr.js";
6
- import { ACTION_GLOBAL, BOUNDARY_GLOBAL, COPY_CHUNKS_GLOBAL, COPY_REALM, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, LOCALES_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, } from "../render-seam.js";
6
+ import { ACTION_GLOBAL, BOUNDARY_GLOBAL, COPY_CHUNKS_GLOBAL, COPY_REALM, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, LOCALES_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, SWAP_HEADER, } from "../render-seam.js";
7
7
  import { PRERENDERED_GLOBAL } from "../router.js";
8
8
  import { trustedHeadAttributes } from "./head-attributes.js";
9
9
  import { isStaticMeta, mergeHeads } from "./head-merge.js";
10
+ import { reportDeferredRejection } from "./request-abort.js";
10
11
  import { PRE_HYDRATION_GUARD } from "./runtime-contract.js";
11
12
  import { EXECUTABLE_SCRIPT_TYPES, INERT_SCRIPT_TYPES } from "./script-types.js";
12
13
  const TEXT_ENCODER = new TextEncoder();
@@ -53,6 +54,15 @@ export function renderPage(options) {
53
54
  const page = renderPageResult(options);
54
55
  return page instanceof Promise ? page.then((p) => p.toResponse()) : page.toResponse();
55
56
  }
57
+ // Every option of an adapter call, for a render with slot wrappers (only a keep-alive app's).
58
+ const streamOptions = (nonce, parts, slots) => {
59
+ const options = { slots };
60
+ if (nonce !== undefined)
61
+ options.nonce = nonce;
62
+ if (parts !== undefined)
63
+ options.parts = parts;
64
+ return options;
65
+ };
56
66
  export function renderPageResult(options) {
57
67
  const { csp } = options;
58
68
  if (csp !== undefined) {
@@ -253,6 +263,8 @@ export function renderPageResult(options) {
253
263
  headers[name] = value;
254
264
  }
255
265
  }
266
+ if (adapter.renderSlot !== undefined)
267
+ headers.vary = headers.vary === undefined ? SWAP_HEADER : `${headers.vary}, ${SWAP_HEADER}`;
256
268
  // ISR: advertise the route's freshness so a `withISR` wrapper can set this page's cache TTL. A
257
269
  // dedicated header (not the action-revalidation `x-nifra-revalidate`) so the TTL channel never aliases
258
270
  // the client's path-list channel.
@@ -295,13 +307,22 @@ export function renderPageResult(options) {
295
307
  ...(options.matchChain !== undefined ? { matchChain: options.matchChain } : {}),
296
308
  ...(locale === undefined ? {} : { locale }),
297
309
  };
310
+ const { swapSlot, ...documentOptions } = options;
311
+ const slots = options.slots;
312
+ if (swapSlot !== undefined && allDeferred.length === 0 && adapter.renderSlot !== undefined) {
313
+ const slotPage = (slotHtml) => slotHtml === undefined
314
+ ? renderPageResult(documentOptions)
315
+ : new BufferedRenderedPage(slotHtml, status, swapHeaders(headers, swapSlot));
316
+ const out = adapter.renderSlot(chain, renderProps, swapSlot);
317
+ return out instanceof Promise ? out.then(slotPage) : slotPage(out);
318
+ }
298
319
  // Fast path: nothing `defer()`s and the adapter can render synchronously to a string → buffer the
299
320
  // whole document in one pass. Progressive streaming only benefits pages with deferred boundaries
300
321
  // (those take the streaming path below); for a plain page the streaming pipeline + the framework's
301
322
  // streaming renderer are pure overhead vs a single sync render + concat. A buffered string body also
302
323
  // gets an automatic Content-Length. A render throw surfaces here exactly as the streaming path's
303
324
  // shell-readiness `await` does, so the `_error` boundary still maps it to a status.
304
- const streamed = (streamNonce) => renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, streamNonce, streamNonce === nonce ? nonceAttr : ` nonce="${escapeAttr(streamNonce ?? "")}"`).then((response) => new ResponseRenderedPage(response));
325
+ const streamed = (streamNonce) => renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, streamNonce, streamNonce === nonce ? nonceAttr : ` nonce="${escapeAttr(streamNonce ?? "")}"`, options.signal, options.slots, options.logError).then((response) => new ResponseRenderedPage(response));
305
326
  const last = chain[chain.length - 1];
306
327
  const leaf = isWeakKey(last) ? last : undefined;
307
328
  if (allDeferred.length === 0 && adapter.renderToString !== undefined) {
@@ -328,11 +349,13 @@ export function renderPageResult(options) {
328
349
  adoptNonce();
329
350
  return streamed(renderNonce);
330
351
  }
331
- const out = parts !== undefined
332
- ? adapter.renderToString(chain, renderProps, renderNonce === undefined ? { parts } : { nonce: renderNonce, parts })
333
- : renderNonce === undefined
334
- ? adapter.renderToString(chain, renderProps)
335
- : adapter.renderToString(chain, renderProps, { nonce: renderNonce });
352
+ const out = slots !== undefined
353
+ ? adapter.renderToString(chain, renderProps, streamOptions(renderNonce, parts, slots))
354
+ : parts !== undefined
355
+ ? adapter.renderToString(chain, renderProps, renderNonce === undefined ? { parts } : { nonce: renderNonce, parts })
356
+ : renderNonce === undefined
357
+ ? adapter.renderToString(chain, renderProps)
358
+ : adapter.renderToString(chain, renderProps, { nonce: renderNonce });
336
359
  const page = (bodyHtml) => {
337
360
  if (bodyHtml === undefined) {
338
361
  // The render suspended on something only the streaming renderer waits for (React's `use`
@@ -354,7 +377,7 @@ export function renderPageResult(options) {
354
377
  }
355
378
  return streamed(nonce);
356
379
  }
357
- async function renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, nonce, nonceAttr) {
380
+ async function renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, nonce, nonceAttr, signal, slots, logError) {
358
381
  // Streaming path - required for `defer()` (progressive `<Await>` resolution) and used by any adapter
359
382
  // that doesn't implement `renderToString`. Awaiting `renderToStream` resolves on shell-readiness
360
383
  // (React: on-shell-ready; Solid: synchronously), so a shell-render throw surfaces before any byte is
@@ -362,16 +385,35 @@ async function renderStreamedPage(adapter, chain, renderProps, shellOf, parts, c
362
385
  const enc = TEXT_ENCODER;
363
386
  const closeRoot = enc.encode(closeRootHtml);
364
387
  const tail = enc.encode(tailHtml);
365
- const appStream = parts !== undefined
366
- ? await adapter.renderToStream(chain, renderProps, nonce === undefined ? { parts } : { nonce, parts })
367
- : nonce === undefined
368
- ? await adapter.renderToStream(chain, renderProps)
369
- : await adapter.renderToStream(chain, renderProps, { nonce });
388
+ const appStream = slots !== undefined
389
+ ? await adapter.renderToStream(chain, renderProps, streamOptions(nonce, parts, slots))
390
+ : parts !== undefined
391
+ ? await adapter.renderToStream(chain, renderProps, nonce === undefined ? { parts } : { nonce, parts })
392
+ : nonce === undefined
393
+ ? await adapter.renderToStream(chain, renderProps)
394
+ : await adapter.renderToStream(chain, renderProps, { nonce });
370
395
  // After the render: an adapter fills its document parts before handing back the stream.
371
396
  const shell = enc.encode(shellOf());
372
- const body = streamDocument(shell, appStream, closeRoot, allDeferred, tail, enc, nonceAttr);
397
+ const body = streamDocument(shell, appStream, closeRoot, allDeferred, tail, enc, nonceAttr, signal, logError);
373
398
  return new Response(body, { status, headers });
374
399
  }
400
+ // A swap response shares its URL with the document, so like a data response it is never stored: a
401
+ // cache keyed on the URL alone would serve one slot in place of the page. A slot joins a page that
402
+ // already runs under its own policy, so the CSP header belongs to the document alone.
403
+ const DOCUMENT_ONLY_HEADERS = new Set([
404
+ ISR_REVALIDATE_HEADER,
405
+ ISR_REVALIDATE_TAGS_HEADER,
406
+ "content-security-policy",
407
+ ]);
408
+ function swapHeaders(document, slot) {
409
+ const headers = {};
410
+ for (const [name, value] of Object.entries(document))
411
+ if (!DOCUMENT_ONLY_HEADERS.has(name))
412
+ headers[name] = value;
413
+ headers["cache-control"] = "private, no-store";
414
+ headers[SWAP_HEADER] = slot;
415
+ return headers;
416
+ }
375
417
  class BufferedRenderedPage {
376
418
  [RESPONSE_RESULT] = true;
377
419
  body;
@@ -417,7 +459,7 @@ function htmlResponse(body, init) {
417
459
  * The app stream is read one chunk per pull, so a client that stops reading stops the renderer
418
460
  * too: a stalled connection holds a chunk, not the whole rendered body.
419
461
  */
420
- function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr) {
462
+ function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr, signal, logError) {
421
463
  const reader = stream.getReader();
422
464
  // A client that goes away cancels the body: the renderer stops, and nothing more is written.
423
465
  let cancelled = false;
@@ -439,7 +481,7 @@ function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr
439
481
  // A rejected (or unserializable) deferred streams __nifraReject (the client `<Await>`
440
482
  // surfaces it) - it must not break the whole body. Redact: stream a stable opaque code,
441
483
  // never the raw error text; log the real reason server-side.
442
- console.error("[nifra/web] deferred value rejected:", err);
484
+ reportDeferredRejection(signal, err, logError);
443
485
  return `<script${nonceAttr}>window.__nifraReject(${d.id},${serializeData(DEFERRED_ERROR_CODE)})</script>`;
444
486
  }));
445
487
  return new ReadableStream({
@@ -659,6 +701,25 @@ export function gone(options = {}) {
659
701
  export function statusPage(status, options = {}) {
660
702
  return statusSignal(status, options);
661
703
  }
704
+ /** `value` is what {@link revalidate} returned. */
705
+ export function isRevalidateResult(value) {
706
+ return typeof value === "object" && value !== null && "__nifraRevalidate" in value;
707
+ }
708
+ const INVALIDATION_NAME = /^[A-Za-z][A-Za-z0-9._:/-]{0,127}$/;
709
+ const MAX_INVALIDATION_NAMES = 64;
710
+ function invalidationNames(names, kind) {
711
+ if (names === undefined)
712
+ return [];
713
+ if (!Array.isArray(names) || names.length > MAX_INVALIDATION_NAMES) {
714
+ throw new TypeError(`[nifra/web] revalidate() takes at most ${MAX_INVALIDATION_NAMES} ${kind}`);
715
+ }
716
+ for (const name of names) {
717
+ if (typeof name !== "string" || !INVALIDATION_NAME.test(name)) {
718
+ throw new TypeError(`[nifra/web] revalidate() ${kind} are a letter followed by up to 127 of A-Z a-z 0-9 . _ : / -`);
719
+ }
720
+ }
721
+ return [...new Set(names)];
722
+ }
662
723
  /**
663
724
  * Return this from an action to declare which routes the mutation changed (alongside the action's
664
725
  * `data`). `createWebApp` sets the `X-Nifra-Revalidate` response header; after the submit the client
@@ -666,8 +727,12 @@ export function statusPage(status, options = {}) {
666
727
  * so a mutation can refresh views beyond the one that was submitted. `data` is still surfaced to the
667
728
  * component as `actionData` (the wrapper is transparent to `ActionData<typeof action>`).
668
729
  */
669
- export function revalidate(paths, data) {
670
- return { __nifraRevalidate: paths, data };
730
+ export function revalidate(paths, data, options) {
731
+ if (options === undefined)
732
+ return { __nifraRevalidate: paths, data };
733
+ const tags = invalidationNames(options.tags, "tags");
734
+ const keys = invalidationNames(options.keys, "keys");
735
+ return { __nifraRevalidate: paths, data, __nifraInvalidate: { tags, keys } };
671
736
  }
672
737
  /**
673
738
  * Serialize loader data for embedding inside an inline `<script>`. `JSON.stringify` alone
@@ -1 +1 @@
1
- {"version":3,"file":"render-document.js","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-document.js","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Whether `error` is a load giving up because its request was aborted - the client went away - rather
2
+ * than a failure: nobody reads the outcome, so there is nothing to report. */
3
+ export declare function isRequestAbort(signal: AbortSignal | undefined, error: unknown): boolean;
4
+ /** Report a deferred value's rejection to `log`, the app's error log, or to the console without
5
+ * one or when it throws: both callers stream an opaque error code after this, which a failing
6
+ * logger must not cut off. A rejection the client's leaving caused is not reported. */
7
+ export declare function reportDeferredRejection(signal: AbortSignal | undefined, error: unknown, log: ((error: unknown) => void) | undefined): void;
8
+ //# sourceMappingURL=request-abort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-abort.d.ts","sourceRoot":"","sources":["../../src/internal/request-abort.ts"],"names":[],"mappings":"AAAA;8EAC8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAKvF;AAED;;uFAEuF;AACvF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,GAC1C,IAAI,CASN"}
@@ -0,0 +1,22 @@
1
+ /** Whether `error` is a load giving up because its request was aborted - the client went away - rather
2
+ * than a failure: nobody reads the outcome, so there is nothing to report. */
3
+ export function isRequestAbort(signal, error) {
4
+ return (signal?.aborted === true &&
5
+ (error === signal.reason || (error instanceof Error && error.name === "AbortError")));
6
+ }
7
+ /** Report a deferred value's rejection to `log`, the app's error log, or to the console without
8
+ * one or when it throws: both callers stream an opaque error code after this, which a failing
9
+ * logger must not cut off. A rejection the client's leaving caused is not reported. */
10
+ export function reportDeferredRejection(signal, error, log) {
11
+ if (isRequestAbort(signal, error))
12
+ return;
13
+ if (log !== undefined) {
14
+ try {
15
+ log(error);
16
+ return;
17
+ }
18
+ catch { }
19
+ }
20
+ console.error("[nifra/web] deferred value rejected:", error);
21
+ }
22
+ //# sourceMappingURL=request-abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-abort.js","sourceRoot":"","sources":["../../src/internal/request-abort.ts"],"names":[],"mappings":"AAAA;8EAC8E;AAC9E,MAAM,UAAU,cAAc,CAAC,MAA+B,EAAE,KAAc;IAC5E,OAAO,CACL,MAAM,EAAE,OAAO,KAAK,IAAI;QACxB,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CACrF,CAAA;AACH,CAAC;AAED;;uFAEuF;AACvF,MAAM,UAAU,uBAAuB,CACrC,MAA+B,EAC/B,KAAc,EACd,GAA2C;IAE3C,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAM;IACzC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,CAAA;YACV,OAAM;QACR,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;AAC9D,CAAC"}
@@ -11,6 +11,8 @@
11
11
  */
12
12
  /** Modules whose exports become client stubs: `todos.fn.ts`, `x.fn.mjs`, or the extensionless `foo.fn`. */
13
13
  export declare const SERVER_FN_MODULE: RegExp;
14
+ /** A server-function namespace: lowercase, dot/dash separated, so a mount cannot invent a path. */
15
+ export declare const SERVER_FN_NAMESPACE: RegExp;
14
16
  /**
15
17
  * The namespace a `*.fn.ts` module is mounted under: its filename without the `.fn` suffix.
16
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server-boundary.d.ts","sourceRoot":"","sources":["../../src/internal/server-boundary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,QAA2B,CAAA;AAoFxD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAwC9E;AAMD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKtE"}
1
+ {"version":3,"file":"server-boundary.d.ts","sourceRoot":"","sources":["../../src/internal/server-boundary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,QAA2B,CAAA;AACxD,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,QAAkC,CAAA;AAoFlE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU1D;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAwC9E;AAMD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKtE"}
@@ -11,6 +11,8 @@
11
11
  */
12
12
  /** Modules whose exports become client stubs: `todos.fn.ts`, `x.fn.mjs`, or the extensionless `foo.fn`. */
13
13
  export const SERVER_FN_MODULE = /\.fn(\.[cm]?[jt]sx?)?$/;
14
+ /** A server-function namespace: lowercase, dot/dash separated, so a mount cannot invent a path. */
15
+ export const SERVER_FN_NAMESPACE = /^[a-z0-9]+(?:[-.][a-z0-9]+)*$/;
14
16
  import { jsStringLiteral } from "./js-string.js";
15
17
  import { DATE_TAG, REVIVE_DATES_SOURCE } from "./revive-dates.js";
16
18
  // ---------------------------------------------------------------------------------------------------
@@ -104,7 +106,12 @@ function stringEnd(source, start) {
104
106
  */
105
107
  export function serverFnNamespace(filePath) {
106
108
  const base = filePath.replaceAll("\\", "/").split("/").pop() ?? "";
107
- return base.replace(SERVER_FN_MODULE, "");
109
+ const namespace = base.replace(SERVER_FN_MODULE, "");
110
+ // `serverFunctions()` refuses this namespace, so a stub calling it could never reach a function.
111
+ if (!SERVER_FN_NAMESPACE.test(namespace)) {
112
+ throw new Error(`[nifra/fn] ${base} names the server-function namespace ${JSON.stringify(namespace)}, which serverFunctions() refuses - name the file in lowercase dot/dash segments (todo-items.fn.ts).`);
113
+ }
114
+ return namespace;
108
115
  }
109
116
  /** The server functions a module declares, in source order. */
110
117
  export function scanServerFnExports(source) {
@@ -1 +1 @@
1
- {"version":3,"file":"server-boundary.js","sourceRoot":"","sources":["../../src/internal/server-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-boundary.js","sourceRoot":"","sources":["../../src/internal/server-boundary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Structural sharing for reloaded route data. Plain objects and arrays compare by content and Dates
3
+ * by time; other values and symbol-bearing objects come from `next`. Non-tree client data stays
4
+ * intact. `plainJson` is only for freshly parsed JSON, before any client-loader transformation.
5
+ *
6
+ * Array elements with an `id` pair by it before position, preserving unchanged rows on a prepend or
7
+ * reorder. An array whose first 32 elements keep nothing is taken whole, without a full old-row index.
8
+ */
9
+ export declare function shareData<T>(prev: unknown, next: T, plainJson?: boolean): T;
10
+ //# sourceMappingURL=share-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-data.d.ts","sourceRoot":"","sources":["../../src/internal/share-data.ts"],"names":[],"mappings":"AAyBA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA"}
@@ -0,0 +1,135 @@
1
+ const isPlain = (value) => typeof value === "object" && value !== null && Object.getPrototypeOf(value) === Object.prototype;
2
+ const TOO_DEEP = Symbol("data too deep");
3
+ // Client loaders may return graphs, unlike JSON. Check the whole graph before comparing: a cycle
4
+ // inside a new subtree or beyond the array sample must not acquire copied parents. Shared references
5
+ // and accessors also keep the fresh result intact, rather than changing aliases or invoking getters.
6
+ function isTree(value, seen, depth) {
7
+ if (!Array.isArray(value) && !isPlain(value))
8
+ return true;
9
+ if (depth >= 128 || seen.has(value))
10
+ return false;
11
+ seen.add(value);
12
+ for (const key of Reflect.ownKeys(value)) {
13
+ const field = Object.getOwnPropertyDescriptor(value, key);
14
+ if (field === undefined ||
15
+ !("value" in field) ||
16
+ (!field.enumerable && !(Array.isArray(value) && key === "length")) ||
17
+ !isTree(field.value, seen, depth + 1))
18
+ return false;
19
+ }
20
+ return true;
21
+ }
22
+ export function shareData(prev, next, plainJson = false) {
23
+ if (Object.is(prev, next))
24
+ return prev;
25
+ if (!plainJson && !isTree(next, new Set(), 0))
26
+ return next;
27
+ try {
28
+ return share(prev, next, 0, plainJson);
29
+ }
30
+ catch (error) {
31
+ if (error === TOO_DEEP)
32
+ return next;
33
+ throw error;
34
+ }
35
+ }
36
+ // Client loaders can attach metadata that an enumerable-string-key copy would lose. Parsed JSON has
37
+ // no symbol keys, and the check would cost a third of a reload that changed one row.
38
+ const hasSymbols = (a, b) => Object.getOwnPropertySymbols(a).length > 0 || Object.getOwnPropertySymbols(b).length > 0;
39
+ function share(prev, next, depth, json) {
40
+ if (Object.is(prev, next))
41
+ return prev;
42
+ if (prev instanceof Date)
43
+ return next instanceof Date && prev.getTime() === next.getTime() ? prev : next;
44
+ if (Array.isArray(next)) {
45
+ if (!Array.isArray(prev) || (!json && hasSymbols(prev, next)))
46
+ return next;
47
+ if (depth >= 128)
48
+ throw TOO_DEEP;
49
+ const out = [];
50
+ let same = prev.length === next.length;
51
+ let byId;
52
+ let completeIndex = false;
53
+ // Which old elements a new one took, from the first id lookup on: each pairs at most once, so
54
+ // duplicate ids never put one old object at two places. Every element before that lookup took
55
+ // its own position.
56
+ let taken;
57
+ let kept = 0;
58
+ let i = 0;
59
+ for (const item of next) {
60
+ let old = taken?.[i] === 1 ? undefined : prev[i];
61
+ const id = isPlain(item) ? item.id : undefined;
62
+ if (id !== undefined && !(isPlain(old) && old.id === id)) {
63
+ if (taken === undefined) {
64
+ taken = new Uint8Array(prev.length);
65
+ taken.fill(1, 0, i);
66
+ }
67
+ if (byId === undefined || (i >= 32 && !completeIndex)) {
68
+ // Index only IDs needed by the sample until a kept row makes a full index worthwhile.
69
+ const wanted = i < 32
70
+ ? new Set(next.slice(0, 32).map((value) => (isPlain(value) ? value.id : undefined)))
71
+ : undefined;
72
+ completeIndex = wanted === undefined;
73
+ let min = Number.POSITIVE_INFINITY;
74
+ let max = Number.NEGATIVE_INFINITY;
75
+ for (const key of wanted ?? []) {
76
+ if (typeof key !== "number" || Number.isNaN(key)) {
77
+ min = Number.NEGATIVE_INFINITY;
78
+ max = Number.POSITIVE_INFINITY;
79
+ break;
80
+ }
81
+ min = Math.min(min, key);
82
+ max = Math.max(max, key);
83
+ }
84
+ byId = new Map();
85
+ for (let at = 0; at < prev.length; at++) {
86
+ const entry = prev[at];
87
+ if (!isPlain(entry))
88
+ continue;
89
+ const entryId = entry.id;
90
+ if (wanted === undefined ||
91
+ ((typeof entryId !== "number" || !(entryId < min || entryId > max)) &&
92
+ wanted.has(entryId)))
93
+ byId.set(entryId, at);
94
+ }
95
+ }
96
+ const at = byId.get(id);
97
+ old = at === undefined || taken[at] === 1 ? undefined : prev[at];
98
+ if (at !== undefined)
99
+ taken[at] = 1;
100
+ }
101
+ else if (taken !== undefined && i < taken.length && old !== undefined) {
102
+ taken[i] = 1;
103
+ }
104
+ const value = share(old, item, depth + 1, json);
105
+ out.push(value);
106
+ if (value === old)
107
+ kept++;
108
+ else if (i === 31 && kept === 0)
109
+ return next;
110
+ if (value !== prev[i])
111
+ same = false;
112
+ i++;
113
+ }
114
+ return same ? prev : out;
115
+ }
116
+ if (!isPlain(prev) || !isPlain(next) || (!json && hasSymbols(prev, next)))
117
+ return next;
118
+ if (depth >= 128)
119
+ throw TOO_DEEP;
120
+ const keys = Object.keys(next);
121
+ let same = keys.length === Object.keys(prev).length;
122
+ const out = {};
123
+ for (const key of keys) {
124
+ // A parsed payload can own a `__proto__` key, which a copy would turn into its prototype.
125
+ if (key === "__proto__")
126
+ return next;
127
+ const old = prev[key];
128
+ const value = share(old, next[key], depth + 1, json);
129
+ if (value !== old || (old === undefined && !Object.hasOwn(prev, key)))
130
+ same = false;
131
+ out[key] = value;
132
+ }
133
+ return same ? prev : out;
134
+ }
135
+ //# sourceMappingURL=share-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-data.js","sourceRoot":"","sources":["../../src/internal/share-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** Below this, a secret is too short to sign with. */
2
+ export declare const MIN_STORE_SECRET_LENGTH = 32;
3
+ export declare const isStoreSecret: (value: unknown) => value is string;
4
+ /**
5
+ * Signs a list of strings. Each part is hashed behind its length, so no two lists hash the same
6
+ * bytes, whatever the parts hold.
7
+ */
8
+ export interface StoreSigner {
9
+ /** The parts' MAC, as lowercase hex. */
10
+ sign(parts: readonly string[]): Promise<string>;
11
+ /** Whether `mac` is the parts' MAC under this secret. Anything but 64 lowercase hex digits is not. */
12
+ verify(parts: readonly string[], mac: unknown): Promise<boolean>;
13
+ }
14
+ export declare function storeSigner(secret: string): StoreSigner;
15
+ //# sourceMappingURL=store-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-signature.d.ts","sourceRoot":"","sources":["../../src/internal/store-signature.ts"],"names":[],"mappings":"AAeA,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAEzC,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACc,CAAA;AAEtE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,IAAI,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/C,sGAAsG;IACtG,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACjE;AA4BD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAUvD"}