@rangojs/router 0.4.0 → 0.4.1
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/README.md +19 -1
- package/dist/types/browser/event-controller.d.ts +4 -0
- package/dist/types/browser/link-interceptor.d.ts +17 -7
- package/dist/types/browser/navigation-bridge.d.ts +13 -1
- package/dist/types/browser/notify-listeners.d.ts +2 -0
- package/dist/types/browser/prefetch/cache.d.ts +1 -1
- package/dist/types/browser/prefetch/default-strategy.d.ts +12 -3
- package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
- package/dist/types/browser/prefetch/loader.d.ts +3 -1
- package/dist/types/browser/prefetch/observer.d.ts +3 -6
- package/dist/types/browser/rango-state.d.ts +4 -0
- package/dist/types/browser/react/Link.d.ts +4 -9
- package/dist/types/browser/react/context.d.ts +3 -0
- package/dist/types/browser/rsc-router.d.ts +7 -2
- package/dist/types/browser/types.d.ts +1 -0
- package/dist/types/cache/cache-key-utils.d.ts +11 -3
- package/dist/types/cache/cache-scope.d.ts +82 -3
- package/dist/types/cache/cf/cf-cache-store.d.ts +2 -2
- package/dist/types/cache/index.d.ts +3 -1
- package/dist/types/cache/search-params-filter.d.ts +64 -0
- package/dist/types/cache/shell-snapshot.d.ts +4 -4
- package/dist/types/cache/types.d.ts +30 -2
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +2 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.rsc.d.ts +1 -0
- package/dist/types/router/match-middleware/cache-lookup.d.ts +13 -0
- package/dist/types/router/navigation-snapshot.d.ts +29 -0
- package/dist/types/router/router-options.d.ts +27 -3
- package/dist/types/rsc/shell-build-manifest.d.ts +7 -1
- package/dist/types/rsc/shell-serve.d.ts +7 -1
- package/dist/types/rsc/types.d.ts +17 -0
- package/dist/types/server/request-context.d.ts +57 -4
- package/dist/types/testing/render-route.d.ts +10 -1
- package/dist/types/testing/shell-status.d.ts +6 -3
- package/dist/types/vite/plugin-types.d.ts +1 -1
- package/dist/vite/index.js +5 -5
- package/package.json +23 -22
- package/skills/caching/SKILL.md +39 -0
- package/skills/comparison/references/framework-comparison.md +7 -1
- package/skills/links/SKILL.md +24 -0
- package/skills/ppr/SKILL.md +53 -4
- package/skills/router-setup/SKILL.md +7 -2
- package/skills/testing/client-components.md +15 -14
- package/skills/vercel/SKILL.md +1 -1
- package/src/browser/event-controller.ts +110 -11
- package/src/browser/link-interceptor.ts +469 -20
- package/src/browser/navigation-bridge.ts +71 -2
- package/src/browser/navigation-store.ts +24 -1
- package/src/browser/notify-listeners.ts +22 -0
- package/src/browser/prefetch/cache.ts +4 -2
- package/src/browser/prefetch/default-strategy.ts +43 -3
- package/src/browser/prefetch/invalidation.ts +30 -0
- package/src/browser/prefetch/loader.ts +19 -12
- package/src/browser/prefetch/observer.ts +50 -22
- package/src/browser/rango-state.ts +21 -0
- package/src/browser/react/Link.tsx +97 -88
- package/src/browser/react/NavigationProvider.tsx +1 -0
- package/src/browser/react/context.ts +4 -0
- package/src/browser/rsc-router.tsx +22 -9
- package/src/browser/types.ts +1 -0
- package/src/cache/cache-key-utils.ts +18 -4
- package/src/cache/cache-runtime.ts +7 -2
- package/src/cache/cache-scope.ts +152 -23
- package/src/cache/cf/cf-cache-store.ts +51 -16
- package/src/cache/document-cache.ts +7 -1
- package/src/cache/index.ts +7 -0
- package/src/cache/search-params-filter.ts +118 -0
- package/src/cache/shell-snapshot.ts +8 -4
- package/src/cache/types.ts +33 -2
- package/src/cache/vercel/vercel-cache-store.ts +17 -3
- package/src/index.rsc.ts +4 -0
- package/src/index.ts +6 -0
- package/src/router/match-middleware/cache-lookup.ts +146 -33
- package/src/router/match-middleware/cache-store.ts +70 -0
- package/src/router/navigation-snapshot.ts +46 -6
- package/src/router/router-options.ts +31 -4
- package/src/rsc/handler.ts +9 -0
- package/src/rsc/response-cache-serve.ts +1 -1
- package/src/rsc/rsc-rendering.ts +252 -27
- package/src/rsc/shell-build-manifest.ts +8 -1
- package/src/rsc/shell-capture.ts +5 -0
- package/src/rsc/shell-serve.ts +8 -2
- package/src/rsc/types.ts +17 -0
- package/src/server/request-context.ts +62 -3
- package/src/testing/dispatch.ts +21 -3
- package/src/testing/render-route.tsx +86 -17
- package/src/testing/shell-status.ts +20 -3
- package/src/vite/plugin-types.ts +1 -1
- package/src/vite/plugins/vercel-output.ts +2 -2
- package/dist/types.backup/__internal.d.ts +0 -127
- package/dist/types.backup/bin/rango.d.ts +0 -1
- package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
- package/dist/types.backup/browser/action-fence.d.ts +0 -33
- package/dist/types.backup/browser/app-shell.d.ts +0 -34
- package/dist/types.backup/browser/app-version.d.ts +0 -6
- package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
- package/dist/types.backup/browser/cookie-name.d.ts +0 -66
- package/dist/types.backup/browser/event-controller.d.ts +0 -221
- package/dist/types.backup/browser/history-state.d.ts +0 -26
- package/dist/types.backup/browser/index.d.ts +0 -1
- package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
- package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
- package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
- package/dist/types.backup/browser/logging.d.ts +0 -33
- package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
- package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
- package/dist/types.backup/browser/navigation-client.d.ts +0 -17
- package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
- package/dist/types.backup/browser/navigation-store.d.ts +0 -95
- package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
- package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
- package/dist/types.backup/browser/partial-update.d.ts +0 -61
- package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
- package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
- package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
- package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
- package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
- package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
- package/dist/types.backup/browser/rango-state.d.ts +0 -52
- package/dist/types.backup/browser/react/Link.d.ts +0 -140
- package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
- package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
- package/dist/types.backup/browser/react/context.d.ts +0 -54
- package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
- package/dist/types.backup/browser/react/index.d.ts +0 -1
- package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
- package/dist/types.backup/browser/react/location-state.d.ts +0 -29
- package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
- package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
- package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
- package/dist/types.backup/browser/react/use-action.d.ts +0 -61
- package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
- package/dist/types.backup/browser/react/use-href.d.ts +0 -32
- package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
- package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
- package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
- package/dist/types.backup/browser/react/use-params.d.ts +0 -21
- package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
- package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
- package/dist/types.backup/browser/react/use-router.d.ts +0 -23
- package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
- package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
- package/dist/types.backup/browser/response-adapter.d.ts +0 -58
- package/dist/types.backup/browser/rsc-router.d.ts +0 -141
- package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
- package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
- package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
- package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
- package/dist/types.backup/browser/types.d.ts +0 -530
- package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
- package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
- package/dist/types.backup/build/generate-manifest.d.ts +0 -100
- package/dist/types.backup/build/generate-route-types.d.ts +0 -8
- package/dist/types.backup/build/index.d.ts +0 -21
- package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
- package/dist/types.backup/build/route-trie.d.ts +0 -89
- package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
- package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
- package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
- package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
- package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
- package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
- package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
- package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
- package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
- package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
- package/dist/types.backup/cache/background-task.d.ts +0 -21
- package/dist/types.backup/cache/cache-error.d.ts +0 -71
- package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
- package/dist/types.backup/cache/cache-policy.d.ts +0 -59
- package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
- package/dist/types.backup/cache/cache-scope.d.ts +0 -134
- package/dist/types.backup/cache/cache-tag.d.ts +0 -79
- package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
- package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
- package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
- package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
- package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
- package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
- package/dist/types.backup/cache/cf/index.d.ts +0 -3
- package/dist/types.backup/cache/document-cache.d.ts +0 -69
- package/dist/types.backup/cache/handle-capture.d.ts +0 -23
- package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
- package/dist/types.backup/cache/index.d.ts +0 -7
- package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
- package/dist/types.backup/cache/profile-registry.d.ts +0 -40
- package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
- package/dist/types.backup/cache/segment-codec.d.ts +0 -78
- package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
- package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
- package/dist/types.backup/cache/taint.d.ts +0 -71
- package/dist/types.backup/cache/types.d.ts +0 -407
- package/dist/types.backup/cache/vercel/index.d.ts +0 -1
- package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
- package/dist/types.backup/client.d.ts +0 -184
- package/dist/types.backup/client.rsc.d.ts +0 -39
- package/dist/types.backup/cloudflare/index.d.ts +0 -7
- package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
- package/dist/types.backup/component-utils.d.ts +0 -46
- package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
- package/dist/types.backup/context-var.d.ts +0 -84
- package/dist/types.backup/debug.d.ts +0 -57
- package/dist/types.backup/decode-loader-results.d.ts +0 -5
- package/dist/types.backup/default-error-boundary.d.ts +0 -10
- package/dist/types.backup/defer.d.ts +0 -89
- package/dist/types.backup/deps/browser.d.ts +0 -1
- package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
- package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
- package/dist/types.backup/deps/rsc.d.ts +0 -1
- package/dist/types.backup/deps/ssr.d.ts +0 -1
- package/dist/types.backup/encode-kv.d.ts +0 -35
- package/dist/types.backup/errors.d.ts +0 -226
- package/dist/types.backup/escape-script.d.ts +0 -44
- package/dist/types.backup/handle.d.ts +0 -93
- package/dist/types.backup/handles/MetaTags.d.ts +0 -17
- package/dist/types.backup/handles/Scripts.d.ts +0 -38
- package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
- package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
- package/dist/types.backup/handles/is-thenable.d.ts +0 -12
- package/dist/types.backup/handles/meta.d.ts +0 -43
- package/dist/types.backup/handles/script.d.ts +0 -139
- package/dist/types.backup/host/cookie-handler.d.ts +0 -8
- package/dist/types.backup/host/errors.d.ts +0 -40
- package/dist/types.backup/host/index.d.ts +0 -33
- package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
- package/dist/types.backup/host/router.d.ts +0 -12
- package/dist/types.backup/host/testing.d.ts +0 -41
- package/dist/types.backup/host/types.d.ts +0 -148
- package/dist/types.backup/host/utils.d.ts +0 -20
- package/dist/types.backup/href-client.d.ts +0 -214
- package/dist/types.backup/index.d.ts +0 -112
- package/dist/types.backup/index.rsc.d.ts +0 -51
- package/dist/types.backup/internal-debug.d.ts +0 -1
- package/dist/types.backup/loader-store.d.ts +0 -193
- package/dist/types.backup/loader.d.ts +0 -18
- package/dist/types.backup/loader.rsc.d.ts +0 -18
- package/dist/types.backup/missing-id-error.d.ts +0 -1
- package/dist/types.backup/outlet-context.d.ts +0 -12
- package/dist/types.backup/outlet-provider.d.ts +0 -12
- package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
- package/dist/types.backup/prerender/param-hash.d.ts +0 -6
- package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
- package/dist/types.backup/prerender/store.d.ts +0 -62
- package/dist/types.backup/prerender.d.ts +0 -292
- package/dist/types.backup/redirect-origin.d.ts +0 -55
- package/dist/types.backup/regex-escape.d.ts +0 -6
- package/dist/types.backup/render-error-thrower.d.ts +0 -13
- package/dist/types.backup/response-utils.d.ts +0 -35
- package/dist/types.backup/reverse.d.ts +0 -206
- package/dist/types.backup/root-error-boundary.d.ts +0 -32
- package/dist/types.backup/route-content-wrapper.d.ts +0 -40
- package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
- package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
- package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
- package/dist/types.backup/route-definition/index.d.ts +0 -7
- package/dist/types.backup/route-definition/redirect.d.ts +0 -48
- package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
- package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
- package/dist/types.backup/route-definition.d.ts +0 -1
- package/dist/types.backup/route-map-builder.d.ts +0 -127
- package/dist/types.backup/route-name.d.ts +0 -27
- package/dist/types.backup/route-types.d.ts +0 -172
- package/dist/types.backup/router/basename.d.ts +0 -10
- package/dist/types.backup/router/content-negotiation.d.ts +0 -91
- package/dist/types.backup/router/debug-manifest.d.ts +0 -7
- package/dist/types.backup/router/error-handling.d.ts +0 -76
- package/dist/types.backup/router/find-match.d.ts +0 -19
- package/dist/types.backup/router/handler-context.d.ts +0 -41
- package/dist/types.backup/router/instrument.d.ts +0 -161
- package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
- package/dist/types.backup/router/lazy-includes.d.ts +0 -26
- package/dist/types.backup/router/loader-resolution.d.ts +0 -63
- package/dist/types.backup/router/logging.d.ts +0 -41
- package/dist/types.backup/router/manifest.d.ts +0 -8
- package/dist/types.backup/router/match-api.d.ts +0 -19
- package/dist/types.backup/router/match-context.d.ts +0 -184
- package/dist/types.backup/router/match-handlers.d.ts +0 -49
- package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
- package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
- package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
- package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
- package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
- package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
- package/dist/types.backup/router/match-pipelines.d.ts +0 -103
- package/dist/types.backup/router/match-result.d.ts +0 -114
- package/dist/types.backup/router/metrics.d.ts +0 -6
- package/dist/types.backup/router/middleware-types.d.ts +0 -74
- package/dist/types.backup/router/middleware.d.ts +0 -116
- package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
- package/dist/types.backup/router/params-util.d.ts +0 -8
- package/dist/types.backup/router/parse-pattern.d.ts +0 -38
- package/dist/types.backup/router/pattern-matching.d.ts +0 -169
- package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
- package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
- package/dist/types.backup/router/prerender-match.d.ts +0 -50
- package/dist/types.backup/router/preview-match.d.ts +0 -22
- package/dist/types.backup/router/request-classification.d.ts +0 -104
- package/dist/types.backup/router/revalidation.d.ts +0 -57
- package/dist/types.backup/router/route-snapshot.d.ts +0 -112
- package/dist/types.backup/router/router-context.d.ts +0 -137
- package/dist/types.backup/router/router-interfaces.d.ts +0 -432
- package/dist/types.backup/router/router-options.d.ts +0 -738
- package/dist/types.backup/router/router-registry.d.ts +0 -15
- package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
- package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
- package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
- package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
- package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
- package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
- package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
- package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
- package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
- package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
- package/dist/types.backup/router/segment-resolution.d.ts +0 -3
- package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
- package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
- package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
- package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
- package/dist/types.backup/router/telemetry.d.ts +0 -215
- package/dist/types.backup/router/timeout.d.ts +0 -68
- package/dist/types.backup/router/tracing.d.ts +0 -125
- package/dist/types.backup/router/trie-matching.d.ts +0 -32
- package/dist/types.backup/router/types.d.ts +0 -98
- package/dist/types.backup/router/url-params.d.ts +0 -26
- package/dist/types.backup/router.d.ts +0 -7
- package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
- package/dist/types.backup/rsc/full-payload.d.ts +0 -22
- package/dist/types.backup/rsc/handler-context.d.ts +0 -31
- package/dist/types.backup/rsc/handler.d.ts +0 -9
- package/dist/types.backup/rsc/helpers.d.ts +0 -213
- package/dist/types.backup/rsc/index.d.ts +0 -17
- package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
- package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
- package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
- package/dist/types.backup/rsc/nonce.d.ts +0 -28
- package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
- package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
- package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
- package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
- package/dist/types.backup/rsc/response-error.d.ts +0 -19
- package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
- package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
- package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
- package/dist/types.backup/rsc/server-action.d.ts +0 -68
- package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
- package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
- package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
- package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
- package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
- package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
- package/dist/types.backup/rsc/types.d.ts +0 -290
- package/dist/types.backup/runtime-env.d.ts +0 -1
- package/dist/types.backup/search-params.d.ts +0 -125
- package/dist/types.backup/segment-content-promise.d.ts +0 -13
- package/dist/types.backup/segment-fragments.d.ts +0 -56
- package/dist/types.backup/segment-loader-promise.d.ts +0 -22
- package/dist/types.backup/segment-system.d.ts +0 -84
- package/dist/types.backup/serialize.d.ts +0 -164
- package/dist/types.backup/server/context.d.ts +0 -494
- package/dist/types.backup/server/cookie-parse.d.ts +0 -10
- package/dist/types.backup/server/cookie-store.d.ts +0 -107
- package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
- package/dist/types.backup/server/handle-store.d.ts +0 -100
- package/dist/types.backup/server/loader-registry.d.ts +0 -32
- package/dist/types.backup/server/request-context.d.ts +0 -596
- package/dist/types.backup/server/root-layout.d.ts +0 -3
- package/dist/types.backup/server.d.ts +0 -15
- package/dist/types.backup/ssr/index.d.ts +0 -233
- package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
- package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
- package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
- package/dist/types.backup/static-handler.d.ts +0 -57
- package/dist/types.backup/testing/cache-status.d.ts +0 -63
- package/dist/types.backup/testing/collect-handle.d.ts +0 -20
- package/dist/types.backup/testing/dispatch.d.ts +0 -123
- package/dist/types.backup/testing/dom.entry.d.ts +0 -15
- package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
- package/dist/types.backup/testing/e2e/index.d.ts +0 -30
- package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
- package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
- package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
- package/dist/types.backup/testing/e2e/server.d.ts +0 -35
- package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
- package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
- package/dist/types.backup/testing/flight-tree.d.ts +0 -192
- package/dist/types.backup/testing/flight.d.ts +0 -115
- package/dist/types.backup/testing/flight.entry.d.ts +0 -27
- package/dist/types.backup/testing/generated-routes.d.ts +0 -66
- package/dist/types.backup/testing/index.d.ts +0 -52
- package/dist/types.backup/testing/internal/context.d.ts +0 -225
- package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
- package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
- package/dist/types.backup/testing/render-handler.d.ts +0 -160
- package/dist/types.backup/testing/render-route.d.ts +0 -246
- package/dist/types.backup/testing/run-loader.d.ts +0 -186
- package/dist/types.backup/testing/run-middleware.d.ts +0 -132
- package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
- package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
- package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
- package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
- package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
- package/dist/types.backup/testing/vitest.d.ts +0 -205
- package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
- package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
- package/dist/types.backup/theme/constants.d.ts +0 -39
- package/dist/types.backup/theme/index.d.ts +0 -29
- package/dist/types.backup/theme/theme-context.d.ts +0 -21
- package/dist/types.backup/theme/theme-script.d.ts +0 -26
- package/dist/types.backup/theme/types.d.ts +0 -162
- package/dist/types.backup/theme/use-theme.d.ts +0 -8
- package/dist/types.backup/types/boundaries.d.ts +0 -93
- package/dist/types.backup/types/cache-types.d.ts +0 -191
- package/dist/types.backup/types/error-types.d.ts +0 -114
- package/dist/types.backup/types/global-namespace.d.ts +0 -90
- package/dist/types.backup/types/handler-context.d.ts +0 -658
- package/dist/types.backup/types/index.d.ts +0 -11
- package/dist/types.backup/types/loader-types.d.ts +0 -182
- package/dist/types.backup/types/request-scope.d.ts +0 -93
- package/dist/types.backup/types/route-config.d.ts +0 -105
- package/dist/types.backup/types/route-entry.d.ts +0 -95
- package/dist/types.backup/types/segments.d.ts +0 -234
- package/dist/types.backup/types.d.ts +0 -1
- package/dist/types.backup/urls/include-helper.d.ts +0 -17
- package/dist/types.backup/urls/include-provider.d.ts +0 -27
- package/dist/types.backup/urls/index.d.ts +0 -6
- package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
- package/dist/types.backup/urls/path-helper.d.ts +0 -12
- package/dist/types.backup/urls/pattern-types.d.ts +0 -166
- package/dist/types.backup/urls/response-types.d.ts +0 -67
- package/dist/types.backup/urls/type-extraction.d.ts +0 -157
- package/dist/types.backup/urls/urls-function.d.ts +0 -24
- package/dist/types.backup/urls.d.ts +0 -1
- package/dist/types.backup/use-loader.d.ts +0 -150
- package/dist/types.backup/vercel/index.d.ts +0 -10
- package/dist/types.backup/vercel/tracing.d.ts +0 -70
- package/dist/types.backup/vite/debug.d.ts +0 -80
- package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
- package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
- package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
- package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
- package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
- package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
- package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
- package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
- package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
- package/dist/types.backup/vite/discovery/state.d.ts +0 -162
- package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
- package/dist/types.backup/vite/index.d.ts +0 -11
- package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
- package/dist/types.backup/vite/plugin-types.d.ts +0 -298
- package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
- package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
- package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
- package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
- package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
- package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
- package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
- package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
- package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
- package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
- package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
- package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
- package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
- package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
- package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
- package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
- package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
- package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
- package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
- package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
- package/dist/types.backup/vite/rango.d.ts +0 -29
- package/dist/types.backup/vite/router-discovery.d.ts +0 -23
- package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
- package/dist/types.backup/vite/utils/banner.d.ts +0 -2
- package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
- package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
- package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
- package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
- package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
- package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
- package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
- package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
|
@@ -1,392 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
import type { ExtractRouteParams, Handler, PartialCacheOptions, ErrorBoundaryHandler, LoaderDefinition, MiddlewareFn, NotFoundBoundaryHandler, ResolvedRouteMap, RouteDefinition, ShouldRevalidateFn, TransitionConfig } from "../types.js";
|
|
3
|
-
import type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, LoadingItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, LoaderUseItem, CacheItem, TransitionItem, UseItems } from "../route-types.js";
|
|
4
|
-
export type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, CacheItem, } from "../route-types.js";
|
|
5
|
-
export type { InterceptConfig, InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "../server/context";
|
|
6
|
-
/**
|
|
7
|
-
* Route helpers provided by map()
|
|
8
|
-
* These are the only typed helpers users interact with
|
|
9
|
-
*/
|
|
10
|
-
export type RouteHelpers<T extends RouteDefinition, TEnv> = {
|
|
11
|
-
/**
|
|
12
|
-
* Define a route handler for a specific route pattern
|
|
13
|
-
* ```typescript
|
|
14
|
-
* route("products.detail", async (ctx) => {
|
|
15
|
-
* const product = await getProduct(ctx.params.slug);
|
|
16
|
-
* return <ProductPage product={product} />;
|
|
17
|
-
* })
|
|
18
|
-
*
|
|
19
|
-
* // With nested use() for middleware, loaders, etc.
|
|
20
|
-
* route("products.detail", ProductHandler, () => [
|
|
21
|
-
* loader(ProductLoader),
|
|
22
|
-
* loading(<ProductSkeleton />),
|
|
23
|
-
* ])
|
|
24
|
-
* ```
|
|
25
|
-
* @param name - Route name matching a key from route definitions
|
|
26
|
-
* @param handler - Async function that returns JSX for the route
|
|
27
|
-
* @param use - Optional callback returning middleware, loaders, loading, etc.
|
|
28
|
-
*/
|
|
29
|
-
route: <K extends keyof ResolvedRouteMap<T> & string>(name: K, handler: Handler<ExtractRouteParams<T, K & string>, {}, TEnv>, use?: () => UseItems<RouteUseItem>) => RouteItem;
|
|
30
|
-
/**
|
|
31
|
-
* Define a layout that wraps child routes
|
|
32
|
-
* ```typescript
|
|
33
|
-
* layout(<RootLayout />, () => [
|
|
34
|
-
* route("home", HomePage),
|
|
35
|
-
* route("about", AboutPage),
|
|
36
|
-
* ])
|
|
37
|
-
*
|
|
38
|
-
* // With dynamic layout handler
|
|
39
|
-
* layout(async (ctx) => {
|
|
40
|
-
* const user = ctx.get("user");
|
|
41
|
-
* return <DashboardShell user={user} />;
|
|
42
|
-
* }, () => [
|
|
43
|
-
* middleware(authMiddleware),
|
|
44
|
-
* route("dashboard", DashboardPage),
|
|
45
|
-
* ])
|
|
46
|
-
* ```
|
|
47
|
-
* @param component - Static JSX or async handler for the layout
|
|
48
|
-
* @param use - Callback returning child routes, middleware, loaders, etc.
|
|
49
|
-
*/
|
|
50
|
-
layout: (component: ReactNode | Handler<any, any, TEnv>, use?: () => UseItems<LayoutUseItem>) => LayoutItem;
|
|
51
|
-
/**
|
|
52
|
-
* Define parallel routes that render simultaneously in named slots
|
|
53
|
-
* ```typescript
|
|
54
|
-
* parallel({
|
|
55
|
-
* "@sidebar": <Sidebar />,
|
|
56
|
-
* "@main": async (ctx) => <MainContent data={ctx.use(DataLoader)} />,
|
|
57
|
-
* })
|
|
58
|
-
*
|
|
59
|
-
* // With loaders and loading states (broadcast to every slot)
|
|
60
|
-
* parallel({
|
|
61
|
-
* "@analytics": AnalyticsPanel,
|
|
62
|
-
* "@metrics": MetricsPanel,
|
|
63
|
-
* }, () => [
|
|
64
|
-
* loader(DashboardLoader),
|
|
65
|
-
* loading(<DashboardSkeleton />),
|
|
66
|
-
* ])
|
|
67
|
-
*
|
|
68
|
-
* // Per-slot scoped use via slot descriptor — for single-assignment items
|
|
69
|
-
* // like loading() that should not broadcast to siblings.
|
|
70
|
-
* parallel({
|
|
71
|
-
* "@meta": MetaSlot,
|
|
72
|
-
* "@sidebar": {
|
|
73
|
-
* handler: SidebarSlot,
|
|
74
|
-
* use: () => [loading(<SidebarSkeleton />)],
|
|
75
|
-
* },
|
|
76
|
-
* })
|
|
77
|
-
* ```
|
|
78
|
-
* @param slots - Object with slot names (prefixed with @) mapped to handlers
|
|
79
|
-
* or `{ handler, use? }` slot descriptors.
|
|
80
|
-
* @param use - Optional callback for loaders, loading, revalidate, etc.
|
|
81
|
-
* Items here apply to every slot in the call (broadcast).
|
|
82
|
-
* For per-slot single-assignment items, use the slot descriptor's
|
|
83
|
-
* own `use` callback — slot-local items run after the broadcast,
|
|
84
|
-
* so they take precedence on `loading()` and other last-write-wins
|
|
85
|
-
* fields.
|
|
86
|
-
*/
|
|
87
|
-
parallel: (slots: Record<`@${string}`, Handler<any, any, TEnv> | ReactNode | {
|
|
88
|
-
handler: Handler<any, any, TEnv> | ReactNode;
|
|
89
|
-
use?: () => UseItems<ParallelUseItem>;
|
|
90
|
-
}>, use?: () => UseItems<ParallelUseItem>) => ParallelItem;
|
|
91
|
-
/**
|
|
92
|
-
* Define an intercepting route for soft navigation
|
|
93
|
-
*
|
|
94
|
-
* When soft-navigating to the target route from within the current layout,
|
|
95
|
-
* the intercept handler renders in the named slot instead of the route's
|
|
96
|
-
* default handler. Direct navigation uses the route's handler.
|
|
97
|
-
*
|
|
98
|
-
* ```typescript
|
|
99
|
-
* // In a layout - intercept "card" route as modal
|
|
100
|
-
* layout(<KanbanLayout />, () => [
|
|
101
|
-
* intercept("@modal", "card", () => <CardModal />),
|
|
102
|
-
* ])
|
|
103
|
-
*
|
|
104
|
-
* // With loaders and revalidation
|
|
105
|
-
* intercept("@modal", "card", () => <CardModal />, () => [
|
|
106
|
-
* loader(CardModalLoader),
|
|
107
|
-
* revalidate(() => false),
|
|
108
|
-
* ])
|
|
109
|
-
*
|
|
110
|
-
* // Conditional activation via the config object's `when` selector
|
|
111
|
-
* intercept("@modal", "card", <CardModal />, {
|
|
112
|
-
* when: ({ from }) => from.pathname.startsWith("/board"),
|
|
113
|
-
* })
|
|
114
|
-
*
|
|
115
|
-
* // Config + other use-items: config is arg 4, use is arg 5
|
|
116
|
-
* intercept(
|
|
117
|
-
* "@modal",
|
|
118
|
-
* "card",
|
|
119
|
-
* <CardModal />,
|
|
120
|
-
* { when: ({ from }) => from.pathname.startsWith("/board") },
|
|
121
|
-
* () => [loader(CardDetailLoader)],
|
|
122
|
-
* )
|
|
123
|
-
* ```
|
|
124
|
-
* @param slotName - Named slot (prefixed with @) where intercept renders
|
|
125
|
-
* @param routeName - Route name to intercept
|
|
126
|
-
* @param handler - Component or handler for intercepted render
|
|
127
|
-
* @param config - Optional InterceptConfig (e.g. `{ when }`), or the use
|
|
128
|
-
* callback directly when there is no config
|
|
129
|
-
* @param use - Optional callback for loaders, middleware, revalidate, etc.
|
|
130
|
-
*/
|
|
131
|
-
intercept: {
|
|
132
|
-
<K extends keyof ResolvedRouteMap<T> & string>(slotName: `@${string}`, routeName: `.${K}`, handler: ReactNode | Handler<ExtractRouteParams<T, K>, {}, TEnv>, config?: import("../server/context.js").InterceptConfig<TEnv> | (() => UseItems<InterceptUseItem>), use?: () => UseItems<InterceptUseItem>): InterceptItem;
|
|
133
|
-
<K extends keyof Rango.GeneratedRouteMap & string>(slotName: `@${string}`, routeName: K, handler: ReactNode | Handler<K, Rango.GeneratedRouteMap, TEnv>, config?: import("../server/context.js").InterceptConfig<TEnv> | (() => UseItems<InterceptUseItem>), use?: () => UseItems<InterceptUseItem>): InterceptItem;
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* Attach middleware to the current route/layout, or wrap child segments
|
|
137
|
-
*
|
|
138
|
-
* **Sibling mode** — attaches middleware to the parent entry:
|
|
139
|
-
* ```typescript
|
|
140
|
-
* layout(<DashboardShell />, () => [
|
|
141
|
-
* middleware(authMiddleware),
|
|
142
|
-
* middleware([authMiddleware, loggingMiddleware]),
|
|
143
|
-
* path("/", DashboardPage),
|
|
144
|
-
* ])
|
|
145
|
-
* ```
|
|
146
|
-
*
|
|
147
|
-
* **Wrapping mode** — scopes middleware to the children only:
|
|
148
|
-
* ```typescript
|
|
149
|
-
* middleware(authMiddleware, () => [
|
|
150
|
-
* path("/dashboard", DashboardPage),
|
|
151
|
-
* path("/settings", SettingsPage),
|
|
152
|
-
* ])
|
|
153
|
-
*
|
|
154
|
-
* middleware([authMiddleware, loggingMiddleware], () => [
|
|
155
|
-
* path("/admin", AdminPage),
|
|
156
|
-
* ])
|
|
157
|
-
* ```
|
|
158
|
-
*/
|
|
159
|
-
middleware: {
|
|
160
|
-
(fn: MiddlewareFn<TEnv>): MiddlewareItem;
|
|
161
|
-
(fn: MiddlewareFn<TEnv>, children: () => UseItems<LayoutUseItem>): MiddlewareItem;
|
|
162
|
-
(fns: MiddlewareFn<TEnv>[]): MiddlewareItem;
|
|
163
|
-
(fns: MiddlewareFn<TEnv>[], children: () => UseItems<LayoutUseItem>): MiddlewareItem;
|
|
164
|
-
};
|
|
165
|
-
/**
|
|
166
|
-
* Control when a segment should revalidate during navigation
|
|
167
|
-
* ```typescript
|
|
168
|
-
* // Revalidate when params change
|
|
169
|
-
* revalidate(({ currentParams, nextParams }) =>
|
|
170
|
-
* currentParams.slug !== nextParams.slug
|
|
171
|
-
* )
|
|
172
|
-
*
|
|
173
|
-
* // Revalidate after specific actions (actionId format: "path/to/file.ts#exportName")
|
|
174
|
-
* // Use `|| undefined` (defer), not `?? false` (hard short-circuit), so the
|
|
175
|
-
* // chain and the segment default still apply when there is no match.
|
|
176
|
-
* revalidate(({ actionId }) =>
|
|
177
|
-
* actionId?.includes("Cart") || undefined
|
|
178
|
-
* )
|
|
179
|
-
*
|
|
180
|
-
* // Soft decision (suggest but allow override)
|
|
181
|
-
* revalidate(({ defaultShouldRevalidate }) =>
|
|
182
|
-
* ({ defaultShouldRevalidate: true })
|
|
183
|
-
* )
|
|
184
|
-
* ```
|
|
185
|
-
* @param fn - Function returning either:
|
|
186
|
-
* - `boolean` (hard decision — short-circuits the chain),
|
|
187
|
-
* - `{ defaultShouldRevalidate: boolean }` (soft — updates the suggestion
|
|
188
|
-
* for downstream revalidators),
|
|
189
|
-
* - or nothing / `null` / `undefined` (defer — leaves the suggestion
|
|
190
|
-
* unchanged and continues to the next revalidator).
|
|
191
|
-
*/
|
|
192
|
-
revalidate: (fn: ShouldRevalidateFn<any, TEnv>) => RevalidateItem;
|
|
193
|
-
/**
|
|
194
|
-
* Attach a data loader to the current route/layout
|
|
195
|
-
* ```typescript
|
|
196
|
-
* loader(ProductLoader)
|
|
197
|
-
*
|
|
198
|
-
* // With loader-specific revalidation (match by file or export name)
|
|
199
|
-
* loader(CartLoader, () => [
|
|
200
|
-
* revalidate(({ actionId }) => actionId?.includes("Cart") || undefined),
|
|
201
|
-
* ])
|
|
202
|
-
*
|
|
203
|
-
* // Consume in client components with useLoader()
|
|
204
|
-
* // (preferred — cache-safe, always fresh)
|
|
205
|
-
* function ProductDetails() {
|
|
206
|
-
* const { data } = useLoader(ProductLoader);
|
|
207
|
-
* return <div>{data.name}</div>;
|
|
208
|
-
* }
|
|
209
|
-
* ```
|
|
210
|
-
* @param loaderDef - Loader created with createLoader()
|
|
211
|
-
* @param use - Optional callback for loader-specific revalidation rules
|
|
212
|
-
*/
|
|
213
|
-
loader: <TData>(loaderDef: LoaderDefinition<TData>, use?: () => UseItems<LoaderUseItem>) => LoaderItem;
|
|
214
|
-
/**
|
|
215
|
-
* Attach a loading component to the current route/layout
|
|
216
|
-
* ```typescript
|
|
217
|
-
* // Show loading on all requests (including SSR)
|
|
218
|
-
* loading(<Skeleton />)
|
|
219
|
-
*
|
|
220
|
-
* // Skip loading on SSR, only show on client navigation
|
|
221
|
-
* loading(<Skeleton />, { ssr: false })
|
|
222
|
-
* ```
|
|
223
|
-
* @param component - The loading UI to show during navigation
|
|
224
|
-
* @param options - Configuration options
|
|
225
|
-
* @param options.ssr - If false, skip showing loading on document requests (SSR)
|
|
226
|
-
*/
|
|
227
|
-
loading: (component: ReactNode | (() => ReactNode), options?: {
|
|
228
|
-
ssr?: boolean;
|
|
229
|
-
}) => LoadingItem;
|
|
230
|
-
/**
|
|
231
|
-
* Attach an error boundary to catch errors in this segment and children
|
|
232
|
-
* ```typescript
|
|
233
|
-
* errorBoundary(<ErrorFallback />)
|
|
234
|
-
*
|
|
235
|
-
* // With dynamic error handler
|
|
236
|
-
* errorBoundary(({ error, reset }) => (
|
|
237
|
-
* <div>
|
|
238
|
-
* <h2>Something went wrong</h2>
|
|
239
|
-
* <p>{error.message}</p>
|
|
240
|
-
* <button onClick={reset}>Try again</button>
|
|
241
|
-
* </div>
|
|
242
|
-
* ))
|
|
243
|
-
* ```
|
|
244
|
-
* @param fallback - Static JSX or handler receiving error info and reset function
|
|
245
|
-
*/
|
|
246
|
-
errorBoundary: (fallback: ReactNode | ErrorBoundaryHandler) => ErrorBoundaryItem;
|
|
247
|
-
/**
|
|
248
|
-
* Attach a not-found boundary to handle notFound() calls in this segment
|
|
249
|
-
* ```typescript
|
|
250
|
-
* notFoundBoundary(<ProductNotFound />)
|
|
251
|
-
*
|
|
252
|
-
* // With dynamic handler
|
|
253
|
-
* notFoundBoundary(({ notFound }) => (
|
|
254
|
-
* <div>
|
|
255
|
-
* <h2>{notFound.message}</h2>
|
|
256
|
-
* <a href="/products">Browse all products</a>
|
|
257
|
-
* </div>
|
|
258
|
-
* ))
|
|
259
|
-
* ```
|
|
260
|
-
* @param fallback - Static JSX or handler receiving not-found info
|
|
261
|
-
*/
|
|
262
|
-
notFoundBoundary: (fallback: ReactNode | NotFoundBoundaryHandler) => NotFoundBoundaryItem;
|
|
263
|
-
/**
|
|
264
|
-
* Define cache configuration for segments
|
|
265
|
-
*
|
|
266
|
-
* Creates a cache boundary that applies to all children unless overridden.
|
|
267
|
-
* Cache config inherits down the route tree like middleware wrapping.
|
|
268
|
-
*
|
|
269
|
-
* When ttl is not specified, uses store defaults (explicit store first,
|
|
270
|
-
* then app-level store). When store is not specified, uses app-level store.
|
|
271
|
-
*
|
|
272
|
-
* Note: Loaders are NOT cached by default. Use cache() inside loader()
|
|
273
|
-
* to explicitly opt-in to loader caching.
|
|
274
|
-
*
|
|
275
|
-
* ```typescript
|
|
276
|
-
* // Using app-level defaults (ttl inherited from store.defaults)
|
|
277
|
-
* cache(() => [
|
|
278
|
-
* layout(<BlogLayout />), // cached with default TTL
|
|
279
|
-
* route("post/:slug"), // cached with default TTL
|
|
280
|
-
* ])
|
|
281
|
-
*
|
|
282
|
-
* // Cache all segments with explicit 60s TTL
|
|
283
|
-
* cache({ ttl: 60 }, () => [
|
|
284
|
-
* layout(<BlogLayout />), // cached
|
|
285
|
-
* route("post/:slug"), // cached
|
|
286
|
-
* ])
|
|
287
|
-
*
|
|
288
|
-
* // With stale-while-revalidate
|
|
289
|
-
* cache({ ttl: 60, swr: 300 }, () => [
|
|
290
|
-
* route("product/:id"),
|
|
291
|
-
* ])
|
|
292
|
-
*
|
|
293
|
-
* // Override for specific section
|
|
294
|
-
* cache({ ttl: 60 }, () => [
|
|
295
|
-
* layout(<RootLayout />),
|
|
296
|
-
* cache({ ttl: 300 }, () => [
|
|
297
|
-
* route("static-page"), // longer TTL
|
|
298
|
-
* ]),
|
|
299
|
-
* cache(false, () => [
|
|
300
|
-
* route("admin"), // not cached
|
|
301
|
-
* ]),
|
|
302
|
-
* ])
|
|
303
|
-
*
|
|
304
|
-
* // Use different store for specific routes
|
|
305
|
-
* cache({ store: kvStore, ttl: 3600 }, () => [
|
|
306
|
-
* route("archive/:year"), // uses KV store
|
|
307
|
-
* ])
|
|
308
|
-
*
|
|
309
|
-
* // Opt-in loader caching
|
|
310
|
-
* route("product/:id", ProductHandler, () => [
|
|
311
|
-
* loader(ProductLoader), // NOT cached (default)
|
|
312
|
-
* loader(StaticMetadata, () => [
|
|
313
|
-
* cache({ ttl: 3600 }), // cached for 1 hour
|
|
314
|
-
* ]),
|
|
315
|
-
* ])
|
|
316
|
-
* ```
|
|
317
|
-
* @param optionsOrChildren - Cache options, false to disable, or children callback
|
|
318
|
-
* @param children - Optional callback returning child segments (when first arg is options)
|
|
319
|
-
*/
|
|
320
|
-
cache: {
|
|
321
|
-
(): CacheItem;
|
|
322
|
-
(children: () => UseItems<AllUseItems>): CacheItem;
|
|
323
|
-
(options: PartialCacheOptions<TEnv> | false, use?: () => UseItems<AllUseItems>): CacheItem;
|
|
324
|
-
};
|
|
325
|
-
/**
|
|
326
|
-
* Opt a route (or group of routes) into transition-driven navigation.
|
|
327
|
-
*
|
|
328
|
-
* `transition()` does two independent things, and you choose how far to go:
|
|
329
|
-
* 1. startTransition (ALL React versions): the navigation commit is driven
|
|
330
|
-
* through React's startTransition, so a same-route nav (same route,
|
|
331
|
-
* different params, e.g. /product/1 -> /product/2) holds the previous
|
|
332
|
-
* content while the new loader resolves instead of flashing the route's
|
|
333
|
-
* loading() skeleton (see segment-system.tsx inTransitionScope). This is
|
|
334
|
-
* also the precondition for any view-transition animation.
|
|
335
|
-
* 2. <ViewTransition> (experimental React only): the segment content is also
|
|
336
|
-
* wrapped in React's <ViewTransition>, so the held swap cross-fades/morphs.
|
|
337
|
-
* Layered on by default; pass { viewTransition: false } to keep #1 without
|
|
338
|
-
* the router boundary (and place your own <ViewTransition> instead).
|
|
339
|
-
*
|
|
340
|
-
* A view transition cannot fire without a startTransition, so the meaningful
|
|
341
|
-
* choices are (see skills/view-transitions for the full matrix):
|
|
342
|
-
* - no transition() -> neither (remount + skeleton)
|
|
343
|
-
* - transition({ viewTransition: false }) -> startTransition only (hold)
|
|
344
|
-
* - transition({}) / transition({ enter… }) -> startTransition + ViewTransition
|
|
345
|
-
*
|
|
346
|
-
* Precedence: a bare transition({}) inherits createRouter({ viewTransition })
|
|
347
|
-
* (default "auto"); an explicit per-route `viewTransition` always wins. So
|
|
348
|
-
* transition({}) is startTransition + ViewTransition under the default and
|
|
349
|
-
* startTransition only when the router sets viewTransition: false.
|
|
350
|
-
*
|
|
351
|
-
* Conditional hold: pass `when: (ctx) => boolean` to gate the transition per
|
|
352
|
-
* request. It runs server-side AFTER the route handler (so it can read state
|
|
353
|
-
* the handler set via `ctx.get(...)`); returning false drops this transition
|
|
354
|
-
* for the request, so the navigation streams its loading() skeleton instead of
|
|
355
|
-
* holding. This is a post-handler predicate — distinct from intercept()'s
|
|
356
|
-
* match-time `when` config selector (`intercept(slot, route, Comp, { when })`).
|
|
357
|
-
*
|
|
358
|
-
* ```typescript
|
|
359
|
-
* // Attach to a single route
|
|
360
|
-
* path("/about", AboutPage, { name: "about" }, () => [
|
|
361
|
-
* transition({ enter: "fade-in", exit: "fade-out" }),
|
|
362
|
-
* ])
|
|
363
|
-
*
|
|
364
|
-
* // Wrap a group of routes
|
|
365
|
-
* transition({ enter: "fade-in", exit: "fade-out" }, () => [
|
|
366
|
-
* path("/", HomePage),
|
|
367
|
-
* path("/about", AboutPage),
|
|
368
|
-
* ])
|
|
369
|
-
*
|
|
370
|
-
* // Hold content + drive view transitions, but place no router boundary:
|
|
371
|
-
* path("/product/:id", ProductPage, { name: "product" }, () => [
|
|
372
|
-
* transition({ viewTransition: false }),
|
|
373
|
-
* ])
|
|
374
|
-
*
|
|
375
|
-
* // Hold only when the handler decided to (post-handler predicate):
|
|
376
|
-
* path("/product/:id", ProductPage, { name: "product" }, () => [
|
|
377
|
-
* transition({ when: (ctx) => ctx.get(KeepScroll) === true }),
|
|
378
|
-
* ])
|
|
379
|
-
* ```
|
|
380
|
-
* @param config - ViewTransition configuration (enter, exit, update, share,
|
|
381
|
-
* default, name), `viewTransition: "auto" | false` to toggle the router
|
|
382
|
-
* boundary (createRouter({ viewTransition }) sets the app-wide default), and
|
|
383
|
-
* `when: (ctx) => boolean` to gate the transition per request post-handler
|
|
384
|
-
* @param children - Optional callback returning child routes to wrap
|
|
385
|
-
*/
|
|
386
|
-
transition: {
|
|
387
|
-
(): TransitionItem;
|
|
388
|
-
(children: () => UseItems<AllUseItems>): TransitionItem;
|
|
389
|
-
(config: TransitionConfig): TransitionItem;
|
|
390
|
-
(config: TransitionConfig, children: () => UseItems<AllUseItems>): TransitionItem;
|
|
391
|
-
};
|
|
392
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type { RouteHelpers } from "./helpers-types.js";
|
|
2
|
-
export type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, CacheItem, InterceptConfig, InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "./helpers-types.js";
|
|
3
|
-
export { layout, cache, middleware, revalidate, parallel, intercept, errorBoundary, notFoundBoundary, loader, loading, transition, } from "./dsl-helpers.js";
|
|
4
|
-
export { map, createRouteHelpers, type RouteHandlers, } from "./helper-factories.js";
|
|
5
|
-
export { resolveHandlerUse } from "./resolve-handler-use.js";
|
|
6
|
-
export { redirect } from "./redirect.js";
|
|
7
|
-
export { createLoader } from "../loader.rsc.js";
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { LocationStateEntry } from "../browser/react/location-state-shared.js";
|
|
2
|
-
/**
|
|
3
|
-
* Create a soft redirect Response for middleware short-circuit
|
|
4
|
-
*
|
|
5
|
-
* Returns a Response that signals a client-side navigation to the target URL.
|
|
6
|
-
* Unlike Response.redirect() which causes a full page reload, this redirect
|
|
7
|
-
* is handled by the router for SPA-style navigation.
|
|
8
|
-
*
|
|
9
|
-
* Supports an optional state parameter to carry location state through the
|
|
10
|
-
* redirect. On the target page, state can be read via useLocationState()
|
|
11
|
-
* (use { flash: true } in createLocationState for read-once flash messages).
|
|
12
|
-
*
|
|
13
|
-
* @param url - The URL to redirect to
|
|
14
|
-
* @param statusOrOptions - HTTP status code (default: 302) or options object
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* // Simple redirect
|
|
19
|
-
* middleware((ctx, next) => {
|
|
20
|
-
* if (!ctx.get('user')) {
|
|
21
|
-
* return redirect('/login');
|
|
22
|
-
* }
|
|
23
|
-
* next();
|
|
24
|
-
* })
|
|
25
|
-
*
|
|
26
|
-
* // Redirect with state
|
|
27
|
-
* return redirect('/dashboard', {
|
|
28
|
-
* state: [Flash({ text: "Item saved!" })],
|
|
29
|
-
* });
|
|
30
|
-
*
|
|
31
|
-
* // Redirect with custom status and state
|
|
32
|
-
* return redirect('/login', {
|
|
33
|
-
* status: 303,
|
|
34
|
-
* state: [Flash({ text: "Session expired" })],
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
|
-
* // Off-host redirect (opt out of the same-origin guard). Without
|
|
38
|
-
* // `external: true`, a cross-origin target is blocked and replaced with the
|
|
39
|
-
* // app root, matching the client's open-redirect protection.
|
|
40
|
-
* return redirect('https://accounts.example.com/oauth', { external: true });
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export declare function redirect(url: string, status?: number): Response;
|
|
44
|
-
export declare function redirect(url: string, options: {
|
|
45
|
-
status?: number;
|
|
46
|
-
state?: LocationStateEntry | LocationStateEntry[];
|
|
47
|
-
external?: boolean;
|
|
48
|
-
}): Response;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { AllUseItems } from "../route-types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Extract the .use callback from any handler shape.
|
|
4
|
-
*
|
|
5
|
-
* Checks definition brands first (objects with __brand), then plain functions.
|
|
6
|
-
* ReactNode handlers return undefined (no .use possible).
|
|
7
|
-
*/
|
|
8
|
-
export declare function resolveHandlerUse(handler: unknown): (() => any[]) | undefined;
|
|
9
|
-
/**
|
|
10
|
-
* Validate that items from handler.use() are valid for the given mount site.
|
|
11
|
-
* Throws a descriptive error if any item is not allowed.
|
|
12
|
-
*/
|
|
13
|
-
export declare function validateHandlerUseItems(items: AllUseItems[], mountSite: string): void;
|
|
14
|
-
/**
|
|
15
|
-
* Create a merged use callback from handler.use and explicit use.
|
|
16
|
-
* handler.use items come first (defaults), explicit items second (overrides).
|
|
17
|
-
* Returns undefined if both are absent.
|
|
18
|
-
*/
|
|
19
|
-
export declare function mergeHandlerUse(handlerUse: (() => any[]) | undefined, explicitUse: (() => any[]) | undefined, mountSite: string): (() => any[]) | undefined;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const ALL_USE_ITEM_TYPES: ReadonlySet<string>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./route-definition/index.js";
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Route manifest storage and retrieval.
|
|
3
|
-
*
|
|
4
|
-
* The route manifest maps route names to URL patterns. It is populated
|
|
5
|
-
* by the virtual module (which imports from .named-routes.gen.ts files)
|
|
6
|
-
* and consumed by reverse() and href() at runtime.
|
|
7
|
-
*
|
|
8
|
-
* See docs/manifests.md for the full data flow.
|
|
9
|
-
*/
|
|
10
|
-
declare let cachedPrecomputedEntries: Array<{
|
|
11
|
-
staticPrefix: string;
|
|
12
|
-
routes: Record<string, string>;
|
|
13
|
-
}> | null;
|
|
14
|
-
/**
|
|
15
|
-
* Register routes into the global route map.
|
|
16
|
-
* Routes are merged with any existing registered routes.
|
|
17
|
-
* Called by createRouter() during module evaluation, and by lazy-include
|
|
18
|
-
* expansion (src/router/lazy-includes.ts) with each expansion's route delta.
|
|
19
|
-
*
|
|
20
|
-
* Merges IN PLACE — O(|map|), not O(total routes). The previous
|
|
21
|
-
* `globalRouteMap = { ...globalRouteMap, ...map }` copy made every
|
|
22
|
-
* lazy-include first hit O(total routes) on the request path: with a 26k-route
|
|
23
|
-
* manifest the spread measured 8.9ms/call (M4, node), paid once per level of a
|
|
24
|
-
* nested async-include chain (3 calls on a 3-level chain — the 464ms edge
|
|
25
|
-
* cold-hit in issue #666).
|
|
26
|
-
*
|
|
27
|
-
* In-place mutation is safe because every getGlobalRouteMap() consumer reads
|
|
28
|
-
* it fresh per call (server/request-context.ts, rsc/loader-fetch.ts,
|
|
29
|
-
* router/intercept-resolution.ts, testing/generated-routes.ts,
|
|
30
|
-
* rsc/manifest-init.ts) — none memoizes the returned reference. If you add a
|
|
31
|
-
* consumer that caches the map object, it will now observe later
|
|
32
|
-
* registrations; snapshot it yourself if you need frozen contents.
|
|
33
|
-
*/
|
|
34
|
-
export declare function registerRouteMap(map: Record<string, string>): void;
|
|
35
|
-
/**
|
|
36
|
-
* Get the globally registered route map
|
|
37
|
-
*
|
|
38
|
-
* Used internally by reverse to resolve route names to URLs at runtime.
|
|
39
|
-
* Returns the cached manifest if available (complete with lazy includes),
|
|
40
|
-
* otherwise returns the runtime-accumulated route map.
|
|
41
|
-
*
|
|
42
|
-
* @returns The registered route map
|
|
43
|
-
* @internal
|
|
44
|
-
*/
|
|
45
|
-
export declare function getGlobalRouteMap(): Record<string, string>;
|
|
46
|
-
/**
|
|
47
|
-
* Set the cached manifest (for runtime cache integration)
|
|
48
|
-
*
|
|
49
|
-
* This sets the complete route manifest from a runtime cache.
|
|
50
|
-
* The cached manifest includes all routes (including lazy includes)
|
|
51
|
-
* and takes precedence over the incrementally-built globalRouteMap.
|
|
52
|
-
*
|
|
53
|
-
* @param manifest - The complete route manifest to cache
|
|
54
|
-
*/
|
|
55
|
-
export declare function setCachedManifest(manifest: Record<string, string>): void;
|
|
56
|
-
/**
|
|
57
|
-
* Check if a cached manifest is loaded
|
|
58
|
-
*
|
|
59
|
-
* @returns true if a complete manifest is available
|
|
60
|
-
*/
|
|
61
|
-
export declare function hasCachedManifest(): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Clear the cached manifest (for testing)
|
|
64
|
-
*/
|
|
65
|
-
export declare function clearCachedManifest(): void;
|
|
66
|
-
/**
|
|
67
|
-
* Set pre-computed route entries from build-time data.
|
|
68
|
-
*
|
|
69
|
-
* Each entry corresponds to a leaf node in the prefix tree (no nested includes).
|
|
70
|
-
* evaluateLazyEntry() checks these before running the handler, avoiding the
|
|
71
|
-
* 5-50ms cost of handler evaluation for route matching on the first request.
|
|
72
|
-
*
|
|
73
|
-
* @param entries - Array of { staticPrefix, routes } from build-time prefix tree leaves
|
|
74
|
-
*/
|
|
75
|
-
export declare function setPrecomputedEntries(entries: Array<{
|
|
76
|
-
staticPrefix: string;
|
|
77
|
-
routes: Record<string, string>;
|
|
78
|
-
}> | null): void;
|
|
79
|
-
/**
|
|
80
|
-
* Get pre-computed route entries (if available)
|
|
81
|
-
*/
|
|
82
|
-
export declare function getPrecomputedEntries(): typeof cachedPrecomputedEntries;
|
|
83
|
-
declare let cachedRouteTrie: import("./build/route-trie.js").TrieNode | null;
|
|
84
|
-
export declare function setRouteTrie(trie: typeof cachedRouteTrie): void;
|
|
85
|
-
export declare function getRouteTrie(): typeof cachedRouteTrie;
|
|
86
|
-
/**
|
|
87
|
-
* Clear all cached route data (global and per-router).
|
|
88
|
-
* Called during HMR when route definitions change so the handler rebuilds
|
|
89
|
-
* the trie from the updated router.urlpatterns on the next request.
|
|
90
|
-
*
|
|
91
|
-
* The virtual module calls this before repopulating with fresh data,
|
|
92
|
-
* preventing stale entries from removed routes from accumulating.
|
|
93
|
-
*/
|
|
94
|
-
export declare function clearAllRouterData(): void;
|
|
95
|
-
export declare function setRouterManifest(routerId: string, manifest: Record<string, string>): void;
|
|
96
|
-
/** @internal */
|
|
97
|
-
export declare function getRouterManifest(routerId: string): Record<string, string> | undefined;
|
|
98
|
-
export declare function setRouterTrie(routerId: string, trie: import("./build/route-trie.js").TrieNode): void;
|
|
99
|
-
export declare function markRouterTrieAuthoritative(routerId: string): void;
|
|
100
|
-
export declare function isRouterTrieAuthoritative(routerId: string): boolean;
|
|
101
|
-
export declare function getRouterTrie(routerId: string): import("./build/route-trie.js").TrieNode | undefined;
|
|
102
|
-
export declare function setRouterPrecomputedEntries(routerId: string, entries: Array<{
|
|
103
|
-
staticPrefix: string;
|
|
104
|
-
routes: Record<string, string>;
|
|
105
|
-
}>): void;
|
|
106
|
-
export declare function getRouterPrecomputedEntries(routerId: string): Array<{
|
|
107
|
-
staticPrefix: string;
|
|
108
|
-
routes: Record<string, string>;
|
|
109
|
-
}> | undefined;
|
|
110
|
-
export declare function registerRouterManifestLoader(routerId: string, loader: () => Promise<any>): void;
|
|
111
|
-
export declare function ensureRouterManifest(routerId: string): Promise<void>;
|
|
112
|
-
export declare function setManifestReadyPromise(promise: Promise<void>): void;
|
|
113
|
-
export declare function waitForManifestReady(): Promise<void> | null;
|
|
114
|
-
/**
|
|
115
|
-
* Register whether a route is at root scope.
|
|
116
|
-
* Called by path() during route evaluation.
|
|
117
|
-
*/
|
|
118
|
-
export declare function registerRouteRootScope(routeName: string, rootScoped: boolean): void;
|
|
119
|
-
/**
|
|
120
|
-
* Check if a route is at root scope.
|
|
121
|
-
* Returns undefined if the route has not been registered (e.g. in unit tests).
|
|
122
|
-
*/
|
|
123
|
-
export declare function isRouteRootScoped(routeName: string): boolean | undefined;
|
|
124
|
-
import type { SearchSchema } from "./search-params.js";
|
|
125
|
-
export declare function registerSearchSchema(routeName: string, schema: SearchSchema): void;
|
|
126
|
-
export declare function getSearchSchema(routeName: string): SearchSchema | undefined;
|
|
127
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Route name utilities for filtering internal route names.
|
|
3
|
-
*
|
|
4
|
-
* Internal names stay active in the runtime manifest for matching and local
|
|
5
|
-
* reverse() resolution, but they must not leak into public APIs or generated
|
|
6
|
-
* route maps.
|
|
7
|
-
*/
|
|
8
|
-
export declare const AUTO_GENERATED_ROUTE_PREFIX = "$path_";
|
|
9
|
-
export declare const INTERNAL_INCLUDE_SCOPE_PREFIX = "$prefix_";
|
|
10
|
-
/**
|
|
11
|
-
* Check if a route name is internal.
|
|
12
|
-
* Internal names include:
|
|
13
|
-
* - unnamed path() routes like "$path__health" or "docs.$path__health"
|
|
14
|
-
* - hidden include scopes like "$prefix_0.index" or "blog.$prefix_1.post"
|
|
15
|
-
*
|
|
16
|
-
* User-defined names containing "$" (e.g. "docs.$admin") are valid and must
|
|
17
|
-
* be preserved.
|
|
18
|
-
*/
|
|
19
|
-
export declare function isAutoGeneratedRouteName(name: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Validate that a user-provided route name does not collide with
|
|
22
|
-
* reserved internal prefixes. Checks every dot-separated segment,
|
|
23
|
-
* mirroring the same rule used by isAutoGeneratedRouteName().
|
|
24
|
-
*
|
|
25
|
-
* Throws with a clear message when a reserved prefix is detected.
|
|
26
|
-
*/
|
|
27
|
-
export declare function validateUserRouteName(name: string): void;
|