@askrjs/askr 0.0.51 → 0.0.53
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 +5 -1
- package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +190 -20
- package/dist/actions/index.d.ts +2 -0
- package/dist/actions/index.js +103 -0
- package/dist/{common/attr-names.js → attr-names-CjhzmHOn.js} +1 -3
- package/dist/benchmark.d.ts +7 -4
- package/dist/benchmark.js +63 -13
- package/dist/boot/index.d.ts +62 -4
- package/dist/boot/index.js +1 -194
- package/dist/boot-j2KoN6ss.js +647 -0
- package/dist/cleanup-COv77su2.js +487 -0
- package/dist/component-internal-B3z7GXlD.js +614 -0
- package/dist/component-lifecycle-CO4hXlP4.js +357 -0
- package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +35 -9
- package/dist/component-scope-CvPba6O6.d.ts +12 -0
- package/dist/components/index.d.ts +17 -2
- package/dist/components/index.js +39 -1
- package/dist/compose-ref-Cc_YkUpM.js +92 -0
- package/dist/{foundations/utilities/compose-ref.d.ts → compose-ref-Cizq72-x.d.ts} +1 -2
- package/dist/control/index.d.ts +1 -3
- package/dist/control/index.js +1 -3
- package/dist/control-BQvNVfAd.d.ts +436 -0
- package/dist/control-BYyLTFyw.js +165 -0
- package/dist/control-Bf4Wkdvv.d.ts +9 -0
- package/dist/{common/control.js → control-DhFRTIoE.js} +1 -3
- package/dist/data/index.d.ts +2 -6
- package/dist/data/index.js +4 -5
- package/dist/data-DnxnDxD-.js +559 -0
- package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +35 -36
- package/dist/deferred-lKE8uR0z.js +386 -0
- package/dist/effect-BwnIvLah.js +260 -0
- package/dist/fastlane-Dw8SOBr9.js +343 -0
- package/dist/for-internal-BKf_Tnv1.js +1563 -0
- package/dist/foundations/icon/index.d.ts +68 -2
- package/dist/foundations/icon/index.js +85 -1
- package/dist/foundations/index.d.ts +2 -5
- package/dist/foundations/index.js +2 -5
- package/dist/foundations/interactions/index.d.ts +264 -6
- package/dist/foundations/interactions/index.js +1 -6
- package/dist/foundations/state/index.d.ts +32 -1
- package/dist/foundations/state/index.js +78 -1
- package/dist/foundations/structures/index.d.ts +2 -7
- package/dist/foundations/structures/index.js +2 -7
- package/dist/foundations/utilities/index.d.ts +2 -6
- package/dist/foundations/utilities/index.js +2 -5
- package/dist/fx/index.d.ts +190 -3
- package/dist/fx/index.js +454 -4
- package/dist/index-31Uoz_NS.d.ts +239 -0
- package/dist/index-Bki2rqcr.d.ts +233 -0
- package/dist/index-BnU0NPwM.d.ts +101 -0
- package/dist/index-D73jgYx1.d.ts +48 -0
- package/dist/{runtime/runtime.d.ts → index-R2JJIbM-.d.ts} +31 -9
- package/dist/index-SJXJkssx.d.ts +44 -0
- package/dist/index.d.ts +8 -13
- package/dist/index.js +150 -17
- package/dist/interactions-w7gQN4ha.js +280 -0
- package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -3
- package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -6
- package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -3
- package/dist/jsx-dev-runtime.d.ts +17 -5
- package/dist/jsx-dev-runtime.js +3 -10
- package/dist/jsx-runtime-92bV2hSa.d.ts +34 -0
- package/dist/jsx-runtime-BVVgDSdq.d.ts +1 -0
- package/dist/jsx-runtime.d.ts +3 -22
- package/dist/jsx-runtime.js +17 -20
- package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-D9va7GOU.js} +9 -11
- package/dist/navigate-BVDCzOuB.d.ts +34 -0
- package/dist/navigate-CmPLSXyw.js +1449 -0
- package/dist/{runtime/portal.js → portal-CyU3Ucf2.js} +124 -35
- package/dist/query-registry-CQIT4mXr.js +73 -0
- package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -8
- package/dist/renderer-DzPjeLby.js +6197 -0
- package/dist/resource-operation-CEzfpnDk.js +276 -0
- package/dist/resources/index.d.ts +42 -3
- package/dist/resources/index.js +3 -4
- package/dist/{common/route-activity.js → route-activity-CNJfpwx-.js} +1 -3
- package/dist/route-matching-vJpvLVbX.js +515 -0
- package/dist/router/index.d.ts +166 -14
- package/dist/router/index.js +150 -12
- package/dist/{common/router.d.ts → router-CeYvjj5_.d.ts} +72 -29
- package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -3
- package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -4
- package/dist/{runtime/selector.js → selector-DafVYzV4.js} +35 -20
- package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -3
- package/dist/ssg/index.d.ts +252 -4
- package/dist/ssg/index.js +857 -1
- package/dist/ssr/index.d.ts +225 -8
- package/dist/ssr/index.js +3 -6
- package/dist/{common/ssr.js → ssr-CbQO5xd3.js} +1 -3
- package/dist/ssr-D3t80Rc0.js +1413 -0
- package/dist/{runtime/state.js → state-DPl8lffD.js} +4 -8
- package/dist/structures-DUB3HchX.js +221 -0
- package/dist/testing/index.d.ts +4 -4
- package/dist/testing/index.js +2 -7
- package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -6
- package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -3
- package/dist/{ssr/verify-hydration.js → verify-hydration-io9ahUeq.js} +2 -4
- package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -4
- package/package.json +63 -45
- package/dist/bench/components/benchmark-row.d.ts +0 -20
- package/dist/bench/components/benchmark-row.d.ts.map +0 -1
- package/dist/bench/components/benchmark-row.js +0 -42
- package/dist/bench/components/benchmark-row.js.map +0 -1
- package/dist/bench/components/benchmark-table.js +0 -25
- package/dist/bench/components/benchmark-table.js.map +0 -1
- package/dist/benchmark.d.ts.map +0 -1
- package/dist/benchmark.js.map +0 -1
- package/dist/bin/askr-ssg.d.ts +0 -28
- package/dist/bin/askr-ssg.d.ts.map +0 -1
- package/dist/bin/askr-ssg.js +0 -171
- package/dist/bin/askr-ssg.js.map +0 -1
- package/dist/boot/hydration.js +0 -140
- package/dist/boot/hydration.js.map +0 -1
- package/dist/boot/index.d.ts.map +0 -1
- package/dist/boot/index.js.map +0 -1
- package/dist/boot/root-lifecycle.d.ts +0 -15
- package/dist/boot/root-lifecycle.d.ts.map +0 -1
- package/dist/boot/root-lifecycle.js +0 -205
- package/dist/boot/root-lifecycle.js.map +0 -1
- package/dist/boot/route-startup.js +0 -45
- package/dist/boot/route-startup.js.map +0 -1
- package/dist/boot/types.d.ts +0 -62
- package/dist/boot/types.d.ts.map +0 -1
- package/dist/common/attr-names.js.map +0 -1
- package/dist/common/component.d.ts +0 -19
- package/dist/common/component.d.ts.map +0 -1
- package/dist/common/control.d.ts +0 -13
- package/dist/common/control.d.ts.map +0 -1
- package/dist/common/control.js.map +0 -1
- package/dist/common/env.js +0 -47
- package/dist/common/env.js.map +0 -1
- package/dist/common/error-boundary.d.ts +0 -16
- package/dist/common/error-boundary.d.ts.map +0 -1
- package/dist/common/invariant.js +0 -17
- package/dist/common/invariant.js.map +0 -1
- package/dist/common/jsx.d.ts +0 -23
- package/dist/common/jsx.d.ts.map +0 -1
- package/dist/common/jsx.js.map +0 -1
- package/dist/common/logger.js +0 -36
- package/dist/common/logger.js.map +0 -1
- package/dist/common/promise.js +0 -8
- package/dist/common/promise.js.map +0 -1
- package/dist/common/props.d.ts.map +0 -1
- package/dist/common/render-context.js.map +0 -1
- package/dist/common/route-activity.js.map +0 -1
- package/dist/common/router-internal.js.map +0 -1
- package/dist/common/router.d.ts.map +0 -1
- package/dist/common/ssr-errors.d.ts +0 -11
- package/dist/common/ssr-errors.d.ts.map +0 -1
- package/dist/common/ssr-errors.js +0 -16
- package/dist/common/ssr-errors.js.map +0 -1
- package/dist/common/ssr.d.ts +0 -42
- package/dist/common/ssr.d.ts.map +0 -1
- package/dist/common/ssr.js.map +0 -1
- package/dist/common/vnode.d.ts +0 -22
- package/dist/common/vnode.d.ts.map +0 -1
- package/dist/common/vnode.js.map +0 -1
- package/dist/components/error-boundary.d.ts +0 -15
- package/dist/components/error-boundary.d.ts.map +0 -1
- package/dist/components/error-boundary.js +0 -43
- package/dist/components/error-boundary.js.map +0 -1
- package/dist/components/link.d.ts +0 -68
- package/dist/components/link.d.ts.map +0 -1
- package/dist/components/link.js +0 -76
- package/dist/components/link.js.map +0 -1
- package/dist/control/case.d.ts +0 -19
- package/dist/control/case.d.ts.map +0 -1
- package/dist/control/case.js +0 -70
- package/dist/control/case.js.map +0 -1
- package/dist/control/for.d.ts +0 -24
- package/dist/control/for.d.ts.map +0 -1
- package/dist/control/for.js +0 -63
- package/dist/control/for.js.map +0 -1
- package/dist/control/shared.d.ts +0 -9
- package/dist/control/shared.d.ts.map +0 -1
- package/dist/control/shared.js +0 -20
- package/dist/control/shared.js.map +0 -1
- package/dist/control/show.d.ts +0 -15
- package/dist/control/show.d.ts.map +0 -1
- package/dist/control/show.js +0 -34
- package/dist/control/show.js.map +0 -1
- package/dist/data/data-runtime.d.ts +0 -28
- package/dist/data/data-runtime.d.ts.map +0 -1
- package/dist/data/data-runtime.js.map +0 -1
- package/dist/data/invalidation-listeners.js.map +0 -1
- package/dist/data/invalidation.d.ts +0 -9
- package/dist/data/invalidation.d.ts.map +0 -1
- package/dist/data/invalidation.js +0 -27
- package/dist/data/invalidation.js.map +0 -1
- package/dist/data/mutation-cell.d.ts +0 -28
- package/dist/data/mutation-cell.d.ts.map +0 -1
- package/dist/data/mutation-cell.js +0 -132
- package/dist/data/mutation-cell.js.map +0 -1
- package/dist/data/query-cell.d.ts +0 -46
- package/dist/data/query-cell.d.ts.map +0 -1
- package/dist/data/query-cell.js +0 -290
- package/dist/data/query-cell.js.map +0 -1
- package/dist/data/query-key.js +0 -42
- package/dist/data/query-key.js.map +0 -1
- package/dist/data/shared.js +0 -21
- package/dist/data/shared.js.map +0 -1
- package/dist/data/testing.js +0 -2
- package/dist/data/types.d.ts +0 -161
- package/dist/data/types.d.ts.map +0 -1
- package/dist/foundations/icon/icon.d.ts +0 -53
- package/dist/foundations/icon/icon.d.ts.map +0 -1
- package/dist/foundations/icon/icon.js +0 -88
- package/dist/foundations/icon/icon.js.map +0 -1
- package/dist/foundations/icon/icon.types.d.ts +0 -22
- package/dist/foundations/icon/icon.types.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.d.ts +0 -72
- package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.js +0 -26
- package/dist/foundations/interactions/dismissable.js.map +0 -1
- package/dist/foundations/interactions/focusable.d.ts +0 -22
- package/dist/foundations/interactions/focusable.d.ts.map +0 -1
- package/dist/foundations/interactions/focusable.js +0 -18
- package/dist/foundations/interactions/focusable.js.map +0 -1
- package/dist/foundations/interactions/hoverable.d.ts +0 -26
- package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
- package/dist/foundations/interactions/hoverable.js +0 -15
- package/dist/foundations/interactions/hoverable.js.map +0 -1
- package/dist/foundations/interactions/interaction-policy.d.ts +0 -50
- package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
- package/dist/foundations/interactions/interaction-policy.js +0 -122
- package/dist/foundations/interactions/interaction-policy.js.map +0 -1
- package/dist/foundations/interactions/pressable.d.ts +0 -61
- package/dist/foundations/interactions/pressable.d.ts.map +0 -1
- package/dist/foundations/interactions/pressable.js +0 -51
- package/dist/foundations/interactions/pressable.js.map +0 -1
- package/dist/foundations/interactions/roving-focus.d.ts +0 -52
- package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
- package/dist/foundations/interactions/roving-focus.js +0 -71
- package/dist/foundations/interactions/roving-focus.js.map +0 -1
- package/dist/foundations/state/controllable.d.ts +0 -33
- package/dist/foundations/state/controllable.d.ts.map +0 -1
- package/dist/foundations/state/controllable.js +0 -82
- package/dist/foundations/state/controllable.js.map +0 -1
- package/dist/foundations/structures/collection.d.ts +0 -52
- package/dist/foundations/structures/collection.d.ts.map +0 -1
- package/dist/foundations/structures/collection.js +0 -51
- package/dist/foundations/structures/collection.js.map +0 -1
- package/dist/foundations/structures/layer.d.ts +0 -81
- package/dist/foundations/structures/layer.d.ts.map +0 -1
- package/dist/foundations/structures/layer.js +0 -81
- package/dist/foundations/structures/layer.js.map +0 -1
- package/dist/foundations/structures/layout.d.ts +0 -33
- package/dist/foundations/structures/layout.d.ts.map +0 -1
- package/dist/foundations/structures/layout.js +0 -13
- package/dist/foundations/structures/layout.js.map +0 -1
- package/dist/foundations/structures/portal.d.ts +0 -2
- package/dist/foundations/structures/portal.js +0 -3
- package/dist/foundations/structures/presence.d.ts +0 -37
- package/dist/foundations/structures/presence.d.ts.map +0 -1
- package/dist/foundations/structures/presence.js +0 -39
- package/dist/foundations/structures/presence.js.map +0 -1
- package/dist/foundations/structures/slot.d.ts +0 -35
- package/dist/foundations/structures/slot.d.ts.map +0 -1
- package/dist/foundations/structures/slot.js +0 -41
- package/dist/foundations/structures/slot.js.map +0 -1
- package/dist/foundations/utilities/aria.d.ts +0 -16
- package/dist/foundations/utilities/aria.d.ts.map +0 -1
- package/dist/foundations/utilities/aria.js +0 -17
- package/dist/foundations/utilities/aria.js.map +0 -1
- package/dist/foundations/utilities/compose-handlers.d.ts +0 -37
- package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-handlers.js +0 -20
- package/dist/foundations/utilities/compose-handlers.js.map +0 -1
- package/dist/foundations/utilities/compose-ref.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-ref.js +0 -18
- package/dist/foundations/utilities/compose-ref.js.map +0 -1
- package/dist/foundations/utilities/event-types.d.ts +0 -20
- package/dist/foundations/utilities/event-types.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.d.ts +0 -5
- package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.js +0 -49
- package/dist/foundations/utilities/merge-props.js.map +0 -1
- package/dist/foundations/utilities/use-id.d.ts +0 -32
- package/dist/foundations/utilities/use-id.d.ts.map +0 -1
- package/dist/foundations/utilities/use-id.js.map +0 -1
- package/dist/fx/fx.d.ts +0 -33
- package/dist/fx/fx.d.ts.map +0 -1
- package/dist/fx/fx.js +0 -213
- package/dist/fx/fx.js.map +0 -1
- package/dist/fx/noop.js +0 -9
- package/dist/fx/noop.js.map +0 -1
- package/dist/fx/timing.d.ts +0 -159
- package/dist/fx/timing.d.ts.map +0 -1
- package/dist/fx/timing.js +0 -243
- package/dist/fx/timing.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jsx/index.d.ts +0 -2
- package/dist/jsx/index.js +0 -4
- package/dist/jsx/types.d.ts.map +0 -1
- package/dist/jsx/types.js +0 -2
- package/dist/jsx/utils.d.ts +0 -5
- package/dist/jsx/utils.d.ts.map +0 -1
- package/dist/jsx/utils.js +0 -19
- package/dist/jsx/utils.js.map +0 -1
- package/dist/jsx-dev-runtime.d.ts.map +0 -1
- package/dist/jsx-dev-runtime.js.map +0 -1
- package/dist/jsx-runtime.d.ts.map +0 -1
- package/dist/jsx-runtime.js.map +0 -1
- package/dist/jsx-runtime2.d.ts +0 -3
- package/dist/jsx-runtime2.js +0 -4
- package/dist/renderer/attributes.js +0 -232
- package/dist/renderer/attributes.js.map +0 -1
- package/dist/renderer/boundaries.js +0 -266
- package/dist/renderer/boundaries.js.map +0 -1
- package/dist/renderer/child-shape.js +0 -85
- package/dist/renderer/child-shape.js.map +0 -1
- package/dist/renderer/children-fastpath.js +0 -149
- package/dist/renderer/children-fastpath.js.map +0 -1
- package/dist/renderer/children.js +0 -160
- package/dist/renderer/children.js.map +0 -1
- package/dist/renderer/cleanup.js +0 -210
- package/dist/renderer/cleanup.js.map +0 -1
- package/dist/renderer/component-host-cleanup.js +0 -68
- package/dist/renderer/component-host-cleanup.js.map +0 -1
- package/dist/renderer/component-host-instances.js +0 -65
- package/dist/renderer/component-host-instances.js.map +0 -1
- package/dist/renderer/component-host.js +0 -247
- package/dist/renderer/component-host.js.map +0 -1
- package/dist/renderer/dom-host.js +0 -13
- package/dist/renderer/dom-host.js.map +0 -1
- package/dist/renderer/dom-internal.js +0 -186
- package/dist/renderer/dom-internal.js.map +0 -1
- package/dist/renderer/dom.js +0 -10
- package/dist/renderer/element-children.js +0 -279
- package/dist/renderer/element-children.js.map +0 -1
- package/dist/renderer/env.js +0 -2
- package/dist/renderer/error-boundary-dom.js +0 -78
- package/dist/renderer/error-boundary-dom.js.map +0 -1
- package/dist/renderer/evaluate-dom-range.js +0 -85
- package/dist/renderer/evaluate-dom-range.js.map +0 -1
- package/dist/renderer/evaluate-reconcile.js +0 -282
- package/dist/renderer/evaluate-reconcile.js.map +0 -1
- package/dist/renderer/evaluate.js +0 -84
- package/dist/renderer/evaluate.js.map +0 -1
- package/dist/renderer/fastpath.js +0 -150
- package/dist/renderer/fastpath.js.map +0 -1
- package/dist/renderer/for-commit-dom-map.js +0 -83
- package/dist/renderer/for-commit-dom-map.js.map +0 -1
- package/dist/renderer/for-commit-removal.js +0 -36
- package/dist/renderer/for-commit-removal.js.map +0 -1
- package/dist/renderer/for-commit-reorder.js +0 -89
- package/dist/renderer/for-commit-reorder.js.map +0 -1
- package/dist/renderer/for-commit.js +0 -314
- package/dist/renderer/for-commit.js.map +0 -1
- package/dist/renderer/index.js +0 -38
- package/dist/renderer/index.js.map +0 -1
- package/dist/renderer/keyed-children.js +0 -32
- package/dist/renderer/keyed-children.js.map +0 -1
- package/dist/renderer/keyed.js +0 -167
- package/dist/renderer/keyed.js.map +0 -1
- package/dist/renderer/namespaces.js +0 -23
- package/dist/renderer/namespaces.js.map +0 -1
- package/dist/renderer/prop-bindings.js +0 -280
- package/dist/renderer/prop-bindings.js.map +0 -1
- package/dist/renderer/reactive-child-dom.js +0 -133
- package/dist/renderer/reactive-child-dom.js.map +0 -1
- package/dist/renderer/reactive-child-sources.js +0 -184
- package/dist/renderer/reactive-child-sources.js.map +0 -1
- package/dist/renderer/reactive-children.js +0 -294
- package/dist/renderer/reactive-children.js.map +0 -1
- package/dist/renderer/reconcile-commit.js +0 -38
- package/dist/renderer/reconcile-commit.js.map +0 -1
- package/dist/renderer/reconcile-fastpaths.js +0 -107
- package/dist/renderer/reconcile-fastpaths.js.map +0 -1
- package/dist/renderer/reconcile-resolution.js +0 -187
- package/dist/renderer/reconcile-resolution.js.map +0 -1
- package/dist/renderer/reconcile.js +0 -39
- package/dist/renderer/reconcile.js.map +0 -1
- package/dist/renderer/retained-element-rollback.js +0 -277
- package/dist/renderer/retained-element-rollback.js.map +0 -1
- package/dist/renderer/stable-patch.js +0 -81
- package/dist/renderer/stable-patch.js.map +0 -1
- package/dist/renderer/static-reuse.js +0 -96
- package/dist/renderer/static-reuse.js.map +0 -1
- package/dist/renderer/types.js +0 -2
- package/dist/renderer/utils.js +0 -256
- package/dist/renderer/utils.js.map +0 -1
- package/dist/router/access.js +0 -36
- package/dist/router/access.js.map +0 -1
- package/dist/router/activity.d.ts +0 -10
- package/dist/router/activity.d.ts.map +0 -1
- package/dist/router/activity.js +0 -87
- package/dist/router/activity.js.map +0 -1
- package/dist/router/authoring.d.ts +0 -22
- package/dist/router/authoring.d.ts.map +0 -1
- package/dist/router/authoring.js +0 -198
- package/dist/router/authoring.js.map +0 -1
- package/dist/router/internal-types.d.ts +0 -31
- package/dist/router/internal-types.d.ts.map +0 -1
- package/dist/router/lazy.d.ts +0 -19
- package/dist/router/lazy.d.ts.map +0 -1
- package/dist/router/lazy.js +0 -52
- package/dist/router/lazy.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -10
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -49
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match.js +0 -122
- package/dist/router/match.js.map +0 -1
- package/dist/router/navigate.d.ts +0 -11
- package/dist/router/navigate.d.ts.map +0 -1
- package/dist/router/navigate.js +0 -76
- package/dist/router/navigate.js.map +0 -1
- package/dist/router/navigation-registry.d.ts +0 -32
- package/dist/router/navigation-registry.d.ts.map +0 -1
- package/dist/router/navigation-registry.js +0 -105
- package/dist/router/navigation-registry.js.map +0 -1
- package/dist/router/navigation-scroll.d.ts +0 -14
- package/dist/router/navigation-scroll.d.ts.map +0 -1
- package/dist/router/navigation-scroll.js +0 -93
- package/dist/router/navigation-scroll.js.map +0 -1
- package/dist/router/navigation-targets.d.ts +0 -31
- package/dist/router/navigation-targets.d.ts.map +0 -1
- package/dist/router/navigation-targets.js +0 -255
- package/dist/router/navigation-targets.js.map +0 -1
- package/dist/router/policy.d.ts +0 -28
- package/dist/router/policy.d.ts.map +0 -1
- package/dist/router/policy.js +0 -132
- package/dist/router/policy.js.map +0 -1
- package/dist/router/rendering.d.ts +0 -10
- package/dist/router/rendering.d.ts.map +0 -1
- package/dist/router/rendering.js +0 -46
- package/dist/router/rendering.js.map +0 -1
- package/dist/router/resolution.d.ts +0 -4
- package/dist/router/resolution.d.ts.map +0 -1
- package/dist/router/resolution.js +0 -86
- package/dist/router/resolution.js.map +0 -1
- package/dist/router/route-context.js +0 -79
- package/dist/router/route-context.js.map +0 -1
- package/dist/router/route-matching.d.ts +0 -20
- package/dist/router/route-matching.d.ts.map +0 -1
- package/dist/router/route-matching.js +0 -175
- package/dist/router/route-matching.js.map +0 -1
- package/dist/router/route-query.d.ts +0 -17
- package/dist/router/route-query.d.ts.map +0 -1
- package/dist/router/route-query.js +0 -47
- package/dist/router/route-query.js.map +0 -1
- package/dist/router/route.d.ts +0 -8
- package/dist/router/route.js +0 -10
- package/dist/router/store.d.ts +0 -50
- package/dist/router/store.d.ts.map +0 -1
- package/dist/router/store.js +0 -171
- package/dist/router/store.js.map +0 -1
- package/dist/router/testing.js +0 -4
- package/dist/runtime/access.d.ts +0 -20
- package/dist/runtime/access.d.ts.map +0 -1
- package/dist/runtime/access.js +0 -45
- package/dist/runtime/access.js.map +0 -1
- package/dist/runtime/child-scope.d.ts +0 -22
- package/dist/runtime/child-scope.d.ts.map +0 -1
- package/dist/runtime/child-scope.js +0 -87
- package/dist/runtime/child-scope.js.map +0 -1
- package/dist/runtime/component-cleanup.d.ts +0 -16
- package/dist/runtime/component-cleanup.d.ts.map +0 -1
- package/dist/runtime/component-cleanup.js +0 -70
- package/dist/runtime/component-cleanup.js.map +0 -1
- package/dist/runtime/component-commit.js +0 -165
- package/dist/runtime/component-commit.js.map +0 -1
- package/dist/runtime/component-facade.d.ts +0 -5
- package/dist/runtime/component-facade.js +0 -4
- package/dist/runtime/component-internal.d.ts +0 -100
- package/dist/runtime/component-internal.d.ts.map +0 -1
- package/dist/runtime/component-internal.js +0 -219
- package/dist/runtime/component-internal.js.map +0 -1
- package/dist/runtime/component-lifecycle.d.ts +0 -49
- package/dist/runtime/component-lifecycle.d.ts.map +0 -1
- package/dist/runtime/component-lifecycle.js +0 -176
- package/dist/runtime/component-lifecycle.js.map +0 -1
- package/dist/runtime/component-scope.d.ts +0 -55
- package/dist/runtime/component-scope.d.ts.map +0 -1
- package/dist/runtime/component-scope.js.map +0 -1
- package/dist/runtime/component.d.ts +0 -5
- package/dist/runtime/component.js +0 -5
- package/dist/runtime/context.d.ts +0 -69
- package/dist/runtime/context.d.ts.map +0 -1
- package/dist/runtime/context.js +0 -210
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/control.d.ts +0 -43
- package/dist/runtime/control.d.ts.map +0 -1
- package/dist/runtime/control.js +0 -126
- package/dist/runtime/control.js.map +0 -1
- package/dist/runtime/derive.d.ts +0 -17
- package/dist/runtime/derive.d.ts.map +0 -1
- package/dist/runtime/derive.js +0 -142
- package/dist/runtime/derive.js.map +0 -1
- package/dist/runtime/dev-namespace.d.ts +0 -31
- package/dist/runtime/dev-namespace.d.ts.map +0 -1
- package/dist/runtime/dev-namespace.js +0 -57
- package/dist/runtime/dev-namespace.js.map +0 -1
- package/dist/runtime/effect.d.ts +0 -32
- package/dist/runtime/effect.d.ts.map +0 -1
- package/dist/runtime/effect.js +0 -177
- package/dist/runtime/effect.js.map +0 -1
- package/dist/runtime/error-boundary.d.ts +0 -5
- package/dist/runtime/error-boundary.d.ts.map +0 -1
- package/dist/runtime/error-boundary.js +0 -31
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/events.d.ts +0 -58
- package/dist/runtime/events.d.ts.map +0 -1
- package/dist/runtime/events.js +0 -204
- package/dist/runtime/events.js.map +0 -1
- package/dist/runtime/execution-model.d.ts +0 -7
- package/dist/runtime/execution-model.d.ts.map +0 -1
- package/dist/runtime/execution-model.js +0 -15
- package/dist/runtime/execution-model.js.map +0 -1
- package/dist/runtime/fastlane.d.ts +0 -34
- package/dist/runtime/fastlane.d.ts.map +0 -1
- package/dist/runtime/fastlane.js +0 -175
- package/dist/runtime/fastlane.js.map +0 -1
- package/dist/runtime/for-bench.d.ts +0 -41
- package/dist/runtime/for-bench.d.ts.map +0 -1
- package/dist/runtime/for-bench.js +0 -171
- package/dist/runtime/for-bench.js.map +0 -1
- package/dist/runtime/for-internal.d.ts +0 -43
- package/dist/runtime/for-internal.d.ts.map +0 -1
- package/dist/runtime/for-internal.js +0 -98
- package/dist/runtime/for-internal.js.map +0 -1
- package/dist/runtime/for-reconcile.d.ts +0 -8
- package/dist/runtime/for-reconcile.d.ts.map +0 -1
- package/dist/runtime/for-reconcile.js +0 -389
- package/dist/runtime/for-reconcile.js.map +0 -1
- package/dist/runtime/for-scopes.d.ts +0 -26
- package/dist/runtime/for-scopes.d.ts.map +0 -1
- package/dist/runtime/for-scopes.js +0 -160
- package/dist/runtime/for-scopes.js.map +0 -1
- package/dist/runtime/for-signals.d.ts +0 -30
- package/dist/runtime/for-signals.d.ts.map +0 -1
- package/dist/runtime/for-signals.js +0 -139
- package/dist/runtime/for-signals.js.map +0 -1
- package/dist/runtime/for-types.d.ts +0 -9
- package/dist/runtime/for-types.d.ts.map +0 -1
- package/dist/runtime/for.d.ts +0 -4
- package/dist/runtime/for.js +0 -5
- package/dist/runtime/index.d.ts +0 -24
- package/dist/runtime/index.js +0 -31
- package/dist/runtime/lifecycle-operations.d.ts +0 -31
- package/dist/runtime/lifecycle-operations.d.ts.map +0 -1
- package/dist/runtime/lifecycle-operations.js.map +0 -1
- package/dist/runtime/operations.d.ts +0 -3
- package/dist/runtime/operations.js +0 -3
- package/dist/runtime/perf-metrics.d.ts +0 -26
- package/dist/runtime/perf-metrics.d.ts.map +0 -1
- package/dist/runtime/perf-metrics.js +0 -70
- package/dist/runtime/perf-metrics.js.map +0 -1
- package/dist/runtime/portal.d.ts +0 -22
- package/dist/runtime/portal.d.ts.map +0 -1
- package/dist/runtime/portal.js.map +0 -1
- package/dist/runtime/readable.d.ts +0 -29
- package/dist/runtime/readable.d.ts.map +0 -1
- package/dist/runtime/readable.js +0 -159
- package/dist/runtime/readable.js.map +0 -1
- package/dist/runtime/resource-cell.js +0 -114
- package/dist/runtime/resource-cell.js.map +0 -1
- package/dist/runtime/resource-operation.d.ts +0 -13
- package/dist/runtime/resource-operation.d.ts.map +0 -1
- package/dist/runtime/resource-operation.js +0 -170
- package/dist/runtime/resource-operation.js.map +0 -1
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/runtime.js +0 -59
- package/dist/runtime/runtime.js.map +0 -1
- package/dist/runtime/scheduler.d.ts.map +0 -1
- package/dist/runtime/scheduler.js.map +0 -1
- package/dist/runtime/selector-store.js +0 -24
- package/dist/runtime/selector-store.js.map +0 -1
- package/dist/runtime/selector.d.ts +0 -11
- package/dist/runtime/selector.d.ts.map +0 -1
- package/dist/runtime/selector.js.map +0 -1
- package/dist/runtime/snapshot-source.d.ts +0 -10
- package/dist/runtime/snapshot-source.d.ts.map +0 -1
- package/dist/runtime/snapshot-source.js.map +0 -1
- package/dist/runtime/state.d.ts +0 -55
- package/dist/runtime/state.d.ts.map +0 -1
- package/dist/runtime/state.js.map +0 -1
- package/dist/ssg/batch-render.js +0 -103
- package/dist/ssg/batch-render.js.map +0 -1
- package/dist/ssg/create-static-gen.d.ts +0 -64
- package/dist/ssg/create-static-gen.d.ts.map +0 -1
- package/dist/ssg/create-static-gen.js +0 -199
- package/dist/ssg/create-static-gen.js.map +0 -1
- package/dist/ssg/generate-metadata.js +0 -94
- package/dist/ssg/generate-metadata.js.map +0 -1
- package/dist/ssg/generation-plan.js +0 -70
- package/dist/ssg/generation-plan.js.map +0 -1
- package/dist/ssg/incremental-manifest.js +0 -56
- package/dist/ssg/incremental-manifest.js.map +0 -1
- package/dist/ssg/resolve-ssg-data.js +0 -105
- package/dist/ssg/resolve-ssg-data.js.map +0 -1
- package/dist/ssg/route-utils.js +0 -24
- package/dist/ssg/route-utils.js.map +0 -1
- package/dist/ssg/static-routes.js +0 -102
- package/dist/ssg/static-routes.js.map +0 -1
- package/dist/ssg/types.d.ts +0 -189
- package/dist/ssg/types.d.ts.map +0 -1
- package/dist/ssg/write-static-files.js +0 -73
- package/dist/ssg/write-static-files.js.map +0 -1
- package/dist/ssr/attrs.js +0 -94
- package/dist/ssr/attrs.js.map +0 -1
- package/dist/ssr/boundaries.js +0 -113
- package/dist/ssr/boundaries.js.map +0 -1
- package/dist/ssr/component-runtime.js +0 -111
- package/dist/ssr/component-runtime.js.map +0 -1
- package/dist/ssr/context.d.ts +0 -50
- package/dist/ssr/context.d.ts.map +0 -1
- package/dist/ssr/context.js +0 -91
- package/dist/ssr/context.js.map +0 -1
- package/dist/ssr/errors.d.ts +0 -10
- package/dist/ssr/errors.d.ts.map +0 -1
- package/dist/ssr/errors.js +0 -14
- package/dist/ssr/errors.js.map +0 -1
- package/dist/ssr/escape.js +0 -193
- package/dist/ssr/escape.js.map +0 -1
- package/dist/ssr/hydration-data.js +0 -10
- package/dist/ssr/hydration-data.js.map +0 -1
- package/dist/ssr/hydration-verify.d.ts +0 -12
- package/dist/ssr/hydration-verify.d.ts.map +0 -1
- package/dist/ssr/hydration-verify.js +0 -144
- package/dist/ssr/hydration-verify.js.map +0 -1
- package/dist/ssr/index-internal.d.ts +0 -15
- package/dist/ssr/index-internal.d.ts.map +0 -1
- package/dist/ssr/index-internal.js +0 -19
- package/dist/ssr/index-internal.js.map +0 -1
- package/dist/ssr/render-keys.js +0 -16
- package/dist/ssr/render-keys.js.map +0 -1
- package/dist/ssr/render-resolved.d.ts +0 -20
- package/dist/ssr/render-resolved.d.ts.map +0 -1
- package/dist/ssr/render-resolved.js +0 -35
- package/dist/ssr/render-resolved.js.map +0 -1
- package/dist/ssr/render-sync.d.ts +0 -21
- package/dist/ssr/render-sync.d.ts.map +0 -1
- package/dist/ssr/render-sync.js +0 -275
- package/dist/ssr/render-sync.js.map +0 -1
- package/dist/ssr/route-policy-resolution.js +0 -78
- package/dist/ssr/route-policy-resolution.js.map +0 -1
- package/dist/ssr/route-render.d.ts +0 -77
- package/dist/ssr/route-render.d.ts.map +0 -1
- package/dist/ssr/route-render.js +0 -120
- package/dist/ssr/route-render.js.map +0 -1
- package/dist/ssr/sink.d.ts +0 -26
- package/dist/ssr/sink.d.ts.map +0 -1
- package/dist/ssr/sink.js +0 -86
- package/dist/ssr/sink.js.map +0 -1
- package/dist/ssr/types.d.ts +0 -23
- package/dist/ssr/types.d.ts.map +0 -1
- package/dist/ssr/verify-hydration.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolution.js","names":[],"sources":["../../src/router/resolution.ts"],"sourcesContent":["import type {\n RouteContext,\n RouteHandler,\n RouteOptions,\n RoutePolicy,\n RouteRecord,\n RouteRenderResult,\n RouteRequestOptions,\n RouteRequestResult,\n} from '../common/router';\nimport { isPromiseLike } from '../common/promise';\nimport { getActiveRenderContext } from '../common/render-context';\nimport { buildRouteContext, buildRouteContextBase } from './route-context';\nimport { compileNodePolicies } from './access';\nimport { getRenderHandler } from './rendering';\nimport { getMatchingRouteRecord } from './route-matching';\nimport { getActiveRouteAuthOptions, getRouteRecords } from './store';\n\nexport {\n _resolveRouteMatchFromRoutes,\n computeMatchesFromRouteRecords,\n computeMatchesFromRoutes,\n computeRouteActivityMatches,\n resolveRoute,\n resolveRouteFromRoutes,\n} from './route-matching';\n\nfunction getRoutePolicies(\n options: RouteOptions | undefined\n): readonly RoutePolicy[] {\n if (!options) {\n return [];\n }\n\n if (options.policies?.length) {\n return options.policies;\n }\n\n return compileNodePolicies(options);\n}\n\nfunction getDefaultRouteMode(): RouteContext['mode'] {\n if (typeof window !== 'undefined') {\n return 'spa';\n }\n\n return 'ssr';\n}\n\nfunction createRenderDataAwareHandler(\n handler: RouteHandler,\n data: unknown\n): RouteHandler {\n return (params, context) => {\n const renderContext = getActiveRenderContext();\n if (renderContext) {\n renderContext.renderData = (data ?? null) as Record<\n string,\n unknown\n > | null;\n }\n\n return handler(params, context);\n };\n}\n\nfunction buildRenderResult(\n record: RouteRecord,\n params: Record<string, string>,\n mode: RouteContext['mode']\n): RouteRequestResult | Promise<RouteRequestResult> {\n const renderHandler = getRenderHandler(record);\n const loader = mode === 'ssr' ? record.options?.loader : undefined;\n if (loader) {\n const loaded = loader({ params });\n const finalize = (data: unknown): RouteRenderResult => ({\n kind: 'render',\n handler: createRenderDataAwareHandler(renderHandler, data),\n params,\n });\n\n if (isPromiseLike(loaded)) {\n return Promise.resolve(loaded).then((data) => finalize(data));\n }\n\n return finalize(loaded);\n }\n\n return {\n kind: 'render',\n handler: renderHandler,\n params,\n };\n}\n\nfunction continueRoutePolicies(\n policies: readonly RoutePolicy[],\n context: RouteContext,\n record: RouteRecord,\n params: Record<string, string>,\n startIndex = 0\n): RouteRequestResult | Promise<RouteRequestResult> {\n for (let index = startIndex; index < policies.length; index += 1) {\n const policyResult = policies[index](context);\n\n if (isPromiseLike(policyResult)) {\n return Promise.resolve(policyResult).then((next) => {\n if (next.kind !== 'allow') {\n return next;\n }\n\n return continueRoutePolicies(\n policies,\n context,\n record,\n params,\n index + 1\n );\n });\n }\n\n if (policyResult.kind !== 'allow') {\n return policyResult;\n }\n }\n\n return buildRenderResult(record, params, context.mode);\n}\n\nexport function resolveRouteRequest(\n target: string,\n options: RouteRequestOptions = {}\n): RouteRequestResult | Promise<RouteRequestResult> {\n const routeRecords = options.manifest?.records ?? getRouteRecords();\n const match = getMatchingRouteRecord(target, routeRecords);\n\n if (!match) {\n return null;\n }\n\n const { record, params } = match;\n const policies = getRoutePolicies(record.options);\n const mode = options.mode ?? getDefaultRouteMode();\n\n if (policies.length === 0) {\n return buildRenderResult(record, params, mode);\n }\n\n const signal =\n options.signal ??\n getActiveRenderContext()?.signal ??\n new AbortController().signal;\n const auth = getActiveRouteAuthOptions(\n options.auth ?? options.manifest?.auth\n );\n const baseContext = buildRouteContextBase(target, params, {\n mode,\n signal,\n });\n\n const finalize = (authState: { session: unknown; user: unknown }) =>\n continueRoutePolicies(\n policies,\n buildRouteContext(target, params, {\n mode,\n signal,\n auth,\n session: authState.session,\n user: authState.user,\n }),\n record,\n params\n );\n\n if (!auth?.resolve) {\n return finalize({ session: null, user: null });\n }\n\n const authState = auth.resolve(baseContext);\n if (isPromiseLike(authState)) {\n return Promise.resolve(authState).then((next) => finalize(next));\n }\n\n return finalize(authState);\n}\n"],"mappings":";;;;;;;;AA2BA,SAAS,iBACP,SACwB;CACxB,IAAI,CAAC,SACH,OAAO,CAAC;CAGV,IAAI,QAAQ,UAAU,QACpB,OAAO,QAAQ;CAGjB,OAAO,oBAAoB,OAAO;AACpC;AAEA,SAAS,sBAA4C;CACnD,IAAI,OAAO,WAAW,aACpB,OAAO;CAGT,OAAO;AACT;AAEA,SAAS,6BACP,SACA,MACc;CACd,QAAQ,QAAQ,YAAY;EAC1B,MAAM,gBAAgB,uBAAuB;EAC7C,IAAI,eACF,cAAc,aAAc,QAAQ;EAMtC,OAAO,QAAQ,QAAQ,OAAO;CAChC;AACF;AAEA,SAAS,kBACP,QACA,QACA,MACkD;CAClD,MAAM,gBAAgB,iBAAiB,MAAM;CAC7C,MAAM,SAAS,SAAS,QAAQ,OAAO,SAAS,SAAS;CACzD,IAAI,QAAQ;EACV,MAAM,SAAS,OAAO,EAAE,OAAO,CAAC;EAChC,MAAM,YAAY,UAAsC;GACtD,MAAM;GACN,SAAS,6BAA6B,eAAe,IAAI;GACzD;EACF;EAEA,IAAI,cAAc,MAAM,GACtB,OAAO,QAAQ,QAAQ,MAAM,CAAC,CAAC,MAAM,SAAS,SAAS,IAAI,CAAC;EAG9D,OAAO,SAAS,MAAM;CACxB;CAEA,OAAO;EACL,MAAM;EACN,SAAS;EACT;CACF;AACF;AAEA,SAAS,sBACP,UACA,SACA,QACA,QACA,aAAa,GACqC;CAClD,KAAK,IAAI,QAAQ,YAAY,QAAQ,SAAS,QAAQ,SAAS,GAAG;EAChE,MAAM,eAAe,SAAS,MAAM,CAAC,OAAO;EAE5C,IAAI,cAAc,YAAY,GAC5B,OAAO,QAAQ,QAAQ,YAAY,CAAC,CAAC,MAAM,SAAS;GAClD,IAAI,KAAK,SAAS,SAChB,OAAO;GAGT,OAAO,sBACL,UACA,SACA,QACA,QACA,QAAQ,CACV;EACF,CAAC;EAGH,IAAI,aAAa,SAAS,SACxB,OAAO;CAEX;CAEA,OAAO,kBAAkB,QAAQ,QAAQ,QAAQ,IAAI;AACvD;AAEA,SAAgB,oBACd,QACA,UAA+B,CAAC,GACkB;CAElD,MAAM,QAAQ,uBAAuB,QADhB,QAAQ,UAAU,WAAW,gBAAgB,CACT;CAEzD,IAAI,CAAC,OACH,OAAO;CAGT,MAAM,EAAE,QAAQ,WAAW;CAC3B,MAAM,WAAW,iBAAiB,OAAO,OAAO;CAChD,MAAM,OAAO,QAAQ,QAAQ,oBAAoB;CAEjD,IAAI,SAAS,WAAW,GACtB,OAAO,kBAAkB,QAAQ,QAAQ,IAAI;CAG/C,MAAM,SACJ,QAAQ,UACR,uBAAuB,CAAC,EAAE,UAC1B,IAAI,gBAAgB,CAAC,CAAC;CACxB,MAAM,OAAO,0BACX,QAAQ,QAAQ,QAAQ,UAAU,IACpC;CACA,MAAM,cAAc,sBAAsB,QAAQ,QAAQ;EACxD;EACA;CACF,CAAC;CAED,MAAM,YAAY,cAChB,sBACE,UACA,kBAAkB,QAAQ,QAAQ;EAChC;EACA;EACA;EACA,SAAS,UAAU;EACnB,MAAM,UAAU;CAClB,CAAC,GACD,QACA,MACF;CAEF,IAAI,CAAC,MAAM,SACT,OAAO,SAAS;EAAE,SAAS;EAAM,MAAM;CAAK,CAAC;CAG/C,MAAM,YAAY,KAAK,QAAQ,WAAW;CAC1C,IAAI,cAAc,SAAS,GACzB,OAAO,QAAQ,QAAQ,SAAS,CAAC,CAAC,MAAM,SAAS,SAAS,IAAI,CAAC;CAGjE,OAAO,SAAS,SAAS;AAC3B"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { withRouteAuthOptions } from "./policy.js";
|
|
2
|
-
//#region src/router/route-context.ts
|
|
3
|
-
function parseLocation(url) {
|
|
4
|
-
try {
|
|
5
|
-
const parsedUrl = new URL(url, "http://localhost");
|
|
6
|
-
return {
|
|
7
|
-
pathname: parsedUrl.pathname,
|
|
8
|
-
search: parsedUrl.search,
|
|
9
|
-
hash: parsedUrl.hash
|
|
10
|
-
};
|
|
11
|
-
} catch {
|
|
12
|
-
return {
|
|
13
|
-
pathname: "/",
|
|
14
|
-
search: "",
|
|
15
|
-
hash: ""
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function deepFreeze(obj) {
|
|
20
|
-
if (obj && typeof obj === "object" && !Object.isFrozen(obj)) {
|
|
21
|
-
Object.freeze(obj);
|
|
22
|
-
for (const key of Object.keys(obj)) {
|
|
23
|
-
const value = obj[key];
|
|
24
|
-
if (value && typeof value === "object") deepFreeze(value);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return obj;
|
|
28
|
-
}
|
|
29
|
-
function makeQuery(search) {
|
|
30
|
-
const searchParams = new URLSearchParams(search || "");
|
|
31
|
-
const mapping = /* @__PURE__ */ new Map();
|
|
32
|
-
for (const [key, value] of searchParams.entries()) {
|
|
33
|
-
const existing = mapping.get(key);
|
|
34
|
-
if (existing) existing.push(value);
|
|
35
|
-
else mapping.set(key, [value]);
|
|
36
|
-
}
|
|
37
|
-
return deepFreeze({
|
|
38
|
-
get(key) {
|
|
39
|
-
const values = mapping.get(key);
|
|
40
|
-
return values ? values[0] : null;
|
|
41
|
-
},
|
|
42
|
-
getAll(key) {
|
|
43
|
-
const values = mapping.get(key);
|
|
44
|
-
return values ? [...values] : [];
|
|
45
|
-
},
|
|
46
|
-
has(key) {
|
|
47
|
-
return mapping.has(key);
|
|
48
|
-
},
|
|
49
|
-
toJSON() {
|
|
50
|
-
const output = {};
|
|
51
|
-
for (const [key, values] of mapping.entries()) output[key] = values.length > 1 ? [...values] : values[0];
|
|
52
|
-
return output;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
function buildRouteContextBase(target, params, options) {
|
|
57
|
-
const parsed = parseLocation(target);
|
|
58
|
-
const href = `${parsed.pathname}${parsed.search}${parsed.hash}`;
|
|
59
|
-
return {
|
|
60
|
-
mode: options.mode,
|
|
61
|
-
params,
|
|
62
|
-
pathname: parsed.pathname,
|
|
63
|
-
search: parsed.search,
|
|
64
|
-
hash: parsed.hash,
|
|
65
|
-
href,
|
|
66
|
-
signal: options.signal
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function buildRouteContext(target, params, options) {
|
|
70
|
-
return withRouteAuthOptions({
|
|
71
|
-
...buildRouteContextBase(target, params, options),
|
|
72
|
-
session: options.session ?? null,
|
|
73
|
-
user: options.user ?? null
|
|
74
|
-
}, options.auth);
|
|
75
|
-
}
|
|
76
|
-
//#endregion
|
|
77
|
-
export { buildRouteContext, buildRouteContextBase, deepFreeze, makeQuery, parseLocation };
|
|
78
|
-
|
|
79
|
-
//# sourceMappingURL=route-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-context.js","names":[],"sources":["../../src/router/route-context.ts"],"sourcesContent":["import { withRouteAuthOptions } from './policy';\n\nimport type {\n RouteAuthOptions,\n RouteContext,\n RouteQuery,\n} from '../common/router';\n\nexport function parseLocation(url: string): {\n pathname: string;\n search: string;\n hash: string;\n} {\n try {\n const parsedUrl = new URL(url, 'http://localhost');\n return {\n pathname: parsedUrl.pathname,\n search: parsedUrl.search,\n hash: parsedUrl.hash,\n };\n } catch {\n return { pathname: '/', search: '', hash: '' };\n }\n}\n\nexport function deepFreeze<T>(obj: T): T {\n if (obj && typeof obj === 'object' && !Object.isFrozen(obj)) {\n Object.freeze(obj as Record<string, unknown>);\n for (const key of Object.keys(obj as Record<string, unknown>)) {\n const value = (obj as Record<string, unknown>)[key];\n if (value && typeof value === 'object') {\n deepFreeze(value);\n }\n }\n }\n\n return obj;\n}\n\nexport function makeQuery(search: string): RouteQuery {\n const searchParams = new URLSearchParams(search || '');\n const mapping = new Map<string, string[]>();\n\n for (const [key, value] of searchParams.entries()) {\n const existing = mapping.get(key);\n if (existing) {\n existing.push(value);\n } else {\n mapping.set(key, [value]);\n }\n }\n\n const query: RouteQuery = {\n get(key: string) {\n const values = mapping.get(key);\n return values ? values[0] : null;\n },\n getAll(key: string) {\n const values = mapping.get(key);\n return values ? [...values] : [];\n },\n has(key: string) {\n return mapping.has(key);\n },\n toJSON() {\n const output: Record<string, string | string[]> = {};\n for (const [key, values] of mapping.entries()) {\n output[key] = values.length > 1 ? [...values] : values[0];\n }\n return output;\n },\n };\n\n return deepFreeze(query);\n}\n\nexport function buildRouteContextBase(\n target: string,\n params: Record<string, string>,\n options: {\n mode: RouteContext['mode'];\n signal: AbortSignal;\n }\n): Omit<RouteContext, 'session' | 'user'> {\n const parsed = parseLocation(target);\n const href = `${parsed.pathname}${parsed.search}${parsed.hash}`;\n\n return {\n mode: options.mode,\n params,\n pathname: parsed.pathname,\n search: parsed.search,\n hash: parsed.hash,\n href,\n signal: options.signal,\n };\n}\n\nexport function buildRouteContext(\n target: string,\n params: Record<string, string>,\n options: {\n mode: RouteContext['mode'];\n signal: AbortSignal;\n auth?: RouteAuthOptions;\n session?: unknown;\n user?: unknown;\n }\n): RouteContext {\n const context: RouteContext = {\n ...buildRouteContextBase(target, params, options),\n session: options.session ?? null,\n user: options.user ?? null,\n };\n\n return withRouteAuthOptions(context, options.auth);\n}\n"],"mappings":";;AAQA,SAAgB,cAAc,KAI5B;CACA,IAAI;EACF,MAAM,YAAY,IAAI,IAAI,KAAK,kBAAkB;EACjD,OAAO;GACL,UAAU,UAAU;GACpB,QAAQ,UAAU;GAClB,MAAM,UAAU;EAClB;CACF,QAAQ;EACN,OAAO;GAAE,UAAU;GAAK,QAAQ;GAAI,MAAM;EAAG;CAC/C;AACF;AAEA,SAAgB,WAAc,KAAW;CACvC,IAAI,OAAO,OAAO,QAAQ,YAAY,CAAC,OAAO,SAAS,GAAG,GAAG;EAC3D,OAAO,OAAO,GAA8B;EAC5C,KAAK,MAAM,OAAO,OAAO,KAAK,GAA8B,GAAG;GAC7D,MAAM,QAAS,IAAgC;GAC/C,IAAI,SAAS,OAAO,UAAU,UAC5B,WAAW,KAAK;EAEpB;CACF;CAEA,OAAO;AACT;AAEA,SAAgB,UAAU,QAA4B;CACpD,MAAM,eAAe,IAAI,gBAAgB,UAAU,EAAE;CACrD,MAAM,0BAAU,IAAI,IAAsB;CAE1C,KAAK,MAAM,CAAC,KAAK,UAAU,aAAa,QAAQ,GAAG;EACjD,MAAM,WAAW,QAAQ,IAAI,GAAG;EAChC,IAAI,UACF,SAAS,KAAK,KAAK;OAEnB,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;CAE5B;CAuBA,OAAO,WAAW;EApBhB,IAAI,KAAa;GACf,MAAM,SAAS,QAAQ,IAAI,GAAG;GAC9B,OAAO,SAAS,OAAO,KAAK;EAC9B;EACA,OAAO,KAAa;GAClB,MAAM,SAAS,QAAQ,IAAI,GAAG;GAC9B,OAAO,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC;EACjC;EACA,IAAI,KAAa;GACf,OAAO,QAAQ,IAAI,GAAG;EACxB;EACA,SAAS;GACP,MAAM,SAA4C,CAAC;GACnD,KAAK,MAAM,CAAC,KAAK,WAAW,QAAQ,QAAQ,GAC1C,OAAO,OAAO,OAAO,SAAS,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO;GAEzD,OAAO;EACT;CAGgB,CAAK;AACzB;AAEA,SAAgB,sBACd,QACA,QACA,SAIwC;CACxC,MAAM,SAAS,cAAc,MAAM;CACnC,MAAM,OAAO,GAAG,OAAO,WAAW,OAAO,SAAS,OAAO;CAEzD,OAAO;EACL,MAAM,QAAQ;EACd;EACA,UAAU,OAAO;EACjB,QAAQ,OAAO;EACf,MAAM,OAAO;EACb;EACA,QAAQ,QAAQ;CAClB;AACF;AAEA,SAAgB,kBACd,QACA,QACA,SAOc;CAOd,OAAO,qBAAqB;EAL1B,GAAG,sBAAsB,QAAQ,QAAQ,OAAO;EAChD,SAAS,QAAQ,WAAW;EAC5B,MAAM,QAAQ,QAAQ;CAGI,GAAS,QAAQ,IAAI;AACnD"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ResolvedRoute, Route, RouteManifest, RouteMatch, RouteRecord } from "../common/router.js";
|
|
2
|
-
|
|
3
|
-
//#region src/router/route-matching.d.ts
|
|
4
|
-
declare function getMatchingRouteRecord(target: string, routeRecords: readonly RouteRecord[]): {
|
|
5
|
-
record: RouteRecord;
|
|
6
|
-
params: Record<string, string>;
|
|
7
|
-
} | null;
|
|
8
|
-
declare function computeMatchesFromRoutes(pathname: string, routesList: readonly Route[]): RouteMatch[];
|
|
9
|
-
declare function computeMatchesFromRouteRecords(pathname: string, routeRecords: readonly RouteRecord[]): RouteMatch[];
|
|
10
|
-
declare function computeRouteActivityMatches(pathname: string, options?: {
|
|
11
|
-
manifest?: RouteManifest;
|
|
12
|
-
routes?: readonly Route[];
|
|
13
|
-
}): RouteMatch[];
|
|
14
|
-
declare function resolveRoute(pathname: string): ResolvedRoute | null;
|
|
15
|
-
declare function resolveRouteFromRoutes(pathname: string, routeList: readonly Route[]): ResolvedRoute | null;
|
|
16
|
-
declare function _resolveRouteMatchFromRoutes(pathname: string, routeList: readonly Route[]): {
|
|
17
|
-
route: Route;
|
|
18
|
-
params: Record<string, string>;
|
|
19
|
-
} | null;
|
|
20
|
-
//# sourceMappingURL=route-matching.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-matching.d.ts","names":[],"sources":["../../src/router/route-matching.ts"],"mappings":";;;iBAuMgB,sBAAA,CACd,MAAA,UACA,YAAA,WAAuB,WAAA;EACpB,MAAA,EAAQ,WAAA;EAAa,MAAA,EAAQ,MAAA;AAAA;AAAA,iBAuBlB,wBAAA,CACd,QAAA,UACA,UAAA,WAAqB,KAAA,KACpB,UAAU;AAAA,iBAyBG,8BAAA,CACd,QAAA,UACA,YAAA,WAAuB,WAAA,KACtB,UAAU;AAAA,iBAgBG,2BAAA,CACd,QAAA,UACA,OAAA;EACE,QAAA,GAAW,aAAA;EACX,MAAA,YAAkB,KAAA;AAAA,IAEnB,UAAA;AAAA,iBAYa,YAAA,CAAa,QAAA,WAAmB,aAAa;AAAA,iBAyB7C,sBAAA,CACd,QAAA,UACA,SAAA,WAAoB,KAAA,KACnB,aAAa;AAAA,iBAOA,4BAAA,CACd,QAAA,UACA,SAAA,WAAoB,KAAA;EACjB,KAAA,EAAO,KAAA;EAAO,MAAA,EAAQ,MAAA;AAAA"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { computeRank, matchSegments, parseSegments, splitPathSegments } from "./match.js";
|
|
2
|
-
import { getActiveRoutes, getRouteRecords, isRouteStoreRoutes } from "./store.js";
|
|
3
|
-
import { deepFreeze, parseLocation } from "./route-context.js";
|
|
4
|
-
//#region src/router/route-matching.ts
|
|
5
|
-
const routeSegsCache = /* @__PURE__ */ new WeakMap();
|
|
6
|
-
const routeRankCache = /* @__PURE__ */ new WeakMap();
|
|
7
|
-
const sortedListCache = /* @__PURE__ */ new WeakMap();
|
|
8
|
-
function cachedSegs(route) {
|
|
9
|
-
let segments = routeSegsCache.get(route);
|
|
10
|
-
if (!segments) {
|
|
11
|
-
segments = parseSegments(route.path);
|
|
12
|
-
routeSegsCache.set(route, segments);
|
|
13
|
-
}
|
|
14
|
-
return segments;
|
|
15
|
-
}
|
|
16
|
-
function cachedRank(route) {
|
|
17
|
-
let rank = routeRankCache.get(route);
|
|
18
|
-
if (rank === void 0) {
|
|
19
|
-
rank = computeRank(cachedSegs(route));
|
|
20
|
-
routeRankCache.set(route, rank);
|
|
21
|
-
}
|
|
22
|
-
return rank;
|
|
23
|
-
}
|
|
24
|
-
function cachedSortedList(routeList) {
|
|
25
|
-
let sorted = sortedListCache.get(routeList);
|
|
26
|
-
if (!sorted) {
|
|
27
|
-
sorted = [...routeList].sort((a, b) => cachedRank(b) - cachedRank(a));
|
|
28
|
-
sortedListCache.set(routeList, sorted);
|
|
29
|
-
}
|
|
30
|
-
return sorted;
|
|
31
|
-
}
|
|
32
|
-
function matchFallbackPrefix(pathname, fallbackPrefix) {
|
|
33
|
-
const normalizedPath = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
|
|
34
|
-
const normalizedPrefix = fallbackPrefix.endsWith("/") && fallbackPrefix !== "/" ? fallbackPrefix.slice(0, -1) : fallbackPrefix;
|
|
35
|
-
if (normalizedPrefix === "/") {
|
|
36
|
-
const urlParts = splitPathSegments(normalizedPath);
|
|
37
|
-
return { "*": urlParts.length === 0 ? "/" : urlParts.length === 1 ? urlParts[0] : "/" + urlParts.join("/") };
|
|
38
|
-
}
|
|
39
|
-
if (normalizedPath !== normalizedPrefix && !normalizedPath.startsWith(`${normalizedPrefix}/`)) return null;
|
|
40
|
-
const remainderParts = splitPathSegments(normalizedPath === normalizedPrefix ? "/" : normalizedPath.slice(normalizedPrefix.length));
|
|
41
|
-
return { "*": remainderParts.length === 0 ? "/" : remainderParts.length === 1 ? remainderParts[0] : "/" + remainderParts.join("/") };
|
|
42
|
-
}
|
|
43
|
-
function findBestResolvedRouteFromRoutes(pathname, routeList) {
|
|
44
|
-
const normalized = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
|
|
45
|
-
const urlParts = splitPathSegments(normalized);
|
|
46
|
-
const sorted = cachedSortedList(routeList);
|
|
47
|
-
let bestRoute = null;
|
|
48
|
-
let bestParams = {};
|
|
49
|
-
let bestRank = -Infinity;
|
|
50
|
-
for (const route of sorted) {
|
|
51
|
-
if (route.fallbackPrefix) continue;
|
|
52
|
-
const rank = cachedRank(route);
|
|
53
|
-
if (rank < bestRank) break;
|
|
54
|
-
if (bestRoute !== null && rank === bestRank) continue;
|
|
55
|
-
const params = matchSegments(urlParts, cachedSegs(route));
|
|
56
|
-
if (params !== null) {
|
|
57
|
-
bestRoute = route;
|
|
58
|
-
bestParams = params;
|
|
59
|
-
bestRank = rank;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (bestRoute !== null) return {
|
|
63
|
-
route: bestRoute,
|
|
64
|
-
params: bestParams
|
|
65
|
-
};
|
|
66
|
-
let bestFallback = null;
|
|
67
|
-
let bestFallbackParams = null;
|
|
68
|
-
let bestPrefixLength = -1;
|
|
69
|
-
for (const route of routeList) {
|
|
70
|
-
const internalRoute = route;
|
|
71
|
-
if (!internalRoute.fallbackPrefix) continue;
|
|
72
|
-
const params = matchFallbackPrefix(normalized, internalRoute.fallbackPrefix);
|
|
73
|
-
if (params === null) continue;
|
|
74
|
-
if (internalRoute.fallbackPrefix.length > bestPrefixLength) {
|
|
75
|
-
bestFallback = internalRoute;
|
|
76
|
-
bestFallbackParams = params;
|
|
77
|
-
bestPrefixLength = internalRoute.fallbackPrefix.length;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return bestFallback && bestFallbackParams ? {
|
|
81
|
-
route: bestFallback,
|
|
82
|
-
params: bestFallbackParams
|
|
83
|
-
} : null;
|
|
84
|
-
}
|
|
85
|
-
function findBestScopedFallbackRecord(pathname, routeRecords) {
|
|
86
|
-
let bestRecord = null;
|
|
87
|
-
let bestParams = null;
|
|
88
|
-
let bestPrefixLength = -1;
|
|
89
|
-
for (const routeRecord of routeRecords) {
|
|
90
|
-
const record = routeRecord;
|
|
91
|
-
if (!record.fallbackPrefix) continue;
|
|
92
|
-
const params = matchFallbackPrefix(pathname, record.fallbackPrefix);
|
|
93
|
-
if (params === null) continue;
|
|
94
|
-
if (record.fallbackPrefix.length > bestPrefixLength) {
|
|
95
|
-
bestRecord = record;
|
|
96
|
-
bestParams = params;
|
|
97
|
-
bestPrefixLength = record.fallbackPrefix.length;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return bestRecord && bestParams ? {
|
|
101
|
-
record: bestRecord,
|
|
102
|
-
params: bestParams
|
|
103
|
-
} : null;
|
|
104
|
-
}
|
|
105
|
-
function getMatchingRouteRecord(target, routeRecords) {
|
|
106
|
-
const location = parseLocation(target);
|
|
107
|
-
const normalized = location.pathname.endsWith("/") && location.pathname !== "/" ? location.pathname.slice(0, -1) : location.pathname;
|
|
108
|
-
const urlParts = splitPathSegments(normalized);
|
|
109
|
-
for (const record of routeRecords) {
|
|
110
|
-
if (record.fallbackPrefix) continue;
|
|
111
|
-
const params = matchSegments(urlParts, record.segments);
|
|
112
|
-
if (params !== null) return {
|
|
113
|
-
record,
|
|
114
|
-
params
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
return findBestScopedFallbackRecord(normalized, routeRecords);
|
|
118
|
-
}
|
|
119
|
-
function computeMatchesFromRoutes(pathname, routesList) {
|
|
120
|
-
const bestMatch = isRouteStoreRoutes(routesList) ? getMatchingRouteRecord(pathname, getRouteRecords()) : findBestResolvedRouteFromRoutes(pathname, routesList);
|
|
121
|
-
if (!bestMatch) return [];
|
|
122
|
-
return [{
|
|
123
|
-
path: "route" in bestMatch ? bestMatch.route.path : bestMatch.record.path,
|
|
124
|
-
params: deepFreeze({ ...bestMatch.params }),
|
|
125
|
-
name: "route" in bestMatch ? bestMatch.route.name : void 0,
|
|
126
|
-
namespace: "route" in bestMatch ? bestMatch.route.namespace : bestMatch.record.options.namespace
|
|
127
|
-
}];
|
|
128
|
-
}
|
|
129
|
-
function computeMatchesFromRouteRecords(pathname, routeRecords) {
|
|
130
|
-
const bestMatch = getMatchingRouteRecord(pathname, routeRecords);
|
|
131
|
-
if (!bestMatch) return [];
|
|
132
|
-
return [{
|
|
133
|
-
path: bestMatch.record.path,
|
|
134
|
-
params: deepFreeze({ ...bestMatch.params }),
|
|
135
|
-
namespace: bestMatch.record.options.namespace
|
|
136
|
-
}];
|
|
137
|
-
}
|
|
138
|
-
function computeRouteActivityMatches(pathname, options = {}) {
|
|
139
|
-
if (options.manifest) return computeMatchesFromRouteRecords(pathname, options.manifest.records);
|
|
140
|
-
if (options.routes) return computeMatchesFromRoutes(pathname, options.routes);
|
|
141
|
-
return computeMatchesFromRoutes(pathname, getActiveRoutes());
|
|
142
|
-
}
|
|
143
|
-
function resolveRoute(pathname) {
|
|
144
|
-
const normalized = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
|
|
145
|
-
const urlParts = splitPathSegments(normalized);
|
|
146
|
-
const records = getRouteRecords();
|
|
147
|
-
for (const record of records) {
|
|
148
|
-
if (record.fallbackPrefix) continue;
|
|
149
|
-
const params = matchSegments(urlParts, record.segments);
|
|
150
|
-
if (params !== null) return {
|
|
151
|
-
handler: record.handler,
|
|
152
|
-
params
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
const fallbackMatch = findBestScopedFallbackRecord(normalized, records);
|
|
156
|
-
return fallbackMatch ? {
|
|
157
|
-
handler: fallbackMatch.record.handler,
|
|
158
|
-
params: fallbackMatch.params
|
|
159
|
-
} : null;
|
|
160
|
-
}
|
|
161
|
-
function resolveRouteFromRoutes(pathname, routeList) {
|
|
162
|
-
if (isRouteStoreRoutes(routeList)) return resolveRoute(pathname);
|
|
163
|
-
const match = findBestResolvedRouteFromRoutes(pathname, routeList);
|
|
164
|
-
return match ? {
|
|
165
|
-
handler: match.route.handler,
|
|
166
|
-
params: match.params
|
|
167
|
-
} : null;
|
|
168
|
-
}
|
|
169
|
-
function _resolveRouteMatchFromRoutes(pathname, routeList) {
|
|
170
|
-
return findBestResolvedRouteFromRoutes(pathname, routeList);
|
|
171
|
-
}
|
|
172
|
-
//#endregion
|
|
173
|
-
export { _resolveRouteMatchFromRoutes, computeMatchesFromRouteRecords, computeMatchesFromRoutes, computeRouteActivityMatches, getMatchingRouteRecord, resolveRoute, resolveRouteFromRoutes };
|
|
174
|
-
|
|
175
|
-
//# sourceMappingURL=route-matching.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-matching.js","names":[],"sources":["../../src/router/route-matching.ts"],"sourcesContent":["import type {\n Route,\n RouteManifest,\n RouteMatch,\n RouteRecord,\n ResolvedRoute,\n} from '../common/router';\nimport { deepFreeze, parseLocation } from './route-context';\nimport {\n computeRank,\n matchSegments,\n parseSegments,\n splitPathSegments,\n} from './match';\nimport type { InternalRoute, InternalRouteRecord } from './internal-types';\nimport { getActiveRoutes, getRouteRecords, isRouteStoreRoutes } from './store';\n\nconst routeSegsCache = new WeakMap<Route, ReturnType<typeof parseSegments>>();\nconst routeRankCache = new WeakMap<Route, number>();\nconst sortedListCache = new WeakMap<\n ReadonlyArray<Route>,\n ReadonlyArray<Route>\n>();\n\nfunction cachedSegs(route: Route): ReturnType<typeof parseSegments> {\n let segments = routeSegsCache.get(route);\n if (!segments) {\n segments = parseSegments(route.path);\n routeSegsCache.set(route, segments);\n }\n return segments;\n}\n\nfunction cachedRank(route: Route): number {\n let rank = routeRankCache.get(route);\n if (rank === undefined) {\n rank = computeRank(cachedSegs(route));\n routeRankCache.set(route, rank);\n }\n return rank;\n}\n\nfunction cachedSortedList(\n routeList: ReadonlyArray<Route>\n): ReadonlyArray<Route> {\n let sorted = sortedListCache.get(routeList);\n if (!sorted) {\n sorted = [...routeList].sort((a, b) => cachedRank(b) - cachedRank(a));\n sortedListCache.set(routeList, sorted);\n }\n return sorted;\n}\n\nfunction matchFallbackPrefix(\n pathname: string,\n fallbackPrefix: string\n): Record<string, string> | null {\n const normalizedPath =\n pathname.endsWith('/') && pathname !== '/'\n ? pathname.slice(0, -1)\n : pathname;\n const normalizedPrefix =\n fallbackPrefix.endsWith('/') && fallbackPrefix !== '/'\n ? fallbackPrefix.slice(0, -1)\n : fallbackPrefix;\n\n if (normalizedPrefix === '/') {\n const urlParts = splitPathSegments(normalizedPath);\n return {\n '*':\n urlParts.length === 0\n ? '/'\n : urlParts.length === 1\n ? urlParts[0]\n : '/' + urlParts.join('/'),\n };\n }\n\n if (\n normalizedPath !== normalizedPrefix &&\n !normalizedPath.startsWith(`${normalizedPrefix}/`)\n ) {\n return null;\n }\n\n const remainder =\n normalizedPath === normalizedPrefix\n ? '/'\n : normalizedPath.slice(normalizedPrefix.length);\n const remainderParts = splitPathSegments(remainder);\n\n return {\n '*':\n remainderParts.length === 0\n ? '/'\n : remainderParts.length === 1\n ? remainderParts[0]\n : '/' + remainderParts.join('/'),\n };\n}\n\nfunction findBestResolvedRouteFromRoutes(\n pathname: string,\n routeList: readonly Route[]\n): { route: Route; params: Record<string, string> } | null {\n const normalized =\n pathname.endsWith('/') && pathname !== '/'\n ? pathname.slice(0, -1)\n : pathname;\n const urlParts = splitPathSegments(normalized);\n\n const sorted = cachedSortedList(routeList);\n let bestRoute: Route | null = null;\n let bestParams: Record<string, string> = {};\n let bestRank = -Infinity;\n\n for (const route of sorted) {\n const internalRoute = route as InternalRoute;\n if (internalRoute.fallbackPrefix) {\n continue;\n }\n\n const rank = cachedRank(route);\n if (rank < bestRank) break;\n if (bestRoute !== null && rank === bestRank) continue;\n\n const params = matchSegments(urlParts, cachedSegs(route));\n if (params !== null) {\n bestRoute = route;\n bestParams = params;\n bestRank = rank;\n }\n }\n\n if (bestRoute !== null) {\n return { route: bestRoute, params: bestParams };\n }\n\n let bestFallback: InternalRoute | null = null;\n let bestFallbackParams: Record<string, string> | null = null;\n let bestPrefixLength = -1;\n\n for (const route of routeList) {\n const internalRoute = route as InternalRoute;\n if (!internalRoute.fallbackPrefix) {\n continue;\n }\n\n const params = matchFallbackPrefix(\n normalized,\n internalRoute.fallbackPrefix\n );\n if (params === null) {\n continue;\n }\n\n if (internalRoute.fallbackPrefix.length > bestPrefixLength) {\n bestFallback = internalRoute;\n bestFallbackParams = params;\n bestPrefixLength = internalRoute.fallbackPrefix.length;\n }\n }\n\n return bestFallback && bestFallbackParams\n ? { route: bestFallback, params: bestFallbackParams }\n : null;\n}\n\nfunction findBestScopedFallbackRecord(\n pathname: string,\n routeRecords: readonly RouteRecord[]\n): { record: InternalRouteRecord; params: Record<string, string> } | null {\n let bestRecord: InternalRouteRecord | null = null;\n let bestParams: Record<string, string> | null = null;\n let bestPrefixLength = -1;\n\n for (const routeRecord of routeRecords) {\n const record = routeRecord as InternalRouteRecord;\n if (!record.fallbackPrefix) {\n continue;\n }\n\n const params = matchFallbackPrefix(pathname, record.fallbackPrefix);\n if (params === null) {\n continue;\n }\n\n if (record.fallbackPrefix.length > bestPrefixLength) {\n bestRecord = record;\n bestParams = params;\n bestPrefixLength = record.fallbackPrefix.length;\n }\n }\n\n return bestRecord && bestParams\n ? { record: bestRecord, params: bestParams }\n : null;\n}\n\nexport function getMatchingRouteRecord(\n target: string,\n routeRecords: readonly RouteRecord[]\n): { record: RouteRecord; params: Record<string, string> } | null {\n const location = parseLocation(target);\n const normalized =\n location.pathname.endsWith('/') && location.pathname !== '/'\n ? location.pathname.slice(0, -1)\n : location.pathname;\n const urlParts = splitPathSegments(normalized);\n\n for (const record of routeRecords) {\n const internalRecord = record as InternalRouteRecord;\n if (internalRecord.fallbackPrefix) {\n continue;\n }\n\n const params = matchSegments(urlParts, record.segments);\n if (params !== null) {\n return { record, params };\n }\n }\n\n return findBestScopedFallbackRecord(normalized, routeRecords);\n}\n\nexport function computeMatchesFromRoutes(\n pathname: string,\n routesList: readonly Route[]\n): RouteMatch[] {\n const bestMatch = isRouteStoreRoutes(routesList)\n ? getMatchingRouteRecord(pathname, getRouteRecords())\n : findBestResolvedRouteFromRoutes(pathname, routesList);\n\n if (!bestMatch) {\n return [];\n }\n\n return [\n {\n path: 'route' in bestMatch ? bestMatch.route.path : bestMatch.record.path,\n params: deepFreeze({ ...bestMatch.params }),\n name:\n 'route' in bestMatch\n ? (bestMatch.route as { name?: string }).name\n : undefined,\n namespace:\n 'route' in bestMatch\n ? bestMatch.route.namespace\n : bestMatch.record.options.namespace,\n },\n ];\n}\n\nexport function computeMatchesFromRouteRecords(\n pathname: string,\n routeRecords: readonly RouteRecord[]\n): RouteMatch[] {\n const bestMatch = getMatchingRouteRecord(pathname, routeRecords);\n\n if (!bestMatch) {\n return [];\n }\n\n return [\n {\n path: bestMatch.record.path,\n params: deepFreeze({ ...bestMatch.params }),\n namespace: bestMatch.record.options.namespace,\n },\n ];\n}\n\nexport function computeRouteActivityMatches(\n pathname: string,\n options: {\n manifest?: RouteManifest;\n routes?: readonly Route[];\n } = {}\n): RouteMatch[] {\n if (options.manifest) {\n return computeMatchesFromRouteRecords(pathname, options.manifest.records);\n }\n\n if (options.routes) {\n return computeMatchesFromRoutes(pathname, options.routes);\n }\n\n return computeMatchesFromRoutes(pathname, getActiveRoutes());\n}\n\nexport function resolveRoute(pathname: string): ResolvedRoute | null {\n const normalized =\n pathname.endsWith('/') && pathname !== '/'\n ? pathname.slice(0, -1)\n : pathname;\n const urlParts = splitPathSegments(normalized);\n const records = getRouteRecords();\n\n for (const record of records) {\n if (record.fallbackPrefix) {\n continue;\n }\n\n const params = matchSegments(urlParts, record.segments);\n if (params !== null) {\n return { handler: record.handler, params };\n }\n }\n\n const fallbackMatch = findBestScopedFallbackRecord(normalized, records);\n return fallbackMatch\n ? { handler: fallbackMatch.record.handler, params: fallbackMatch.params }\n : null;\n}\n\nexport function resolveRouteFromRoutes(\n pathname: string,\n routeList: readonly Route[]\n): ResolvedRoute | null {\n if (isRouteStoreRoutes(routeList)) return resolveRoute(pathname);\n\n const match = findBestResolvedRouteFromRoutes(pathname, routeList);\n return match ? { handler: match.route.handler, params: match.params } : null;\n}\n\nexport function _resolveRouteMatchFromRoutes(\n pathname: string,\n routeList: readonly Route[]\n): { route: Route; params: Record<string, string> } | null {\n return findBestResolvedRouteFromRoutes(pathname, routeList);\n}\n"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//#region src/router/route-query.d.ts
|
|
2
|
-
type RouteQueryParamValue = string | number | boolean | null | undefined;
|
|
3
|
-
type RouteQueryParamInput = RouteQueryParamValue | readonly RouteQueryParamValue[];
|
|
4
|
-
type RouteQueryUpdates = Record<string, RouteQueryParamInput>;
|
|
5
|
-
type RouteQueryUpdater = (searchParams: URLSearchParams) => void;
|
|
6
|
-
type UpdateRouteQueryOptions = {
|
|
7
|
-
/**
|
|
8
|
-
* Defaults to replace so high-frequency controls such as search inputs do not
|
|
9
|
-
* create one browser-history entry per character.
|
|
10
|
-
*/
|
|
11
|
-
history?: 'push' | 'replace';
|
|
12
|
-
replace?: boolean;
|
|
13
|
-
};
|
|
14
|
-
declare function updateRouteQuery(updates: RouteQueryUpdates | RouteQueryUpdater, options?: UpdateRouteQueryOptions): void;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { RouteQueryParamInput, RouteQueryParamValue, RouteQueryUpdater, RouteQueryUpdates, UpdateRouteQueryOptions, updateRouteQuery };
|
|
17
|
-
//# sourceMappingURL=route-query.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-query.d.ts","names":[],"sources":["../../src/router/route-query.ts"],"mappings":";KAWY,oBAAA;AAAA,KACA,oBAAA,GACR,oBAAA,YACS,oBAAoB;AAAA,KACrB,iBAAA,GAAoB,MAAM,SAAS,oBAAA;AAAA,KACnC,iBAAA,IAAqB,YAA6B,EAAf,eAAe;AAAA,KAElD,uBAAA;EAPoB;AAChC;;;EAWE,OAAA;EACA,OAAO;AAAA;AAAA,iBAmDO,gBAAA,CACd,OAAA,EAAS,iBAAA,GAAoB,iBAAA,EAC7B,OAAA,GAAS,uBAAA"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { saveScrollPosition } from "./navigation-scroll.js";
|
|
2
|
-
import { getCurrentHref, getRegisteredAppsSnapshot, getWindowHref, parseTargetUrl, setCurrentRouteLocation, syncAppRegistrationLocation, syncRegisteredRouteSnapshot } from "./navigation-registry.js";
|
|
3
|
-
//#region src/router/route-query.ts
|
|
4
|
-
function getRouteQueryHistoryMode(options) {
|
|
5
|
-
if (options.history) return options.history;
|
|
6
|
-
return options.replace === false ? "push" : "replace";
|
|
7
|
-
}
|
|
8
|
-
function setRouteQueryValue(searchParams, key, value) {
|
|
9
|
-
searchParams.delete(key);
|
|
10
|
-
if (Array.isArray(value)) {
|
|
11
|
-
for (const entry of value) {
|
|
12
|
-
if (entry === null || entry === void 0) continue;
|
|
13
|
-
searchParams.append(key, String(entry));
|
|
14
|
-
}
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (value === null || value === void 0) return;
|
|
18
|
-
searchParams.set(key, String(value));
|
|
19
|
-
}
|
|
20
|
-
function applyRouteQueryUpdates(searchParams, updates) {
|
|
21
|
-
if (typeof updates === "function") {
|
|
22
|
-
updates(searchParams);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
for (const [key, value] of Object.entries(updates)) setRouteQueryValue(searchParams, key, value);
|
|
26
|
-
}
|
|
27
|
-
function updateRouteQuery(updates, options = {}) {
|
|
28
|
-
if (typeof window === "undefined") return;
|
|
29
|
-
const url = parseTargetUrl(getWindowHref());
|
|
30
|
-
applyRouteQueryUpdates(url.searchParams, updates);
|
|
31
|
-
const href = `${url.pathname}${url.search}${url.hash}`;
|
|
32
|
-
if (href === getWindowHref()) return;
|
|
33
|
-
const historyMode = getRouteQueryHistoryMode(options);
|
|
34
|
-
if (historyMode === "push") saveScrollPosition(getCurrentHref());
|
|
35
|
-
const state = window.history.state && typeof window.history.state === "object" ? window.history.state : {};
|
|
36
|
-
window.history[historyMode === "replace" ? "replaceState" : "pushState"]({
|
|
37
|
-
...state,
|
|
38
|
-
path: href
|
|
39
|
-
}, "", href);
|
|
40
|
-
setCurrentRouteLocation(url.pathname, href);
|
|
41
|
-
for (const app of getRegisteredAppsSnapshot()) syncAppRegistrationLocation(app, url.pathname, href);
|
|
42
|
-
syncRegisteredRouteSnapshot();
|
|
43
|
-
}
|
|
44
|
-
//#endregion
|
|
45
|
-
export { updateRouteQuery };
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=route-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-query.js","names":[],"sources":["../../src/router/route-query.ts"],"sourcesContent":["import { saveScrollPosition } from './navigation-scroll';\nimport {\n getCurrentHref,\n getRegisteredAppsSnapshot,\n getWindowHref,\n parseTargetUrl,\n setCurrentRouteLocation,\n syncAppRegistrationLocation,\n syncRegisteredRouteSnapshot,\n} from './navigation-registry';\n\nexport type RouteQueryParamValue = string | number | boolean | null | undefined;\nexport type RouteQueryParamInput =\n | RouteQueryParamValue\n | readonly RouteQueryParamValue[];\nexport type RouteQueryUpdates = Record<string, RouteQueryParamInput>;\nexport type RouteQueryUpdater = (searchParams: URLSearchParams) => void;\n\nexport type UpdateRouteQueryOptions = {\n /**\n * Defaults to replace so high-frequency controls such as search inputs do not\n * create one browser-history entry per character.\n */\n history?: 'push' | 'replace';\n replace?: boolean;\n};\n\nfunction getRouteQueryHistoryMode(\n options: UpdateRouteQueryOptions\n): 'push' | 'replace' {\n if (options.history) {\n return options.history;\n }\n\n return options.replace === false ? 'push' : 'replace';\n}\n\nfunction setRouteQueryValue(\n searchParams: URLSearchParams,\n key: string,\n value: RouteQueryParamInput\n): void {\n searchParams.delete(key);\n\n if (Array.isArray(value)) {\n for (const entry of value) {\n if (entry === null || entry === undefined) {\n continue;\n }\n searchParams.append(key, String(entry));\n }\n return;\n }\n\n if (value === null || value === undefined) {\n return;\n }\n\n searchParams.set(key, String(value));\n}\n\nfunction applyRouteQueryUpdates(\n searchParams: URLSearchParams,\n updates: RouteQueryUpdates | RouteQueryUpdater\n): void {\n if (typeof updates === 'function') {\n updates(searchParams);\n return;\n }\n\n for (const [key, value] of Object.entries(updates)) {\n setRouteQueryValue(searchParams, key, value);\n }\n}\n\nexport function updateRouteQuery(\n updates: RouteQueryUpdates | RouteQueryUpdater,\n options: UpdateRouteQueryOptions = {}\n): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n const url = parseTargetUrl(getWindowHref());\n applyRouteQueryUpdates(url.searchParams, updates);\n\n const href = `${url.pathname}${url.search}${url.hash}`;\n if (href === getWindowHref()) {\n return;\n }\n\n const historyMode = getRouteQueryHistoryMode(options);\n if (historyMode === 'push') {\n saveScrollPosition(getCurrentHref());\n }\n\n const state =\n window.history.state && typeof window.history.state === 'object'\n ? window.history.state\n : {};\n\n window.history[historyMode === 'replace' ? 'replaceState' : 'pushState'](\n {\n ...state,\n path: href,\n },\n '',\n href\n );\n\n setCurrentRouteLocation(url.pathname, href);\n for (const app of getRegisteredAppsSnapshot()) {\n syncAppRegistrationLocation(app, url.pathname, href);\n }\n syncRegisteredRouteSnapshot();\n}\n"],"mappings":";;;AA2BA,SAAS,yBACP,SACoB;CACpB,IAAI,QAAQ,SACV,OAAO,QAAQ;CAGjB,OAAO,QAAQ,YAAY,QAAQ,SAAS;AAC9C;AAEA,SAAS,mBACP,cACA,KACA,OACM;CACN,aAAa,OAAO,GAAG;CAEvB,IAAI,MAAM,QAAQ,KAAK,GAAG;EACxB,KAAK,MAAM,SAAS,OAAO;GACzB,IAAI,UAAU,QAAQ,UAAU,QAC9B;GAEF,aAAa,OAAO,KAAK,OAAO,KAAK,CAAC;EACxC;EACA;CACF;CAEA,IAAI,UAAU,QAAQ,UAAU,QAC9B;CAGF,aAAa,IAAI,KAAK,OAAO,KAAK,CAAC;AACrC;AAEA,SAAS,uBACP,cACA,SACM;CACN,IAAI,OAAO,YAAY,YAAY;EACjC,QAAQ,YAAY;EACpB;CACF;CAEA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,GAC/C,mBAAmB,cAAc,KAAK,KAAK;AAE/C;AAEA,SAAgB,iBACd,SACA,UAAmC,CAAC,GAC9B;CACN,IAAI,OAAO,WAAW,aACpB;CAGF,MAAM,MAAM,eAAe,cAAc,CAAC;CAC1C,uBAAuB,IAAI,cAAc,OAAO;CAEhD,MAAM,OAAO,GAAG,IAAI,WAAW,IAAI,SAAS,IAAI;CAChD,IAAI,SAAS,cAAc,GACzB;CAGF,MAAM,cAAc,yBAAyB,OAAO;CACpD,IAAI,gBAAgB,QAClB,mBAAmB,eAAe,CAAC;CAGrC,MAAM,QACJ,OAAO,QAAQ,SAAS,OAAO,OAAO,QAAQ,UAAU,WACpD,OAAO,QAAQ,QACf,CAAC;CAEP,OAAO,QAAQ,gBAAgB,YAAY,iBAAiB,YAAY,CACtE;EACE,GAAG;EACH,MAAM;CACR,GACA,IACA,IACF;CAEA,wBAAwB,IAAI,UAAU,IAAI;CAC1C,KAAK,MAAM,OAAO,0BAA0B,GAC1C,4BAA4B,KAAK,IAAI,UAAU,IAAI;CAErD,4BAA4B;AAC9B"}
|
package/dist/router/route.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AccessDecision, AccessDenyDecision, AccessRedirectDecision, GroupHelperOptions, LayoutScopeRecord, PageHelperOptions, PageScopeRecord, ParsedSegment, RegisterRoutesOptions, ResolvedRoute, Route, RouteAuthOptions, RouteComponent, RouteContext, RouteDefinition, RouteHandler, RouteManifest, RouteMatch, RouteOptions, RouteParams, RoutePathParams, RoutePolicy, RouteQuery, RouteRecord, RouteRegistry, RouteRenderResult, RouteRequestOptions, RouteRequestResult, RouteSnapshot } from "../common/router.js";
|
|
2
|
-
import { fallback, group, index, page, registerRoutes, route } from "./authoring.js";
|
|
3
|
-
import { currentRoute } from "./activity.js";
|
|
4
|
-
import { clearRoutes, createRouteRegistry, getManifest } from "./manifest.js";
|
|
5
|
-
import { getRoutes } from "./store.js";
|
|
6
|
-
import { lazy } from "./lazy.js";
|
|
7
|
-
import { Outlet } from "./rendering.js";
|
|
8
|
-
export { Outlet, clearRoutes, createRouteRegistry, currentRoute, fallback, getManifest, getRoutes, group, index, lazy, page, registerRoutes, route };
|
package/dist/router/route.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { _getBuiltInRoutePolicy } from "./policy.js";
|
|
2
|
-
import { Outlet } from "./rendering.js";
|
|
3
|
-
import { _setActiveRouteAuthOptions, getRoutes, hasRegisteredRoutes, lockRouteRegistration } from "./store.js";
|
|
4
|
-
import { fallback, group, index, page, registerRoutes, route } from "./authoring.js";
|
|
5
|
-
import { computeRouteActivityMatches, resolveRouteFromRoutes } from "./route-matching.js";
|
|
6
|
-
import { resolveRouteRequest } from "./resolution.js";
|
|
7
|
-
import { currentRoute, setServerLocation, syncCurrentRouteSnapshot } from "./activity.js";
|
|
8
|
-
import { _drainLazy, _snapshotLazy, _snapshotRouteSourceLazy, lazy } from "./lazy.js";
|
|
9
|
-
import { _applyManifest, clearRoutes, createRouteRegistry, getManifest } from "./manifest.js";
|
|
10
|
-
export { Outlet, _applyManifest, _drainLazy, _getBuiltInRoutePolicy, _setActiveRouteAuthOptions, _snapshotLazy, _snapshotRouteSourceLazy, clearRoutes, computeRouteActivityMatches, createRouteRegistry, currentRoute, fallback, getManifest, getRoutes, group, hasRegisteredRoutes, index, lazy, lockRouteRegistration, page, registerRoutes, resolveRouteFromRoutes, resolveRouteRequest, route, setServerLocation, syncCurrentRouteSnapshot };
|
package/dist/router/store.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { LayoutScopeRecord, PageScopeRecord, Route, RouteAuthOptions, RouteDefinition, RoutePolicy } from "../common/router.js";
|
|
2
|
-
import { AccessScopeState, InternalRoute, InternalRouteRecord, RegistrationScope, RegistrationSession } from "./internal-types.js";
|
|
3
|
-
|
|
4
|
-
//#region src/router/store.d.ts
|
|
5
|
-
type RouteStateSnapshot = {
|
|
6
|
-
routes: InternalRoute[];
|
|
7
|
-
records: InternalRouteRecord[];
|
|
8
|
-
namespaces: string[];
|
|
9
|
-
registrationLocked: boolean;
|
|
10
|
-
defaultRouteAuthOptions: RouteAuthOptions | undefined;
|
|
11
|
-
activeClientRouteAuthOptions: RouteAuthOptions | undefined;
|
|
12
|
-
routesByDepth: Array<[number, Route[]]>;
|
|
13
|
-
registrationScopeStack: RegistrationScope[];
|
|
14
|
-
registrationSessionStack: RegistrationSession[];
|
|
15
|
-
};
|
|
16
|
-
declare function getRouteRecords(): readonly InternalRouteRecord[];
|
|
17
|
-
declare function isRouteStoreRoutes(routeList: readonly Route[]): boolean;
|
|
18
|
-
declare function insertRecordSorted(record: InternalRouteRecord): void;
|
|
19
|
-
declare function addRouteToStores(routeObj: InternalRoute): void;
|
|
20
|
-
declare function getActiveRoutes(): readonly Route[];
|
|
21
|
-
declare function getActiveRouteAuthOptions(override?: RouteAuthOptions): RouteAuthOptions | undefined;
|
|
22
|
-
declare function _setActiveRouteAuthOptions(auth: RouteAuthOptions | undefined): void;
|
|
23
|
-
declare function getDefaultRouteAuthOptions(): RouteAuthOptions | undefined;
|
|
24
|
-
declare function setDefaultRouteAuthOptions(auth: RouteAuthOptions | undefined): void;
|
|
25
|
-
declare function getCurrentRegistrationSession(): RegistrationSession;
|
|
26
|
-
declare function getCurrentAccessScopeState(): AccessScopeState;
|
|
27
|
-
declare function getCurrentLayoutChain(): LayoutScopeRecord[];
|
|
28
|
-
declare function getCurrentPageChain(): PageScopeRecord[];
|
|
29
|
-
declare function hasActivePageScope(): boolean;
|
|
30
|
-
declare function getCurrentPageScope(): RegistrationScope | null;
|
|
31
|
-
declare function getCurrentScopeKind(): RegistrationScope['kind'] | null;
|
|
32
|
-
declare function getCurrentPathPrefix(): string;
|
|
33
|
-
declare function getCurrentInheritedPolicies(): RoutePolicy[];
|
|
34
|
-
declare function pushRegistrationScope(scope: RegistrationScope, fn: RouteDefinition): void;
|
|
35
|
-
declare function pushRegistrationSession(session: RegistrationSession, fn: RouteDefinition): void;
|
|
36
|
-
declare function lockRouteRegistration(): void;
|
|
37
|
-
declare function _lockRouteRegistrationForTests(): void;
|
|
38
|
-
declare function _unlockRouteRegistrationForTests(): void;
|
|
39
|
-
declare function assertRouteRegistrationUnlocked(): void;
|
|
40
|
-
declare function getRoutes(): Route[];
|
|
41
|
-
declare function hasRegisteredRoutes(): boolean;
|
|
42
|
-
declare function getNamespaceRoutes(namespace: string): Route[];
|
|
43
|
-
declare function unloadNamespace(namespace: string): number;
|
|
44
|
-
declare function getLoadedNamespaces(): string[];
|
|
45
|
-
declare function clearRouteState(): void;
|
|
46
|
-
declare function snapshotRouteState(): RouteStateSnapshot;
|
|
47
|
-
declare function restoreRouteState(snapshot: RouteStateSnapshot): void;
|
|
48
|
-
//#endregion
|
|
49
|
-
export { getRoutes };
|
|
50
|
-
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","names":[],"sources":["../../src/router/store.ts"],"mappings":";;;;KA6BK,kBAAA;EACH,MAAA,EAAQ,aAAA;EACR,OAAA,EAAS,mBAAA;EACT,UAAA;EACA,kBAAA;EACA,uBAAA,EAAyB,gBAAA;EACzB,4BAAA,EAA8B,gBAAA;EAC9B,aAAA,EAAe,KAAA,UAAe,KAAA;EAC9B,sBAAA,EAAwB,iBAAA;EACxB,wBAAA,EAA0B,mBAAA;AAAA;AAAA,iBASZ,eAAA,aAA4B,mBAAmB;AAAA,iBAI/C,kBAAA,CAAmB,SAA2B,WAAP,KAAK;AAAA,iBAI5C,kBAAA,CAAmB,MAA2B,EAAnB,mBAAmB;AAAA,iBAW9C,gBAAA,CAAiB,QAAuB,EAAb,aAAa;AAAA,iBAgBxC,eAAA,aAA4B,KAAK;AAAA,iBAKjC,yBAAA,CACd,QAAA,GAAW,gBAAA,GACV,gBAAgB;AAAA,iBAaH,0BAAA,CACd,IAAkC,EAA5B,gBAAgB;AAAA,iBAKR,0BAAA,IAA8B,gBAAgB;AAAA,iBAI9C,0BAAA,CACd,IAAkC,EAA5B,gBAAgB;AAAA,iBAKR,6BAAA,IAAiC,mBAAmB;AAAA,iBAQpD,0BAAA,IAA8B,gBAAgB;AAAA,iBAS9C,qBAAA,IAAyB,iBAAiB;AAAA,iBAY1C,mBAAA,IAAuB,eAAe;AAAA,iBAYtC,kBAAA;AAAA,iBAIA,mBAAA,IAAuB,iBAAiB;AAAA,iBAWxC,mBAAA,IAAuB,iBAAiB;AAAA,iBAMxC,oBAAA;AAAA,iBAMA,2BAAA,IAA+B,WAAW;AAAA,iBAY1C,qBAAA,CACd,KAAA,EAAO,iBAAA,EACP,EAAA,EAAI,eAAe;AAAA,iBAUL,uBAAA,CACd,OAAA,EAAS,mBAAA,EACT,EAAA,EAAI,eAAe;AAAA,iBAUL,qBAAA;AAAA,iBAIA,8BAAA;AAAA,iBAIA,gCAAA;AAAA,iBAIA,+BAAA;AAAA,iBASA,SAAA,IAAa,KAAK;AAAA,iBAIlB,mBAAA;AAAA,iBAIA,kBAAA,CAAmB,SAAA,WAAoB,KAAK;AAAA,iBAI5C,eAAA,CAAgB,SAAiB;AAAA,iBA2BjC,mBAAA;AAAA,iBAIA,eAAA;AAAA,iBAYA,kBAAA,IAAsB,kBAAkB;AAAA,iBAiBxC,iBAAA,CAAkB,QAA4B,EAAlB,kBAAkB"}
|