@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
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
import { n as getActiveRenderContext } from "./render-context-Clw3rFiO.js";
|
|
2
|
+
//#region src/router/match.ts
|
|
3
|
+
function splitPathSegments(path) {
|
|
4
|
+
const normalized = path.endsWith("/") && path !== "/" ? path.slice(0, -1) : path;
|
|
5
|
+
if (!normalized || normalized === "/") return [];
|
|
6
|
+
const withoutLeadingSlash = normalized.startsWith("/") ? normalized.slice(1) : normalized;
|
|
7
|
+
return withoutLeadingSlash.length === 0 ? [] : withoutLeadingSlash.split("/");
|
|
8
|
+
}
|
|
9
|
+
function normalizeRouteSegmentName(value) {
|
|
10
|
+
return value.trim();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Parse a route template path into typed segments.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* parseSegments('/users/{id}') // [{kind:'static',value:'users'},{kind:'param',value:'id'}]
|
|
17
|
+
* parseSegments('/*') // [{kind:'catchall',value:'*'}]
|
|
18
|
+
* parseSegments('/posts/*') // [{kind:'static',value:'posts'},{kind:'wildcard',value:'*'}]
|
|
19
|
+
* parseSegments('/files/{*path}') // [{kind:'static',value:'files'},{kind:'splat',value:'path'}]
|
|
20
|
+
*/
|
|
21
|
+
function parseSegments(path) {
|
|
22
|
+
const parts = (path.endsWith("/") && path !== "/" ? path.slice(0, -1) : path).split("/").filter(Boolean);
|
|
23
|
+
if (parts.length === 1 && parts[0] === "*") return [{
|
|
24
|
+
kind: "catchall",
|
|
25
|
+
value: "*"
|
|
26
|
+
}];
|
|
27
|
+
return parts.map((segment) => {
|
|
28
|
+
if (segment.startsWith("{") && segment.endsWith("}")) {
|
|
29
|
+
const value = normalizeRouteSegmentName(segment.slice(1, -1));
|
|
30
|
+
if (value.startsWith("*")) return {
|
|
31
|
+
kind: "splat",
|
|
32
|
+
value: normalizeRouteSegmentName(value.slice(1))
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
kind: "param",
|
|
36
|
+
value
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (segment === "*") return {
|
|
40
|
+
kind: "wildcard",
|
|
41
|
+
value: "*"
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
kind: "static",
|
|
45
|
+
value: segment
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Compute a numeric specificity rank from a parsed segment list.
|
|
51
|
+
*
|
|
52
|
+
* Scoring: static = 3, param = 2, wildcard = 1, catchall = 0.
|
|
53
|
+
* Higher rank wins when multiple routes match the same path.
|
|
54
|
+
*/
|
|
55
|
+
function computeRank(segments) {
|
|
56
|
+
if (segments.length === 1 && segments[0].kind === "catchall") return -1;
|
|
57
|
+
let score = 0;
|
|
58
|
+
for (const seg of segments) if (seg.kind === "static") score += 3;
|
|
59
|
+
else if (seg.kind === "param") score += 2;
|
|
60
|
+
else if (seg.kind === "wildcard") score += 1;
|
|
61
|
+
else if (seg.kind === "splat") score -= .5;
|
|
62
|
+
return score;
|
|
63
|
+
}
|
|
64
|
+
/** Reused frozen empty params object — returned for purely-static (no-capture) routes. */
|
|
65
|
+
const emptyParams = Object.freeze(Object.create(null));
|
|
66
|
+
Object.freeze({
|
|
67
|
+
matched: false,
|
|
68
|
+
params: emptyParams
|
|
69
|
+
});
|
|
70
|
+
function decodeRouteParam(part) {
|
|
71
|
+
if (!part.includes("%")) return part;
|
|
72
|
+
try {
|
|
73
|
+
return decodeURIComponent(part);
|
|
74
|
+
} catch {
|
|
75
|
+
return part;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Match pre-split URL parts against pre-parsed route segments.
|
|
80
|
+
*
|
|
81
|
+
* This is the hot-path matcher used by `resolveRoute` and
|
|
82
|
+
* `resolveRouteFromRoutes`. Callers split the URL path **once** and reuse
|
|
83
|
+
* `urlParts` across all route comparisons in a single resolution call.
|
|
84
|
+
*
|
|
85
|
+
* - Returns a params object (possibly the shared `{}`) on match.
|
|
86
|
+
* - Returns `null` on no match.
|
|
87
|
+
* - Params are allocated lazily — purely-static routes return the frozen
|
|
88
|
+
* empty sentinel without any heap allocation.
|
|
89
|
+
*/
|
|
90
|
+
function matchSegments(urlParts, segments) {
|
|
91
|
+
if (segments.length === 1 && segments[0].kind === "catchall") return { "*": urlParts.length === 0 ? "/" : urlParts.length === 1 ? urlParts[0] : "/" + urlParts.join("/") };
|
|
92
|
+
const splatIndex = segments.findIndex((segment) => segment.kind === "splat");
|
|
93
|
+
if (splatIndex !== -1) {
|
|
94
|
+
if (splatIndex !== segments.length - 1) return null;
|
|
95
|
+
if (urlParts.length < splatIndex) return null;
|
|
96
|
+
} else if (urlParts.length !== segments.length) return null;
|
|
97
|
+
let params = null;
|
|
98
|
+
const normalizeCapturedSplatParts = (parts) => {
|
|
99
|
+
let start = 0;
|
|
100
|
+
while (start < parts.length && parts[start] === "") start += 1;
|
|
101
|
+
return start === 0 ? parts : parts.slice(start);
|
|
102
|
+
};
|
|
103
|
+
for (let i = 0; i < segments.length; i++) {
|
|
104
|
+
const seg = segments[i];
|
|
105
|
+
const part = urlParts[i];
|
|
106
|
+
if (seg.kind === "static") {
|
|
107
|
+
if (seg.value !== part) return null;
|
|
108
|
+
} else if (seg.kind === "splat") {
|
|
109
|
+
if (params === null) params = {};
|
|
110
|
+
params[seg.value] = normalizeCapturedSplatParts(urlParts.slice(i).map(decodeRouteParam)).join("/");
|
|
111
|
+
return params;
|
|
112
|
+
} else {
|
|
113
|
+
if (params === null) params = {};
|
|
114
|
+
if (seg.kind === "param") params[seg.value] = decodeRouteParam(part);
|
|
115
|
+
else params["*"] = part;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return params ?? emptyParams;
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
//#region src/router/store.ts
|
|
122
|
+
const routes = [];
|
|
123
|
+
const records = [];
|
|
124
|
+
const namespaces = /* @__PURE__ */ new Set();
|
|
125
|
+
const routesByDepth = /* @__PURE__ */ new Map();
|
|
126
|
+
const registrationScopeStack = [];
|
|
127
|
+
let registrationLocked = false;
|
|
128
|
+
let defaultRouteAuthOptions;
|
|
129
|
+
let activeClientRouteAuthOptions;
|
|
130
|
+
function getDepth(path) {
|
|
131
|
+
const normalized = path.endsWith("/") && path !== "/" ? path.slice(0, -1) : path;
|
|
132
|
+
return normalized === "/" ? 0 : normalized.split("/").filter(Boolean).length;
|
|
133
|
+
}
|
|
134
|
+
function getRouteRecords() {
|
|
135
|
+
return records;
|
|
136
|
+
}
|
|
137
|
+
function isRouteStoreRoutes(routeList) {
|
|
138
|
+
return routeList === routes;
|
|
139
|
+
}
|
|
140
|
+
function insertRecordSorted(record) {
|
|
141
|
+
let lo = 0;
|
|
142
|
+
let hi = records.length;
|
|
143
|
+
while (lo < hi) {
|
|
144
|
+
const mid = lo + hi >>> 1;
|
|
145
|
+
if (records[mid].rank >= record.rank) lo = mid + 1;
|
|
146
|
+
else hi = mid;
|
|
147
|
+
}
|
|
148
|
+
records.splice(lo, 0, record);
|
|
149
|
+
}
|
|
150
|
+
function addRouteToStores(routeObj) {
|
|
151
|
+
routes.push(routeObj);
|
|
152
|
+
const depth = getDepth(routeObj.path);
|
|
153
|
+
let depthRoutes = routesByDepth.get(depth);
|
|
154
|
+
if (!depthRoutes) {
|
|
155
|
+
depthRoutes = [];
|
|
156
|
+
routesByDepth.set(depth, depthRoutes);
|
|
157
|
+
}
|
|
158
|
+
depthRoutes.push(routeObj);
|
|
159
|
+
if (routeObj.namespace) namespaces.add(routeObj.namespace);
|
|
160
|
+
}
|
|
161
|
+
function getActiveRoutes() {
|
|
162
|
+
return getActiveRenderContext()?.routes ?? routes;
|
|
163
|
+
}
|
|
164
|
+
function getActiveRouteAuthOptions(override) {
|
|
165
|
+
if (override) return override;
|
|
166
|
+
return getActiveRenderContext()?.routeAuth ?? activeClientRouteAuthOptions ?? defaultRouteAuthOptions;
|
|
167
|
+
}
|
|
168
|
+
function _setActiveRouteAuthOptions(auth) {
|
|
169
|
+
activeClientRouteAuthOptions = auth;
|
|
170
|
+
}
|
|
171
|
+
function getDefaultRouteAuthOptions() {
|
|
172
|
+
return defaultRouteAuthOptions;
|
|
173
|
+
}
|
|
174
|
+
function setDefaultRouteAuthOptions(auth) {
|
|
175
|
+
defaultRouteAuthOptions = auth;
|
|
176
|
+
}
|
|
177
|
+
function getCurrentLayoutChain() {
|
|
178
|
+
const layoutChain = [];
|
|
179
|
+
for (const scope of registrationScopeStack) if (scope.layout) layoutChain.push({ component: scope.layout });
|
|
180
|
+
return layoutChain;
|
|
181
|
+
}
|
|
182
|
+
function getCurrentPageChain() {
|
|
183
|
+
const pageChain = [];
|
|
184
|
+
for (const scope of registrationScopeStack) if (scope.page) pageChain.push({ component: scope.page });
|
|
185
|
+
return pageChain;
|
|
186
|
+
}
|
|
187
|
+
function hasActivePageScope() {
|
|
188
|
+
return registrationScopeStack.some((scope) => !!scope.page);
|
|
189
|
+
}
|
|
190
|
+
function getCurrentPageScope() {
|
|
191
|
+
for (let index = registrationScopeStack.length - 1; index >= 0; index -= 1) {
|
|
192
|
+
const scope = registrationScopeStack[index];
|
|
193
|
+
if (scope.kind === "page") return scope;
|
|
194
|
+
}
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
function getCurrentScopeKind() {
|
|
198
|
+
return registrationScopeStack[registrationScopeStack.length - 1]?.kind ?? null;
|
|
199
|
+
}
|
|
200
|
+
function getCurrentPathPrefix() {
|
|
201
|
+
return registrationScopeStack[registrationScopeStack.length - 1]?.pathPrefix ?? "";
|
|
202
|
+
}
|
|
203
|
+
function getCurrentInheritedPolicies() {
|
|
204
|
+
const policies = [];
|
|
205
|
+
for (const scope of registrationScopeStack) if (scope.policies.length > 0) policies.push(...scope.policies);
|
|
206
|
+
return policies;
|
|
207
|
+
}
|
|
208
|
+
function getCurrentInheritedAuthRequirements() {
|
|
209
|
+
return registrationScopeStack.flatMap((scope) => scope.auth ? [scope.auth] : []);
|
|
210
|
+
}
|
|
211
|
+
function getCurrentInheritedMeta() {
|
|
212
|
+
return registrationScopeStack.flatMap((scope) => scope.meta ? [scope.meta] : []);
|
|
213
|
+
}
|
|
214
|
+
function pushRegistrationScope(scope, fn) {
|
|
215
|
+
registrationScopeStack.push(scope);
|
|
216
|
+
try {
|
|
217
|
+
fn();
|
|
218
|
+
} finally {
|
|
219
|
+
registrationScopeStack.pop();
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function lockRouteRegistration() {
|
|
223
|
+
registrationLocked = true;
|
|
224
|
+
}
|
|
225
|
+
function assertRouteRegistrationUnlocked() {
|
|
226
|
+
if (registrationLocked) throw new Error("Route registration is locked after app startup. Register routes at module load time before calling createSPA or createSSR.");
|
|
227
|
+
}
|
|
228
|
+
function getRoutes() {
|
|
229
|
+
return [...routes];
|
|
230
|
+
}
|
|
231
|
+
function hasRegisteredRoutes() {
|
|
232
|
+
return routes.length > 0 || records.length > 0;
|
|
233
|
+
}
|
|
234
|
+
function clearRouteState() {
|
|
235
|
+
routes.length = 0;
|
|
236
|
+
records.length = 0;
|
|
237
|
+
namespaces.clear();
|
|
238
|
+
routesByDepth.clear();
|
|
239
|
+
registrationScopeStack.length = 0;
|
|
240
|
+
registrationLocked = false;
|
|
241
|
+
defaultRouteAuthOptions = void 0;
|
|
242
|
+
activeClientRouteAuthOptions = void 0;
|
|
243
|
+
}
|
|
244
|
+
function snapshotRouteState() {
|
|
245
|
+
return {
|
|
246
|
+
routes: [...routes],
|
|
247
|
+
records: [...records],
|
|
248
|
+
namespaces: [...namespaces],
|
|
249
|
+
registrationLocked,
|
|
250
|
+
defaultRouteAuthOptions,
|
|
251
|
+
activeClientRouteAuthOptions,
|
|
252
|
+
routesByDepth: [...routesByDepth.entries()].map(([depth, depthRoutes]) => [depth, [...depthRoutes]]),
|
|
253
|
+
registrationScopeStack: [...registrationScopeStack]
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
function restoreRouteState(snapshot) {
|
|
257
|
+
routes.length = 0;
|
|
258
|
+
routes.push(...snapshot.routes);
|
|
259
|
+
records.length = 0;
|
|
260
|
+
records.push(...snapshot.records);
|
|
261
|
+
namespaces.clear();
|
|
262
|
+
for (const namespace of snapshot.namespaces) namespaces.add(namespace);
|
|
263
|
+
routesByDepth.clear();
|
|
264
|
+
for (const [depth, depthRoutes] of snapshot.routesByDepth) routesByDepth.set(depth, [...depthRoutes]);
|
|
265
|
+
registrationScopeStack.length = 0;
|
|
266
|
+
registrationScopeStack.push(...snapshot.registrationScopeStack);
|
|
267
|
+
registrationLocked = snapshot.registrationLocked;
|
|
268
|
+
defaultRouteAuthOptions = snapshot.defaultRouteAuthOptions;
|
|
269
|
+
activeClientRouteAuthOptions = snapshot.activeClientRouteAuthOptions;
|
|
270
|
+
}
|
|
271
|
+
//#endregion
|
|
272
|
+
//#region src/router/route-context.ts
|
|
273
|
+
function parseLocation(url) {
|
|
274
|
+
try {
|
|
275
|
+
const parsedUrl = new URL(url, "http://localhost");
|
|
276
|
+
return {
|
|
277
|
+
pathname: parsedUrl.pathname,
|
|
278
|
+
search: parsedUrl.search,
|
|
279
|
+
hash: parsedUrl.hash
|
|
280
|
+
};
|
|
281
|
+
} catch {
|
|
282
|
+
return {
|
|
283
|
+
pathname: "/",
|
|
284
|
+
search: "",
|
|
285
|
+
hash: ""
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
function deepFreeze(obj) {
|
|
290
|
+
if (obj && typeof obj === "object" && !Object.isFrozen(obj)) {
|
|
291
|
+
Object.freeze(obj);
|
|
292
|
+
for (const key of Object.keys(obj)) {
|
|
293
|
+
const value = obj[key];
|
|
294
|
+
if (value && typeof value === "object") deepFreeze(value);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return obj;
|
|
298
|
+
}
|
|
299
|
+
function makeQuery(search) {
|
|
300
|
+
const searchParams = new URLSearchParams(search || "");
|
|
301
|
+
const mapping = /* @__PURE__ */ new Map();
|
|
302
|
+
for (const [key, value] of searchParams.entries()) {
|
|
303
|
+
const existing = mapping.get(key);
|
|
304
|
+
if (existing) existing.push(value);
|
|
305
|
+
else mapping.set(key, [value]);
|
|
306
|
+
}
|
|
307
|
+
return deepFreeze({
|
|
308
|
+
get(key) {
|
|
309
|
+
const values = mapping.get(key);
|
|
310
|
+
return values ? values[0] : null;
|
|
311
|
+
},
|
|
312
|
+
getAll(key) {
|
|
313
|
+
const values = mapping.get(key);
|
|
314
|
+
return values ? [...values] : [];
|
|
315
|
+
},
|
|
316
|
+
has(key) {
|
|
317
|
+
return mapping.has(key);
|
|
318
|
+
},
|
|
319
|
+
toJSON() {
|
|
320
|
+
const output = {};
|
|
321
|
+
for (const [key, values] of mapping.entries()) output[key] = values.length > 1 ? [...values] : values[0];
|
|
322
|
+
return output;
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
function buildRouteContextBase(target, params, options) {
|
|
327
|
+
const parsed = parseLocation(target);
|
|
328
|
+
const href = `${parsed.pathname}${parsed.search}${parsed.hash}`;
|
|
329
|
+
return {
|
|
330
|
+
mode: options.mode,
|
|
331
|
+
params,
|
|
332
|
+
pathname: parsed.pathname,
|
|
333
|
+
search: parsed.search,
|
|
334
|
+
hash: parsed.hash,
|
|
335
|
+
href,
|
|
336
|
+
signal: options.signal
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
function buildRouteContext(target, params, options) {
|
|
340
|
+
return {
|
|
341
|
+
...buildRouteContextBase(target, params, options),
|
|
342
|
+
auth: options.authContext
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
//#endregion
|
|
346
|
+
//#region src/router/route-matching.ts
|
|
347
|
+
const routeSegsCache = /* @__PURE__ */ new WeakMap();
|
|
348
|
+
const routeRankCache = /* @__PURE__ */ new WeakMap();
|
|
349
|
+
const sortedListCache = /* @__PURE__ */ new WeakMap();
|
|
350
|
+
function cachedSegs(route) {
|
|
351
|
+
let segments = routeSegsCache.get(route);
|
|
352
|
+
if (!segments) {
|
|
353
|
+
segments = parseSegments(route.path);
|
|
354
|
+
routeSegsCache.set(route, segments);
|
|
355
|
+
}
|
|
356
|
+
return segments;
|
|
357
|
+
}
|
|
358
|
+
function cachedRank(route) {
|
|
359
|
+
let rank = routeRankCache.get(route);
|
|
360
|
+
if (rank === void 0) {
|
|
361
|
+
rank = computeRank(cachedSegs(route));
|
|
362
|
+
routeRankCache.set(route, rank);
|
|
363
|
+
}
|
|
364
|
+
return rank;
|
|
365
|
+
}
|
|
366
|
+
function cachedSortedList(routeList) {
|
|
367
|
+
let sorted = sortedListCache.get(routeList);
|
|
368
|
+
if (!sorted) {
|
|
369
|
+
sorted = [...routeList].sort((a, b) => cachedRank(b) - cachedRank(a));
|
|
370
|
+
sortedListCache.set(routeList, sorted);
|
|
371
|
+
}
|
|
372
|
+
return sorted;
|
|
373
|
+
}
|
|
374
|
+
function matchFallbackPrefix(pathname, fallbackPrefix) {
|
|
375
|
+
const normalizedPath = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
|
|
376
|
+
const normalizedPrefix = fallbackPrefix.endsWith("/") && fallbackPrefix !== "/" ? fallbackPrefix.slice(0, -1) : fallbackPrefix;
|
|
377
|
+
if (normalizedPrefix === "/") {
|
|
378
|
+
const urlParts = splitPathSegments(normalizedPath);
|
|
379
|
+
return { "*": urlParts.length === 0 ? "/" : urlParts.length === 1 ? urlParts[0] : "/" + urlParts.join("/") };
|
|
380
|
+
}
|
|
381
|
+
if (normalizedPath !== normalizedPrefix && !normalizedPath.startsWith(`${normalizedPrefix}/`)) return null;
|
|
382
|
+
const remainderParts = splitPathSegments(normalizedPath === normalizedPrefix ? "/" : normalizedPath.slice(normalizedPrefix.length));
|
|
383
|
+
return { "*": remainderParts.length === 0 ? "/" : remainderParts.length === 1 ? remainderParts[0] : "/" + remainderParts.join("/") };
|
|
384
|
+
}
|
|
385
|
+
function findBestResolvedRouteFromRoutes(pathname, routeList) {
|
|
386
|
+
const normalized = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
|
|
387
|
+
const urlParts = splitPathSegments(normalized);
|
|
388
|
+
const sorted = cachedSortedList(routeList);
|
|
389
|
+
let bestRoute = null;
|
|
390
|
+
let bestParams = {};
|
|
391
|
+
let bestRank = -Infinity;
|
|
392
|
+
for (const route of sorted) {
|
|
393
|
+
if (route.fallbackPrefix) continue;
|
|
394
|
+
const rank = cachedRank(route);
|
|
395
|
+
if (rank < bestRank) break;
|
|
396
|
+
if (bestRoute !== null && rank === bestRank) continue;
|
|
397
|
+
const params = matchSegments(urlParts, cachedSegs(route));
|
|
398
|
+
if (params !== null) {
|
|
399
|
+
bestRoute = route;
|
|
400
|
+
bestParams = params;
|
|
401
|
+
bestRank = rank;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
if (bestRoute !== null) return {
|
|
405
|
+
route: bestRoute,
|
|
406
|
+
params: bestParams
|
|
407
|
+
};
|
|
408
|
+
let bestFallback = null;
|
|
409
|
+
let bestFallbackParams = null;
|
|
410
|
+
let bestPrefixLength = -1;
|
|
411
|
+
for (const route of routeList) {
|
|
412
|
+
const internalRoute = route;
|
|
413
|
+
if (!internalRoute.fallbackPrefix) continue;
|
|
414
|
+
const params = matchFallbackPrefix(normalized, internalRoute.fallbackPrefix);
|
|
415
|
+
if (params === null) continue;
|
|
416
|
+
if (internalRoute.fallbackPrefix.length > bestPrefixLength) {
|
|
417
|
+
bestFallback = internalRoute;
|
|
418
|
+
bestFallbackParams = params;
|
|
419
|
+
bestPrefixLength = internalRoute.fallbackPrefix.length;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
return bestFallback && bestFallbackParams ? {
|
|
423
|
+
route: bestFallback,
|
|
424
|
+
params: bestFallbackParams
|
|
425
|
+
} : null;
|
|
426
|
+
}
|
|
427
|
+
function findBestScopedFallbackRecord(pathname, routeRecords) {
|
|
428
|
+
let bestRecord = null;
|
|
429
|
+
let bestParams = null;
|
|
430
|
+
let bestPrefixLength = -1;
|
|
431
|
+
for (const routeRecord of routeRecords) {
|
|
432
|
+
const record = routeRecord;
|
|
433
|
+
if (!record.fallbackPrefix) continue;
|
|
434
|
+
const params = matchFallbackPrefix(pathname, record.fallbackPrefix);
|
|
435
|
+
if (params === null) continue;
|
|
436
|
+
if (record.fallbackPrefix.length > bestPrefixLength) {
|
|
437
|
+
bestRecord = record;
|
|
438
|
+
bestParams = params;
|
|
439
|
+
bestPrefixLength = record.fallbackPrefix.length;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return bestRecord && bestParams ? {
|
|
443
|
+
record: bestRecord,
|
|
444
|
+
params: bestParams
|
|
445
|
+
} : null;
|
|
446
|
+
}
|
|
447
|
+
function getMatchingRouteRecord(target, routeRecords) {
|
|
448
|
+
const location = parseLocation(target);
|
|
449
|
+
const normalized = location.pathname.endsWith("/") && location.pathname !== "/" ? location.pathname.slice(0, -1) : location.pathname;
|
|
450
|
+
const urlParts = splitPathSegments(normalized);
|
|
451
|
+
for (const record of routeRecords) {
|
|
452
|
+
if (record.fallbackPrefix) continue;
|
|
453
|
+
const params = matchSegments(urlParts, record.segments);
|
|
454
|
+
if (params !== null) return {
|
|
455
|
+
record,
|
|
456
|
+
params
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
return findBestScopedFallbackRecord(normalized, routeRecords);
|
|
460
|
+
}
|
|
461
|
+
function computeMatchesFromRoutes(pathname, routesList) {
|
|
462
|
+
const bestMatch = isRouteStoreRoutes(routesList) ? getMatchingRouteRecord(pathname, getRouteRecords()) : findBestResolvedRouteFromRoutes(pathname, routesList);
|
|
463
|
+
if (!bestMatch) return [];
|
|
464
|
+
return [{
|
|
465
|
+
path: "route" in bestMatch ? bestMatch.route.path : bestMatch.record.path,
|
|
466
|
+
params: deepFreeze({ ...bestMatch.params }),
|
|
467
|
+
name: "route" in bestMatch ? bestMatch.route.name : void 0,
|
|
468
|
+
namespace: "route" in bestMatch ? bestMatch.route.namespace : bestMatch.record.options.namespace
|
|
469
|
+
}];
|
|
470
|
+
}
|
|
471
|
+
function computeMatchesFromRouteRecords(pathname, routeRecords) {
|
|
472
|
+
const bestMatch = getMatchingRouteRecord(pathname, routeRecords);
|
|
473
|
+
if (!bestMatch) return [];
|
|
474
|
+
return [{
|
|
475
|
+
path: bestMatch.record.path,
|
|
476
|
+
params: deepFreeze({ ...bestMatch.params }),
|
|
477
|
+
namespace: bestMatch.record.options.namespace
|
|
478
|
+
}];
|
|
479
|
+
}
|
|
480
|
+
function computeRouteActivityMatches(pathname, options = {}) {
|
|
481
|
+
if (options.manifest) return computeMatchesFromRouteRecords(pathname, options.manifest.records);
|
|
482
|
+
if (options.routes) return computeMatchesFromRoutes(pathname, options.routes);
|
|
483
|
+
return computeMatchesFromRoutes(pathname, getActiveRoutes());
|
|
484
|
+
}
|
|
485
|
+
function resolveRoute(pathname) {
|
|
486
|
+
const normalized = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
|
|
487
|
+
const urlParts = splitPathSegments(normalized);
|
|
488
|
+
const records = getRouteRecords();
|
|
489
|
+
for (const record of records) {
|
|
490
|
+
if (record.fallbackPrefix) continue;
|
|
491
|
+
const params = matchSegments(urlParts, record.segments);
|
|
492
|
+
if (params !== null) return {
|
|
493
|
+
handler: record.handler,
|
|
494
|
+
params
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
const fallbackMatch = findBestScopedFallbackRecord(normalized, records);
|
|
498
|
+
return fallbackMatch ? {
|
|
499
|
+
handler: fallbackMatch.record.handler,
|
|
500
|
+
params: fallbackMatch.params
|
|
501
|
+
} : null;
|
|
502
|
+
}
|
|
503
|
+
function resolveRouteFromRoutes(pathname, routeList) {
|
|
504
|
+
if (isRouteStoreRoutes(routeList)) return resolveRoute(pathname);
|
|
505
|
+
const match = findBestResolvedRouteFromRoutes(pathname, routeList);
|
|
506
|
+
return match ? {
|
|
507
|
+
handler: match.route.handler,
|
|
508
|
+
params: match.params
|
|
509
|
+
} : null;
|
|
510
|
+
}
|
|
511
|
+
function _resolveRouteMatchFromRoutes(pathname, routeList) {
|
|
512
|
+
return findBestResolvedRouteFromRoutes(pathname, routeList);
|
|
513
|
+
}
|
|
514
|
+
//#endregion
|
|
515
|
+
export { insertRecordSorted as A, getCurrentPathPrefix as C, getRoutes as D, getRouteRecords as E, snapshotRouteState as F, computeRank as I, normalizeRouteSegmentName as L, pushRegistrationScope as M, restoreRouteState as N, hasActivePageScope as O, setDefaultRouteAuthOptions as P, parseSegments as R, getCurrentPageScope as S, getDefaultRouteAuthOptions as T, getCurrentInheritedAuthRequirements as _, resolveRouteFromRoutes as a, getCurrentLayoutChain as b, deepFreeze as c, _setActiveRouteAuthOptions as d, addRouteToStores as f, getActiveRoutes as g, getActiveRouteAuthOptions as h, getMatchingRouteRecord as i, lockRouteRegistration as j, hasRegisteredRoutes as k, makeQuery as l, clearRouteState as m, computeMatchesFromRoutes as n, buildRouteContext as o, assertRouteRegistrationUnlocked as p, computeRouteActivityMatches as r, buildRouteContextBase as s, _resolveRouteMatchFromRoutes as t, parseLocation as u, getCurrentInheritedMeta as v, getCurrentScopeKind as w, getCurrentPageChain as x, getCurrentInheritedPolicies as y };
|