@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
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//#region src/common/ssr-errors.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Common call contracts: SSR error types
|
|
4
|
-
*/
|
|
5
|
-
declare class SSRDataMissingError extends Error {
|
|
6
|
-
readonly code = "SSR_DATA_MISSING";
|
|
7
|
-
constructor(message?: string);
|
|
8
|
-
}
|
|
9
|
-
//#endregion
|
|
10
|
-
export { SSRDataMissingError };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/common/ssr-errors.ts
|
|
2
|
-
/**
|
|
3
|
-
* Common call contracts: SSR error types
|
|
4
|
-
*/
|
|
5
|
-
var SSRDataMissingError = class SSRDataMissingError extends Error {
|
|
6
|
-
constructor(message = "Server-side rendering requires all data to be available synchronously. This component attempted to use async data during SSR.") {
|
|
7
|
-
super(message);
|
|
8
|
-
this.code = "SSR_DATA_MISSING";
|
|
9
|
-
this.name = "SSRDataMissingError";
|
|
10
|
-
Object.setPrototypeOf(this, SSRDataMissingError.prototype);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
//#endregion
|
|
14
|
-
export { SSRDataMissingError };
|
package/dist/common/ssr.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
//#region src/common/ssr.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Common call contracts: SSR types
|
|
4
|
-
*/
|
|
5
|
-
type SSRData = Record<string, unknown>;
|
|
6
|
-
interface DocumentRenderRoute {
|
|
7
|
-
path: string;
|
|
8
|
-
namespace?: string;
|
|
9
|
-
}
|
|
10
|
-
interface DocumentRenderContext {
|
|
11
|
-
mode: 'ssr' | 'ssg';
|
|
12
|
-
url: string;
|
|
13
|
-
pathname: string;
|
|
14
|
-
search: string;
|
|
15
|
-
hash: string;
|
|
16
|
-
params: Record<string, string>;
|
|
17
|
-
data?: SSRData;
|
|
18
|
-
seed: number;
|
|
19
|
-
route: DocumentRenderRoute;
|
|
20
|
-
}
|
|
21
|
-
interface DocumentRenderArgs {
|
|
22
|
-
appHtml: string;
|
|
23
|
-
context: DocumentRenderContext;
|
|
24
|
-
}
|
|
25
|
-
type DocumentRenderer = (args: DocumentRenderArgs) => string;
|
|
26
|
-
declare function renderDocument(document: DocumentRenderer, args: DocumentRenderArgs, apiName: string): string;
|
|
27
|
-
declare const SSR_RENDER_DATA_ATTR = "data-askr-render-data";
|
|
28
|
-
/** Full context for sink-based streaming SSR */
|
|
29
|
-
type SSRContext = {
|
|
30
|
-
url: string;
|
|
31
|
-
seed: number;
|
|
32
|
-
data?: SSRData;
|
|
33
|
-
params?: Record<string, string>;
|
|
34
|
-
signal?: AbortSignal;
|
|
35
|
-
};
|
|
36
|
-
/** Lightweight context for synchronous render passes */
|
|
37
|
-
type RenderContext = {
|
|
38
|
-
seed: number;
|
|
39
|
-
};
|
|
40
|
-
//#endregion
|
|
41
|
-
export { DocumentRenderArgs, DocumentRenderContext, DocumentRenderRoute, DocumentRenderer, SSRContext, SSRData };
|
package/dist/common/vnode.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Props } from "./props.js";
|
|
2
|
-
import { JSXElement, JSXElementType } from "./jsx.js";
|
|
3
|
-
import { ForState } from "../runtime/for-internal.js";
|
|
4
|
-
import { ControlBoundaryState } from "../runtime/control.js";
|
|
5
|
-
//#region src/common/vnode.d.ts
|
|
6
|
-
declare const __ERROR_BOUNDARY__: unique symbol;
|
|
7
|
-
interface DOMElement {
|
|
8
|
-
type: JSXElementType;
|
|
9
|
-
props?: Props;
|
|
10
|
-
children?: VNode[];
|
|
11
|
-
key?: string | number | null;
|
|
12
|
-
[Symbol.iterator]?: never;
|
|
13
|
-
_controlState?: ControlBoundaryState;
|
|
14
|
-
_forState?: ForState<unknown>;
|
|
15
|
-
}
|
|
16
|
-
type VNode = DOMElement | string | number | boolean | null | undefined;
|
|
17
|
-
type RenderableChild = VNode | JSXElement | readonly RenderableChild[];
|
|
18
|
-
declare const __FOR_BOUNDARY__: symbol;
|
|
19
|
-
declare function _isDOMElement(node: unknown): node is DOMElement;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { DOMElement, RenderableChild, VNode };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { JSXElement } from "../common/jsx.js";
|
|
2
|
-
import { ComponentInstance } from "../runtime/component-internal.js";
|
|
3
|
-
import { ErrorBoundaryFallbackRender, ErrorBoundaryProps } from "../common/error-boundary.js";
|
|
4
|
-
|
|
5
|
-
//#region src/components/error-boundary.d.ts
|
|
6
|
-
type ErrorBoundaryState = NonNullable<ComponentInstance['errorBoundaryState']>;
|
|
7
|
-
type ErrorBoundaryVNode = JSXElement & {
|
|
8
|
-
__instance?: ComponentInstance;
|
|
9
|
-
};
|
|
10
|
-
declare function ErrorBoundary(props: ErrorBoundaryProps): JSXElement;
|
|
11
|
-
declare function isErrorBoundaryVNode(value: unknown): value is ErrorBoundaryVNode;
|
|
12
|
-
declare function resolveErrorBoundaryState(vnode: ErrorBoundaryVNode): ErrorBoundaryState | null;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { ErrorBoundary, type ErrorBoundaryFallbackRender, type ErrorBoundaryProps };
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { __ERROR_BOUNDARY__ } from "../common/vnode.js";
|
|
2
|
-
import { ELEMENT_TYPE } from "../common/jsx.js";
|
|
3
|
-
import { getCurrentComponentInstance } from "../runtime/component-scope.js";
|
|
4
|
-
import "../runtime/index.js";
|
|
5
|
-
//#region src/components/error-boundary.tsx
|
|
6
|
-
function ensureBoundaryState(instance, resetKey) {
|
|
7
|
-
const boundaryState = instance.errorBoundaryState ?? (instance.errorBoundaryState = {
|
|
8
|
-
error: null,
|
|
9
|
-
resetKey,
|
|
10
|
-
notified: false
|
|
11
|
-
});
|
|
12
|
-
if (!Object.is(boundaryState.resetKey, resetKey)) {
|
|
13
|
-
boundaryState.error = null;
|
|
14
|
-
boundaryState.resetKey = resetKey;
|
|
15
|
-
boundaryState.notified = false;
|
|
16
|
-
}
|
|
17
|
-
return boundaryState;
|
|
18
|
-
}
|
|
19
|
-
function createBoundaryVNode(instance, props) {
|
|
20
|
-
const key = typeof props.key === "symbol" ? null : props.key ?? null;
|
|
21
|
-
return {
|
|
22
|
-
$$typeof: ELEMENT_TYPE,
|
|
23
|
-
type: __ERROR_BOUNDARY__,
|
|
24
|
-
props: {
|
|
25
|
-
children: props.children,
|
|
26
|
-
fallback: props.fallback,
|
|
27
|
-
onError: props.onError,
|
|
28
|
-
resetKey: props.resetKey
|
|
29
|
-
},
|
|
30
|
-
key,
|
|
31
|
-
__instance: instance
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
function ErrorBoundary(props) {
|
|
35
|
-
const instance = getCurrentComponentInstance();
|
|
36
|
-
if (!instance) throw new Error("[Askr] ErrorBoundary() can only be used during component render execution.");
|
|
37
|
-
ensureBoundaryState(instance, props.resetKey);
|
|
38
|
-
return createBoundaryVNode(instance, props);
|
|
39
|
-
}
|
|
40
|
-
//#endregion
|
|
41
|
-
export { ErrorBoundary };
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Props } from "../common/props.js";
|
|
2
|
-
import { JSXElement } from "../common/jsx.js";
|
|
3
|
-
import { RenderableChild } from "../common/vnode.js";
|
|
4
|
-
|
|
5
|
-
//#region src/components/link.d.ts
|
|
6
|
-
type LinkProps = Omit<Props, 'children' | 'href' | 'class' | 'rel' | 'target' | 'aria-current' | 'aria-label'> & {
|
|
7
|
-
href: string;
|
|
8
|
-
class?: string;
|
|
9
|
-
children?: RenderableChild;
|
|
10
|
-
/**
|
|
11
|
-
* Optional rel attribute for link relationships.
|
|
12
|
-
* Common values: "noopener", "noreferrer", "nofollow"
|
|
13
|
-
*/
|
|
14
|
-
rel?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Optional target attribute.
|
|
17
|
-
* Use "_blank" for new tab/window.
|
|
18
|
-
*/
|
|
19
|
-
target?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Optional aria-current attribute for indicating current page/location.
|
|
22
|
-
* Use "page" for the current page in navigation.
|
|
23
|
-
*/
|
|
24
|
-
'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
25
|
-
/**
|
|
26
|
-
* Optional aria-label for accessibility when link text isn't descriptive enough.
|
|
27
|
-
*/
|
|
28
|
-
'aria-label'?: string;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Link component that prevents default navigation and uses navigate()
|
|
32
|
-
* Provides declarative way to navigate between routes
|
|
33
|
-
*
|
|
34
|
-
* Accessibility features:
|
|
35
|
-
* - Proper semantic <a> element (not a button)
|
|
36
|
-
* - Supports aria-current for indicating active page
|
|
37
|
-
* - Supports aria-label for descriptive labels
|
|
38
|
-
* - Keyboard accessible (Enter key handled by native <a> element)
|
|
39
|
-
*
|
|
40
|
-
* Respects native browser behaviors:
|
|
41
|
-
* - Middle-click (opens in new tab)
|
|
42
|
-
* - Ctrl/Cmd+click (opens in new tab)
|
|
43
|
-
* - Shift+click (opens in new window)
|
|
44
|
-
* - Alt+click (downloads link)
|
|
45
|
-
* - Right-click context menu
|
|
46
|
-
*
|
|
47
|
-
* Best practices:
|
|
48
|
-
* - Use target="_blank" with rel="noopener noreferrer" for external links
|
|
49
|
-
* - Use aria-current="page" for the current page in navigation
|
|
50
|
-
* - Provide descriptive link text or aria-label
|
|
51
|
-
*
|
|
52
|
-
* Uses applyInteractionPolicy to enforce pit-of-success principles:
|
|
53
|
-
* - Interaction behavior centralized in foundations
|
|
54
|
-
* - Keyboard handling automatic
|
|
55
|
-
* - Composable via mergeProps
|
|
56
|
-
*/
|
|
57
|
-
declare function Link({
|
|
58
|
-
href,
|
|
59
|
-
class: className,
|
|
60
|
-
children,
|
|
61
|
-
rel,
|
|
62
|
-
target,
|
|
63
|
-
'aria-current': ariaCurrent,
|
|
64
|
-
'aria-label': ariaLabel,
|
|
65
|
-
...rest
|
|
66
|
-
}: LinkProps): JSXElement;
|
|
67
|
-
//#endregion
|
|
68
|
-
export { Link, LinkProps };
|
package/dist/components/link.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import "../jsx/types.js";
|
|
2
|
-
import { jsx } from "../jsx-runtime.js";
|
|
3
|
-
import "../jsx-runtime2.js";
|
|
4
|
-
import { navigate } from "../router/navigate.js";
|
|
5
|
-
import { mergeProps } from "../foundations/utilities/merge-props.js";
|
|
6
|
-
import "../foundations/utilities/index.js";
|
|
7
|
-
import { applyInteractionPolicy } from "../foundations/interactions/interaction-policy.js";
|
|
8
|
-
import "../foundations/interactions/index.js";
|
|
9
|
-
//#region src/components/link.tsx
|
|
10
|
-
/**
|
|
11
|
-
* Link component for client-side navigation
|
|
12
|
-
*/
|
|
13
|
-
function isSameOriginNavigableHref(href) {
|
|
14
|
-
if (typeof window === "undefined") return true;
|
|
15
|
-
try {
|
|
16
|
-
const target = new URL(href, window.location.href);
|
|
17
|
-
return target.origin === window.location.origin && (target.protocol === "http:" || target.protocol === "https:");
|
|
18
|
-
} catch {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Link component that prevents default navigation and uses navigate()
|
|
24
|
-
* Provides declarative way to navigate between routes
|
|
25
|
-
*
|
|
26
|
-
* Accessibility features:
|
|
27
|
-
* - Proper semantic <a> element (not a button)
|
|
28
|
-
* - Supports aria-current for indicating active page
|
|
29
|
-
* - Supports aria-label for descriptive labels
|
|
30
|
-
* - Keyboard accessible (Enter key handled by native <a> element)
|
|
31
|
-
*
|
|
32
|
-
* Respects native browser behaviors:
|
|
33
|
-
* - Middle-click (opens in new tab)
|
|
34
|
-
* - Ctrl/Cmd+click (opens in new tab)
|
|
35
|
-
* - Shift+click (opens in new window)
|
|
36
|
-
* - Alt+click (downloads link)
|
|
37
|
-
* - Right-click context menu
|
|
38
|
-
*
|
|
39
|
-
* Best practices:
|
|
40
|
-
* - Use target="_blank" with rel="noopener noreferrer" for external links
|
|
41
|
-
* - Use aria-current="page" for the current page in navigation
|
|
42
|
-
* - Provide descriptive link text or aria-label
|
|
43
|
-
*
|
|
44
|
-
* Uses applyInteractionPolicy to enforce pit-of-success principles:
|
|
45
|
-
* - Interaction behavior centralized in foundations
|
|
46
|
-
* - Keyboard handling automatic
|
|
47
|
-
* - Composable via mergeProps
|
|
48
|
-
*/
|
|
49
|
-
function Link({ href, class: className, children, rel, target, "aria-current": ariaCurrent, "aria-label": ariaLabel, ...rest }) {
|
|
50
|
-
return /* @__PURE__ */ jsx("a", {
|
|
51
|
-
...mergeProps(rest, {
|
|
52
|
-
...applyInteractionPolicy({
|
|
53
|
-
isNative: true,
|
|
54
|
-
disabled: false,
|
|
55
|
-
onPress: (e) => {
|
|
56
|
-
const event = e;
|
|
57
|
-
if ((event.button ?? 0) !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) return;
|
|
58
|
-
if (target || !isSameOriginNavigableHref(href)) return;
|
|
59
|
-
event.preventDefault();
|
|
60
|
-
navigate(href);
|
|
61
|
-
}
|
|
62
|
-
}),
|
|
63
|
-
href,
|
|
64
|
-
class: className,
|
|
65
|
-
rel,
|
|
66
|
-
target,
|
|
67
|
-
"aria-current": ariaCurrent,
|
|
68
|
-
"aria-label": ariaLabel
|
|
69
|
-
}),
|
|
70
|
-
children
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
//#endregion
|
|
74
|
-
export { Link };
|
package/dist/control/case.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { JSXElement } from "../common/jsx.js";
|
|
2
|
-
import { BoundaryChild } from "./shared.js";
|
|
3
|
-
|
|
4
|
-
//#region src/control/case.d.ts
|
|
5
|
-
type MatchChild = BoundaryChild | (() => BoundaryChild);
|
|
6
|
-
type MatchProps = {
|
|
7
|
-
key?: string | number | null;
|
|
8
|
-
when: unknown;
|
|
9
|
-
children: MatchChild;
|
|
10
|
-
};
|
|
11
|
-
type CaseProps = {
|
|
12
|
-
fallback?: BoundaryChild;
|
|
13
|
-
children?: unknown;
|
|
14
|
-
};
|
|
15
|
-
declare function Match(_props: MatchProps): null;
|
|
16
|
-
declare const Case: (props: CaseProps) => JSXElement;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { Case, CaseProps, Match, MatchProps };
|
package/dist/control/case.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { __CONTROL_BOUNDARY__, markEagerControlPrimitive } from "../common/control.js";
|
|
2
|
-
import { isDevelopmentEnvironment } from "../common/env.js";
|
|
3
|
-
import { createCaseState } from "../runtime/control.js";
|
|
4
|
-
import { state } from "../runtime/state.js";
|
|
5
|
-
import "../runtime/index.js";
|
|
6
|
-
import { normalizeBoundaryChild } from "./shared.js";
|
|
7
|
-
//#region src/control/case.ts
|
|
8
|
-
function flattenChildren(children) {
|
|
9
|
-
if (!Array.isArray(children)) return children == null || children === false ? [] : [children];
|
|
10
|
-
const result = [];
|
|
11
|
-
for (const child of children) {
|
|
12
|
-
if (Array.isArray(child)) {
|
|
13
|
-
result.push(...flattenChildren(child));
|
|
14
|
-
continue;
|
|
15
|
-
}
|
|
16
|
-
result.push(child);
|
|
17
|
-
}
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
function Match(_props) {
|
|
21
|
-
if (isDevelopmentEnvironment()) throw new Error("[askr] <Match> may only be used as a direct child of <Case>.");
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
function createCaseFallbackRenderer(fallback) {
|
|
25
|
-
const normalizedFallback = normalizeBoundaryChild(fallback);
|
|
26
|
-
if (normalizedFallback == null || normalizedFallback === false) return null;
|
|
27
|
-
return () => normalizedFallback;
|
|
28
|
-
}
|
|
29
|
-
function createMatchBranchKey(key, index) {
|
|
30
|
-
if (key == null) return index;
|
|
31
|
-
return `match:${index}:${typeof key}:${String(key)}`;
|
|
32
|
-
}
|
|
33
|
-
function readMatchBranches(children) {
|
|
34
|
-
const branches = [];
|
|
35
|
-
const flatChildren = flattenChildren(children);
|
|
36
|
-
for (let index = 0; index < flatChildren.length; index += 1) {
|
|
37
|
-
const child = flatChildren[index];
|
|
38
|
-
if (child == null || child === false) continue;
|
|
39
|
-
if (typeof child === "object" && child !== null && "type" in child && child.type === Match) {
|
|
40
|
-
const element = child;
|
|
41
|
-
const props = element.props ?? {};
|
|
42
|
-
const key = createMatchBranchKey(element.key, index);
|
|
43
|
-
const render = typeof props.children === "function" ? () => normalizeBoundaryChild(props.children()) : () => normalizeBoundaryChild(props.children);
|
|
44
|
-
branches.push({
|
|
45
|
-
key,
|
|
46
|
-
render,
|
|
47
|
-
when: props.when
|
|
48
|
-
});
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
if (isDevelopmentEnvironment()) throw new Error("[askr] <Case> only accepts <Match> children.");
|
|
52
|
-
}
|
|
53
|
-
return branches;
|
|
54
|
-
}
|
|
55
|
-
function CasePrimitive(props) {
|
|
56
|
-
const matches = readMatchBranches(props.children);
|
|
57
|
-
const fallback = createCaseFallbackRenderer(props.fallback);
|
|
58
|
-
const caseState = state(createCaseState(matches, fallback))();
|
|
59
|
-
caseState.matches = matches;
|
|
60
|
-
caseState.fallback = fallback;
|
|
61
|
-
return {
|
|
62
|
-
type: __CONTROL_BOUNDARY__,
|
|
63
|
-
_controlState: caseState
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
const Case = markEagerControlPrimitive(CasePrimitive);
|
|
67
|
-
//#endregion
|
|
68
|
-
export { Case, Match };
|
package/dist/control/for.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { JSXElement } from "../common/jsx.js";
|
|
2
|
-
import { ForEachSource } from "../runtime/for-types.js";
|
|
3
|
-
import { VNode } from "../common/vnode.js";
|
|
4
|
-
import { BoundaryChild } from "./shared.js";
|
|
5
|
-
|
|
6
|
-
//#region src/control/for.d.ts
|
|
7
|
-
type ForBaseProps<T> = {
|
|
8
|
-
each: ForEachSource<T>;
|
|
9
|
-
fallback?: BoundaryChild;
|
|
10
|
-
children: (item: T, index: () => number) => VNode;
|
|
11
|
-
};
|
|
12
|
-
type KeyedForProps<T, K extends string | number> = ForBaseProps<T> & {
|
|
13
|
-
by: (item: T, index: number) => K;
|
|
14
|
-
byIndex?: never;
|
|
15
|
-
};
|
|
16
|
-
type IndexedForProps<T> = ForBaseProps<T> & {
|
|
17
|
-
by?: never;
|
|
18
|
-
byIndex: true;
|
|
19
|
-
};
|
|
20
|
-
type ForProps<T, K extends string | number = string | number> = KeyedForProps<T, K> | IndexedForProps<T>;
|
|
21
|
-
declare const For: <T, K extends string | number = string | number>(props: ForProps<T, K>) => JSXElement;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { For, ForProps };
|
package/dist/control/for.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { __CONTROL_BOUNDARY__, markEagerControlPrimitive } from "../common/control.js";
|
|
2
|
-
import { createFineGrainedEffect } from "../runtime/effect.js";
|
|
3
|
-
import { useForState } from "../runtime/for-internal.js";
|
|
4
|
-
import "../runtime/index.js";
|
|
5
|
-
import { normalizeBoundaryChild } from "./shared.js";
|
|
6
|
-
//#region src/control/for.ts
|
|
7
|
-
/**
|
|
8
|
-
* For JSX primitive
|
|
9
|
-
*
|
|
10
|
-
* Creates a keyed child-scope boundary for efficient list rendering.
|
|
11
|
-
*/
|
|
12
|
-
function resolveEach(each) {
|
|
13
|
-
const resolved = typeof each === "function" ? each() : each;
|
|
14
|
-
if (!Array.isArray(resolved)) throw new Error("For each must resolve to an array.");
|
|
15
|
-
return resolved;
|
|
16
|
-
}
|
|
17
|
-
function resolveKeyFn(props) {
|
|
18
|
-
if ("by" in props && typeof props.by === "function") return props.by;
|
|
19
|
-
if ("byIndex" in props && props.byIndex === true) return (_item, index) => index;
|
|
20
|
-
throw new Error("[askr] <For> requires a stable `by` key function. Use `byIndex` only as an explicit positional escape hatch.");
|
|
21
|
-
}
|
|
22
|
-
function createForBoundary(props) {
|
|
23
|
-
if ("by" in props && typeof props.by === "function" && "byIndex" in props) throw new Error("[askr] <For> accepts either `by` or `byIndex`, not both.");
|
|
24
|
-
const byFn = resolveKeyFn(props);
|
|
25
|
-
const fallback = normalizeBoundaryChild(props.fallback);
|
|
26
|
-
const forState = useForState(props.each, byFn, props.children, fallback);
|
|
27
|
-
const computeItems = () => resolveEach(forState.eachSource);
|
|
28
|
-
if (!forState._sourceEffect) {
|
|
29
|
-
forState._suspendSourceCommit = true;
|
|
30
|
-
forState._sourceEffect = createFineGrainedEffect({
|
|
31
|
-
lane: "reactive",
|
|
32
|
-
compute: computeItems,
|
|
33
|
-
commit: (items) => {
|
|
34
|
-
forState.currentItems = items;
|
|
35
|
-
if (forState._suspendSourceCommit) return;
|
|
36
|
-
forState._needsSourceReconcile = true;
|
|
37
|
-
if (forState._enqueueBoundaryCommit) {
|
|
38
|
-
forState._enqueueBoundaryCommit();
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
forState.parentInstance?._enqueueRun?.();
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
forState._suspendSourceCommit = false;
|
|
45
|
-
} else {
|
|
46
|
-
forState._suspendSourceCommit = true;
|
|
47
|
-
forState._sourceEffect.updateCompute(computeItems);
|
|
48
|
-
forState._suspendSourceCommit = false;
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
type: __CONTROL_BOUNDARY__,
|
|
52
|
-
_controlState: forState,
|
|
53
|
-
_forState: forState
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function ForPrimitive(props) {
|
|
57
|
-
return createForBoundary(props);
|
|
58
|
-
}
|
|
59
|
-
const For = markEagerControlPrimitive(ForPrimitive);
|
|
60
|
-
//#endregion
|
|
61
|
-
export { For };
|
package/dist/control/shared.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RenderableChild, VNode } from "../common/vnode.js";
|
|
2
|
-
|
|
3
|
-
//#region src/control/shared.d.ts
|
|
4
|
-
type BoundaryChild = RenderableChild;
|
|
5
|
-
declare function normalizeBoundaryChild(value: unknown): VNode | null;
|
|
6
|
-
declare function resolveMaybeAccessor<T>(value: T | (() => T)): T;
|
|
7
|
-
//#endregion
|
|
8
|
-
export { BoundaryChild };
|
package/dist/control/shared.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Fragment } from "../common/jsx.js";
|
|
2
|
-
//#region src/control/shared.ts
|
|
3
|
-
function normalizeBoundaryChild(value) {
|
|
4
|
-
if (Array.isArray(value)) {
|
|
5
|
-
if (value.length === 0) return null;
|
|
6
|
-
if (value.length === 1) return normalizeBoundaryChild(value[0]);
|
|
7
|
-
return {
|
|
8
|
-
type: Fragment,
|
|
9
|
-
props: { children: value }
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
return value ?? null;
|
|
13
|
-
}
|
|
14
|
-
function resolveMaybeAccessor(value) {
|
|
15
|
-
return typeof value === "function" ? value() : value;
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
export { normalizeBoundaryChild, resolveMaybeAccessor };
|
package/dist/control/show.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { JSXElement } from "../common/jsx.js";
|
|
2
|
-
import { BoundaryChild } from "./shared.js";
|
|
3
|
-
|
|
4
|
-
//#region src/control/show.d.ts
|
|
5
|
-
type ShowSource<T> = T | (() => T);
|
|
6
|
-
type Truthy<T> = T extends false | '' | 0 | 0n | null | undefined ? never : T;
|
|
7
|
-
type ShowProps<T> = {
|
|
8
|
-
when: ShowSource<T>;
|
|
9
|
-
fallback?: BoundaryChild;
|
|
10
|
-
children: BoundaryChild | ((value: Truthy<T>) => BoundaryChild);
|
|
11
|
-
};
|
|
12
|
-
declare const Show: <T>(props: ShowProps<T>) => JSXElement;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { Show, ShowProps };
|
package/dist/control/show.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { __CONTROL_BOUNDARY__, markEagerControlPrimitive } from "../common/control.js";
|
|
2
|
-
import { createShowState } from "../runtime/control.js";
|
|
3
|
-
import { state } from "../runtime/state.js";
|
|
4
|
-
import "../runtime/index.js";
|
|
5
|
-
import { normalizeBoundaryChild, resolveMaybeAccessor } from "./shared.js";
|
|
6
|
-
//#region src/control/show.ts
|
|
7
|
-
function createTruthyRenderer(props) {
|
|
8
|
-
if (typeof props.children === "function") return (value) => normalizeBoundaryChild(props.children(value));
|
|
9
|
-
const staticChild = normalizeBoundaryChild(props.children);
|
|
10
|
-
return () => staticChild;
|
|
11
|
-
}
|
|
12
|
-
function createFallbackRenderer(fallback) {
|
|
13
|
-
const normalizedFallback = normalizeBoundaryChild(fallback);
|
|
14
|
-
if (normalizedFallback == null || normalizedFallback === false) return null;
|
|
15
|
-
return () => normalizedFallback;
|
|
16
|
-
}
|
|
17
|
-
function ShowPrimitive(props) {
|
|
18
|
-
const selectedValue = resolveMaybeAccessor(props.when);
|
|
19
|
-
const renderTruthy = createTruthyRenderer(props);
|
|
20
|
-
const renderFallback = createFallbackRenderer(props.fallback);
|
|
21
|
-
const showState = state(createShowState(selectedValue, renderTruthy, renderFallback))();
|
|
22
|
-
showState.selectedValue = selectedValue;
|
|
23
|
-
showState.renderTruthy = renderTruthy;
|
|
24
|
-
showState.renderFallback = renderFallback;
|
|
25
|
-
return {
|
|
26
|
-
type: __CONTROL_BOUNDARY__,
|
|
27
|
-
_controlState: showState
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
const Show = markEagerControlPrimitive(ShowPrimitive);
|
|
31
|
-
//#endregion
|
|
32
|
-
export { Show };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ComponentInstance } from "../runtime/component-internal.js";
|
|
2
|
-
import { DataRuntime, DataRuntimeOptions } from "./types.js";
|
|
3
|
-
import { MutationCell } from "./mutation-cell.js";
|
|
4
|
-
import { QueryCell } from "./query-cell.js";
|
|
5
|
-
|
|
6
|
-
//#region src/data/data-runtime.d.ts
|
|
7
|
-
type QuerySlot = {
|
|
8
|
-
key: string;
|
|
9
|
-
cell: QueryCell<unknown>;
|
|
10
|
-
};
|
|
11
|
-
type DataRuntimeState = {
|
|
12
|
-
queryCache: Map<string, QueryCell<unknown>>;
|
|
13
|
-
querySlotsByInstance: WeakMap<ComponentInstance, Map<number, QuerySlot>>;
|
|
14
|
-
mutationSlotsByInstance: WeakMap<ComponentInstance, Map<number, MutationCell<unknown, unknown>>>;
|
|
15
|
-
queryCleanupRegistered: WeakSet<ComponentInstance>;
|
|
16
|
-
mutationCleanupRegistered: WeakSet<ComponentInstance>;
|
|
17
|
-
};
|
|
18
|
-
declare function createDataRuntime(options?: DataRuntimeOptions): DataRuntime;
|
|
19
|
-
declare function getDefaultDataRuntime(): DataRuntime;
|
|
20
|
-
declare function resolveDataRuntimeState(runtime?: DataRuntime): DataRuntimeState;
|
|
21
|
-
declare function getQuerySlotStore(runtimeState: DataRuntimeState, instance: ComponentInstance): Map<number, QuerySlot>;
|
|
22
|
-
declare function getMutationSlotStore(runtimeState: DataRuntimeState, instance: ComponentInstance): Map<number, MutationCell<unknown, unknown>>;
|
|
23
|
-
declare function ensureQueryCleanup(runtimeState: DataRuntimeState, instance: ComponentInstance): void;
|
|
24
|
-
declare function ensureMutationCleanup(runtimeState: DataRuntimeState, instance: ComponentInstance): void;
|
|
25
|
-
declare function invalidateQueriesForRuntime(runtimeState: DataRuntimeState, prefix: string, markPendingWrite: boolean): void;
|
|
26
|
-
//#endregion
|
|
27
|
-
export { DataRuntimeState, QuerySlot, createDataRuntime, getDefaultDataRuntime };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { InvalidateOnIntervalOptions, InvalidateOptions, QueryScope } from "./types.js";
|
|
2
|
-
|
|
3
|
-
//#region src/data/invalidation.d.ts
|
|
4
|
-
declare function invalidate(prefix: string, options?: InvalidateOptions): void;
|
|
5
|
-
declare function queryScope(namespace: string): QueryScope;
|
|
6
|
-
declare function invalidateOnInterval(prefix: string, options: InvalidateOnIntervalOptions): void;
|
|
7
|
-
//#endregion
|
|
8
|
-
export { invalidate, invalidateOnInterval, queryScope };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { documentVisible, routeActive, timer, windowFocused } from "../runtime/lifecycle-operations.js";
|
|
2
|
-
import "../runtime/index.js";
|
|
3
|
-
import { invalidateQueriesForRuntime, resolveDataRuntimeState } from "./data-runtime.js";
|
|
4
|
-
import { createQueryScope } from "./query-key.js";
|
|
5
|
-
//#region src/data/invalidation.ts
|
|
6
|
-
function invalidate(prefix, options) {
|
|
7
|
-
invalidateQueriesForRuntime(resolveDataRuntimeState(options?.runtime), prefix, options?.markPendingWrite ?? false);
|
|
8
|
-
}
|
|
9
|
-
function queryScope(namespace) {
|
|
10
|
-
return createQueryScope(namespace, invalidate);
|
|
11
|
-
}
|
|
12
|
-
const INVALIDATE_ON_INTERVAL_OPTIONS_ERROR = "[Askr] invalidateOnInterval() requires an options object with a finite numeric intervalMs.";
|
|
13
|
-
function invalidateOnInterval(prefix, options) {
|
|
14
|
-
if (!options || typeof options !== "object" || typeof options.intervalMs !== "number" || !Number.isFinite(options.intervalMs)) throw new Error(INVALIDATE_ON_INTERVAL_OPTIONS_ERROR);
|
|
15
|
-
const runtimeState = resolveDataRuntimeState(options.runtime);
|
|
16
|
-
const when = [];
|
|
17
|
-
if (options.activeOn) when.push(routeActive(options.activeOn));
|
|
18
|
-
if (options.visibleOnly) when.push(documentVisible());
|
|
19
|
-
if (options.focusedOnly) when.push(windowFocused());
|
|
20
|
-
timer(options.intervalMs, () => {
|
|
21
|
-
invalidateQueriesForRuntime(runtimeState, prefix, options.markPendingWrite ?? false);
|
|
22
|
-
}, when.length > 0 ? { when } : void 0);
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
export { invalidate, invalidateOnInterval, queryScope };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Mutation, MutationOptions } from "./types.js";
|
|
2
|
-
import { DataRuntimeState } from "./data-runtime.js";
|
|
3
|
-
|
|
4
|
-
//#region src/data/mutation-cell.d.ts
|
|
5
|
-
declare class MutationCell<TInput, TResult> {
|
|
6
|
-
private readonly source;
|
|
7
|
-
private readonly runtimeState;
|
|
8
|
-
private action;
|
|
9
|
-
private affects?;
|
|
10
|
-
private afterSuccess?;
|
|
11
|
-
private controller;
|
|
12
|
-
private generation;
|
|
13
|
-
private state;
|
|
14
|
-
constructor(options: MutationOptions<TInput, TResult>, runtimeState: DataRuntimeState);
|
|
15
|
-
setOptions(options: MutationOptions<TInput, TResult>): void;
|
|
16
|
-
get status(): 'idle' | 'pending' | 'success' | 'error';
|
|
17
|
-
get pending(): boolean;
|
|
18
|
-
get error(): {} | null;
|
|
19
|
-
get result(): TResult | null;
|
|
20
|
-
private setState;
|
|
21
|
-
execute(input: TInput): Promise<TResult>;
|
|
22
|
-
abort(): void;
|
|
23
|
-
reset(): void;
|
|
24
|
-
}
|
|
25
|
-
declare function createMutation<TInput, TResult>(options: MutationOptions<TInput, TResult>): Mutation<TInput, TResult>;
|
|
26
|
-
//#endregion
|
|
27
|
-
export { MutationCell, createMutation };
|