@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,386 @@
|
|
|
1
|
+
import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-CUpRxrLH.js";
|
|
2
|
+
import { h as readScope, u as defineScope } from "./component-internal-B3z7GXlD.js";
|
|
3
|
+
import { d as getCurrentAppRenderRuntime } from "./component-scope-CC3cojX9.js";
|
|
4
|
+
import { m as isPromiseLike } from "./component-lifecycle-CO4hXlP4.js";
|
|
5
|
+
import { n as getActiveRenderContext, r as getCurrentRenderData } from "./render-context-Clw3rFiO.js";
|
|
6
|
+
import { t as resource } from "./resource-operation-CEzfpnDk.js";
|
|
7
|
+
import { t as ROUTE_ROOT_COMPONENT } from "./router-internal-BC0w1_xk.js";
|
|
8
|
+
import { c as withTelemetry, t as createQueryPrefetchContext } from "./query-registry-CQIT4mXr.js";
|
|
9
|
+
import { E as getRouteRecords, h as getActiveRouteAuthOptions, i as getMatchingRouteRecord, o as buildRouteContext, s as buildRouteContextBase } from "./route-matching-vJpvLVbX.js";
|
|
10
|
+
//#region src/router/rendering.ts
|
|
11
|
+
const outletScope = defineScope(null);
|
|
12
|
+
function Outlet() {
|
|
13
|
+
return {
|
|
14
|
+
$$typeof: ELEMENT_TYPE,
|
|
15
|
+
type: Fragment,
|
|
16
|
+
props: { children: readScope(outletScope) },
|
|
17
|
+
key: null
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function applyPageChain(pageChain, params, content, deferComponents = false) {
|
|
21
|
+
let nextContent = content;
|
|
22
|
+
for (let i = pageChain.length - 1; i >= 0; i--) nextContent = outletScope({
|
|
23
|
+
value: nextContent,
|
|
24
|
+
children: deferComponents ? createRouteComponentVNode(pageChain[i].component, params) : pageChain[i].component(params)
|
|
25
|
+
});
|
|
26
|
+
return nextContent;
|
|
27
|
+
}
|
|
28
|
+
function createRouteComponentVNode(component, params, routeRoot = false) {
|
|
29
|
+
return {
|
|
30
|
+
$$typeof: ELEMENT_TYPE,
|
|
31
|
+
type: component,
|
|
32
|
+
props: params,
|
|
33
|
+
key: null,
|
|
34
|
+
...routeRoot ? { [ROUTE_ROOT_COMPONENT]: true } : {}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function createRouteHandler(component, pageChain, layoutChain, deferComponents = false) {
|
|
38
|
+
return (params) => {
|
|
39
|
+
let content = deferComponents ? createRouteComponentVNode(component, params, true) : component(params);
|
|
40
|
+
content = applyPageChain(pageChain, params, content, deferComponents);
|
|
41
|
+
for (let i = layoutChain.length - 1; i >= 0; i--) {
|
|
42
|
+
const layout = layoutChain[i].component;
|
|
43
|
+
content = layout({ children: content });
|
|
44
|
+
}
|
|
45
|
+
return content;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function getRenderHandler(record) {
|
|
49
|
+
return record.renderHandler ?? createRouteHandler(record.component, record.pageChain, record.layoutChain, true);
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/common/page-render-envelope.ts
|
|
53
|
+
const PAGE_RENDER_ENVELOPE_VERSION = 1;
|
|
54
|
+
function ownedRecord(value) {
|
|
55
|
+
return Object.freeze({ ...value });
|
|
56
|
+
}
|
|
57
|
+
function createPageRenderEnvelope(input = {}) {
|
|
58
|
+
return Object.freeze({
|
|
59
|
+
version: PAGE_RENDER_ENVELOPE_VERSION,
|
|
60
|
+
resources: ownedRecord(input.resources),
|
|
61
|
+
route: input.route,
|
|
62
|
+
framework: ownedRecord(input.framework)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function isPageRenderEnvelope(value) {
|
|
66
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return false;
|
|
67
|
+
const candidate = value;
|
|
68
|
+
return candidate.version === PAGE_RENDER_ENVELOPE_VERSION && Boolean(candidate.resources && typeof candidate.resources === "object" && !Array.isArray(candidate.resources)) && Boolean(candidate.framework && typeof candidate.framework === "object" && !Array.isArray(candidate.framework));
|
|
69
|
+
}
|
|
70
|
+
function pageRenderEnvelope(value, fallback = {}) {
|
|
71
|
+
if (isPageRenderEnvelope(value)) return value;
|
|
72
|
+
return createPageRenderEnvelope({
|
|
73
|
+
...fallback,
|
|
74
|
+
route: value ?? fallback.route
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function replacePageRoute(value, route) {
|
|
78
|
+
const current = pageRenderEnvelope(value);
|
|
79
|
+
return createPageRenderEnvelope({
|
|
80
|
+
resources: current.resources,
|
|
81
|
+
route,
|
|
82
|
+
framework: current.framework
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function isEmptyPageRenderEnvelope(value) {
|
|
86
|
+
return value.route === void 0 && Object.keys(value.resources).length === 0 && Object.keys(value.framework).length === 0;
|
|
87
|
+
}
|
|
88
|
+
//#endregion
|
|
89
|
+
//#region src/router/auth.ts
|
|
90
|
+
let clientAuth = Object.freeze({
|
|
91
|
+
authenticated: false,
|
|
92
|
+
principal: null,
|
|
93
|
+
session: null,
|
|
94
|
+
tenant: null
|
|
95
|
+
});
|
|
96
|
+
/** Return the identity resolved for the route currently being rendered. */
|
|
97
|
+
function currentAuth() {
|
|
98
|
+
return getActiveRenderContext()?.authContext ?? clientAuth;
|
|
99
|
+
}
|
|
100
|
+
/** @internal Updated atomically with route resolution. */
|
|
101
|
+
function setCurrentAuth(context) {
|
|
102
|
+
clientAuth = context;
|
|
103
|
+
const render = getActiveRenderContext();
|
|
104
|
+
if (render) render.authContext = context;
|
|
105
|
+
}
|
|
106
|
+
//#endregion
|
|
107
|
+
//#region src/router/resolution.ts
|
|
108
|
+
const anonymous = () => ({
|
|
109
|
+
authenticated: false,
|
|
110
|
+
principal: null,
|
|
111
|
+
session: null,
|
|
112
|
+
tenant: null
|
|
113
|
+
});
|
|
114
|
+
const routeRenderContexts = /* @__PURE__ */ new WeakMap();
|
|
115
|
+
const routeRenderData = /* @__PURE__ */ new WeakMap();
|
|
116
|
+
function getRouteRenderContext(result) {
|
|
117
|
+
return routeRenderContexts.get(result);
|
|
118
|
+
}
|
|
119
|
+
function getRouteRenderData(result) {
|
|
120
|
+
return routeRenderData.get(result);
|
|
121
|
+
}
|
|
122
|
+
function createRouteRenderResult(record, params, context, handler) {
|
|
123
|
+
const result = {
|
|
124
|
+
kind: "render",
|
|
125
|
+
handler,
|
|
126
|
+
params
|
|
127
|
+
};
|
|
128
|
+
Object.defineProperty(result, "record", {
|
|
129
|
+
value: record,
|
|
130
|
+
enumerable: false
|
|
131
|
+
});
|
|
132
|
+
routeRenderContexts.set(result, context);
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
function getDefaultRouteMode() {
|
|
136
|
+
return typeof window !== "undefined" ? "spa" : "ssr";
|
|
137
|
+
}
|
|
138
|
+
/** @internal Bind resolved loader output to one route subtree and its hydration envelope. */
|
|
139
|
+
function bindResolvedRouteData(handler, data) {
|
|
140
|
+
return (params, context) => {
|
|
141
|
+
const renderContext = getActiveRenderContext();
|
|
142
|
+
if (renderContext) {
|
|
143
|
+
const envelope = replacePageRoute(renderContext.renderData, data);
|
|
144
|
+
renderContext.renderData = envelope;
|
|
145
|
+
renderContext.hydrationData = envelope;
|
|
146
|
+
}
|
|
147
|
+
return handler(params, context);
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
function hasRouteRenderData(result) {
|
|
151
|
+
return routeRenderData.has(result);
|
|
152
|
+
}
|
|
153
|
+
function buildRenderResult(record, params, context, request, telemetry, load) {
|
|
154
|
+
const renderHandler = getRenderHandler(record);
|
|
155
|
+
const loader = context.mode !== "ssg" && load ? record.options?.loader : void 0;
|
|
156
|
+
const preload = record.options?.preload;
|
|
157
|
+
const active = getActiveRenderContext();
|
|
158
|
+
const prefetch = active?.queryPrefetch ?? createQueryPrefetchContext({
|
|
159
|
+
mode: context.mode === "ssg" ? "ssr" : context.mode,
|
|
160
|
+
request,
|
|
161
|
+
signal: context.signal,
|
|
162
|
+
runtime: active?.dataRuntime,
|
|
163
|
+
telemetry
|
|
164
|
+
});
|
|
165
|
+
const runPreload = preload ? Promise.resolve(preload({
|
|
166
|
+
...context,
|
|
167
|
+
params,
|
|
168
|
+
request,
|
|
169
|
+
data: prefetch
|
|
170
|
+
})).then(() => void 0) : void 0;
|
|
171
|
+
if (loader) {
|
|
172
|
+
const load = () => withTelemetry(telemetry?.loader, { route: record.path }, () => loader({
|
|
173
|
+
...context,
|
|
174
|
+
params,
|
|
175
|
+
request
|
|
176
|
+
}));
|
|
177
|
+
const loaded = runPreload ? runPreload.then(load) : load();
|
|
178
|
+
const finalize = (data) => {
|
|
179
|
+
const result = createRouteRenderResult(record, params, context, bindResolvedRouteData(renderHandler, data));
|
|
180
|
+
routeRenderData.set(result, data);
|
|
181
|
+
return result;
|
|
182
|
+
};
|
|
183
|
+
return isPromiseLike(loaded) ? Promise.resolve(loaded).then(finalize) : finalize(loaded);
|
|
184
|
+
}
|
|
185
|
+
if (runPreload) return runPreload.then(() => createRouteRenderResult(record, params, context, renderHandler));
|
|
186
|
+
return createRouteRenderResult(record, params, context, renderHandler);
|
|
187
|
+
}
|
|
188
|
+
function runPolicies(policies, context, record, params, request, telemetry, load, start = 0) {
|
|
189
|
+
for (let index = start; index < policies.length; index += 1) {
|
|
190
|
+
const result = policies[index](context);
|
|
191
|
+
if (isPromiseLike(result)) return Promise.resolve(result).then((decision) => decision.kind === "allow" ? runPolicies(policies, context, record, params, request, telemetry, load, index + 1) : decision);
|
|
192
|
+
if (result.kind !== "allow") return result;
|
|
193
|
+
}
|
|
194
|
+
return buildRenderResult(record, params, context, request, telemetry, load);
|
|
195
|
+
}
|
|
196
|
+
function resolvePath(value, fallback, context) {
|
|
197
|
+
return typeof value === "function" ? value(context) : value ?? fallback;
|
|
198
|
+
}
|
|
199
|
+
function appendNext(path, href) {
|
|
200
|
+
const target = new URL(path, "http://localhost");
|
|
201
|
+
target.searchParams.set("next", href);
|
|
202
|
+
return `${target.pathname}${target.search}${target.hash}`;
|
|
203
|
+
}
|
|
204
|
+
function mapAuthDecision(decision, context, options) {
|
|
205
|
+
if (decision.allowed) return { kind: "allow" };
|
|
206
|
+
if (decision.reason === "forbidden") return {
|
|
207
|
+
kind: "deny",
|
|
208
|
+
status: 403
|
|
209
|
+
};
|
|
210
|
+
const target = resolvePath(decision.reason === "unauthenticated" ? options?.loginPath : options?.authenticatedRedirectTo, decision.reason === "unauthenticated" ? "/login" : "/", context);
|
|
211
|
+
const finalize = (path) => ({
|
|
212
|
+
kind: "redirect",
|
|
213
|
+
to: decision.reason === "unauthenticated" ? appendNext(path, context.href) : path,
|
|
214
|
+
replace: decision.reason === "unauthenticated" ? context.mode === "spa" : true
|
|
215
|
+
});
|
|
216
|
+
return isPromiseLike(target) ? Promise.resolve(target).then(finalize) : finalize(target);
|
|
217
|
+
}
|
|
218
|
+
function resolveMatchedRoute(record, params, context, authOptions, request, telemetry, load) {
|
|
219
|
+
const continueResolution = (decision) => {
|
|
220
|
+
if (decision) {
|
|
221
|
+
const access = mapAuthDecision(decision, context, authOptions);
|
|
222
|
+
if (isPromiseLike(access)) return Promise.resolve(access).then((next) => next.kind === "allow" ? runPolicies(record.options.policies ?? [], context, record, params, request, telemetry, load) : next);
|
|
223
|
+
if (access.kind !== "allow") return access;
|
|
224
|
+
}
|
|
225
|
+
return runPolicies(record.options.policies ?? [], context, record, params, request, telemetry, load);
|
|
226
|
+
};
|
|
227
|
+
if (!record.options.auth) return continueResolution();
|
|
228
|
+
const decision = record.options.auth(context.auth);
|
|
229
|
+
return isPromiseLike(decision) ? Promise.resolve(decision).then(continueResolution) : continueResolution(decision);
|
|
230
|
+
}
|
|
231
|
+
function resolveRouteRequest(target, options = {}) {
|
|
232
|
+
return withTelemetry(options.telemetry?.routeMatch, {}, () => {
|
|
233
|
+
const match = getMatchingRouteRecord(target, options.manifest?.records ?? getRouteRecords());
|
|
234
|
+
if (!match) return null;
|
|
235
|
+
const mode = options.mode ?? getDefaultRouteMode();
|
|
236
|
+
const signal = options.signal ?? getActiveRenderContext()?.signal ?? new AbortController().signal;
|
|
237
|
+
const authOptions = getActiveRouteAuthOptions(options.auth ?? options.manifest?.auth);
|
|
238
|
+
const base = buildRouteContextBase(target, match.params, {
|
|
239
|
+
mode,
|
|
240
|
+
signal
|
|
241
|
+
});
|
|
242
|
+
const finalize = (authContext) => {
|
|
243
|
+
setCurrentAuth(authContext);
|
|
244
|
+
return resolveMatchedRoute(match.record, match.params, buildRouteContext(target, match.params, {
|
|
245
|
+
mode,
|
|
246
|
+
signal,
|
|
247
|
+
authContext
|
|
248
|
+
}), authOptions, options.request, options.telemetry, options.load !== false);
|
|
249
|
+
};
|
|
250
|
+
if (options.authContext) return finalize(options.authContext);
|
|
251
|
+
if (!authOptions?.resolve) return finalize(anonymous());
|
|
252
|
+
const resolved = authOptions.resolve(base);
|
|
253
|
+
return isPromiseLike(resolved) ? Promise.resolve(resolved).then(finalize) : finalize(resolved);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region src/router/deferred.tsx
|
|
258
|
+
const DEFERRED_VALUE = Symbol.for("@askrjs/askr/deferred-value");
|
|
259
|
+
const DEFERRED_BOUNDARY = Symbol.for("@askrjs/askr/deferred-boundary");
|
|
260
|
+
function defer(promise) {
|
|
261
|
+
let state = "pending";
|
|
262
|
+
let value;
|
|
263
|
+
let error;
|
|
264
|
+
const normalized = Promise.resolve(promise);
|
|
265
|
+
normalized.then((resolved) => {
|
|
266
|
+
state = "fulfilled";
|
|
267
|
+
value = resolved;
|
|
268
|
+
}, (reason) => {
|
|
269
|
+
state = "rejected";
|
|
270
|
+
error = reason;
|
|
271
|
+
});
|
|
272
|
+
return Object.freeze(Object.defineProperties({}, {
|
|
273
|
+
state: {
|
|
274
|
+
enumerable: true,
|
|
275
|
+
get: () => state
|
|
276
|
+
},
|
|
277
|
+
value: {
|
|
278
|
+
enumerable: true,
|
|
279
|
+
get: () => value
|
|
280
|
+
},
|
|
281
|
+
error: {
|
|
282
|
+
enumerable: true,
|
|
283
|
+
get: () => error
|
|
284
|
+
},
|
|
285
|
+
promise: { value: normalized },
|
|
286
|
+
[DEFERRED_VALUE]: { value: true }
|
|
287
|
+
}));
|
|
288
|
+
}
|
|
289
|
+
function isDeferred(value) {
|
|
290
|
+
return Boolean(value && typeof value === "object" && value[DEFERRED_VALUE] === true);
|
|
291
|
+
}
|
|
292
|
+
/** @internal Reconstruct settled server data without starting loader work. */
|
|
293
|
+
function reviveDeferredValue(state, value, error) {
|
|
294
|
+
const promise = state === "fulfilled" ? Promise.resolve(value) : Promise.reject(error);
|
|
295
|
+
if (state === "rejected") promise.catch(() => void 0);
|
|
296
|
+
return Object.freeze(Object.defineProperties({}, {
|
|
297
|
+
state: {
|
|
298
|
+
enumerable: true,
|
|
299
|
+
value: state
|
|
300
|
+
},
|
|
301
|
+
value: {
|
|
302
|
+
enumerable: true,
|
|
303
|
+
value
|
|
304
|
+
},
|
|
305
|
+
error: {
|
|
306
|
+
enumerable: true,
|
|
307
|
+
value: error
|
|
308
|
+
},
|
|
309
|
+
promise: { value: promise },
|
|
310
|
+
[DEFERRED_VALUE]: { value: true }
|
|
311
|
+
}));
|
|
312
|
+
}
|
|
313
|
+
function abortError() {
|
|
314
|
+
const error = /* @__PURE__ */ new Error("Deferred route data was aborted.");
|
|
315
|
+
error.name = "AbortError";
|
|
316
|
+
return error;
|
|
317
|
+
}
|
|
318
|
+
function awaitWithSignal(promise, signal) {
|
|
319
|
+
if (!signal) return promise;
|
|
320
|
+
if (signal.aborted) return Promise.reject(abortError());
|
|
321
|
+
return new Promise((resolve, reject) => {
|
|
322
|
+
const abort = () => reject(abortError());
|
|
323
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
324
|
+
promise.then((value) => {
|
|
325
|
+
signal.removeEventListener("abort", abort);
|
|
326
|
+
resolve(value);
|
|
327
|
+
}, (error) => {
|
|
328
|
+
signal.removeEventListener("abort", abort);
|
|
329
|
+
reject(error);
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
async function resolveDeferredValues(input, signal) {
|
|
334
|
+
const seen = /* @__PURE__ */ new Set();
|
|
335
|
+
const visit = async (value) => {
|
|
336
|
+
if (!value || typeof value !== "object") return;
|
|
337
|
+
if (isDeferred(value)) {
|
|
338
|
+
const resolved = await awaitWithSignal(value.promise, signal);
|
|
339
|
+
await visit(resolved);
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
if (seen.has(value)) return;
|
|
343
|
+
seen.add(value);
|
|
344
|
+
const children = Array.isArray(value) ? value : Object.values(value);
|
|
345
|
+
await Promise.all(children.map(visit));
|
|
346
|
+
};
|
|
347
|
+
await visit(input);
|
|
348
|
+
return input;
|
|
349
|
+
}
|
|
350
|
+
function routeData() {
|
|
351
|
+
const envelope = getCurrentRenderData();
|
|
352
|
+
if (envelope) return envelope.route;
|
|
353
|
+
const runtime = getCurrentAppRenderRuntime();
|
|
354
|
+
if (!runtime?.hasRoute) throw new Error("routeData() can only be read while rendering a route with loader data.");
|
|
355
|
+
return runtime.route;
|
|
356
|
+
}
|
|
357
|
+
function rejectedChild(props, error) {
|
|
358
|
+
return typeof props.rejected === "function" ? props.rejected(error) : props.rejected ?? null;
|
|
359
|
+
}
|
|
360
|
+
function Resolve(props) {
|
|
361
|
+
if (props.value.state === "fulfilled") return props.children(props.value.value);
|
|
362
|
+
if (props.value.state === "rejected") return rejectedChild(props, props.value.error);
|
|
363
|
+
const renderContext = getActiveRenderContext();
|
|
364
|
+
if (renderContext) {
|
|
365
|
+
const id = `d:${renderContext.deferredBoundaries.length}`;
|
|
366
|
+
renderContext.deferredBoundaries.push({
|
|
367
|
+
id,
|
|
368
|
+
promise: props.value.promise,
|
|
369
|
+
fulfilled: (value) => props.children(value),
|
|
370
|
+
rejected: (error) => rejectedChild(props, error)
|
|
371
|
+
});
|
|
372
|
+
return {
|
|
373
|
+
type: DEFERRED_BOUNDARY,
|
|
374
|
+
props: {
|
|
375
|
+
id,
|
|
376
|
+
pending: props.pending ?? null
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
const result = resource(() => props.value.promise, [props.value]);
|
|
381
|
+
if (result.error) return rejectedChild(props, result.error);
|
|
382
|
+
if (result.pending || result.value === null) return props.pending ?? null;
|
|
383
|
+
return props.children(result.value);
|
|
384
|
+
}
|
|
385
|
+
//#endregion
|
|
386
|
+
export { pageRenderEnvelope as _, resolveDeferredValues as a, getRenderHandler as b, bindResolvedRouteData as c, hasRouteRenderData as d, resolveRouteRequest as f, isPageRenderEnvelope as g, isEmptyPageRenderEnvelope as h, isDeferred as i, getRouteRenderContext as l, createPageRenderEnvelope as m, Resolve as n, reviveDeferredValue as o, currentAuth as p, defer as r, routeData as s, DEFERRED_BOUNDARY as t, getRouteRenderData as u, Outlet as v, createRouteHandler as y };
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { t as enqueueRuntimeLane } from "./access-Bg4RJNC8.js";
|
|
2
|
+
import { _ as withFineGrainedReadTracking } from "./fastlane-Dw8SOBr9.js";
|
|
3
|
+
//#region src/runtime/effect.ts
|
|
4
|
+
const SOURCE_EFFECTS = Symbol("askr.source-effects");
|
|
5
|
+
const effectSources = /* @__PURE__ */ new WeakMap();
|
|
6
|
+
const dirtyEffectsByLane = {
|
|
7
|
+
derived: /* @__PURE__ */ new Set(),
|
|
8
|
+
component: /* @__PURE__ */ new Set(),
|
|
9
|
+
reactive: /* @__PURE__ */ new Set(),
|
|
10
|
+
post: /* @__PURE__ */ new Set()
|
|
11
|
+
};
|
|
12
|
+
const hasPendingLaneFlush = {
|
|
13
|
+
derived: false,
|
|
14
|
+
component: false,
|
|
15
|
+
reactive: false,
|
|
16
|
+
post: false
|
|
17
|
+
};
|
|
18
|
+
const dirtyLaneState = {
|
|
19
|
+
derived: false,
|
|
20
|
+
component: false,
|
|
21
|
+
reactive: false,
|
|
22
|
+
post: false
|
|
23
|
+
};
|
|
24
|
+
const MAX_EFFECT_RUNS_PER_FLUSH = 50;
|
|
25
|
+
const LANE_FLUSH_TASKS = {
|
|
26
|
+
derived: () => flushLaneEffects("derived"),
|
|
27
|
+
component: () => flushLaneEffects("component"),
|
|
28
|
+
reactive: () => flushLaneEffects("reactive"),
|
|
29
|
+
post: () => flushLaneEffects("post")
|
|
30
|
+
};
|
|
31
|
+
function isEffectReadSourceCollection(sources) {
|
|
32
|
+
return Array.isArray(sources) || sources instanceof Set;
|
|
33
|
+
}
|
|
34
|
+
function effectReadSourceCollectionHas(sources, source) {
|
|
35
|
+
return Array.isArray(sources) ? sources.includes(source) : sources.has(source);
|
|
36
|
+
}
|
|
37
|
+
function getRegisteredEffects(source) {
|
|
38
|
+
return source[SOURCE_EFFECTS] ?? effectSources.get(source);
|
|
39
|
+
}
|
|
40
|
+
function setRegisteredEffects(source, registered) {
|
|
41
|
+
const effectSource = source;
|
|
42
|
+
try {
|
|
43
|
+
effectSource[SOURCE_EFFECTS] = registered;
|
|
44
|
+
if (effectSource[SOURCE_EFFECTS] === registered) return;
|
|
45
|
+
} catch {}
|
|
46
|
+
effectSources.set(source, registered);
|
|
47
|
+
}
|
|
48
|
+
function deleteRegisteredEffects(source) {
|
|
49
|
+
const effectSource = source;
|
|
50
|
+
if (effectSource[SOURCE_EFFECTS] !== void 0) try {
|
|
51
|
+
delete effectSource[SOURCE_EFFECTS];
|
|
52
|
+
return;
|
|
53
|
+
} catch {}
|
|
54
|
+
effectSources.delete(source);
|
|
55
|
+
}
|
|
56
|
+
function registerEffectSource(source, effect) {
|
|
57
|
+
const registered = getRegisteredEffects(source);
|
|
58
|
+
if (!registered) {
|
|
59
|
+
setRegisteredEffects(source, effect);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (registered instanceof Set) {
|
|
63
|
+
registered.add(effect);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (registered === effect) return;
|
|
67
|
+
setRegisteredEffects(source, /* @__PURE__ */ new Set([registered, effect]));
|
|
68
|
+
}
|
|
69
|
+
function unregisterEffectSource(source, effect) {
|
|
70
|
+
const registered = getRegisteredEffects(source);
|
|
71
|
+
if (!registered) return;
|
|
72
|
+
if (!(registered instanceof Set)) {
|
|
73
|
+
if (registered === effect) deleteRegisteredEffects(source);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
registered.delete(effect);
|
|
77
|
+
if (registered.size === 0) deleteRegisteredEffects(source);
|
|
78
|
+
else if (registered.size === 1) setRegisteredEffects(source, registered.values().next().value);
|
|
79
|
+
}
|
|
80
|
+
function clearEffectSubscriptions(effect) {
|
|
81
|
+
const sources = effect.readSources;
|
|
82
|
+
if (isEffectReadSourceCollection(sources)) {
|
|
83
|
+
for (const source of sources) unregisterEffectSource(source, effect);
|
|
84
|
+
if (sources instanceof Set) sources.clear();
|
|
85
|
+
else sources.length = 0;
|
|
86
|
+
} else if (sources) unregisterEffectSource(sources, effect);
|
|
87
|
+
if (effect.readSource2) unregisterEffectSource(effect.readSource2, effect);
|
|
88
|
+
effect.readSources = null;
|
|
89
|
+
effect.readSource2 = null;
|
|
90
|
+
}
|
|
91
|
+
function evaluateAndCommitEffect(effect) {
|
|
92
|
+
effect._pendingFineGrainedReadSource = null;
|
|
93
|
+
effect._pendingFineGrainedReadSources = null;
|
|
94
|
+
try {
|
|
95
|
+
const value = withFineGrainedReadTracking(effect, effect.compute);
|
|
96
|
+
const pendingAdditionalSources = effect._pendingFineGrainedReadSources;
|
|
97
|
+
const hasPendingCollection = isEffectReadSourceCollection(pendingAdditionalSources);
|
|
98
|
+
commitEffectResult(effect, value, hasPendingCollection ? pendingAdditionalSources : effect._pendingFineGrainedReadSource, pendingAdditionalSources && !hasPendingCollection ? pendingAdditionalSources : null);
|
|
99
|
+
} finally {
|
|
100
|
+
effect._pendingFineGrainedReadSource = null;
|
|
101
|
+
effect._pendingFineGrainedReadSources = null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function commitEffectSubscriptions(effect, nextSources, nextSource2) {
|
|
105
|
+
const previousSources = effect.readSources;
|
|
106
|
+
const previousSource2 = effect.readSource2;
|
|
107
|
+
if (previousSources === nextSources && previousSource2 === nextSource2) return;
|
|
108
|
+
const previousCollection = isEffectReadSourceCollection(previousSources);
|
|
109
|
+
const nextCollection = isEffectReadSourceCollection(nextSources);
|
|
110
|
+
if (!previousCollection && !nextCollection) {
|
|
111
|
+
if (previousSources && previousSources !== nextSources && previousSources !== nextSource2) unregisterEffectSource(previousSources, effect);
|
|
112
|
+
if (previousSource2 && previousSource2 !== nextSources && previousSource2 !== nextSource2) unregisterEffectSource(previousSource2, effect);
|
|
113
|
+
if (nextSources && nextSources !== previousSources && nextSources !== previousSource2) registerEffectSource(nextSources, effect);
|
|
114
|
+
if (nextSource2 && nextSource2 !== previousSources && nextSource2 !== previousSource2) registerEffectSource(nextSource2, effect);
|
|
115
|
+
effect.readSources = nextSources;
|
|
116
|
+
effect.readSource2 = nextSource2;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const stateHas = (sources, source2, source) => isEffectReadSourceCollection(sources) ? effectReadSourceCollectionHas(sources, source) : sources === source || source2 === source;
|
|
120
|
+
if ((previousCollection ? Array.isArray(previousSources) ? previousSources.length : previousSources.size : (previousSources ? 1 : 0) + (previousSource2 ? 1 : 0)) === (nextCollection ? Array.isArray(nextSources) ? nextSources.length : nextSources.size : (nextSources ? 1 : 0) + (nextSource2 ? 1 : 0))) {
|
|
121
|
+
let same = true;
|
|
122
|
+
if (previousCollection) {
|
|
123
|
+
for (const source of previousSources) if (!stateHas(nextSources, nextSource2, source)) {
|
|
124
|
+
same = false;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
} else same = (!previousSources || stateHas(nextSources, nextSource2, previousSources)) && (!previousSource2 || stateHas(nextSources, nextSource2, previousSource2));
|
|
128
|
+
if (same) return;
|
|
129
|
+
}
|
|
130
|
+
if (previousCollection) {
|
|
131
|
+
for (const source of previousSources) if (!stateHas(nextSources, nextSource2, source)) unregisterEffectSource(source, effect);
|
|
132
|
+
} else {
|
|
133
|
+
if (previousSources && !stateHas(nextSources, nextSource2, previousSources)) unregisterEffectSource(previousSources, effect);
|
|
134
|
+
if (previousSource2 && !stateHas(nextSources, nextSource2, previousSource2)) unregisterEffectSource(previousSource2, effect);
|
|
135
|
+
}
|
|
136
|
+
if (nextCollection) {
|
|
137
|
+
for (const source of nextSources) if (!stateHas(previousSources, previousSource2, source)) registerEffectSource(source, effect);
|
|
138
|
+
} else {
|
|
139
|
+
if (nextSources && !stateHas(previousSources, previousSource2, nextSources)) registerEffectSource(nextSources, effect);
|
|
140
|
+
if (nextSource2 && !stateHas(previousSources, previousSource2, nextSource2)) registerEffectSource(nextSource2, effect);
|
|
141
|
+
}
|
|
142
|
+
effect.readSources = nextSources;
|
|
143
|
+
effect.readSource2 = nextSource2;
|
|
144
|
+
}
|
|
145
|
+
function commitEffectResult(effect, value, nextSources, nextSource2) {
|
|
146
|
+
const previousValue = effect.lastValue;
|
|
147
|
+
if (!effect.hasValue || !effect.equals(previousValue, value)) effect.commit(value, effect.hasValue ? previousValue : void 0);
|
|
148
|
+
commitEffectSubscriptions(effect, nextSources, nextSource2);
|
|
149
|
+
effect.lastValue = value;
|
|
150
|
+
effect.hasValue = true;
|
|
151
|
+
}
|
|
152
|
+
function flushLaneEffects(lane) {
|
|
153
|
+
hasPendingLaneFlush[lane] = false;
|
|
154
|
+
const effects = dirtyEffectsByLane[lane];
|
|
155
|
+
if (effects.size === 0) return;
|
|
156
|
+
const pending = effects.values();
|
|
157
|
+
const effectRuns = /* @__PURE__ */ new Map();
|
|
158
|
+
let next = pending.next();
|
|
159
|
+
while (!next.done) {
|
|
160
|
+
const effect = next.value;
|
|
161
|
+
effects.delete(effect);
|
|
162
|
+
if (!effect.isActive) {
|
|
163
|
+
next = pending.next();
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
const runCount = (effectRuns.get(effect) ?? 0) + 1;
|
|
167
|
+
effectRuns.set(effect, runCount);
|
|
168
|
+
if (runCount > MAX_EFFECT_RUNS_PER_FLUSH) {
|
|
169
|
+
const error = /* @__PURE__ */ new Error(`[Askr] fine-grained effect exceeded ${MAX_EFFECT_RUNS_PER_FLUSH} runs in one flush. Likely reactive cycle.`);
|
|
170
|
+
if (effect.onError) effect.onError(error);
|
|
171
|
+
else throw error;
|
|
172
|
+
next = pending.next();
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
evaluateAndCommitEffect(effect);
|
|
177
|
+
} catch (error) {
|
|
178
|
+
effect.onError?.(error);
|
|
179
|
+
}
|
|
180
|
+
next = pending.next();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function scheduleLaneFlush(lane) {
|
|
184
|
+
if (hasPendingLaneFlush[lane]) return;
|
|
185
|
+
hasPendingLaneFlush[lane] = true;
|
|
186
|
+
enqueueRuntimeLane(lane, LANE_FLUSH_TASKS[lane]);
|
|
187
|
+
}
|
|
188
|
+
function unscheduleEffect(effect) {
|
|
189
|
+
dirtyEffectsByLane[effect.lane].delete(effect);
|
|
190
|
+
}
|
|
191
|
+
function recomputeEffectNow(effect) {
|
|
192
|
+
evaluateAndCommitEffect(effect);
|
|
193
|
+
}
|
|
194
|
+
function markFineGrainedEffectsDirtySource(source) {
|
|
195
|
+
const registered = getRegisteredEffects(source);
|
|
196
|
+
if (!registered) return;
|
|
197
|
+
dirtyLaneState.derived = false;
|
|
198
|
+
dirtyLaneState.component = false;
|
|
199
|
+
dirtyLaneState.reactive = false;
|
|
200
|
+
dirtyLaneState.post = false;
|
|
201
|
+
const markDirty = (effect) => {
|
|
202
|
+
if (!effect.isActive) return;
|
|
203
|
+
const lane = effect.lane;
|
|
204
|
+
dirtyEffectsByLane[lane].add(effect);
|
|
205
|
+
dirtyLaneState[lane] = true;
|
|
206
|
+
};
|
|
207
|
+
if (registered instanceof Set) for (const effect of registered) markDirty(effect);
|
|
208
|
+
else markDirty(registered);
|
|
209
|
+
if (dirtyLaneState.derived) scheduleLaneFlush("derived");
|
|
210
|
+
if (dirtyLaneState.component) scheduleLaneFlush("component");
|
|
211
|
+
if (dirtyLaneState.reactive) scheduleLaneFlush("reactive");
|
|
212
|
+
if (dirtyLaneState.post) scheduleLaneFlush("post");
|
|
213
|
+
}
|
|
214
|
+
var FineGrainedEffectImpl = class {
|
|
215
|
+
constructor(lane, compute, commit, equals, onError, owner) {
|
|
216
|
+
this.readSources = null;
|
|
217
|
+
this.readSource2 = null;
|
|
218
|
+
this._pendingFineGrainedReadSource = null;
|
|
219
|
+
this._pendingFineGrainedReadSources = null;
|
|
220
|
+
this.isActive = true;
|
|
221
|
+
this.hasValue = false;
|
|
222
|
+
this.lastValue = void 0;
|
|
223
|
+
this._owner = owner;
|
|
224
|
+
this.lane = lane;
|
|
225
|
+
this.compute = compute;
|
|
226
|
+
this.commit = commit;
|
|
227
|
+
this.equals = equals;
|
|
228
|
+
this.onError = onError;
|
|
229
|
+
}
|
|
230
|
+
cleanup() {
|
|
231
|
+
if (!this.isActive) return;
|
|
232
|
+
this.isActive = false;
|
|
233
|
+
unscheduleEffect(this);
|
|
234
|
+
clearEffectSubscriptions(this);
|
|
235
|
+
}
|
|
236
|
+
updateCompute(nextCompute) {
|
|
237
|
+
if (!this.isActive) return;
|
|
238
|
+
this.compute = nextCompute;
|
|
239
|
+
unscheduleEffect(this);
|
|
240
|
+
recomputeEffectNow(this);
|
|
241
|
+
}
|
|
242
|
+
flush() {
|
|
243
|
+
if (!this.isActive) return;
|
|
244
|
+
unscheduleEffect(this);
|
|
245
|
+
recomputeEffectNow(this);
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
function createFineGrainedEffect(options) {
|
|
249
|
+
const effect = new FineGrainedEffectImpl(options.lane, options.compute, options.commit, options.equals ?? Object.is, options.onError, options._owner);
|
|
250
|
+
recomputeEffectNow(effect);
|
|
251
|
+
return effect;
|
|
252
|
+
}
|
|
253
|
+
/** @internal Allocation-sensitive variant for shared renderer callbacks. */
|
|
254
|
+
function createOwnedFineGrainedEffect(lane, compute, commit, equals, onError, owner) {
|
|
255
|
+
const effect = new FineGrainedEffectImpl(lane, compute, commit, equals, onError, owner);
|
|
256
|
+
recomputeEffectNow(effect);
|
|
257
|
+
return effect;
|
|
258
|
+
}
|
|
259
|
+
//#endregion
|
|
260
|
+
export { createOwnedFineGrainedEffect as n, markFineGrainedEffectsDirtySource as r, createFineGrainedEffect as t };
|