@askrjs/askr 0.0.52 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +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-j2KoN6ss.js +647 -0
- package/dist/cleanup-COv77su2.js +487 -0
- package/dist/component-internal-B3z7GXlD.js +614 -0
- package/dist/component-lifecycle-CO4hXlP4.js +357 -0
- package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +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-BQvNVfAd.d.ts +436 -0
- package/dist/control-BYyLTFyw.js +165 -0
- package/dist/control-Bf4Wkdvv.d.ts +9 -0
- package/dist/{common/control.js → control-DhFRTIoE.js} +1 -1
- package/dist/data/index.d.ts +2 -6
- package/dist/data/index.js +4 -5
- package/dist/data-DnxnDxD-.js +559 -0
- package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +32 -31
- package/dist/deferred-lKE8uR0z.js +386 -0
- package/dist/{runtime/effect.js → effect-BwnIvLah.js} +4 -4
- package/dist/fastlane-Dw8SOBr9.js +343 -0
- package/dist/for-internal-BKf_Tnv1.js +1563 -0
- package/dist/foundations/icon/index.d.ts +68 -2
- package/dist/foundations/icon/index.js +85 -1
- package/dist/foundations/index.d.ts +2 -5
- package/dist/foundations/index.js +2 -5
- package/dist/foundations/interactions/index.d.ts +264 -6
- package/dist/foundations/interactions/index.js +1 -6
- package/dist/foundations/state/index.d.ts +32 -1
- package/dist/foundations/state/index.js +78 -1
- package/dist/foundations/structures/index.d.ts +2 -7
- package/dist/foundations/structures/index.js +2 -7
- package/dist/foundations/utilities/index.d.ts +2 -6
- package/dist/foundations/utilities/index.js +2 -5
- package/dist/fx/index.d.ts +190 -3
- package/dist/fx/index.js +454 -4
- package/dist/index-31Uoz_NS.d.ts +239 -0
- package/dist/index-Bki2rqcr.d.ts +233 -0
- package/dist/index-BnU0NPwM.d.ts +101 -0
- package/dist/index-D73jgYx1.d.ts +48 -0
- package/dist/{runtime/runtime.d.ts → index-R2JJIbM-.d.ts} +31 -8
- package/dist/index-SJXJkssx.d.ts +44 -0
- 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-D9va7GOU.js} +4 -5
- package/dist/navigate-BVDCzOuB.d.ts +34 -0
- package/dist/navigate-CmPLSXyw.js +1449 -0
- package/dist/{runtime/portal.js → portal-CyU3Ucf2.js} +33 -36
- package/dist/query-registry-CQIT4mXr.js +73 -0
- package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -6
- package/dist/renderer-DzPjeLby.js +6197 -0
- package/dist/{runtime/resource-operation.js → resource-operation-CEzfpnDk.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-CeYvjj5_.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-D3t80Rc0.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-io9ahUeq.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,343 @@
|
|
|
1
|
+
import { b as isDevelopmentEnvironment, l as runRuntimeWithSyncProgress, n as enqueueRuntimeTask, o as getRuntimeRenderer, s as markRuntimeReactivePropsDirtySource, u as setRuntimeBulkCommitProbe } from "./access-Bg4RJNC8.js";
|
|
2
|
+
import { n as Fragment } from "./jsx-CUpRxrLH.js";
|
|
3
|
+
import { p as getCurrentInstance } from "./component-scope-CC3cojX9.js";
|
|
4
|
+
//#region src/runtime/dev-namespace.ts
|
|
5
|
+
/**
|
|
6
|
+
* Set a value in the dev namespace (no-op in production).
|
|
7
|
+
*/
|
|
8
|
+
const setDevValue = () => {};
|
|
9
|
+
/**
|
|
10
|
+
* Increment a counter in the dev namespace (no-op in production).
|
|
11
|
+
* Safely handles non-number values by resetting to 1.
|
|
12
|
+
*/
|
|
13
|
+
const incDevCounter = () => {};
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/runtime/readable.ts
|
|
16
|
+
const DEVELOPMENT_BUILD_ENABLED = false;
|
|
17
|
+
function markReadableUsage(source) {
|
|
18
|
+
if (source && typeof source === "function" && ("_hasBeenRead" in source || "_readers" in source)) {
|
|
19
|
+
const readable = source;
|
|
20
|
+
readable._hasBeenRead = true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
let currentDerivedSubscriber = null;
|
|
24
|
+
let suppressComponentReadTrackingDepth = 0;
|
|
25
|
+
let currentFineGrainedReadCollector = null;
|
|
26
|
+
function scheduleReadableInstanceUpdate(instance) {
|
|
27
|
+
if (instance.hasPendingUpdate) return;
|
|
28
|
+
instance.hasPendingUpdate = true;
|
|
29
|
+
const task = instance._pendingFlushTask;
|
|
30
|
+
if (task) {
|
|
31
|
+
enqueueRuntimeTask(task);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
enqueueRuntimeTask(() => {
|
|
35
|
+
instance.hasPendingUpdate = false;
|
|
36
|
+
instance.notifyUpdate?.();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function recordReadableRead(source) {
|
|
40
|
+
if (currentFineGrainedReadCollector) {
|
|
41
|
+
const first = currentFineGrainedReadCollector._pendingFineGrainedReadSource;
|
|
42
|
+
if (!first) currentFineGrainedReadCollector._pendingFineGrainedReadSource = source;
|
|
43
|
+
else if (first !== source) {
|
|
44
|
+
let sources = currentFineGrainedReadCollector._pendingFineGrainedReadSources;
|
|
45
|
+
if (!sources) currentFineGrainedReadCollector._pendingFineGrainedReadSources = source;
|
|
46
|
+
else if (Array.isArray(sources)) {
|
|
47
|
+
if (!sources.includes(source)) sources.push(source);
|
|
48
|
+
} else if (sources instanceof Set) sources.add(source);
|
|
49
|
+
else if (sources !== source) currentFineGrainedReadCollector._pendingFineGrainedReadSources = [
|
|
50
|
+
first,
|
|
51
|
+
sources,
|
|
52
|
+
source
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (currentDerivedSubscriber) {
|
|
58
|
+
if (!currentDerivedSubscriber._pendingDependencySources) currentDerivedSubscriber._pendingDependencySources = /* @__PURE__ */ new Set();
|
|
59
|
+
currentDerivedSubscriber._pendingDependencySources.add(source);
|
|
60
|
+
}
|
|
61
|
+
if (suppressComponentReadTrackingDepth > 0) return;
|
|
62
|
+
const inst = getCurrentInstance();
|
|
63
|
+
if (!inst || inst._currentRenderToken === void 0) return;
|
|
64
|
+
if (!inst._pendingReadSources) inst._pendingReadSources = /* @__PURE__ */ new Set();
|
|
65
|
+
inst._pendingReadSources.add(source);
|
|
66
|
+
const sourceVersion = source._version ?? 0;
|
|
67
|
+
let pendingVersions = inst._pendingReadSourceVersions;
|
|
68
|
+
if (!pendingVersions) {
|
|
69
|
+
pendingVersions = /* @__PURE__ */ new Map();
|
|
70
|
+
inst._pendingReadSourceVersions = pendingVersions;
|
|
71
|
+
}
|
|
72
|
+
pendingVersions.set(source, sourceVersion);
|
|
73
|
+
}
|
|
74
|
+
function withFineGrainedReadTracking(collector, fn) {
|
|
75
|
+
const previousCollector = currentFineGrainedReadCollector;
|
|
76
|
+
currentFineGrainedReadCollector = collector;
|
|
77
|
+
try {
|
|
78
|
+
return fn.call(collector);
|
|
79
|
+
} finally {
|
|
80
|
+
currentFineGrainedReadCollector = previousCollector;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** @internal Whether the active grouped effect coalesces item-property reads. */
|
|
84
|
+
function shouldCoalesceFineGrainedItemReads() {
|
|
85
|
+
return (currentFineGrainedReadCollector?._owner)?._coalesceForItemReads === true;
|
|
86
|
+
}
|
|
87
|
+
function finalizeReadableSubscriptions(instance) {
|
|
88
|
+
const newSet = instance._pendingReadSources;
|
|
89
|
+
const token = instance._currentRenderToken;
|
|
90
|
+
const pendingVersions = instance._pendingReadSourceVersions;
|
|
91
|
+
finalizeReadableSubscriptionsFromSnapshot(instance, token, newSet, pendingVersions);
|
|
92
|
+
instance._pendingReadSources = void 0;
|
|
93
|
+
instance._currentRenderToken = void 0;
|
|
94
|
+
instance._pendingReadSourceVersions = void 0;
|
|
95
|
+
}
|
|
96
|
+
function finalizeReadableSubscriptionsFromSnapshot(instance, token, newSet, pendingReadSourceVersions = instance._pendingReadSourceVersions) {
|
|
97
|
+
if (token === void 0) return;
|
|
98
|
+
const oldSet = instance._lastReadSources;
|
|
99
|
+
const pendingVersions = pendingReadSourceVersions;
|
|
100
|
+
let needsFollowUpUpdate = false;
|
|
101
|
+
if (oldSet) {
|
|
102
|
+
for (const source of oldSet) if (!newSet?.has(source)) {
|
|
103
|
+
if ((source._readers?.get(instance))?.generation === instance._ownershipGeneration) {
|
|
104
|
+
if (source._readers?.delete(instance) && DEVELOPMENT_BUILD_ENABLED);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
instance.lastRenderToken = token;
|
|
109
|
+
if (newSet) for (const source of newSet) {
|
|
110
|
+
if (pendingVersions && (!oldSet || oldSet.has(source))) {
|
|
111
|
+
const sourceVersion = source._version ?? 0;
|
|
112
|
+
const readVersion = pendingVersions.get(source);
|
|
113
|
+
if (readVersion !== void 0 && sourceVersion !== readVersion) needsFollowUpUpdate = true;
|
|
114
|
+
}
|
|
115
|
+
let readers = source._readers;
|
|
116
|
+
if (!readers) {
|
|
117
|
+
readers = /* @__PURE__ */ new Map();
|
|
118
|
+
source._readers = readers;
|
|
119
|
+
}
|
|
120
|
+
readers.has(instance);
|
|
121
|
+
readers.set(instance, {
|
|
122
|
+
token: instance.lastRenderToken ?? 0,
|
|
123
|
+
generation: instance._ownershipGeneration
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
instance._lastReadSources = newSet?.size ? newSet : void 0;
|
|
127
|
+
if (needsFollowUpUpdate) scheduleReadableInstanceUpdate(instance);
|
|
128
|
+
}
|
|
129
|
+
function cleanupReadableSubscriptions(instance, generation = instance._ownershipGeneration) {
|
|
130
|
+
const sources = instance._lastReadSources;
|
|
131
|
+
if (!sources || sources.size === 0) {
|
|
132
|
+
instance._pendingReadSources = void 0;
|
|
133
|
+
instance._pendingReadSourceVersions = void 0;
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
cleanupReadableSubscriptionSources(instance, sources, generation);
|
|
137
|
+
instance._lastReadSources = void 0;
|
|
138
|
+
instance._pendingReadSources = void 0;
|
|
139
|
+
instance._pendingReadSourceVersions = void 0;
|
|
140
|
+
}
|
|
141
|
+
/** @internal Detach an exact committed read set without mutating another live generation. */
|
|
142
|
+
function cleanupReadableSubscriptionSources(instance, sources, generation) {
|
|
143
|
+
if (!sources) return;
|
|
144
|
+
for (const source of sources) if ((source._readers?.get(instance))?.generation === generation) {
|
|
145
|
+
if (source._readers?.delete(instance) && DEVELOPMENT_BUILD_ENABLED);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function withDerivedReadTracking(subscriber, fn) {
|
|
149
|
+
const prevDerivedSubscriber = currentDerivedSubscriber;
|
|
150
|
+
currentDerivedSubscriber = subscriber;
|
|
151
|
+
suppressComponentReadTrackingDepth += 1;
|
|
152
|
+
try {
|
|
153
|
+
return fn();
|
|
154
|
+
} finally {
|
|
155
|
+
suppressComponentReadTrackingDepth -= 1;
|
|
156
|
+
currentDerivedSubscriber = prevDerivedSubscriber;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function syncDerivedDependencySubscriptions(subscriber, prevSources, nextSources) {
|
|
160
|
+
for (const source of prevSources) if (!nextSources.has(source)) source._derivedSubscribers?.delete(subscriber);
|
|
161
|
+
for (const source of nextSources) {
|
|
162
|
+
let subscribers = source._derivedSubscribers;
|
|
163
|
+
if (!subscribers) {
|
|
164
|
+
subscribers = /* @__PURE__ */ new Set();
|
|
165
|
+
source._derivedSubscribers = subscribers;
|
|
166
|
+
}
|
|
167
|
+
subscribers.add(subscriber);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function clearDerivedDependencySubscriptions(subscriber, sources) {
|
|
171
|
+
for (const source of sources) source._derivedSubscribers?.delete(subscriber);
|
|
172
|
+
sources.clear();
|
|
173
|
+
}
|
|
174
|
+
function markReadableDerivedSubscribersDirty(source) {
|
|
175
|
+
const subscribers = source._derivedSubscribers;
|
|
176
|
+
if (!subscribers || subscribers.size === 0) return;
|
|
177
|
+
for (const subscriber of subscribers) subscriber._markDirty();
|
|
178
|
+
}
|
|
179
|
+
function markReactivePropsDirtySource(source) {
|
|
180
|
+
try {
|
|
181
|
+
markRuntimeReactivePropsDirtySource(source);
|
|
182
|
+
} catch {}
|
|
183
|
+
}
|
|
184
|
+
function notifyReadableReaders(source, skipInstance, skipOwnedBy) {
|
|
185
|
+
source._version = (source._version ?? 0) + 1;
|
|
186
|
+
const readers = source._readers;
|
|
187
|
+
let didScheduleUpdate = false;
|
|
188
|
+
if (!readers || readers.size === 0) return false;
|
|
189
|
+
for (const [instance, reader] of readers) {
|
|
190
|
+
if (skipInstance && instance === skipInstance) continue;
|
|
191
|
+
if (skipOwnedBy) {
|
|
192
|
+
let owner = instance;
|
|
193
|
+
let isOwned = false;
|
|
194
|
+
while (owner) {
|
|
195
|
+
if (owner === skipOwnedBy) {
|
|
196
|
+
isOwned = true;
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
owner = owner.parentInstance;
|
|
200
|
+
}
|
|
201
|
+
if (isOwned) continue;
|
|
202
|
+
}
|
|
203
|
+
if (instance._ownershipGeneration !== reader.generation || instance.lastRenderToken !== reader.token) continue;
|
|
204
|
+
if (instance.hasPendingUpdate) continue;
|
|
205
|
+
scheduleReadableInstanceUpdate(instance);
|
|
206
|
+
didScheduleUpdate = true;
|
|
207
|
+
}
|
|
208
|
+
return didScheduleUpdate;
|
|
209
|
+
}
|
|
210
|
+
//#endregion
|
|
211
|
+
//#region src/runtime/fastlane.ts
|
|
212
|
+
let _bulkCommitActive = false;
|
|
213
|
+
let _appliedParents = null;
|
|
214
|
+
function enterBulkCommit() {
|
|
215
|
+
_bulkCommitActive = true;
|
|
216
|
+
_appliedParents = /* @__PURE__ */ new WeakSet();
|
|
217
|
+
}
|
|
218
|
+
function exitBulkCommit() {
|
|
219
|
+
_bulkCommitActive = false;
|
|
220
|
+
_appliedParents = null;
|
|
221
|
+
}
|
|
222
|
+
function isBulkCommitActive() {
|
|
223
|
+
return _bulkCommitActive;
|
|
224
|
+
}
|
|
225
|
+
function markFastPathApplied(parent) {
|
|
226
|
+
if (!_appliedParents) return;
|
|
227
|
+
try {
|
|
228
|
+
_appliedParents.add(parent);
|
|
229
|
+
} catch (e) {}
|
|
230
|
+
}
|
|
231
|
+
function finalizeReadSubscriptions(instance) {
|
|
232
|
+
finalizeReadableSubscriptions(instance);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Attempt to execute a runtime fast-lane for a single component's synchronous
|
|
236
|
+
* render result. Returns true if the fast-lane was used and commit was done.
|
|
237
|
+
*
|
|
238
|
+
* Preconditions (checked conservatively):
|
|
239
|
+
* - The render result is an intrinsic element root with keyed children
|
|
240
|
+
* - The renderer's fast-path heuristics indicate to use the fast-path
|
|
241
|
+
* - No mount operations are pending on the component instance
|
|
242
|
+
* - No child vnodes are component functions (avoid async/component mounts)
|
|
243
|
+
*/
|
|
244
|
+
function unwrapFragmentForFastPath(vnode) {
|
|
245
|
+
if (!vnode || typeof vnode !== "object" || !("type" in vnode)) return vnode;
|
|
246
|
+
const v = vnode;
|
|
247
|
+
if (typeof v.type === "symbol" && (v.type === Fragment || String(v.type) === "Symbol(askr.fragment)")) {
|
|
248
|
+
const children = v.props?.children ?? v.children;
|
|
249
|
+
if (Array.isArray(children) && children.length > 0) {
|
|
250
|
+
for (const child of children) if (child && typeof child === "object" && "type" in child) {
|
|
251
|
+
if (typeof child.type === "string") return child;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return vnode;
|
|
256
|
+
}
|
|
257
|
+
function classifyUpdate(instance, result) {
|
|
258
|
+
const unwrappedResult = unwrapFragmentForFastPath(result);
|
|
259
|
+
if (!unwrappedResult || typeof unwrappedResult !== "object" || !("type" in unwrappedResult)) return {
|
|
260
|
+
useFastPath: false,
|
|
261
|
+
reason: "not-vnode"
|
|
262
|
+
};
|
|
263
|
+
const vnode = unwrappedResult;
|
|
264
|
+
if (vnode == null || typeof vnode.type !== "string") return {
|
|
265
|
+
useFastPath: false,
|
|
266
|
+
reason: "not-intrinsic"
|
|
267
|
+
};
|
|
268
|
+
const parent = instance.target;
|
|
269
|
+
if (!parent) return {
|
|
270
|
+
useFastPath: false,
|
|
271
|
+
reason: "no-root"
|
|
272
|
+
};
|
|
273
|
+
const firstChild = parent.children[0];
|
|
274
|
+
if (!firstChild) return {
|
|
275
|
+
useFastPath: false,
|
|
276
|
+
reason: "no-first-child"
|
|
277
|
+
};
|
|
278
|
+
if (firstChild.tagName.toLowerCase() !== String(vnode.type).toLowerCase()) return {
|
|
279
|
+
useFastPath: false,
|
|
280
|
+
reason: "root-tag-mismatch"
|
|
281
|
+
};
|
|
282
|
+
const children = vnode.props?.children ?? vnode.children;
|
|
283
|
+
if (!Array.isArray(children)) return {
|
|
284
|
+
useFastPath: false,
|
|
285
|
+
reason: "no-children-array"
|
|
286
|
+
};
|
|
287
|
+
for (const c of children) if (typeof c === "object" && c !== null && "type" in c && typeof c.type === "function") return {
|
|
288
|
+
useFastPath: false,
|
|
289
|
+
reason: "component-child-present"
|
|
290
|
+
};
|
|
291
|
+
if ((instance.mountOperations?.length ?? 0) > 0) return {
|
|
292
|
+
useFastPath: false,
|
|
293
|
+
reason: "pending-mounts"
|
|
294
|
+
};
|
|
295
|
+
if ((instance.commitOperations?.length ?? 0) > 0) return {
|
|
296
|
+
useFastPath: false,
|
|
297
|
+
reason: "pending-lifecycle-commits"
|
|
298
|
+
};
|
|
299
|
+
const renderer = getRuntimeRenderer();
|
|
300
|
+
try {
|
|
301
|
+
renderer.populateKeyMapForElement(firstChild);
|
|
302
|
+
} catch {}
|
|
303
|
+
const oldKeyMap = renderer.getKeyMapForElement(firstChild);
|
|
304
|
+
const decision = renderer.isKeyedReorderFastPathEligible(firstChild, children, oldKeyMap);
|
|
305
|
+
if (!decision.useFastPath || decision.totalKeyed < 128) return {
|
|
306
|
+
...decision,
|
|
307
|
+
useFastPath: false,
|
|
308
|
+
reason: "renderer-declined"
|
|
309
|
+
};
|
|
310
|
+
return {
|
|
311
|
+
...decision,
|
|
312
|
+
useFastPath: true
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function commitReorderOnly(instance, result) {
|
|
316
|
+
const renderer = getRuntimeRenderer();
|
|
317
|
+
enterBulkCommit();
|
|
318
|
+
try {
|
|
319
|
+
runRuntimeWithSyncProgress(() => {
|
|
320
|
+
renderer.evaluate(result, instance.target);
|
|
321
|
+
try {
|
|
322
|
+
finalizeReadSubscriptions(instance);
|
|
323
|
+
} catch (e) {
|
|
324
|
+
if (isDevelopmentEnvironment()) throw e;
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
return true;
|
|
328
|
+
} finally {
|
|
329
|
+
exitBulkCommit();
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
function tryRuntimeFastLaneSync(instance, result) {
|
|
333
|
+
if (!classifyUpdate(instance, result).useFastPath) return false;
|
|
334
|
+
try {
|
|
335
|
+
return commitReorderOnly(instance, result);
|
|
336
|
+
} catch (err) {
|
|
337
|
+
if (isDevelopmentEnvironment()) throw err;
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
setRuntimeBulkCommitProbe(isBulkCommitActive);
|
|
342
|
+
//#endregion
|
|
343
|
+
export { withFineGrainedReadTracking as _, cleanupReadableSubscriptions as a, finalizeReadableSubscriptionsFromSnapshot as c, markReadableUsage as d, notifyReadableReaders as f, withDerivedReadTracking as g, syncDerivedDependencySubscriptions as h, cleanupReadableSubscriptionSources as i, markReactivePropsDirtySource as l, shouldCoalesceFineGrainedItemReads as m, markFastPathApplied as n, clearDerivedDependencySubscriptions as o, recordReadableRead as p, tryRuntimeFastLaneSync as r, finalizeReadableSubscriptions as s, isBulkCommitActive as t, markReadableDerivedSubscribersDirty as u, incDevCounter as v, setDevValue as y };
|