@timber-js/app 0.2.0-alpha.185 → 0.2.0-alpha.187
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.
- package/dist/_chunks/{actions-O_LsyCE4.js → actions-35jnMdeJ.js} +4 -3
- package/dist/_chunks/{actions-O_LsyCE4.js.map → actions-35jnMdeJ.js.map} +1 -1
- package/dist/_chunks/als-registry-C6kcfprT.js +41 -0
- package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -0
- package/dist/_chunks/als-slots-BEEIPKYm.js +26 -0
- package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -0
- package/dist/_chunks/base-path-DaQrzbez.js +80 -0
- package/dist/_chunks/base-path-DaQrzbez.js.map +1 -0
- package/dist/_chunks/build-manifest-DWppEdLB.js +86 -0
- package/dist/_chunks/build-manifest-DWppEdLB.js.map +1 -0
- package/dist/_chunks/build-output-helper-C3DrfzZR.js +369 -0
- package/dist/_chunks/build-output-helper-C3DrfzZR.js.map +1 -0
- package/dist/_chunks/{cache-api-B-lhk9p4.js → cache-api-DjNrIWRR.js} +8 -14
- package/dist/_chunks/cache-api-DjNrIWRR.js.map +1 -0
- package/dist/_chunks/cli-check-CpmN7Nh-.js +256 -0
- package/dist/_chunks/cli-check-CpmN7Nh-.js.map +1 -0
- package/dist/_chunks/cli-schema-sync-CGMp_Psg.js +298 -0
- package/dist/_chunks/cli-schema-sync-CGMp_Psg.js.map +1 -0
- package/dist/_chunks/{cloudflare-CnT5Lr7U.js → cloudflare-CGP6BZKO.js} +92 -14
- package/dist/_chunks/{cloudflare-CnT5Lr7U.js.map → cloudflare-CGP6BZKO.js.map} +1 -1
- package/dist/_chunks/convention-lint-kXsgc_-7.js +784 -0
- package/dist/_chunks/convention-lint-kXsgc_-7.js.map +1 -0
- package/dist/_chunks/error-boundary-D-ODYX41.js +353 -0
- package/dist/_chunks/error-boundary-D-ODYX41.js.map +1 -0
- package/dist/_chunks/{fast-hash-D6hIVt1Y.js → fast-hash-C-tVYrLb.js} +6 -1
- package/dist/_chunks/fast-hash-C-tVYrLb.js.map +1 -0
- package/dist/_chunks/file-cache-DmX7OqZP.js +454 -0
- package/dist/_chunks/file-cache-DmX7OqZP.js.map +1 -0
- package/dist/_chunks/fs-identity-D7vb6GdI.js +208 -0
- package/dist/_chunks/fs-identity-D7vb6GdI.js.map +1 -0
- package/dist/_chunks/{logger-AWfuX-KJ.js → logger-D8xJZXIN.js} +34 -51
- package/dist/_chunks/logger-D8xJZXIN.js.map +1 -0
- package/dist/_chunks/mdx-file-C005ay-P.js +25 -0
- package/dist/_chunks/mdx-file-C005ay-P.js.map +1 -0
- package/dist/_chunks/{plugin-context---kTF5v8.js → plugin-context-rCinWLiE.js} +8 -2
- package/dist/_chunks/plugin-context-rCinWLiE.js.map +1 -0
- package/dist/_chunks/purge-store-Byr8XOjU.js +14 -0
- package/dist/_chunks/purge-store-Byr8XOjU.js.map +1 -0
- package/dist/_chunks/{resolve-schema-Dz3fcFUo.js → resolve-schema-5ma5pp1b.js} +2 -2
- package/dist/_chunks/{resolve-schema-Dz3fcFUo.js.map → resolve-schema-5ma5pp1b.js.map} +1 -1
- package/dist/_chunks/{router-ref-CtmF-aPv.js → router-ref-DuYuV_0Q.js} +2 -2
- package/dist/_chunks/router-ref-DuYuV_0Q.js.map +1 -0
- package/dist/_chunks/rsc-cache-key-DD0fl_-s.js +243 -0
- package/dist/_chunks/rsc-cache-key-DD0fl_-s.js.map +1 -0
- package/dist/_chunks/rsc-error-envelope-tT5PJs4q.js +40 -0
- package/dist/_chunks/rsc-error-envelope-tT5PJs4q.js.map +1 -0
- package/dist/_chunks/rsc-media-type-DRqE_lD_.js +46 -0
- package/dist/_chunks/rsc-media-type-DRqE_lD_.js.map +1 -0
- package/dist/_chunks/rsc-payload-path-B_LBodc2.js +48 -0
- package/dist/_chunks/rsc-payload-path-B_LBodc2.js.map +1 -0
- package/dist/_chunks/scanner-C8b0Gcw3.js +1564 -0
- package/dist/_chunks/scanner-C8b0Gcw3.js.map +1 -0
- package/dist/_chunks/schema-bridge-Cc2Gngu1.js +199 -0
- package/dist/_chunks/schema-bridge-Cc2Gngu1.js.map +1 -0
- package/dist/_chunks/{segment-classify-Byy425ng.js → segment-classify-C539Pa2O.js} +23 -2
- package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -0
- package/dist/_chunks/segment-context-CjOlyB8Y.js +97 -0
- package/dist/_chunks/segment-context-CjOlyB8Y.js.map +1 -0
- package/dist/_chunks/{canonicalize-DQHyFClh.js → segment-keys-BawYuNFO.js} +61 -2
- package/dist/_chunks/segment-keys-BawYuNFO.js.map +1 -0
- package/dist/_chunks/slot-params-BCTmZkQB.js +76 -0
- package/dist/_chunks/slot-params-BCTmZkQB.js.map +1 -0
- package/dist/_chunks/{ssr-data-BOWsq18U.js → ssr-data-14MXm7Pj.js} +17 -2
- package/dist/_chunks/ssr-data-14MXm7Pj.js.map +1 -0
- package/dist/_chunks/{use-query-states-DFvWd-EA.js → use-query-states-BbU5Ge1V.js} +74 -26
- package/dist/_chunks/use-query-states-BbU5Ge1V.js.map +1 -0
- package/dist/_chunks/use-segment-params-C4r4BD9T.js +398 -0
- package/dist/_chunks/use-segment-params-C4r4BD9T.js.map +1 -0
- package/dist/_chunks/walkers-RzN6AFjr.js +141 -0
- package/dist/_chunks/walkers-RzN6AFjr.js.map +1 -0
- package/dist/adapters/build-output-helper.d.ts +37 -0
- package/dist/adapters/build-output-helper.d.ts.map +1 -1
- package/dist/adapters/cloudflare-dev.js +1 -1
- package/dist/adapters/cloudflare-kv-cache.js +1 -1
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +1 -1
- package/dist/adapters/compress-module.d.ts +12 -0
- package/dist/adapters/compress-module.d.ts.map +1 -1
- package/dist/adapters/fs-identity.d.ts +64 -0
- package/dist/adapters/fs-identity.d.ts.map +1 -0
- package/dist/adapters/nitro.d.ts.map +1 -1
- package/dist/adapters/nitro.js +56 -5
- package/dist/adapters/nitro.js.map +1 -1
- package/dist/adapters/shared.d.ts +57 -1
- package/dist/adapters/shared.d.ts.map +1 -1
- package/dist/adapters/types.d.ts +13 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/cache/fast-hash.d.ts +5 -0
- package/dist/cache/fast-hash.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cdn/cloudflare-purge.js +30 -0
- package/dist/cdn/cloudflare-purge.js.map +1 -0
- package/dist/cdn/fastly-purge.js +33 -0
- package/dist/cdn/fastly-purge.js.map +1 -0
- package/dist/cdn/index.js +94 -0
- package/dist/cdn/index.js.map +1 -0
- package/dist/cdn/workers-cache-purge.js +35 -0
- package/dist/cdn/workers-cache-purge.js.map +1 -0
- package/dist/cli-check.d.ts +153 -0
- package/dist/cli-check.d.ts.map +1 -0
- package/dist/cli.d.ts +34 -8
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +46 -21
- package/dist/cli.js.map +1 -1
- package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -1
- package/dist/client/browser-entry/hydrate.d.ts +20 -9
- package/dist/client/browser-entry/hydrate.d.ts.map +1 -1
- package/dist/client/browser-entry/index.d.ts +1 -1
- package/dist/client/browser-entry/index.d.ts.map +1 -1
- package/dist/client/browser-entry/post-hydration.d.ts +4 -1
- package/dist/client/browser-entry/post-hydration.d.ts.map +1 -1
- package/dist/client/browser-entry/router-init.d.ts +3 -0
- package/dist/client/browser-entry/router-init.d.ts.map +1 -1
- package/dist/client/browser-entry/rsc-stream.d.ts +8 -0
- package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -1
- package/dist/client/error-boundary.d.ts +7 -0
- package/dist/client/error-boundary.d.ts.map +1 -1
- package/dist/client/error-boundary.js +1 -162
- package/dist/client/history.d.ts +13 -6
- package/dist/client/history.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +42 -41
- package/dist/client/index.js.map +1 -1
- package/dist/client/internal.d.ts +4 -3
- package/dist/client/internal.d.ts.map +1 -1
- package/dist/client/internal.js +877 -311
- package/dist/client/internal.js.map +1 -1
- package/dist/client/link.d.ts +1 -7
- package/dist/client/link.d.ts.map +1 -1
- package/dist/client/navigation-api.d.ts +2 -2
- package/dist/client/navigation-commit.d.ts +87 -0
- package/dist/client/navigation-commit.d.ts.map +1 -0
- package/dist/client/navigation-context.d.ts +37 -20
- package/dist/client/navigation-context.d.ts.map +1 -1
- package/dist/client/navigation-root.d.ts +63 -23
- package/dist/client/navigation-root.d.ts.map +1 -1
- package/dist/client/params-context.d.ts +81 -0
- package/dist/client/params-context.d.ts.map +1 -0
- package/dist/client/router-effects.d.ts +129 -0
- package/dist/client/router-effects.d.ts.map +1 -0
- package/dist/client/router-lifecycle.d.ts +55 -0
- package/dist/client/router-lifecycle.d.ts.map +1 -0
- package/dist/client/router-pipeline.d.ts +84 -0
- package/dist/client/router-pipeline.d.ts.map +1 -0
- package/dist/client/router-ref.d.ts +1 -1
- package/dist/client/router-ref.d.ts.map +1 -1
- package/dist/client/router-skew.d.ts +21 -0
- package/dist/client/router-skew.d.ts.map +1 -0
- package/dist/client/router-types.d.ts +207 -0
- package/dist/client/router-types.d.ts.map +1 -0
- package/dist/client/router.d.ts +1 -182
- package/dist/client/router.d.ts.map +1 -1
- package/dist/client/rsc-fetch.d.ts +47 -26
- package/dist/client/rsc-fetch.d.ts.map +1 -1
- package/dist/client/segment-cache.d.ts +87 -34
- package/dist/client/segment-cache.d.ts.map +1 -1
- package/dist/client/ssr-data.d.ts +6 -0
- package/dist/client/ssr-data.d.ts.map +1 -1
- package/dist/client/stale-client.d.ts +69 -0
- package/dist/client/stale-client.d.ts.map +1 -0
- package/dist/client/state.d.ts +10 -1
- package/dist/client/state.d.ts.map +1 -1
- package/dist/client/top-loader.d.ts +2 -1
- package/dist/client/top-loader.d.ts.map +1 -1
- package/dist/client/unload-guard.d.ts +5 -0
- package/dist/client/unload-guard.d.ts.map +1 -1
- package/dist/client/use-cookie.d.ts.map +1 -1
- package/dist/client/use-query-states.d.ts +9 -3
- package/dist/client/use-query-states.d.ts.map +1 -1
- package/dist/client/use-router.d.ts +1 -1
- package/dist/client/use-segment-params.d.ts +18 -8
- package/dist/client/use-segment-params.d.ts.map +1 -1
- package/dist/codec.js +1 -1
- package/dist/cookies/define-cookie.d.ts.map +1 -1
- package/dist/cookies/index.js +5 -5
- package/dist/cookies/index.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1009 -759
- package/dist/index.js.map +1 -1
- package/dist/params/index.js +1 -1
- package/dist/plugin-context.d.ts +46 -0
- package/dist/plugin-context.d.ts.map +1 -1
- package/dist/plugins/adapter-build.d.ts.map +1 -1
- package/dist/plugins/build-manifest.d.ts +1 -1
- package/dist/plugins/build-manifest.d.ts.map +1 -1
- package/dist/plugins/entries.d.ts.map +1 -1
- package/dist/plugins/fonts.d.ts.map +1 -1
- package/dist/plugins/request-dep/analysis.d.ts +106 -0
- package/dist/plugins/request-dep/analysis.d.ts.map +1 -0
- package/dist/plugins/request-dep/index.d.ts +75 -0
- package/dist/plugins/request-dep/index.d.ts.map +1 -0
- package/dist/plugins/request-dep/origin.d.ts +61 -0
- package/dist/plugins/request-dep/origin.d.ts.map +1 -0
- package/dist/plugins/routing.d.ts.map +1 -1
- package/dist/plugins/shims.d.ts.map +1 -1
- package/dist/plugins/static-build.d.ts +160 -8
- package/dist/plugins/static-build.d.ts.map +1 -1
- package/dist/routing/codegen-shared.d.ts +3 -44
- package/dist/routing/codegen-shared.d.ts.map +1 -1
- package/dist/routing/codegen-types.d.ts +28 -31
- package/dist/routing/codegen-types.d.ts.map +1 -1
- package/dist/routing/codegen-write.d.ts +51 -0
- package/dist/routing/codegen-write.d.ts.map +1 -0
- package/dist/routing/codegen.d.ts.map +1 -1
- package/dist/routing/collision-probe.d.ts +104 -0
- package/dist/routing/collision-probe.d.ts.map +1 -0
- package/dist/routing/collision-spaces.d.ts +26 -0
- package/dist/routing/collision-spaces.d.ts.map +1 -0
- package/dist/routing/convention-lint.d.ts +18 -4
- package/dist/routing/convention-lint.d.ts.map +1 -1
- package/dist/routing/export-detect.d.ts +16 -0
- package/dist/routing/export-detect.d.ts.map +1 -1
- package/dist/routing/index.js +4 -3
- package/dist/routing/interception.d.ts +235 -6
- package/dist/routing/interception.d.ts.map +1 -1
- package/dist/routing/link-codegen.d.ts +19 -4
- package/dist/routing/link-codegen.d.ts.map +1 -1
- package/dist/routing/manifest-codegen.d.ts +1 -7
- package/dist/routing/manifest-codegen.d.ts.map +1 -1
- package/dist/routing/scanner.d.ts.map +1 -1
- package/dist/routing/segment-classify.d.ts +33 -0
- package/dist/routing/segment-classify.d.ts.map +1 -1
- package/dist/routing/segment-keys.d.ts +95 -0
- package/dist/routing/segment-keys.d.ts.map +1 -0
- package/dist/routing/slot-placement.d.ts +48 -0
- package/dist/routing/slot-placement.d.ts.map +1 -0
- package/dist/routing/types.d.ts +0 -6
- package/dist/routing/types.d.ts.map +1 -1
- package/dist/routing/walkers.d.ts +6 -0
- package/dist/routing/walkers.d.ts.map +1 -1
- package/dist/schema-bridge.d.ts +60 -9
- package/dist/schema-bridge.d.ts.map +1 -1
- package/dist/search-params/define.d.ts +62 -14
- package/dist/search-params/define.d.ts.map +1 -1
- package/dist/search-params/index.d.ts +0 -1
- package/dist/search-params/index.d.ts.map +1 -1
- package/dist/search-params/index.js +221 -10
- package/dist/search-params/index.js.map +1 -1
- package/dist/search-params/parse-total.d.ts +70 -0
- package/dist/search-params/parse-total.d.ts.map +1 -0
- package/dist/search-params/wrappers.d.ts +26 -3
- package/dist/search-params/wrappers.d.ts.map +1 -1
- package/dist/server/access-gate.d.ts +19 -8
- package/dist/server/access-gate.d.ts.map +1 -1
- package/dist/server/action-handler.d.ts.map +1 -1
- package/dist/server/actions.d.ts +6 -3
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/als-registry.d.ts +18 -1
- package/dist/server/als-registry.d.ts.map +1 -1
- package/dist/server/build-manifest.d.ts +13 -1
- package/dist/server/build-manifest.d.ts.map +1 -1
- package/dist/server/chain-url-parts.d.ts +82 -0
- package/dist/server/chain-url-parts.d.ts.map +1 -0
- package/dist/server/children-interception.d.ts +49 -0
- package/dist/server/children-interception.d.ts.map +1 -0
- package/dist/server/compress.d.ts.map +1 -1
- package/dist/server/default-status-page.d.ts +45 -0
- package/dist/server/default-status-page.d.ts.map +1 -0
- package/dist/server/deny-boundary.d.ts +148 -15
- package/dist/server/deny-boundary.d.ts.map +1 -1
- package/dist/server/deny-renderer.d.ts +15 -4
- package/dist/server/deny-renderer.d.ts.map +1 -1
- package/dist/server/error-boundary-wrapper.d.ts +85 -15
- package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
- package/dist/server/head-response.d.ts +35 -0
- package/dist/server/head-response.d.ts.map +1 -0
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/internal.d.ts +3 -1
- package/dist/server/internal.d.ts.map +1 -1
- package/dist/server/internal.js +712 -418
- package/dist/server/internal.js.map +1 -1
- package/dist/server/metadata-collector.d.ts +52 -0
- package/dist/server/metadata-collector.d.ts.map +1 -0
- package/dist/server/param-coercion.d.ts +22 -6
- package/dist/server/param-coercion.d.ts.map +1 -1
- package/dist/server/pipeline-helpers.d.ts +0 -18
- package/dist/server/pipeline-helpers.d.ts.map +1 -1
- package/dist/server/pipeline-interception.d.ts +59 -9
- package/dist/server/pipeline-interception.d.ts.map +1 -1
- package/dist/server/pipeline-outcome.d.ts.map +1 -1
- package/dist/server/pipeline-phases.d.ts.map +1 -1
- package/dist/server/pipeline.d.ts +11 -0
- package/dist/server/pipeline.d.ts.map +1 -1
- package/dist/server/primitives.d.ts +23 -0
- package/dist/server/primitives.d.ts.map +1 -1
- package/dist/server/publish-params.d.ts +33 -0
- package/dist/server/publish-params.d.ts.map +1 -0
- package/dist/server/request-context.d.ts +48 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/route-element-builder.d.ts +22 -3
- package/dist/server/route-element-builder.d.ts.map +1 -1
- package/dist/server/route-handler.d.ts.map +1 -1
- package/dist/server/route-matcher.d.ts +13 -0
- package/dist/server/route-matcher.d.ts.map +1 -1
- package/dist/server/rsc-cache-key-guard.d.ts +78 -0
- package/dist/server/rsc-cache-key-guard.d.ts.map +1 -0
- package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
- package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -1
- package/dist/server/rsc-entry/error-renderer.d.ts +15 -3
- package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/helpers.d.ts +2 -17
- package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
- package/dist/server/rsc-entry/index.d.ts +0 -1
- package/dist/server/rsc-entry/index.d.ts.map +1 -1
- package/dist/server/rsc-entry/render-route.d.ts.map +1 -1
- package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/rsc-payload.d.ts +1 -2
- package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
- package/dist/server/rsc-entry/rsc-stream.d.ts +15 -2
- package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
- package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
- package/dist/server/skippable-prefix.d.ts +23 -0
- package/dist/server/skippable-prefix.d.ts.map +1 -0
- package/dist/server/slot-interception.d.ts +80 -0
- package/dist/server/slot-interception.d.ts.map +1 -0
- package/dist/server/slot-resolver.d.ts +70 -8
- package/dist/server/slot-resolver.d.ts.map +1 -1
- package/dist/server/ssr-bridge-types.d.ts +17 -0
- package/dist/server/ssr-bridge-types.d.ts.map +1 -1
- package/dist/server/ssr-entry.d.ts +0 -1
- package/dist/server/ssr-entry.d.ts.map +1 -1
- package/dist/server/ssr-wrappers.d.ts +24 -13
- package/dist/server/ssr-wrappers.d.ts.map +1 -1
- package/dist/server/state-tree-diff.d.ts +6 -27
- package/dist/server/state-tree-diff.d.ts.map +1 -1
- package/dist/server/static-generator.d.ts +6 -0
- package/dist/server/static-generator.d.ts.map +1 -1
- package/dist/server/static-not-found.d.ts +52 -0
- package/dist/server/static-not-found.d.ts.map +1 -0
- package/dist/server/status-code-resolver.d.ts +8 -1
- package/dist/server/status-code-resolver.d.ts.map +1 -1
- package/dist/server/tree-builder.d.ts +28 -36
- package/dist/server/tree-builder.d.ts.map +1 -1
- package/dist/server/types.d.ts +12 -7
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/utils/element-type.d.ts +40 -0
- package/dist/server/utils/element-type.d.ts.map +1 -0
- package/dist/shared/als-slots.d.ts +41 -0
- package/dist/shared/als-slots.d.ts.map +1 -0
- package/dist/shared/base-path.d.ts +56 -0
- package/dist/shared/base-path.d.ts.map +1 -0
- package/dist/shared/param-value.d.ts +80 -0
- package/dist/shared/param-value.d.ts.map +1 -0
- package/dist/shared/payload-root.d.ts +108 -0
- package/dist/shared/payload-root.d.ts.map +1 -0
- package/dist/shared/rsc-cache-key.d.ts +163 -0
- package/dist/shared/rsc-cache-key.d.ts.map +1 -0
- package/dist/shared/rsc-error-envelope.d.ts +25 -0
- package/dist/shared/rsc-error-envelope.d.ts.map +1 -0
- package/dist/shared/rsc-manifest.d.ts +28 -0
- package/dist/shared/rsc-manifest.d.ts.map +1 -0
- package/dist/shared/rsc-media-type.d.ts +40 -0
- package/dist/shared/rsc-media-type.d.ts.map +1 -0
- package/dist/shared/rsc-payload-path.d.ts +42 -0
- package/dist/shared/rsc-payload-path.d.ts.map +1 -0
- package/dist/shared/segment-info.d.ts +59 -0
- package/dist/shared/segment-info.d.ts.map +1 -0
- package/dist/shared/slot-params.d.ts +51 -0
- package/dist/shared/slot-params.d.ts.map +1 -0
- package/dist/shared/static-platform-files.d.ts +71 -0
- package/dist/shared/static-platform-files.d.ts.map +1 -0
- package/docs/api/30-api-server.mdx +1 -1
- package/docs/api/31-api-client.mdx +4 -2
- package/docs/api/33-api-search-params.mdx +38 -16
- package/docs/api/35-api-typescript.mdx +3 -3
- package/docs/api/36-cli.mdx +34 -7
- package/docs/learn/00-introduction.mdx +1 -1
- package/docs/learn/02-pages-and-layouts.mdx +2 -2
- package/docs/learn/05-typed-params.mdx +8 -8
- package/docs/learn/07-typed-routes.mdx +12 -7
- package/docs/learn/11-error-handling.mdx +18 -0
- package/docs/learn/12-client-navigation.mdx +2 -2
- package/docs/learn/14-deploying.mdx +23 -0
- package/docs/more/01-advanced-routing.mdx +173 -3
- package/docs/more/03-coming-from-nextjs.mdx +2 -2
- package/docs/more/04-metadata-and-fonts.mdx +1 -1
- package/docs/more/50-ai-agent-instructions.mdx +6 -4
- package/package.json +9 -6
- package/src/adapters/build-output-helper.ts +116 -3
- package/src/adapters/cloudflare.ts +90 -12
- package/src/adapters/compress-module.ts +79 -1
- package/src/adapters/fs-identity.ts +156 -0
- package/src/adapters/nitro.ts +6 -6
- package/src/adapters/shared.ts +196 -21
- package/src/adapters/types.ts +13 -1
- package/src/cache/fast-hash.ts +5 -0
- package/src/cli-check.ts +458 -0
- package/src/cli.ts +59 -24
- package/src/client/browser-entry/action-dispatch.ts +11 -5
- package/src/client/browser-entry/hydrate.ts +40 -29
- package/src/client/browser-entry/index.ts +15 -6
- package/src/client/browser-entry/post-hydration.ts +10 -9
- package/src/client/browser-entry/router-init.ts +104 -48
- package/src/client/browser-entry/rsc-stream.ts +11 -2
- package/src/client/error-boundary.tsx +85 -16
- package/src/client/history.ts +13 -6
- package/src/client/index.ts +14 -3
- package/src/client/internal.ts +4 -3
- package/src/client/link.tsx +120 -72
- package/src/client/navigation-api.ts +3 -3
- package/src/client/navigation-commit.ts +197 -0
- package/src/client/navigation-context.ts +40 -67
- package/src/client/navigation-root.tsx +326 -101
- package/src/client/params-context.ts +192 -0
- package/src/client/router-effects.ts +231 -0
- package/src/client/router-lifecycle.ts +288 -0
- package/src/client/router-pipeline.ts +393 -0
- package/src/client/router-ref.ts +1 -1
- package/src/client/router-skew.ts +30 -0
- package/src/client/router-types.ts +230 -0
- package/src/client/router.ts +243 -707
- package/src/client/rsc-fetch.ts +183 -106
- package/src/client/segment-cache.ts +129 -44
- package/src/client/ssr-data.ts +6 -0
- package/src/client/stale-client.ts +191 -0
- package/src/client/state.ts +14 -1
- package/src/client/top-loader.tsx +2 -1
- package/src/client/unload-guard.ts +34 -2
- package/src/client/use-cookie.ts +9 -2
- package/src/client/use-query-states.ts +102 -39
- package/src/client/use-router.ts +1 -1
- package/src/client/use-segment-params.ts +41 -18
- package/src/cookies/define-cookie.ts +6 -1
- package/src/index.ts +25 -4
- package/src/plugin-context.ts +58 -0
- package/src/plugins/adapter-build.ts +4 -0
- package/src/plugins/build-manifest.ts +34 -13
- package/src/plugins/entries.ts +4 -0
- package/src/plugins/fonts.ts +11 -8
- package/src/plugins/request-dep/analysis.ts +447 -0
- package/src/plugins/request-dep/index.ts +376 -0
- package/src/plugins/request-dep/origin.ts +310 -0
- package/src/plugins/routing.ts +97 -102
- package/src/plugins/shims.ts +0 -1
- package/src/plugins/static-build.ts +391 -95
- package/src/routing/codegen-shared.ts +3 -79
- package/src/routing/codegen-types.ts +28 -31
- package/src/routing/codegen-write.ts +139 -0
- package/src/routing/codegen.ts +86 -172
- package/src/routing/collision-probe.ts +438 -0
- package/src/routing/collision-spaces.ts +281 -0
- package/src/routing/convention-lint.ts +139 -40
- package/src/routing/export-detect.ts +151 -7
- package/src/routing/interception.ts +896 -50
- package/src/routing/link-codegen.ts +32 -65
- package/src/routing/manifest-codegen.ts +6 -62
- package/src/routing/scanner.ts +117 -92
- package/src/routing/segment-classify.ts +57 -0
- package/src/routing/segment-keys.ts +146 -0
- package/src/routing/slot-placement.ts +97 -0
- package/src/routing/types.ts +0 -6
- package/src/routing/walkers.ts +8 -0
- package/src/schema-bridge.ts +180 -58
- package/src/search-params/define.ts +108 -66
- package/src/search-params/index.ts +0 -1
- package/src/search-params/parse-total.ts +78 -0
- package/src/search-params/wrappers.ts +60 -11
- package/src/server/access-gate.tsx +60 -40
- package/src/server/action-handler.ts +4 -5
- package/src/server/actions.ts +6 -3
- package/src/server/als-registry.ts +18 -1
- package/src/server/build-manifest.ts +14 -1
- package/src/server/chain-url-parts.ts +163 -0
- package/src/server/children-interception.ts +115 -0
- package/src/server/compress.ts +9 -1
- package/src/server/default-status-page.ts +127 -0
- package/src/server/deny-boundary.ts +269 -41
- package/src/server/deny-renderer.ts +111 -39
- package/src/server/error-boundary-wrapper.ts +166 -79
- package/src/server/head-response.ts +54 -0
- package/src/server/index.ts +1 -3
- package/src/server/internal.ts +2 -2
- package/src/server/metadata-collector.ts +115 -0
- package/src/server/param-coercion.ts +51 -69
- package/src/server/pipeline-helpers.ts +2 -47
- package/src/server/pipeline-interception.ts +81 -32
- package/src/server/pipeline-outcome.ts +4 -5
- package/src/server/pipeline-phases.ts +77 -25
- package/src/server/pipeline.ts +57 -10
- package/src/server/prebuilt-runtime.ts +4 -4
- package/src/server/primitives.ts +25 -0
- package/src/server/publish-params.ts +42 -0
- package/src/server/request-context.ts +97 -18
- package/src/server/route-element-builder.ts +241 -253
- package/src/server/route-handler.ts +8 -8
- package/src/server/route-matcher.ts +21 -9
- package/src/server/rsc-cache-key-guard.ts +164 -0
- package/src/server/rsc-entry/api-handler.ts +6 -8
- package/src/server/rsc-entry/deny-fallback.ts +3 -2
- package/src/server/rsc-entry/error-renderer.ts +94 -35
- package/src/server/rsc-entry/helpers.ts +33 -28
- package/src/server/rsc-entry/index.ts +36 -33
- package/src/server/rsc-entry/render-route.ts +18 -10
- package/src/server/rsc-entry/revalidate-renderer.ts +3 -2
- package/src/server/rsc-entry/rsc-payload.ts +113 -40
- package/src/server/rsc-entry/rsc-stream.ts +29 -5
- package/src/server/rsc-entry/ssr-renderer.ts +38 -22
- package/src/server/skippable-prefix.ts +92 -0
- package/src/server/slot-interception.ts +168 -0
- package/src/server/slot-resolver.ts +263 -158
- package/src/server/ssr-bridge-types.ts +18 -0
- package/src/server/ssr-entry.ts +20 -10
- package/src/server/ssr-wrappers.tsx +33 -32
- package/src/server/state-tree-diff.ts +14 -55
- package/src/server/static-generator.ts +68 -29
- package/src/server/static-not-found.ts +134 -0
- package/src/server/status-code-resolver.ts +28 -11
- package/src/server/tree-builder.ts +35 -218
- package/src/server/types.ts +12 -7
- package/src/server/utils/element-type.ts +72 -0
- package/src/shared/als-slots.ts +72 -0
- package/src/shared/base-path.ts +80 -0
- package/src/shared/param-value.ts +244 -0
- package/src/shared/payload-root.ts +151 -0
- package/src/shared/rsc-cache-key.ts +269 -0
- package/src/shared/rsc-error-envelope.ts +31 -0
- package/src/shared/rsc-manifest.ts +29 -0
- package/src/shared/rsc-media-type.ts +43 -0
- package/src/shared/rsc-payload-path.ts +45 -0
- package/src/shared/segment-info.ts +60 -0
- package/src/shared/slot-params.ts +111 -0
- package/src/shared/static-platform-files.ts +75 -0
- package/dist/_chunks/build-output-helper-DOGYFb_X.js +0 -196
- package/dist/_chunks/build-output-helper-DOGYFb_X.js.map +0 -1
- package/dist/_chunks/cache-api-B-lhk9p4.js.map +0 -1
- package/dist/_chunks/canonicalize-DQHyFClh.js.map +0 -1
- package/dist/_chunks/cli-schema-sync-BTWEKJXo.js +0 -668
- package/dist/_chunks/cli-schema-sync-BTWEKJXo.js.map +0 -1
- package/dist/_chunks/define-COtkxMRT.js +0 -191
- package/dist/_chunks/define-COtkxMRT.js.map +0 -1
- package/dist/_chunks/define-c4au4I9R.js +0 -82
- package/dist/_chunks/define-c4au4I9R.js.map +0 -1
- package/dist/_chunks/fast-hash-D6hIVt1Y.js.map +0 -1
- package/dist/_chunks/logger-AWfuX-KJ.js.map +0 -1
- package/dist/_chunks/navigation-root-bUDZLw74.js +0 -124
- package/dist/_chunks/navigation-root-bUDZLw74.js.map +0 -1
- package/dist/_chunks/plugin-context---kTF5v8.js.map +0 -1
- package/dist/_chunks/registry-DbJPKoBp.js +0 -20
- package/dist/_chunks/registry-DbJPKoBp.js.map +0 -1
- package/dist/_chunks/router-ref-CtmF-aPv.js.map +0 -1
- package/dist/_chunks/schema-bridge-DT_Tn0Xf.js +0 -119
- package/dist/_chunks/schema-bridge-DT_Tn0Xf.js.map +0 -1
- package/dist/_chunks/segment-classify-Byy425ng.js.map +0 -1
- package/dist/_chunks/segment-context-ZDnXDkbz.js +0 -34
- package/dist/_chunks/segment-context-ZDnXDkbz.js.map +0 -1
- package/dist/_chunks/ssr-data-BOWsq18U.js.map +0 -1
- package/dist/_chunks/use-query-states-DFvWd-EA.js.map +0 -1
- package/dist/_chunks/use-segment-params-D1CzlgBo.js +0 -151
- package/dist/_chunks/use-segment-params-D1CzlgBo.js.map +0 -1
- package/dist/_chunks/walkers-_6zKFlch.js +0 -1002
- package/dist/_chunks/walkers-_6zKFlch.js.map +0 -1
- package/dist/client/error-boundary.js.map +0 -1
- package/dist/plugins/request-dep.d.ts +0 -32
- package/dist/plugins/request-dep.d.ts.map +0 -1
- package/dist/search-params/registry.d.ts +0 -20
- package/dist/search-params/registry.d.ts.map +0 -1
- package/dist/segment-params/define.d.ts +0 -89
- package/dist/segment-params/define.d.ts.map +0 -1
- package/dist/segment-params/index.d.ts +0 -3
- package/dist/segment-params/index.d.ts.map +0 -1
- package/dist/segment-params/index.js +0 -2
- package/src/plugins/request-dep.ts +0 -499
- package/src/search-params/registry.ts +0 -31
- package/src/segment-params/define.ts +0 -249
- package/src/segment-params/index.ts +0 -9
|
@@ -10,11 +10,24 @@
|
|
|
10
10
|
*
|
|
11
11
|
* See design/19-client-navigation.md §"RSC Payload Handling"
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
14
|
-
import type
|
|
13
|
+
import type { RscManifest } from '../shared/rsc-manifest.js';
|
|
14
|
+
import { type PublishedParams } from '../shared/payload-root.js';
|
|
15
|
+
import type { SegmentInfo, StateTree } from '../shared/segment-info.js';
|
|
16
|
+
import type { RouterDeps } from './router-types.js';
|
|
15
17
|
/** Result of fetching an RSC payload — includes segment metadata. */
|
|
16
18
|
export interface FetchResult {
|
|
19
|
+
/** The renderable tree, split off the payload root. */
|
|
17
20
|
payload: unknown;
|
|
21
|
+
/**
|
|
22
|
+
* The params the same payload published beside that tree.
|
|
23
|
+
*
|
|
24
|
+
* Not a separate channel: both fields come out of one `splitPayloadRoot`
|
|
25
|
+
* call on one decoded root, so a response cannot deliver a tree and another
|
|
26
|
+
* route's params. They used to arrive on their own header, which is how a
|
|
27
|
+
* navigation could render one route and publish another's (TIM-1285,
|
|
28
|
+
* TIM-1294).
|
|
29
|
+
*/
|
|
30
|
+
params: PublishedParams | Promise<PublishedParams>;
|
|
18
31
|
/**
|
|
19
32
|
* Promise that settles when the RSC decode completes or fails.
|
|
20
33
|
* The payload thenable is NOT awaited before returning (for streaming),
|
|
@@ -25,31 +38,38 @@ export interface FetchResult {
|
|
|
25
38
|
decodePromise: Promise<void> | null;
|
|
26
39
|
/** Segment metadata from X-Timber-Segments header for populating the segment cache. */
|
|
27
40
|
segmentInfo: SegmentInfo[] | null;
|
|
28
|
-
/** Route params from X-Timber-Params header for populating useSegmentParams(). */
|
|
29
|
-
params: Record<string, string | string[]> | null;
|
|
30
41
|
/** Segment paths that were skipped by the server (for client-side merging). */
|
|
31
42
|
skippedSegments: string[] | null;
|
|
43
|
+
/**
|
|
44
|
+
* HTTP status of the navigation response.
|
|
45
|
+
*
|
|
46
|
+
* Read at the commit site to decide whether the tree this payload produced
|
|
47
|
+
* is one worth caching. A deny page replaced a subtree, so `segmentInfo`
|
|
48
|
+
* describes more than actually mounted — but it cannot simply be emptied,
|
|
49
|
+
* because the merge point is chosen out of it. See TIM-1356.
|
|
50
|
+
*/
|
|
51
|
+
status: number;
|
|
32
52
|
}
|
|
33
|
-
export declare const RSC_CONTENT_TYPE = "text/x-component";
|
|
34
53
|
/** Set the client deployment ID. Called once at bootstrap. */
|
|
35
54
|
export declare function setClientDeploymentId(id: string | null): void;
|
|
36
55
|
/** Get the client deployment ID. */
|
|
37
56
|
export declare function getClientDeploymentId(): string | null;
|
|
57
|
+
/** Set the deployment base path. Called once at bootstrap. */
|
|
58
|
+
export declare function setBasePath(base: string | undefined): void;
|
|
59
|
+
/** Get the normalized deployment base path. @internal Exported for testing. */
|
|
60
|
+
export declare function getBasePath(): string;
|
|
38
61
|
export declare function setStaticMode(enabled: boolean): void;
|
|
39
62
|
export declare function isStaticMode(): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* RSC manifest entry: hashed URL with optional inlined route params.
|
|
42
|
-
* Params are embedded at build time (TIM-1255) so no sidecar fetch needed.
|
|
43
|
-
*/
|
|
44
|
-
interface RscManifestEntry {
|
|
45
|
-
url: string;
|
|
46
|
-
params?: Record<string, string | string[]>;
|
|
47
|
-
}
|
|
48
|
-
type RscManifest = Record<string, RscManifestEntry>;
|
|
49
63
|
/** @internal Exported for testing. */
|
|
50
64
|
export declare function setRscManifest(manifest: RscManifest | null): void;
|
|
51
65
|
/**
|
|
52
|
-
* Compute the unhashed _rsc/*.rsc
|
|
66
|
+
* Compute the unhashed `_rsc/*.rsc` path for a route URL.
|
|
67
|
+
*
|
|
68
|
+
* Returns a **route-space** path: the deployment base is stripped from the
|
|
69
|
+
* incoming URL and is NOT re-applied, because this value doubles as the RSC
|
|
70
|
+
* manifest key, and the manifest is base-less. `toStaticRscUrl` applies the
|
|
71
|
+
* base to whatever is actually fetched.
|
|
72
|
+
*
|
|
53
73
|
* @internal Exported for testing.
|
|
54
74
|
*/
|
|
55
75
|
export declare function toUnhashedRscUrl(url: string): string;
|
|
@@ -62,9 +82,18 @@ export declare const DEPLOYMENT_ID_HEADER = "X-Timber-Deployment-Id";
|
|
|
62
82
|
* Triggers a full page reload if the server indicates the client is stale.
|
|
63
83
|
*/
|
|
64
84
|
export declare function checkReloadSignal(response: Response): boolean;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Build the headers for an RSC payload request.
|
|
87
|
+
*
|
|
88
|
+
* **Every header added here is hashed into the payload URL** as the `_rsc`
|
|
89
|
+
* cache key (see `rscCacheKey`), and URLs are logged by proxies, CDNs, and
|
|
90
|
+
* origin access logs. So: no credentials, no session identifiers, no
|
|
91
|
+
* user-supplied content. `fnv1aHash` is a cache-key hash, not a KDF — a
|
|
92
|
+
* low-entropy secret would be recoverable from the URL by brute force.
|
|
93
|
+
* Authentication already travels on cookies, which are not part of this
|
|
94
|
+
* object and never enter the key.
|
|
95
|
+
*/
|
|
96
|
+
export declare function buildRscHeaders(stateTree: StateTree | undefined, currentUrl?: string): Record<string, string>;
|
|
68
97
|
/**
|
|
69
98
|
* Extract segment metadata from the X-Timber-Segments response header.
|
|
70
99
|
* Returns null if the header is missing or malformed.
|
|
@@ -83,13 +112,6 @@ export declare function extractSegmentInfo(response: Response): SegmentInfo[] |
|
|
|
83
112
|
* The client uses this to merge the partial payload with cached segments.
|
|
84
113
|
*/
|
|
85
114
|
export declare function extractSkippedSegments(response: Response): string[] | null;
|
|
86
|
-
/**
|
|
87
|
-
* Extract route params from the X-Timber-Params response header.
|
|
88
|
-
* Returns null if the header is missing or malformed.
|
|
89
|
-
*
|
|
90
|
-
* Used to populate useSegmentParams() after client-side navigation.
|
|
91
|
-
*/
|
|
92
|
-
export declare function extractParams(response: Response): Record<string, string | string[]> | null;
|
|
93
115
|
/**
|
|
94
116
|
* Thrown when an RSC payload response contains X-Timber-Redirect header.
|
|
95
117
|
* Caught in navigate() to trigger a soft router navigation to the redirect target.
|
|
@@ -142,5 +164,4 @@ export declare class NonRscResponse extends Error {
|
|
|
142
164
|
export declare function fetchRscPayload(url: string, deps: RouterDeps, stateTree?: {
|
|
143
165
|
segments: string[];
|
|
144
166
|
}, currentUrl?: string, signal?: AbortSignal): Promise<FetchResult>;
|
|
145
|
-
export {};
|
|
146
167
|
//# sourceMappingURL=rsc-fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsc-fetch.d.ts","sourceRoot":"","sources":["../../src/client/rsc-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"rsc-fetch.d.ts","sourceRoot":"","sources":["../../src/client/rsc-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,uFAAuF;IACvF,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAClC,+EAA+E;IAC/E,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAiDD,8DAA8D;AAC9D,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE7D;AAED,oCAAoC;AACpC,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD;AAgBD,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE1D;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAYD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAkBD,sCAAsC;AACtC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAEjE;AAiCD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYpD;AAkCD,sEAAsE;AACtE,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE7D;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAeD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,GAAG,IAAI,CAS3E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,IAAI,CAU1E;AAID;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,YAAY,GAAG,EAAE,MAAM,EAGtB;CACF;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,cAEC;CACF;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,YAAY,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAItC;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,YAAY,GAAG,EAAE,MAAM,EAGtB;CACF;AAqDD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,EAClC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CAsLtB"}
|
|
@@ -1,12 +1,33 @@
|
|
|
1
|
+
import type { PublishedParams } from '../shared/payload-root.js';
|
|
2
|
+
import type { SegmentInfo, StateTree } from '../shared/segment-info.js';
|
|
1
3
|
/** A prefetched RSC result with optional segment metadata. */
|
|
2
4
|
export interface PrefetchResult {
|
|
3
5
|
payload: unknown;
|
|
6
|
+
/**
|
|
7
|
+
* Completion of the full Flight stream, when the prefetch is still decoding.
|
|
8
|
+
* Carried through to the navigation that consumes the entry so a decode
|
|
9
|
+
* failure reaches *that* navigation's recovery rather than dying with the
|
|
10
|
+
* prefetch (TIM-1275).
|
|
11
|
+
*/
|
|
12
|
+
decodePromise?: Promise<void> | null;
|
|
4
13
|
/** Segment metadata from X-Timber-Segments header for populating the segment cache. */
|
|
5
14
|
segmentInfo?: SegmentInfo[] | null;
|
|
6
|
-
/**
|
|
7
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The params published beside `payload`, split off the same payload root.
|
|
17
|
+
* Carried so a consumed prefetch publishes the params of the tree it is
|
|
18
|
+
* about to render, and not the ones already on screen.
|
|
19
|
+
*/
|
|
20
|
+
params?: PublishedParams | Promise<PublishedParams>;
|
|
8
21
|
/** Segment paths skipped by the server (for client-side merging). */
|
|
9
22
|
skippedSegments?: string[] | null;
|
|
23
|
+
/**
|
|
24
|
+
* HTTP status of the prefetched response. A deny payload is an ordinary
|
|
25
|
+
* Flight response carrying a 4xx, so it prefetches and caches like any
|
|
26
|
+
* other — and the tree it renders is one the segment cache must not learn
|
|
27
|
+
* from. Absent on entries that predate the field, and on the negative
|
|
28
|
+
* sentinel. See TIM-1356.
|
|
29
|
+
*/
|
|
30
|
+
status?: number;
|
|
10
31
|
}
|
|
11
32
|
/**
|
|
12
33
|
* A node in the client-side segment tree. Each node represents a mounted
|
|
@@ -15,6 +36,11 @@ export interface PrefetchResult {
|
|
|
15
36
|
export interface SegmentNode {
|
|
16
37
|
/** The segment's URL pattern (e.g., "/", "/dashboard", "/projects/[id]") */
|
|
17
38
|
segment: string;
|
|
39
|
+
/**
|
|
40
|
+
* The segment's `app/` directory path, groups included (e.g. `/(browse)/feed`).
|
|
41
|
+
* Undefined for slot nodes and for servers that predate the field.
|
|
42
|
+
*/
|
|
43
|
+
treePath?: string;
|
|
18
44
|
/** The RSC flight payload for this segment (opaque to the cache) */
|
|
19
45
|
payload: unknown;
|
|
20
46
|
/**
|
|
@@ -32,14 +58,6 @@ export interface SegmentNode {
|
|
|
32
58
|
/** Whether this slot's access.ts denied on its last render. */
|
|
33
59
|
denied?: boolean;
|
|
34
60
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Serialized state tree sent via X-Timber-State-Tree header.
|
|
37
|
-
* Only sync segments are included — async segments always re-render.
|
|
38
|
-
*/
|
|
39
|
-
export interface StateTree {
|
|
40
|
-
segments: string[];
|
|
41
|
-
slots?: string[];
|
|
42
|
-
}
|
|
43
61
|
/**
|
|
44
62
|
* Maintains the client-side segment tree representing currently mounted
|
|
45
63
|
* layouts and pages. Used for navigation reconciliation — the router diffs
|
|
@@ -60,29 +78,18 @@ export declare class SegmentCache {
|
|
|
60
78
|
* client can actually merge (i.e., segments whose cached element tree
|
|
61
79
|
* contains an inner SegmentProvider the merger can splice into).
|
|
62
80
|
*
|
|
81
|
+
* `treePaths` is collected UNFILTERED, unlike `segments` and `slots`. Those
|
|
82
|
+
* two answer "what may the server skip re-rendering?", so every reason a
|
|
83
|
+
* segment cannot be reused is a reason to leave it out. `treePaths` answers
|
|
84
|
+
* "what is mounted right now?" for interception scoping — a request-dependent
|
|
85
|
+
* layout is still on screen, and dropping it would silently narrow the scope
|
|
86
|
+
* the server sees and cancel a modal that should open (TIM-1282).
|
|
87
|
+
*
|
|
63
88
|
* This is a performance optimization only, NOT a security boundary.
|
|
64
89
|
* The server always runs all access.ts files regardless of the state tree.
|
|
65
90
|
*/
|
|
66
91
|
serializeStateTree(mergeableFilter?: Set<string>): StateTree;
|
|
67
92
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Segment metadata from the server, sent via X-Timber-Segments header.
|
|
70
|
-
* Describes a rendered segment's path and whether it's async.
|
|
71
|
-
*/
|
|
72
|
-
export interface SegmentInfo {
|
|
73
|
-
path: string;
|
|
74
|
-
/** Outlet key — includes route group name when applicable (e.g., "/(marketing)"). */
|
|
75
|
-
segmentId?: string;
|
|
76
|
-
isRequestDependent: boolean;
|
|
77
|
-
/** True for parallel route slot entries. Slots are keyed by their slot path (e.g., "/@sidebar"). */
|
|
78
|
-
slot?: boolean;
|
|
79
|
-
/** Parent segment path for slot entries. Used to attach the slot to the correct SegmentNode. */
|
|
80
|
-
parentSegment?: string;
|
|
81
|
-
/** True when the slot's access.ts denied on this render. Denied slots are excluded from the state tree. */
|
|
82
|
-
denied?: boolean;
|
|
83
|
-
/** True when the slot was skipped (cached content reused). Payloads with skipped slots are not replayable. */
|
|
84
|
-
skipped?: boolean;
|
|
85
|
-
}
|
|
86
93
|
/**
|
|
87
94
|
* Build a SegmentNode tree from flat segment metadata.
|
|
88
95
|
*
|
|
@@ -95,6 +102,45 @@ export interface SegmentInfo {
|
|
|
95
102
|
* from the tree — pages are never cached across navigations.
|
|
96
103
|
*/
|
|
97
104
|
export declare function buildSegmentTree(segments: SegmentInfo[]): SegmentNode | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* Identifies a prefetched payload. A payload is addressed by *every* input that
|
|
107
|
+
* changes the server's answer, not by the destination alone.
|
|
108
|
+
*
|
|
109
|
+
* The server's answer for a destination depends on where the request came
|
|
110
|
+
* from — that is the whole mechanism behind intercepting routes, and it also
|
|
111
|
+
* drives slot-skip resolution. A prefetch issued from `/gallery` is a modal
|
|
112
|
+
* payload; the same URL prefetched from `/` is the full page. Keying on the
|
|
113
|
+
* destination alone let the first click after a hover be answered with
|
|
114
|
+
* whichever variant happened to be fetched (TIM-1265).
|
|
115
|
+
*
|
|
116
|
+
* `from` alone stopped being enough in TIM-1282. It is a pathname, and once
|
|
117
|
+
* interception scope comes from the rendered tree rather than the address, one
|
|
118
|
+
* pathname no longer names one source tree: `/photo/1` is the address both for
|
|
119
|
+
* a modal open over `(browse)` and for `(landing)`'s canonical page. A key
|
|
120
|
+
* without the scope hands the modal payload to the canonical page's click,
|
|
121
|
+
* which renders it without the server's scope check ever running.
|
|
122
|
+
*
|
|
123
|
+
* The two reads happen at different instants — `scope` is sampled at hover and
|
|
124
|
+
* again at click — which is why a tree that changed in between produces a
|
|
125
|
+
* *miss* and a refetch rather than a wrong hit.
|
|
126
|
+
*/
|
|
127
|
+
export interface PrefetchKey {
|
|
128
|
+
/** Destination URL — hash-less `pathname + search`, as navigate() fetches it. */
|
|
129
|
+
url: string;
|
|
130
|
+
/** Departing pathname — the `X-Timber-URL` the prefetch was issued with. */
|
|
131
|
+
from: string;
|
|
132
|
+
/**
|
|
133
|
+
* The rendered scope the prefetch was issued with — the `treePaths` half of
|
|
134
|
+
* `X-Timber-State-Tree`, joined. Empty when none crossed.
|
|
135
|
+
*/
|
|
136
|
+
scope: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The `scope` half of a `PrefetchKey`, derived from the state tree that will
|
|
140
|
+
* actually be sent. Taking it from the header value rather than re-walking the
|
|
141
|
+
* cache is the point: the key varies by exactly what the request varies by.
|
|
142
|
+
*/
|
|
143
|
+
export declare function prefetchScopeOf(stateTree: StateTree | undefined): string;
|
|
98
144
|
/**
|
|
99
145
|
* Short-lived cache for hover-triggered prefetches. Entries expire after
|
|
100
146
|
* 30 seconds. When a link is clicked, the prefetched payload is consumed
|
|
@@ -106,13 +152,20 @@ export declare function buildSegmentTree(segments: SegmentInfo[]): SegmentNode |
|
|
|
106
152
|
export declare class PrefetchCache {
|
|
107
153
|
private static readonly TTL_MS;
|
|
108
154
|
private entries;
|
|
109
|
-
set(
|
|
110
|
-
get(
|
|
155
|
+
set(key: PrefetchKey, result: PrefetchResult): void;
|
|
156
|
+
get(key: PrefetchKey): PrefetchResult | undefined;
|
|
111
157
|
/** Get and remove the entry (used when navigation consumes a prefetch) */
|
|
112
|
-
consume(
|
|
113
|
-
/**
|
|
114
|
-
|
|
158
|
+
consume(key: PrefetchKey): PrefetchResult | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Store a negative entry — the URL is not a route (non-RSC Content-Type).
|
|
161
|
+
*
|
|
162
|
+
* Keyed like every other entry even though "not a route" does not actually
|
|
163
|
+
* vary by departing URL: a source-independent negative would be a second
|
|
164
|
+
* keying rule to keep correct, and the only cost of the uniform one is a
|
|
165
|
+
* repeated fetch for a link hovered from a second page.
|
|
166
|
+
*/
|
|
167
|
+
setNegative(key: PrefetchKey): void;
|
|
115
168
|
/** Check if the entry is a negative cache entry (URL is not a route). */
|
|
116
|
-
isNegative(
|
|
169
|
+
isNegative(key: PrefetchKey): boolean;
|
|
117
170
|
}
|
|
118
171
|
//# sourceMappingURL=segment-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment-cache.d.ts","sourceRoot":"","sources":["../../src/client/segment-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"segment-cache.d.ts","sourceRoot":"","sources":["../../src/client/segment-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAIxE,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,uFAAuF;IACvF,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpD,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,kEAAkE;IAClE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAA0B;IAEtC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAK5C;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAI5C;IAED,KAAK,IAAI,IAAI,CAEZ;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,kBAAkB,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAiB3D;CACF;AAgDD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,CAkEjF;AAYD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAWD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAExE;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAU;IACxC,OAAO,CAAC,OAAO,CAAoC;IAEnD,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAKlD;IAED,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAShD;IAED,0EAA0E;IAC1E,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAMpD;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAElC;IAED,yEAAyE;IACzE,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEpC;CACF"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* All mutable state is delegated to client/state.ts for singleton guarantees.
|
|
22
22
|
* See design/18-build-system.md §"Singleton State Registry"
|
|
23
23
|
*/
|
|
24
|
+
import type { SlotParamsRecord } from '../shared/slot-params.js';
|
|
24
25
|
export interface SsrData {
|
|
25
26
|
/** The request's URL pathname (e.g. '/dashboard/settings') */
|
|
26
27
|
pathname: string;
|
|
@@ -30,6 +31,11 @@ export interface SsrData {
|
|
|
30
31
|
cookies: Map<string, string>;
|
|
31
32
|
/** The request's route params (e.g. { id: '123' }) */
|
|
32
33
|
params: Record<string, string | string[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Per-slot params keyed by slot tree path, absent when the request rendered
|
|
36
|
+
* no slot with params of its own (TIM-1285).
|
|
37
|
+
*/
|
|
38
|
+
slotParams?: SlotParamsRecord;
|
|
33
39
|
/**
|
|
34
40
|
* Mutable reference to NavContext for error boundary → pipeline communication.
|
|
35
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-data.d.ts","sourceRoot":"","sources":["../../src/client/ssr-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"ssr-data.d.ts","sourceRoot":"","sources":["../../src/client/ssr-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,MAAM,WAAW,OAAO;IACtB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gDAAgD;IAChD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACzE;AAkBD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,CAEjF;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,OAAO,GAAG,SAAS,CAKhD"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stale Client — knowing when this bundle has been superseded.
|
|
3
|
+
*
|
|
4
|
+
* Layer 1 of version skew handling (see design/33-version-skew.md) is
|
|
5
|
+
* proactive: the server compares `X-Timber-Deployment-Id` against the current
|
|
6
|
+
* build and answers a stale client with `X-Timber-Reload: 1`. That covers
|
|
7
|
+
* every RSC navigation and every server action — as long as there is a server
|
|
8
|
+
* in the request path.
|
|
9
|
+
*
|
|
10
|
+
* This module is the reactive half, plus the state both halves feed. It
|
|
11
|
+
* recognizes the two error shapes a stale client produces on its own:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Stale client references** — React's Flight client throws
|
|
14
|
+
* "Could not find the module …" when an RSC payload names a client module
|
|
15
|
+
* ID that isn't in this bundle's manifest.
|
|
16
|
+
* 2. **Chunk load failures** — a content-hashed chunk that no longer exists on
|
|
17
|
+
* the CDN fails to `import()`. Every engine words this differently.
|
|
18
|
+
*
|
|
19
|
+
* It matters most for `output: 'static'`, where there is no server to send the
|
|
20
|
+
* reload header and this is the *only* skew detection that can run.
|
|
21
|
+
*
|
|
22
|
+
* **Nothing here reloads the page.** A stale client is recorded, not acted on;
|
|
23
|
+
* the router turns the next user-initiated navigation into a full document
|
|
24
|
+
* load. See design/33-version-skew.md §"Recovery on the next navigation" for
|
|
25
|
+
* why — a self-issued `location.reload()` cannot tell a recovery from a bounce
|
|
26
|
+
* between two live deployments, and mid-rollout it produces exactly that loop.
|
|
27
|
+
*
|
|
28
|
+
* See TIM-1260, TIM-1275.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* True when the error is React's "client reference not in this manifest"
|
|
32
|
+
* failure — the payload was produced by a build this bundle doesn't match.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isStaleClientReference(error: unknown): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* True when the error is a failed dynamic import or CSS preload — the
|
|
37
|
+
* content-hashed chunk this bundle asks for is gone from the CDN.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isChunkLoadError(error: unknown): boolean;
|
|
40
|
+
/** Whether this client has been superseded by a newer deployment. */
|
|
41
|
+
export declare function isClientStale(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Record that the origin has told us this client is stale — the `X-Timber-Reload`
|
|
44
|
+
* header on an RSC or action response. Authoritative, so it is not gated on
|
|
45
|
+
* anything: a dev server never sends the header in the first place.
|
|
46
|
+
*/
|
|
47
|
+
export declare function markClientStale(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Record staleness if `error` is one of the shapes a superseded bundle
|
|
50
|
+
* produces. Returns whether it did, so a caller mid-navigation can decide to
|
|
51
|
+
* hard-navigate instead of surfacing the error.
|
|
52
|
+
*
|
|
53
|
+
* Inference, unlike {@link markClientStale}, so it is gated on being a
|
|
54
|
+
* production build. This is the single place that gate lives — call sites
|
|
55
|
+
* cannot see each other, and "remember to gate the next one too" is not a
|
|
56
|
+
* guarantee.
|
|
57
|
+
*/
|
|
58
|
+
export declare function markStaleFromError(error: unknown): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Arm the module, and register the listeners that catch stale-client errors
|
|
61
|
+
* never passing through the router: a lazily imported client component, a
|
|
62
|
+
* preloaded stylesheet, anything that rejects outside a navigation.
|
|
63
|
+
*
|
|
64
|
+
* No-op when `deploymentId` is null — that is dev. Called from the browser
|
|
65
|
+
* entry before hydration, so it precedes any render or navigation that could
|
|
66
|
+
* throw.
|
|
67
|
+
*/
|
|
68
|
+
export declare function initStaleClient(deploymentId: string | null): void;
|
|
69
|
+
//# sourceMappingURL=stale-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stale-client.d.ts","sourceRoot":"","sources":["../../src/client/stale-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA4CH;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIxD;AAuBD,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB1D;AAeD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAejE"}
|
package/dist/client/state.d.ts
CHANGED
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* See design/18-build-system.md §"Module Singleton Strategy" and
|
|
19
19
|
* §"Singleton State Registry".
|
|
20
20
|
*/
|
|
21
|
-
import type {
|
|
21
|
+
import type { SlotParamsRecord } from '../shared/slot-params.js';
|
|
22
|
+
import type { RouterInstance } from './router-types.js';
|
|
22
23
|
import type { SsrData } from './ssr-data.js';
|
|
23
24
|
/** The global router singleton — set once during bootstrap. */
|
|
24
25
|
export declare let globalRouter: RouterInstance | null;
|
|
@@ -35,6 +36,14 @@ export declare function _setCurrentSsrData(data: SsrData | undefined): void;
|
|
|
35
36
|
/** Current route params snapshot — replaced (not mutated) on each navigation. */
|
|
36
37
|
export declare let currentParams: Record<string, string | string[]>;
|
|
37
38
|
export declare function _setCurrentParams(params: Record<string, string | string[]>): void;
|
|
39
|
+
/**
|
|
40
|
+
* Per-slot params snapshot, keyed by slot tree path — the module-level
|
|
41
|
+
* fallback behind `useSegmentParams(slotPath)` when no NavigationContext is
|
|
42
|
+
* mounted (tests, calls outside a component). Replaced, never mutated, on
|
|
43
|
+
* each navigation. See TIM-1285.
|
|
44
|
+
*/
|
|
45
|
+
export declare let currentSlotParams: SlotParamsRecord | null;
|
|
46
|
+
export declare function _setCurrentSlotParams(slotParams: SlotParamsRecord | null): void;
|
|
38
47
|
/** Listeners notified when currentParams changes. */
|
|
39
48
|
export declare const paramsListeners: Set<() => void>;
|
|
40
49
|
/** Cached search string — avoids reparsing when URL hasn't changed. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/client/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/client/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,+DAA+D;AAC/D,eAAO,IAAI,YAAY,EAAE,cAAc,GAAG,IAAW,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAEpE;AAID;;;GAGG;AACH,eAAO,IAAI,eAAe,EAAE,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;AAEpE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,CAE3F;AAED,gEAAgE;AAChE,eAAO,IAAI,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;AAE/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAElE;AAID,iFAAiF;AACjF,eAAO,IAAI,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,CAAC;AAEjE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,eAAO,IAAI,iBAAiB,EAAE,gBAAgB,GAAG,IAAW,CAAC;AAE7D,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAE/E;AAED,qDAAqD;AACrD,eAAO,MAAM,eAAe,YAAiB,IAAI,CAAG,CAAC;AAIrD,uEAAuE;AACvE,eAAO,IAAI,YAAY,QAAK,CAAC;AAC7B,eAAO,IAAI,kBAAkB,iBAAwB,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAG9E;AAID,oDAAoD;AACpD,eAAO,IAAI,SAAS,SAAQ,CAAC;AAE7B,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAElD"}
|
|
@@ -41,7 +41,8 @@ export interface TopLoaderConfig {
|
|
|
41
41
|
/**
|
|
42
42
|
* Internal top-loader component. Injected by NavigationRoot.
|
|
43
43
|
*
|
|
44
|
-
* Reads pending navigation state from
|
|
44
|
+
* Reads pending navigation state from the router's external store, via
|
|
45
|
+
* usePendingNavigation() — the one pending representation (TIM-1307).
|
|
45
46
|
* Phase transitions are derived synchronously during render:
|
|
46
47
|
*
|
|
47
48
|
* hidden → crawling: when isPending becomes true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-loader.d.ts","sourceRoot":"","sources":["../../src/client/top-loader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmDD
|
|
1
|
+
{"version":3,"file":"top-loader.d.ts","sourceRoot":"","sources":["../../src/client/top-loader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA6F7F"}
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* unloaded so error boundaries and error handlers can suppress abort-related
|
|
9
9
|
* errors during the unload window.
|
|
10
10
|
*
|
|
11
|
+
* This is the single owner of "is this document going away". Anything that
|
|
12
|
+
* needs the answer imports `isPageUnloading()` — an unload flag maintained a
|
|
13
|
+
* second time somewhere else is a flag that will drift out of agreement with
|
|
14
|
+
* this one (TIM-1260).
|
|
15
|
+
*
|
|
11
16
|
* Mutable state is delegated to client/state.ts for singleton guarantees.
|
|
12
17
|
* See design/18-build-system.md §"Singleton State Registry"
|
|
13
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unload-guard.d.ts","sourceRoot":"","sources":["../../src/client/unload-guard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unload-guard.d.ts","sourceRoot":"","sources":["../../src/client/unload-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA2CH;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cookie.d.ts","sourceRoot":"","sources":["../../src/client/use-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"use-cookie.d.ts","sourceRoot":"","sources":["../../src/client/use-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;AASlF,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI/D;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAkBtE;AAUD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAErD;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,mBAAmB,GACnC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,CA8DhF"}
|
|
@@ -16,7 +16,7 @@ import type { SearchParamCodec, SearchParamsDefinition, SetParams, QueryStatesOp
|
|
|
16
16
|
*
|
|
17
17
|
* Usage:
|
|
18
18
|
* ```ts
|
|
19
|
-
* // Via a SearchParamsDefinition
|
|
19
|
+
* // Via a SearchParamsDefinition imported from the route's params.ts
|
|
20
20
|
* const [params, setParams] = definition.useQueryStates()
|
|
21
21
|
*
|
|
22
22
|
* // Standalone with inline codecs
|
|
@@ -24,10 +24,16 @@ import type { SearchParamCodec, SearchParamsDefinition, SetParams, QueryStatesOp
|
|
|
24
24
|
* page: fromSchema(z.coerce.number().int().min(1).default(1)),
|
|
25
25
|
* })
|
|
26
26
|
* ```
|
|
27
|
+
*
|
|
28
|
+
* There is deliberately no route-string form (`useQueryStates('/products')`).
|
|
29
|
+
* Importing the definition from `params.ts` is the documented way to reach
|
|
30
|
+
* another route's codecs — it needs no runtime registry lookup and so has no
|
|
31
|
+
* "not registered yet" failure mode. See design/23-search-params.md
|
|
32
|
+
* §"Client Access".
|
|
27
33
|
*/
|
|
28
|
-
export declare function useQueryStates<T extends Record<string, unknown>>(
|
|
34
|
+
export declare function useQueryStates<T extends Record<string, unknown>>(codecs: {
|
|
29
35
|
[K in keyof T]: SearchParamCodec<T[K]>;
|
|
30
|
-
}
|
|
36
|
+
}, _options?: QueryStatesOptions, urlKeys?: Readonly<Record<string, string>>): [T, SetParams<T>];
|
|
31
37
|
/**
|
|
32
38
|
* Create a useQueryStates binding for a SearchParamsDefinition.
|
|
33
39
|
* This is used internally by SearchParamsDefinition.useQueryStates().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-query-states.d.ts","sourceRoot":"","sources":["../../src/client/use-query-states.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-query-states.d.ts","sourceRoot":"","sources":["../../src/client/use-query-states.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AA2JpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,EAClD,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACzC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CA6FnB;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,UAAU,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACpC,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAIrD"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* In timber, navigation calls reactRoot.render() which is a root-level
|
|
15
15
|
* render — startTransition has no effect on root renders.
|
|
16
16
|
*
|
|
17
|
-
* Navigation state (
|
|
17
|
+
* Navigation state (pathname, search) is delivered atomically via
|
|
18
18
|
* NavigationContext embedded in the element tree passed to
|
|
19
19
|
* reactRoot.render(). See design/19-client-navigation.md §"NavigationContext".
|
|
20
20
|
*
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
* (populated by ssr-entry.ts) to ensure correct per-request isolation
|
|
19
19
|
* across concurrent requests with streaming Suspense.
|
|
20
20
|
*
|
|
21
|
-
* Reactivity: On the client, useParams() reads from
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
21
|
+
* Reactivity: On the client, useParams() reads from ParamsContext, published
|
|
22
|
+
* by the one provider the client renders above the merge point
|
|
23
|
+
* (`PayloadRoot`). Params update atomically with the tree because they travel
|
|
24
|
+
* on the same payload root — there is no separate channel that could be
|
|
25
|
+
* seeded a render early or late (TIM-1294, TIM-1297).
|
|
26
26
|
*
|
|
27
27
|
* All mutable state is delegated to client/state.ts for singleton guarantees.
|
|
28
28
|
* See design/18-build-system.md §"Singleton State Registry"
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
* Design doc: design/09-typescript.md §"Typed Routes"
|
|
31
31
|
*/
|
|
32
32
|
import type { Routes } from '../index.js';
|
|
33
|
+
import { type SlotParamsRecord } from '../shared/slot-params.js';
|
|
33
34
|
/**
|
|
34
35
|
* Subscribe to params changes.
|
|
35
36
|
* Retained for backward compatibility with tests that verify the
|
|
@@ -58,6 +59,15 @@ export declare function getSnapshot(): Record<string, string | string[]>;
|
|
|
58
59
|
* (ALS-backed).
|
|
59
60
|
*/
|
|
60
61
|
export declare function setCurrentParams(params: Record<string, string | string[]>): void;
|
|
62
|
+
/**
|
|
63
|
+
* Set the per-slot params snapshot in the module-level store.
|
|
64
|
+
*
|
|
65
|
+
* Paired with `setCurrentParams`: the router calls both on every navigation,
|
|
66
|
+
* including with `null` when a response carries no slot params, so a slot's
|
|
67
|
+
* params from the *previous* route cannot be read on the next one. Fill and
|
|
68
|
+
* serve are paired; so are fill and clear. See TIM-1285.
|
|
69
|
+
*/
|
|
70
|
+
export declare function setCurrentSlotParams(slotParams: SlotParamsRecord | null): void;
|
|
61
71
|
/**
|
|
62
72
|
* Notify all legacy subscribers that params have changed.
|
|
63
73
|
*
|
|
@@ -73,9 +83,9 @@ export declare function notifyParamsListeners(): void;
|
|
|
73
83
|
* The optional `_route` argument exists only for TypeScript narrowing —
|
|
74
84
|
* it does not affect the runtime return value.
|
|
75
85
|
*
|
|
76
|
-
* On the client, reads from
|
|
77
|
-
*
|
|
78
|
-
*
|
|
86
|
+
* On the client, reads from ParamsContext, published by `PayloadRoot` above
|
|
87
|
+
* everything the navigation renders. Params update atomically with the RSC
|
|
88
|
+
* tree — no timing gap.
|
|
79
89
|
*
|
|
80
90
|
* During SSR, reads from the ALS-backed SSR data context to ensure
|
|
81
91
|
* per-request isolation across concurrent requests with streaming Suspense.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-segment-params.d.ts","sourceRoot":"","sources":["../../src/client/use-segment-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAS1C;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAE/D;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,MAAM,EACrD,WAAW,EAAE,CAAC,GACb,MAAM,CAAC,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AACxF,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-segment-params.d.ts","sourceRoot":"","sources":["../../src/client/use-segment-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAS1C,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOvF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAE/D;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,MAAM,EACrD,WAAW,EAAE,CAAC,GACb,MAAM,CAAC,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AACxF,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC"}
|
package/dist/codec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-cookie.d.ts","sourceRoot":"","sources":["../../src/cookies/define-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtC,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,aAAa;IAC/F;;;;OAIG;IACH,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAE/B,gEAAgE;IAChE,GAAG,IAAI,CAAC,CAAC;IACT,+DAA+D;IAC/D,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,6DAA6D;IAC7D,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACxE,4FAA4F;IAC5F,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;CAClD;
|
|
1
|
+
{"version":3,"file":"define-cookie.d.ts","sourceRoot":"","sources":["../../src/cookies/define-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtC,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,aAAa;IAC/F;;;;OAIG;IACH,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAE/B,gEAAgE;IAChE,GAAG,IAAI,CAAC,CAAC;IACT,+DAA+D;IAC/D,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,6DAA6D;IAC7D,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACxE,4FAA4F;IAC5F,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;CAClD;AAsFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,SAAS,OAAO,GAAG,IAAI,EAC7D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,GACxC,QAAQ,SAAS,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAkH9E"}
|