@askrjs/askr 0.0.52 → 0.0.54
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} +182 -9
- 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 -1
- package/dist/benchmark.d.ts +6 -2
- package/dist/benchmark.js +63 -11
- package/dist/boot/index.d.ts +61 -2
- package/dist/boot/index.js +1 -203
- package/dist/boot-2ZR3MtO0.js +647 -0
- package/dist/cleanup-DScKZG2i.js +487 -0
- package/dist/component-internal-D9PLuFUc.js +614 -0
- package/dist/component-lifecycle-C7lnU9Bt.js +359 -0
- package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +8 -1
- 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 -1
- package/dist/control/index.d.ts +1 -3
- package/dist/control/index.js +1 -3
- package/dist/control-BI4RMD2z.d.ts +437 -0
- package/dist/control-Bf4Wkdvv.d.ts +9 -0
- package/dist/{common/control.js → control-DhFRTIoE.js} +1 -1
- package/dist/control-mXROCjL3.js +165 -0
- package/dist/data/index.d.ts +2 -6
- package/dist/data/index.js +4 -5
- package/dist/data-B9dauyDn.js +559 -0
- package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +32 -31
- package/dist/deferred-DklLG4qM.js +386 -0
- package/dist/{runtime/effect.js → effect-BwnIvLah.js} +4 -4
- package/dist/fastlane-Dw8SOBr9.js +343 -0
- package/dist/for-internal-CSz8Unkq.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-B1LNotpU.d.ts +239 -0
- package/dist/index-Bki2rqcr.d.ts +233 -0
- package/dist/index-BnU0NPwM.d.ts +101 -0
- package/dist/index-C8iW3xCt.d.ts +44 -0
- package/dist/index-DwxdIA-t.d.ts +48 -0
- package/dist/{runtime/runtime.d.ts → index-Zb31mCiU.d.ts} +31 -8
- package/dist/index.d.ts +8 -13
- package/dist/index.js +150 -15
- package/dist/interactions-w7gQN4ha.js +280 -0
- package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -1
- package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -5
- package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -1
- package/dist/jsx-dev-runtime.d.ts +2 -4
- package/dist/jsx-dev-runtime.js +7 -5
- package/dist/jsx-runtime-92bV2hSa.d.ts +34 -0
- package/dist/jsx-runtime-BVVgDSdq.d.ts +1 -0
- package/dist/jsx-runtime.d.ts +2 -35
- package/dist/jsx-runtime.js +11 -5
- package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-CdRjdsHo.js} +4 -5
- package/dist/navigate-BVDCzOuB.d.ts +34 -0
- package/dist/navigate-D17eVQyI.js +1449 -0
- package/dist/{runtime/portal.js → portal-C47xkwXj.js} +71 -41
- package/dist/query-registry-CQIT4mXr.js +73 -0
- package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -6
- package/dist/renderer-DrLRAD5y.js +6266 -0
- package/dist/{runtime/resource-operation.js → resource-operation-BNY29MVH.js} +118 -15
- 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 -1
- 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-DCfwLBr-.d.ts} +72 -28
- package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -1
- package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -3
- package/dist/{runtime/selector.js → selector-DafVYzV4.js} +34 -11
- package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -1
- 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 -1
- package/dist/ssr-DEARZxJ5.js +1413 -0
- package/dist/{runtime/state.js → state-DPl8lffD.js} +3 -5
- package/dist/structures-DUB3HchX.js +221 -0
- package/dist/testing/index.d.ts +3 -2
- package/dist/testing/index.js +2 -5
- package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -5
- package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -1
- package/dist/{ssr/verify-hydration.js → verify-hydration-BWwu-mWu.js} +2 -2
- package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -2
- package/package.json +12 -7
- package/dist/bench/components/benchmark-row.d.ts +0 -20
- package/dist/bench/components/benchmark-row.js +0 -40
- package/dist/bench/components/benchmark-table.js +0 -23
- package/dist/bin/askr-ssg.d.ts +0 -27
- package/dist/bin/askr-ssg.js +0 -186
- package/dist/boot/hydration.js +0 -139
- package/dist/boot/root-lifecycle.d.ts +0 -18
- package/dist/boot/root-lifecycle.js +0 -209
- package/dist/boot/route-startup.js +0 -54
- package/dist/boot/types.d.ts +0 -61
- package/dist/common/component.d.ts +0 -18
- package/dist/common/control.d.ts +0 -12
- package/dist/common/dom-range.d.ts +0 -13
- package/dist/common/env.js +0 -41
- package/dist/common/error-boundary.d.ts +0 -15
- package/dist/common/invariant.js +0 -15
- package/dist/common/jsx.d.ts +0 -22
- package/dist/common/logger.js +0 -34
- package/dist/common/promise.js +0 -6
- package/dist/common/ssr-errors.d.ts +0 -10
- package/dist/common/ssr-errors.js +0 -14
- package/dist/common/ssr.d.ts +0 -41
- package/dist/common/vnode.d.ts +0 -21
- package/dist/components/error-boundary.d.ts +0 -14
- package/dist/components/error-boundary.js +0 -41
- package/dist/components/link.d.ts +0 -68
- package/dist/components/link.js +0 -74
- package/dist/control/case.d.ts +0 -18
- package/dist/control/case.js +0 -68
- package/dist/control/for.d.ts +0 -23
- package/dist/control/for.js +0 -61
- package/dist/control/shared.d.ts +0 -8
- package/dist/control/shared.js +0 -18
- package/dist/control/show.d.ts +0 -14
- package/dist/control/show.js +0 -32
- package/dist/data/data-runtime.d.ts +0 -27
- package/dist/data/invalidation.d.ts +0 -8
- package/dist/data/invalidation.js +0 -25
- package/dist/data/mutation-cell.d.ts +0 -27
- package/dist/data/mutation-cell.js +0 -133
- package/dist/data/query-cell.d.ts +0 -47
- package/dist/data/query-cell.js +0 -324
- package/dist/data/query-key.js +0 -40
- package/dist/data/shared.js +0 -20
- package/dist/data/testing.js +0 -2
- package/dist/data/types.d.ts +0 -160
- package/dist/foundations/icon/icon.d.ts +0 -52
- package/dist/foundations/icon/icon.js +0 -86
- package/dist/foundations/icon/icon.types.d.ts +0 -21
- package/dist/foundations/interactions/dismissable.d.ts +0 -71
- package/dist/foundations/interactions/dismissable.js +0 -24
- package/dist/foundations/interactions/focusable.d.ts +0 -21
- package/dist/foundations/interactions/focusable.js +0 -16
- package/dist/foundations/interactions/hoverable.d.ts +0 -25
- package/dist/foundations/interactions/hoverable.js +0 -13
- package/dist/foundations/interactions/interaction-policy.d.ts +0 -49
- package/dist/foundations/interactions/interaction-policy.js +0 -120
- package/dist/foundations/interactions/pressable.d.ts +0 -60
- package/dist/foundations/interactions/pressable.js +0 -49
- package/dist/foundations/interactions/roving-focus.d.ts +0 -51
- package/dist/foundations/interactions/roving-focus.js +0 -69
- package/dist/foundations/state/controllable.d.ts +0 -32
- package/dist/foundations/state/controllable.js +0 -80
- package/dist/foundations/structures/collection.d.ts +0 -51
- package/dist/foundations/structures/collection.js +0 -49
- package/dist/foundations/structures/layer.d.ts +0 -80
- package/dist/foundations/structures/layer.js +0 -79
- package/dist/foundations/structures/layout.d.ts +0 -32
- package/dist/foundations/structures/layout.js +0 -11
- 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 -36
- package/dist/foundations/structures/presence.js +0 -37
- package/dist/foundations/structures/slot.d.ts +0 -34
- package/dist/foundations/structures/slot.js +0 -39
- package/dist/foundations/utilities/aria.d.ts +0 -15
- package/dist/foundations/utilities/aria.js +0 -15
- package/dist/foundations/utilities/compose-handlers.d.ts +0 -36
- package/dist/foundations/utilities/compose-handlers.js +0 -18
- package/dist/foundations/utilities/compose-ref.js +0 -16
- package/dist/foundations/utilities/event-types.d.ts +0 -19
- package/dist/foundations/utilities/merge-props.d.ts +0 -4
- package/dist/foundations/utilities/merge-props.js +0 -47
- package/dist/foundations/utilities/use-id.d.ts +0 -31
- package/dist/fx/fx.d.ts +0 -32
- package/dist/fx/fx.js +0 -211
- package/dist/fx/noop.js +0 -7
- package/dist/fx/timing.d.ts +0 -158
- package/dist/fx/timing.js +0 -241
- package/dist/jsx/index.d.ts +0 -2
- package/dist/jsx/index.js +0 -4
- package/dist/jsx/types.js +0 -2
- package/dist/jsx/utils.d.ts +0 -4
- package/dist/jsx/utils.js +0 -17
- package/dist/jsx-runtime2.d.ts +0 -3
- package/dist/jsx-runtime2.js +0 -4
- package/dist/renderer/attributes.js +0 -254
- package/dist/renderer/boundaries.js +0 -142
- package/dist/renderer/boundary-materialization.js +0 -72
- package/dist/renderer/boundary-range-adoption.js +0 -76
- package/dist/renderer/boundary-range-sync.js +0 -101
- package/dist/renderer/boundary-state.js +0 -50
- package/dist/renderer/child-shape.js +0 -83
- package/dist/renderer/children-fastpath.js +0 -149
- package/dist/renderer/children.js +0 -158
- package/dist/renderer/cleanup.js +0 -267
- package/dist/renderer/component-host-cleanup.js +0 -143
- package/dist/renderer/component-host-instances.js +0 -116
- package/dist/renderer/component-host-replacement.js +0 -105
- package/dist/renderer/component-host-results.js +0 -138
- package/dist/renderer/component-host.js +0 -172
- package/dist/renderer/dom-host.js +0 -11
- package/dist/renderer/dom-internal.js +0 -243
- package/dist/renderer/dom-range.js +0 -161
- package/dist/renderer/dom.js +0 -11
- package/dist/renderer/element-children.js +0 -359
- package/dist/renderer/env.js +0 -2
- package/dist/renderer/error-boundary-dom.js +0 -86
- package/dist/renderer/evaluate-dom-range.js +0 -84
- package/dist/renderer/evaluate-reconcile.js +0 -257
- package/dist/renderer/evaluate.js +0 -95
- package/dist/renderer/fastpath.js +0 -142
- package/dist/renderer/for-commit-dom-map.js +0 -71
- package/dist/renderer/for-commit-removal.js +0 -27
- package/dist/renderer/for-commit-reorder.js +0 -87
- package/dist/renderer/for-commit.js +0 -442
- package/dist/renderer/hydration-boundaries.js +0 -60
- package/dist/renderer/hydration-listener-transaction.js +0 -49
- package/dist/renderer/index.js +0 -39
- package/dist/renderer/intrinsic-blueprint-analysis.js +0 -202
- package/dist/renderer/intrinsic-blueprint-bindings.js +0 -152
- package/dist/renderer/intrinsic-blueprint-materialization.js +0 -100
- package/dist/renderer/intrinsic-blueprint.js +0 -30
- package/dist/renderer/intrinsic-hydration-adoption.js +0 -66
- package/dist/renderer/keyed-children.js +0 -26
- package/dist/renderer/keyed.js +0 -167
- package/dist/renderer/namespaces.js +0 -21
- package/dist/renderer/prop-bindings.js +0 -315
- package/dist/renderer/reactive-child-dom.js +0 -139
- package/dist/renderer/reactive-child-sources.js +0 -182
- package/dist/renderer/reactive-children.js +0 -303
- package/dist/renderer/reconcile-commit.js +0 -36
- package/dist/renderer/reconcile-fastpaths.js +0 -100
- package/dist/renderer/reconcile-resolution.js +0 -163
- package/dist/renderer/reconcile.js +0 -37
- package/dist/renderer/retained-element-rollback.js +0 -288
- package/dist/renderer/stable-patch.js +0 -80
- package/dist/renderer/static-reuse.js +0 -94
- package/dist/renderer/types.js +0 -2
- package/dist/renderer/utils.js +0 -265
- package/dist/router/access.js +0 -34
- package/dist/router/activity.d.ts +0 -9
- package/dist/router/activity.js +0 -85
- package/dist/router/authoring.d.ts +0 -21
- package/dist/router/authoring.js +0 -196
- package/dist/router/internal-types.d.ts +0 -30
- package/dist/router/lazy.d.ts +0 -18
- package/dist/router/lazy.js +0 -50
- package/dist/router/manifest.d.ts +0 -9
- package/dist/router/manifest.js +0 -47
- package/dist/router/match.js +0 -120
- package/dist/router/navigate.d.ts +0 -10
- package/dist/router/navigate.js +0 -73
- package/dist/router/navigation-registry.d.ts +0 -31
- package/dist/router/navigation-registry.js +0 -103
- package/dist/router/navigation-scroll.d.ts +0 -13
- package/dist/router/navigation-scroll.js +0 -91
- package/dist/router/navigation-targets.d.ts +0 -30
- package/dist/router/navigation-targets.js +0 -634
- package/dist/router/policy.d.ts +0 -27
- package/dist/router/policy.js +0 -130
- package/dist/router/rendering.d.ts +0 -9
- package/dist/router/rendering.js +0 -47
- package/dist/router/resolution.d.ts +0 -3
- package/dist/router/resolution.js +0 -84
- package/dist/router/route-context.js +0 -77
- package/dist/router/route-matching.d.ts +0 -19
- package/dist/router/route-matching.js +0 -173
- package/dist/router/route-query.d.ts +0 -16
- package/dist/router/route-query.js +0 -45
- package/dist/router/route.d.ts +0 -8
- package/dist/router/route.js +0 -10
- package/dist/router/store.d.ts +0 -49
- package/dist/router/store.js +0 -169
- package/dist/router/testing.js +0 -4
- package/dist/runtime/access.d.ts +0 -19
- package/dist/runtime/access.js +0 -43
- package/dist/runtime/child-scope.d.ts +0 -41
- package/dist/runtime/child-scope.js +0 -134
- package/dist/runtime/component-cleanup.d.ts +0 -15
- package/dist/runtime/component-cleanup.js +0 -68
- package/dist/runtime/component-commit.js +0 -167
- package/dist/runtime/component-facade.d.ts +0 -5
- package/dist/runtime/component-facade.js +0 -6
- package/dist/runtime/component-internal.d.ts +0 -105
- package/dist/runtime/component-internal.js +0 -237
- package/dist/runtime/component-lifecycle.d.ts +0 -10
- package/dist/runtime/component-lifecycle.js +0 -33
- package/dist/runtime/component-scope.d.ts +0 -54
- package/dist/runtime/component.d.ts +0 -5
- package/dist/runtime/component.js +0 -6
- package/dist/runtime/context.d.ts +0 -72
- package/dist/runtime/context.js +0 -236
- package/dist/runtime/control.d.ts +0 -62
- package/dist/runtime/control.js +0 -239
- package/dist/runtime/derive.d.ts +0 -16
- package/dist/runtime/derive.js +0 -140
- package/dist/runtime/dev-namespace.d.ts +0 -30
- package/dist/runtime/dev-namespace.js +0 -64
- package/dist/runtime/effect.d.ts +0 -35
- package/dist/runtime/error-boundary.d.ts +0 -4
- package/dist/runtime/error-boundary.js +0 -29
- package/dist/runtime/events.d.ts +0 -58
- package/dist/runtime/events.js +0 -201
- package/dist/runtime/execution-model.d.ts +0 -6
- package/dist/runtime/execution-model.js +0 -13
- package/dist/runtime/fastlane.d.ts +0 -33
- package/dist/runtime/fastlane.js +0 -173
- package/dist/runtime/for-bench.d.ts +0 -40
- package/dist/runtime/for-bench.js +0 -13
- package/dist/runtime/for-internal.d.ts +0 -106
- package/dist/runtime/for-internal.js +0 -285
- package/dist/runtime/for-reconcile.d.ts +0 -7
- package/dist/runtime/for-reconcile.js +0 -442
- package/dist/runtime/for-scopes.d.ts +0 -26
- package/dist/runtime/for-scopes.js +0 -280
- package/dist/runtime/for-signals.d.ts +0 -39
- package/dist/runtime/for-signals.js +0 -213
- package/dist/runtime/for-types.d.ts +0 -8
- 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 -33
- package/dist/runtime/lifecycle-batch.d.ts +0 -59
- package/dist/runtime/lifecycle-batch.js +0 -178
- package/dist/runtime/lifecycle-operation-settlement.d.ts +0 -5
- package/dist/runtime/lifecycle-operation-settlement.js +0 -51
- package/dist/runtime/lifecycle-operations.d.ts +0 -30
- package/dist/runtime/operations.d.ts +0 -3
- package/dist/runtime/operations.js +0 -3
- package/dist/runtime/perf-metrics.d.ts +0 -27
- package/dist/runtime/perf-metrics.js +0 -6
- package/dist/runtime/portal.d.ts +0 -21
- package/dist/runtime/readable.d.ts +0 -34
- package/dist/runtime/readable.js +0 -183
- package/dist/runtime/resource-cell.js +0 -112
- package/dist/runtime/resource-operation.d.ts +0 -12
- package/dist/runtime/runtime.js +0 -57
- package/dist/runtime/selector-store.js +0 -22
- package/dist/runtime/selector.d.ts +0 -10
- package/dist/runtime/snapshot-source.d.ts +0 -9
- package/dist/runtime/state.d.ts +0 -54
- package/dist/ssg/batch-render.js +0 -101
- package/dist/ssg/create-static-gen.d.ts +0 -66
- package/dist/ssg/create-static-gen.js +0 -250
- package/dist/ssg/generate-metadata.js +0 -92
- package/dist/ssg/generation-plan.js +0 -68
- package/dist/ssg/incremental-manifest.js +0 -54
- package/dist/ssg/resolve-ssg-data.js +0 -103
- package/dist/ssg/route-utils.js +0 -22
- package/dist/ssg/static-routes.js +0 -100
- package/dist/ssg/types.d.ts +0 -188
- package/dist/ssg/write-static-files.js +0 -77
- package/dist/ssr/attrs.js +0 -92
- package/dist/ssr/boundaries.js +0 -124
- package/dist/ssr/component-runtime.js +0 -85
- package/dist/ssr/context.d.ts +0 -49
- package/dist/ssr/context.js +0 -89
- package/dist/ssr/errors.d.ts +0 -9
- package/dist/ssr/errors.js +0 -12
- package/dist/ssr/escape.js +0 -191
- package/dist/ssr/hydration-data.js +0 -8
- package/dist/ssr/hydration-verify.d.ts +0 -11
- package/dist/ssr/hydration-verify.js +0 -171
- package/dist/ssr/index-internal.d.ts +0 -14
- package/dist/ssr/index-internal.js +0 -17
- package/dist/ssr/render-keys.js +0 -14
- package/dist/ssr/render-resolved.d.ts +0 -19
- package/dist/ssr/render-resolved.js +0 -33
- package/dist/ssr/render-sync.d.ts +0 -20
- package/dist/ssr/render-sync.js +0 -283
- package/dist/ssr/route-policy-resolution.js +0 -76
- package/dist/ssr/route-render.d.ts +0 -76
- package/dist/ssr/route-render.js +0 -118
- package/dist/ssr/sink.d.ts +0 -25
- package/dist/ssr/sink.js +0 -84
- package/dist/ssr/types.d.ts +0 -22
|
@@ -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-D9PLuFUc.js";
|
|
3
|
+
import { d as getCurrentAppRenderRuntime } from "./component-scope-CC3cojX9.js";
|
|
4
|
+
import { m as isPromiseLike } from "./component-lifecycle-C7lnU9Bt.js";
|
|
5
|
+
import { n as getActiveRenderContext, r as getCurrentRenderData } from "./render-context-Clw3rFiO.js";
|
|
6
|
+
import { t as resource } from "./resource-operation-BNY29MVH.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 };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { enqueueRuntimeLane } from "./access.js";
|
|
2
|
-
import { withFineGrainedReadTracking } from "./
|
|
3
|
-
|
|
1
|
+
import { t as enqueueRuntimeLane } from "./access-Bg4RJNC8.js";
|
|
2
|
+
import { _ as withFineGrainedReadTracking } from "./fastlane-Dw8SOBr9.js";
|
|
3
|
+
//#region src/runtime/effect.ts
|
|
4
4
|
const SOURCE_EFFECTS = Symbol("askr.source-effects");
|
|
5
5
|
const effectSources = /* @__PURE__ */ new WeakMap();
|
|
6
6
|
const dirtyEffectsByLane = {
|
|
@@ -257,4 +257,4 @@ function createOwnedFineGrainedEffect(lane, compute, commit, equals, onError, ow
|
|
|
257
257
|
return effect;
|
|
258
258
|
}
|
|
259
259
|
//#endregion
|
|
260
|
-
export {
|
|
260
|
+
export { createOwnedFineGrainedEffect as n, markFineGrainedEffectsDirtySource as r, createFineGrainedEffect as t };
|