@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
package/README.md
CHANGED
|
@@ -24,9 +24,13 @@ createIsland({ root: document.body, component: Counter });
|
|
|
24
24
|
### Runtime
|
|
25
25
|
|
|
26
26
|
`@askrjs/askr` exports the core runtime primitives: `state()`, `derive()`,
|
|
27
|
-
`selector()`, `
|
|
27
|
+
`selector()`, `defineScope()`, `readScope()`, `getSignal()`, and the JSX
|
|
28
28
|
runtime exports.
|
|
29
29
|
|
|
30
|
+
Public APIs prefer functions and closures over classes. Lexical ownership uses
|
|
31
|
+
`defineScope()` and `readScope()`; there are no compatibility aliases for the
|
|
32
|
+
clean-break vocabulary.
|
|
33
|
+
|
|
30
34
|
App startup, routing, async resources, data helpers, and error boundaries live
|
|
31
35
|
on their own subpaths.
|
|
32
36
|
|
|
@@ -1,7 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
//#region src/common/env.ts
|
|
2
|
+
function normalizeEnv(source) {
|
|
3
|
+
if (!source) return {};
|
|
4
|
+
const normalized = {};
|
|
5
|
+
for (const [key, value] of Object.entries(source)) if (typeof value === "string") normalized[key] = value;
|
|
6
|
+
else if (typeof value === "boolean" || typeof value === "number") normalized[key] = String(value);
|
|
7
|
+
return normalized;
|
|
8
|
+
}
|
|
9
|
+
function getBuildTimeEnv() {
|
|
10
|
+
const metaEnv = import.meta.env;
|
|
11
|
+
const normalized = normalizeEnv(metaEnv);
|
|
12
|
+
if (normalized.NODE_ENV == null && metaEnv) {
|
|
13
|
+
if (typeof metaEnv.MODE === "string" && metaEnv.MODE.length > 0) normalized.NODE_ENV = metaEnv.MODE;
|
|
14
|
+
else if (metaEnv.PROD === true || metaEnv.PROD === "true") normalized.NODE_ENV = "production";
|
|
15
|
+
else if (metaEnv.DEV === true || metaEnv.DEV === "true") normalized.NODE_ENV = "development";
|
|
16
|
+
}
|
|
17
|
+
return normalized;
|
|
18
|
+
}
|
|
19
|
+
function resolveNodeEnv(processNodeEnv, buildNodeEnv) {
|
|
20
|
+
if (buildNodeEnv === "production") return "production";
|
|
21
|
+
if (processNodeEnv != null) return processNodeEnv;
|
|
22
|
+
if (buildNodeEnv === "development") return "development";
|
|
23
|
+
return buildNodeEnv === "test" ? void 0 : buildNodeEnv;
|
|
24
|
+
}
|
|
25
|
+
function getRuntimeEnv() {
|
|
26
|
+
const processEnv = globalThis.process?.env ?? {};
|
|
27
|
+
const buildTimeEnv = getBuildTimeEnv();
|
|
28
|
+
return {
|
|
29
|
+
...processEnv,
|
|
30
|
+
...buildTimeEnv,
|
|
31
|
+
NODE_ENV: resolveNodeEnv(processEnv.NODE_ENV, buildTimeEnv.NODE_ENV)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function isProductionEnvironment() {
|
|
35
|
+
return getRuntimeEnv().NODE_ENV === "production";
|
|
36
|
+
}
|
|
37
|
+
function isDevelopmentEnvironment() {
|
|
38
|
+
return !isProductionEnvironment();
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/common/invariant.ts
|
|
42
|
+
/**
|
|
43
|
+
* Invariant assertions shared by production runtime code.
|
|
44
|
+
*/
|
|
45
|
+
function invariant(condition, message, context) {
|
|
46
|
+
if (!condition) {
|
|
47
|
+
const contextStr = context ? "\n" + JSON.stringify(context, null, 2) : "";
|
|
48
|
+
throw new Error(`[Askr Invariant] ${message}${contextStr}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function assertSchedulingPrecondition(condition, violationMessage) {
|
|
52
|
+
invariant(condition, `[Scheduler Precondition] ${violationMessage}`);
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/common/logger.ts
|
|
56
|
+
/**
|
|
57
|
+
* Shared logger interface for runtime and tooling code.
|
|
58
|
+
*
|
|
59
|
+
* Debug, info, and warn stay silent in production. Errors always log.
|
|
60
|
+
*/
|
|
61
|
+
function callConsole(method, args) {
|
|
62
|
+
const c = typeof console !== "undefined" ? console : void 0;
|
|
63
|
+
if (!c) return;
|
|
64
|
+
const fn = c[method];
|
|
65
|
+
if (typeof fn === "function") try {
|
|
66
|
+
fn.apply(console, args);
|
|
67
|
+
} catch {}
|
|
68
|
+
}
|
|
69
|
+
const logger = {
|
|
70
|
+
debug: (...args) => {
|
|
71
|
+
if (isProductionEnvironment()) return;
|
|
72
|
+
callConsole("debug", args);
|
|
73
|
+
},
|
|
74
|
+
info: (...args) => {
|
|
75
|
+
if (isProductionEnvironment()) return;
|
|
76
|
+
callConsole("info", args);
|
|
77
|
+
},
|
|
78
|
+
warn: (...args) => {
|
|
79
|
+
if (isProductionEnvironment()) return;
|
|
80
|
+
callConsole("warn", args);
|
|
81
|
+
},
|
|
82
|
+
error: (...args) => {
|
|
83
|
+
callConsole("error", args);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/runtime/perf-metrics.ts
|
|
88
|
+
const incrementPerfMetric = () => {};
|
|
89
|
+
const addPerfDuration = () => {};
|
|
90
|
+
//#endregion
|
|
5
91
|
//#region src/runtime/scheduler.ts
|
|
6
92
|
/**
|
|
7
93
|
* Serialized update scheduler — safer design (no inline execution, explicit flush)
|
|
@@ -166,7 +252,6 @@ var Scheduler = class {
|
|
|
166
252
|
}
|
|
167
253
|
this.flushVersion++;
|
|
168
254
|
this.resolveWaiters();
|
|
169
|
-
recordSchedulerFlushTaskCount(executedTaskCount);
|
|
170
255
|
}
|
|
171
256
|
if (failures.length === 1) throw failures[0];
|
|
172
257
|
if (failures.length > 1) throw new AggregateError(failures, "Scheduler task failures");
|
|
@@ -197,14 +282,12 @@ var Scheduler = class {
|
|
|
197
282
|
if (this.flushVersion >= target) return Promise.resolve();
|
|
198
283
|
return new Promise((resolve, reject) => {
|
|
199
284
|
const timer = setTimeout(() => {
|
|
200
|
-
const ns = globalThis.__ASKR__ || {};
|
|
201
285
|
const diag = {
|
|
202
286
|
flushVersion: this.flushVersion,
|
|
203
287
|
queueLen: this.getPendingTaskCount(),
|
|
204
288
|
running: this.running,
|
|
205
289
|
inHandler: this.inHandler,
|
|
206
|
-
bulk: this.isBulkCommitActive()
|
|
207
|
-
namespace: ns
|
|
290
|
+
bulk: this.isBulkCommitActive()
|
|
208
291
|
};
|
|
209
292
|
reject(/* @__PURE__ */ new Error(`waitForFlush timeout ${timeoutMs}ms: ${JSON.stringify(diag)}`));
|
|
210
293
|
}, timeoutMs);
|
|
@@ -313,4 +396,94 @@ function scheduleEventHandler(handler) {
|
|
|
313
396
|
};
|
|
314
397
|
}
|
|
315
398
|
//#endregion
|
|
316
|
-
|
|
399
|
+
//#region src/runtime/runtime.ts
|
|
400
|
+
function createMissingRendererHost() {
|
|
401
|
+
const missing = (method) => {
|
|
402
|
+
throw new Error(`[Askr] renderer host is not configured; cannot call ${method}().`);
|
|
403
|
+
};
|
|
404
|
+
return {
|
|
405
|
+
evaluate() {
|
|
406
|
+
missing("evaluate");
|
|
407
|
+
},
|
|
408
|
+
cleanupInstancesUnder() {
|
|
409
|
+
missing("cleanupInstancesUnder");
|
|
410
|
+
},
|
|
411
|
+
teardownNodeSubtree() {
|
|
412
|
+
missing("teardownNodeSubtree");
|
|
413
|
+
},
|
|
414
|
+
populateKeyMapForElement() {},
|
|
415
|
+
getKeyMapForElement() {},
|
|
416
|
+
isKeyedReorderFastPathEligible() {
|
|
417
|
+
return {
|
|
418
|
+
useFastPath: false,
|
|
419
|
+
totalKeyed: 0,
|
|
420
|
+
totalChildren: 0,
|
|
421
|
+
currentKeyCount: 0,
|
|
422
|
+
moveCount: 0,
|
|
423
|
+
lisLen: 0,
|
|
424
|
+
hasPropChanges: false,
|
|
425
|
+
isWholeKeyedList: false
|
|
426
|
+
};
|
|
427
|
+
},
|
|
428
|
+
markReactivePropsDirtySource() {}
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
var AskrRuntime = class {
|
|
432
|
+
constructor(options = {}) {
|
|
433
|
+
this.scheduler = options.scheduler ?? globalScheduler;
|
|
434
|
+
this.rendererHost = options.renderer ?? createMissingRendererHost();
|
|
435
|
+
}
|
|
436
|
+
get renderer() {
|
|
437
|
+
return this.rendererHost;
|
|
438
|
+
}
|
|
439
|
+
configureRenderer(renderer) {
|
|
440
|
+
this.rendererHost = renderer;
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
const defaultRuntime = new AskrRuntime({ scheduler: globalScheduler });
|
|
444
|
+
function createRuntime(options = {}) {
|
|
445
|
+
return new AskrRuntime(options);
|
|
446
|
+
}
|
|
447
|
+
function getDefaultRuntime() {
|
|
448
|
+
return defaultRuntime;
|
|
449
|
+
}
|
|
450
|
+
function configureRuntimeRenderer(renderer, runtime = defaultRuntime) {
|
|
451
|
+
runtime.configureRenderer(renderer);
|
|
452
|
+
}
|
|
453
|
+
//#endregion
|
|
454
|
+
//#region src/runtime/access.ts
|
|
455
|
+
function getRuntimeScheduler() {
|
|
456
|
+
return getDefaultRuntime().scheduler;
|
|
457
|
+
}
|
|
458
|
+
function getDefaultRuntimeInstance() {
|
|
459
|
+
return getDefaultRuntime();
|
|
460
|
+
}
|
|
461
|
+
function getRuntimeRenderer() {
|
|
462
|
+
return getDefaultRuntime().renderer;
|
|
463
|
+
}
|
|
464
|
+
function enqueueRuntimeTask(task) {
|
|
465
|
+
getRuntimeScheduler().enqueue(task);
|
|
466
|
+
}
|
|
467
|
+
function enqueueRuntimeLane(lane, task) {
|
|
468
|
+
getRuntimeScheduler().enqueueInLane(lane, task);
|
|
469
|
+
}
|
|
470
|
+
function runRuntimeHandlerScope(fn, flushMode = "defer") {
|
|
471
|
+
return getRuntimeScheduler().runInHandlerScope(fn, flushMode);
|
|
472
|
+
}
|
|
473
|
+
function runRuntimeWithSyncProgress(fn) {
|
|
474
|
+
return getRuntimeScheduler().runWithSyncProgress(fn);
|
|
475
|
+
}
|
|
476
|
+
function getRuntimeFlushVersion() {
|
|
477
|
+
return getRuntimeScheduler().getFlushVersion();
|
|
478
|
+
}
|
|
479
|
+
function flushRuntimeScheduler() {
|
|
480
|
+
getRuntimeScheduler().flush();
|
|
481
|
+
}
|
|
482
|
+
function setRuntimeBulkCommitProbe(probe) {
|
|
483
|
+
getRuntimeScheduler().setBulkCommitProbe(probe);
|
|
484
|
+
}
|
|
485
|
+
function markRuntimeReactivePropsDirtySource(source) {
|
|
486
|
+
getRuntimeRenderer().markReactivePropsDirtySource(source);
|
|
487
|
+
}
|
|
488
|
+
//#endregion
|
|
489
|
+
export { incrementPerfMetric as _, getRuntimeFlushVersion as a, isDevelopmentEnvironment as b, runRuntimeHandlerScope as c, AskrRuntime as d, configureRuntimeRenderer as f, addPerfDuration as g, scheduleEventHandler as h, getDefaultRuntimeInstance as i, runRuntimeWithSyncProgress as l, getDefaultRuntime as m, enqueueRuntimeTask as n, getRuntimeRenderer as o, createRuntime as p, flushRuntimeScheduler as r, markRuntimeReactivePropsDirtySource as s, enqueueRuntimeLane as t, setRuntimeBulkCommitProbe as u, logger as v, isProductionEnvironment as x, getRuntimeEnv as y };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { d as getCurrentAppRenderRuntime } from "../component-scope-CC3cojX9.js";
|
|
2
|
+
import { r as getCurrentRenderData } from "../render-context-Clw3rFiO.js";
|
|
3
|
+
import { t as state } from "../state-DPl8lffD.js";
|
|
4
|
+
import { jsx, jsxs } from "../jsx-runtime.js";
|
|
5
|
+
import { c as resolveDataRuntimeState, s as invalidateQueriesForRuntime } from "../data-runtime-SJ1BSUvk.js";
|
|
6
|
+
//#region src/actions/runtime.ts
|
|
7
|
+
const emptyFramework = Object.freeze({});
|
|
8
|
+
/** @internal Read Askr-owned state from the current application root. */
|
|
9
|
+
function readActionFramework() {
|
|
10
|
+
return getCurrentAppRenderRuntime()?.framework ?? emptyFramework;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/actions/index.tsx
|
|
14
|
+
function csrfToken() {
|
|
15
|
+
const value = getCurrentRenderData()?.framework.csrf ?? readActionFramework().csrf;
|
|
16
|
+
return typeof value === "string" ? value : void 0;
|
|
17
|
+
}
|
|
18
|
+
function defineAction(options) {
|
|
19
|
+
if (!options.id) throw new Error("defineAction requires a stable id.");
|
|
20
|
+
if (options.input.kind !== "object") throw new Error("defineAction input must be an object schema.");
|
|
21
|
+
return Object.freeze({
|
|
22
|
+
id: options.id,
|
|
23
|
+
input: options.input,
|
|
24
|
+
invalidates: Object.freeze([...options.invalidates ?? []])
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/** A native form bound to a declared action; it is not a synthetic event API. */
|
|
28
|
+
function ActionForm({ action, children, ...props }) {
|
|
29
|
+
const token = csrfToken();
|
|
30
|
+
return /* @__PURE__ */ jsxs("form", {
|
|
31
|
+
...props,
|
|
32
|
+
method: "post",
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx("input", {
|
|
35
|
+
type: "hidden",
|
|
36
|
+
name: "_askr_action",
|
|
37
|
+
value: action.id
|
|
38
|
+
}),
|
|
39
|
+
token ? /* @__PURE__ */ jsx("input", {
|
|
40
|
+
type: "hidden",
|
|
41
|
+
name: "_csrf",
|
|
42
|
+
value: token
|
|
43
|
+
}) : null,
|
|
44
|
+
children
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function validationError(value, actionId) {
|
|
49
|
+
if (!value || typeof value !== "object") return void 0;
|
|
50
|
+
const replay = value;
|
|
51
|
+
if (replay.kind !== "invalid" || replay.action !== actionId) return void 0;
|
|
52
|
+
if (!replay.values || !Array.isArray(replay.issues) || !replay.fieldErrors) return void 0;
|
|
53
|
+
return replay;
|
|
54
|
+
}
|
|
55
|
+
function initialStatus(actionId) {
|
|
56
|
+
const replay = validationError(getCurrentRenderData()?.framework.action ?? readActionFramework().action, actionId);
|
|
57
|
+
return replay ? {
|
|
58
|
+
pending: false,
|
|
59
|
+
error: replay
|
|
60
|
+
} : { pending: false };
|
|
61
|
+
}
|
|
62
|
+
/** Returns a command handle, rather than a hook. */
|
|
63
|
+
function action(descriptor) {
|
|
64
|
+
const token = csrfToken();
|
|
65
|
+
const runtime = resolveDataRuntimeState();
|
|
66
|
+
const value = state(initialStatus(descriptor.id));
|
|
67
|
+
const setValue = value.set;
|
|
68
|
+
return {
|
|
69
|
+
state: value,
|
|
70
|
+
async submit(input) {
|
|
71
|
+
setValue({ pending: true });
|
|
72
|
+
try {
|
|
73
|
+
const response = await fetch(location.href, {
|
|
74
|
+
method: "POST",
|
|
75
|
+
headers: {
|
|
76
|
+
"content-type": "application/json",
|
|
77
|
+
accept: "application/vnd.askr.action+json;v=1",
|
|
78
|
+
"x-askr-action": descriptor.id,
|
|
79
|
+
...token ? { "x-askr-csrf-token": token } : {}
|
|
80
|
+
},
|
|
81
|
+
body: JSON.stringify(input)
|
|
82
|
+
});
|
|
83
|
+
const envelope = await response.json();
|
|
84
|
+
if (!response.ok) throw envelope.error ?? validationError(envelope, descriptor.id) ?? /* @__PURE__ */ new Error(`Action failed (${response.status}).`);
|
|
85
|
+
const invalidates = Array.isArray(envelope.invalidates) ? envelope.invalidates.filter((prefix) => typeof prefix === "string") : descriptor.invalidates;
|
|
86
|
+
for (const prefix of invalidates) invalidateQueriesForRuntime(runtime, prefix, true);
|
|
87
|
+
setValue({
|
|
88
|
+
pending: false,
|
|
89
|
+
result: envelope.result
|
|
90
|
+
});
|
|
91
|
+
return envelope.result;
|
|
92
|
+
} catch (error) {
|
|
93
|
+
setValue({
|
|
94
|
+
pending: false,
|
|
95
|
+
error
|
|
96
|
+
});
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { ActionForm, action, defineAction };
|
package/dist/benchmark.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/bench/components/benchmark-row.d.ts
|
|
2
|
+
interface BenchmarkRowData {
|
|
3
|
+
id: number;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
3
7
|
//#region src/bench/benchmark-entry.d.ts
|
|
4
8
|
type RowData = BenchmarkRowData;
|
|
5
9
|
interface BenchmarkMetadata {
|
package/dist/benchmark.js
CHANGED
|
@@ -1,18 +1,70 @@
|
|
|
1
|
-
import { flushRuntimeScheduler } from "./
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import { jsx } from "./jsx-runtime.js";
|
|
6
|
-
import {
|
|
7
|
-
import "./
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { r as flushRuntimeScheduler } from "./access-Bg4RJNC8.js";
|
|
2
|
+
import { t as installRendererBridge } from "./renderer-DrLRAD5y.js";
|
|
3
|
+
import { t as state } from "./state-DPl8lffD.js";
|
|
4
|
+
import { t as selector } from "./selector-DafVYzV4.js";
|
|
5
|
+
import { jsx, jsxs } from "./jsx-runtime.js";
|
|
6
|
+
import { i as For } from "./control-mXROCjL3.js";
|
|
7
|
+
import { t as createIsland } from "./boot-2ZR3MtO0.js";
|
|
8
|
+
//#region src/bench/components/benchmark-row.tsx
|
|
9
|
+
function BenchmarkRow({ item, isSelected, onSelect, onRemove }) {
|
|
10
|
+
return /* @__PURE__ */ jsxs("tr", {
|
|
11
|
+
class: () => isSelected(item.id) ? "danger" : "",
|
|
12
|
+
children: [
|
|
13
|
+
/* @__PURE__ */ jsx("td", {
|
|
14
|
+
class: "col-md-1",
|
|
15
|
+
children: () => item.id
|
|
16
|
+
}, "id"),
|
|
17
|
+
/* @__PURE__ */ jsx("td", {
|
|
18
|
+
class: "col-md-4",
|
|
19
|
+
children: /* @__PURE__ */ jsx("a", {
|
|
20
|
+
onClick: (event) => {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
onSelect(item.id);
|
|
23
|
+
},
|
|
24
|
+
children: () => item.label
|
|
25
|
+
})
|
|
26
|
+
}, "label"),
|
|
27
|
+
/* @__PURE__ */ jsx("td", {
|
|
28
|
+
class: "col-md-1",
|
|
29
|
+
children: /* @__PURE__ */ jsx("a", {
|
|
30
|
+
onClick: (event) => {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
onRemove(item.id);
|
|
33
|
+
},
|
|
34
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
35
|
+
class: "glyphicon glyphicon-remove",
|
|
36
|
+
"aria-hidden": "true"
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
}, "remove"),
|
|
40
|
+
/* @__PURE__ */ jsx("td", { class: "col-md-6" }, "spacer")
|
|
41
|
+
]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/bench/components/benchmark-table.tsx
|
|
46
|
+
function BenchmarkTable({ rows, isSelected, onSelect, onRemove }) {
|
|
47
|
+
return /* @__PURE__ */ jsx("table", {
|
|
48
|
+
class: "table table-hover table-striped test-data",
|
|
49
|
+
children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(For, {
|
|
50
|
+
each: () => rows(),
|
|
51
|
+
by: (item) => item.id,
|
|
52
|
+
children: (item) => /* @__PURE__ */ jsx(BenchmarkRow, {
|
|
53
|
+
item,
|
|
54
|
+
isSelected,
|
|
55
|
+
onSelect,
|
|
56
|
+
onRemove
|
|
57
|
+
})
|
|
58
|
+
}) })
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
10
62
|
//#region src/bench/benchmark-entry.tsx
|
|
11
63
|
installRendererBridge();
|
|
12
64
|
const benchmarkMetadata = {
|
|
13
65
|
packageName: "@askrjs/askr",
|
|
14
|
-
packageVersion: "0.0.
|
|
15
|
-
buildLabel: "0.0.
|
|
66
|
+
packageVersion: "0.0.54",
|
|
67
|
+
buildLabel: "0.0.54-local"
|
|
16
68
|
};
|
|
17
69
|
function getBenchmarkMetadata() {
|
|
18
70
|
return { ...benchmarkMetadata };
|
package/dist/boot/index.d.ts
CHANGED
|
@@ -1,6 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { s as ComponentFunction } from "../control-BI4RMD2z.js";
|
|
2
|
+
import { v as DataRuntime } from "../index-Bki2rqcr.js";
|
|
3
|
+
import { P as RouteRegistry, m as RouteAuthOptions, p as Route, x as RouteManifest } from "../router-DCfwLBr-.js";
|
|
4
|
+
import { d as ScrollRestorationOptions } from "../navigate-BVDCzOuB.js";
|
|
3
5
|
|
|
6
|
+
//#region src/boot/types.d.ts
|
|
7
|
+
type IslandConfig = {
|
|
8
|
+
root: Element | string;
|
|
9
|
+
component: ComponentFunction;
|
|
10
|
+
cleanupStrict?: boolean;
|
|
11
|
+
routes?: never;
|
|
12
|
+
};
|
|
13
|
+
type IslandsConfig = {
|
|
14
|
+
islands: IslandConfig[];
|
|
15
|
+
};
|
|
16
|
+
type BootRouteSource = {
|
|
17
|
+
registry: RouteRegistry;
|
|
18
|
+
manifest?: RouteManifest;
|
|
19
|
+
routes?: Route[];
|
|
20
|
+
} | {
|
|
21
|
+
manifest: RouteManifest;
|
|
22
|
+
registry?: RouteRegistry;
|
|
23
|
+
routes?: Route[];
|
|
24
|
+
} | {
|
|
25
|
+
manifest?: RouteManifest;
|
|
26
|
+
registry?: RouteRegistry;
|
|
27
|
+
routes: Route[];
|
|
28
|
+
};
|
|
29
|
+
type SPAConfig = BootRouteSource & {
|
|
30
|
+
root: Element | string;
|
|
31
|
+
/**
|
|
32
|
+
* Preferred: pass a route registry built via `createRouteRegistry(() => { ... })`.
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { createRouteRegistry } from '@askrjs/askr/router';
|
|
35
|
+
* const registry = createRouteRegistry(() => { ... });
|
|
36
|
+
* await createSPA({ root: '#app', registry });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
auth?: RouteAuthOptions;
|
|
40
|
+
scrollRestoration?: boolean | ScrollRestorationOptions;
|
|
41
|
+
cleanupStrict?: boolean;
|
|
42
|
+
component?: never;
|
|
43
|
+
};
|
|
44
|
+
type HydrateSPAConfig = BootRouteSource & {
|
|
45
|
+
root: Element | string;
|
|
46
|
+
dataRuntime?: DataRuntime; /** Preferred route input - see `SPAConfig`. */
|
|
47
|
+
auth?: RouteAuthOptions;
|
|
48
|
+
scrollRestoration?: boolean | ScrollRestorationOptions;
|
|
49
|
+
cleanupStrict?: boolean;
|
|
50
|
+
hydrate?: {
|
|
51
|
+
verifyMarkup?: boolean;
|
|
52
|
+
deferUntilIdle?: boolean;
|
|
53
|
+
deferBelowFold?: boolean;
|
|
54
|
+
foldThreshold?: number;
|
|
55
|
+
skipSelectors?: string[];
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/boot/root-lifecycle.d.ts
|
|
60
|
+
declare function cleanupApp(root: Element | string): void;
|
|
61
|
+
declare function hasApp(root: Element | string): boolean;
|
|
62
|
+
//#endregion
|
|
4
63
|
//#region src/boot/index.d.ts
|
|
5
64
|
/**
|
|
6
65
|
* createIsland: Enhances existing DOM (no router, mounts once)
|