@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,59 +0,0 @@
|
|
|
1
|
-
import { Props } from "../common/props.js";
|
|
2
|
-
import { ContextFrame } from "./context.js";
|
|
3
|
-
import { ComponentInstance } from "./component-internal.js";
|
|
4
|
-
import { ReadableSource } from "./readable.js";
|
|
5
|
-
|
|
6
|
-
//#region src/runtime/lifecycle-batch.d.ts
|
|
7
|
-
type LifecycleOperation = () => void | (() => void) | PromiseLike<void | (() => void)>;
|
|
8
|
-
type LifecycleCommitBatchEntry = {
|
|
9
|
-
instance: ComponentInstance;
|
|
10
|
-
wasFirstMount: boolean;
|
|
11
|
-
};
|
|
12
|
-
type ReadSubscriptionCommit = {
|
|
13
|
-
instance: ComponentInstance;
|
|
14
|
-
token: number;
|
|
15
|
-
pendingReadSources: Set<ReadableSource<unknown>> | undefined;
|
|
16
|
-
pendingReadSourceVersions: Map<ReadableSource<unknown>, number> | undefined;
|
|
17
|
-
};
|
|
18
|
-
type InlineRenderSnapshot = {
|
|
19
|
-
instance: ComponentInstance;
|
|
20
|
-
props: Props;
|
|
21
|
-
ownerFrame: ContextFrame | null;
|
|
22
|
-
portalScope: object | null;
|
|
23
|
-
parentInstance: ComponentInstance | null;
|
|
24
|
-
isRoot: boolean | undefined;
|
|
25
|
-
};
|
|
26
|
-
type LifecycleTransaction = {
|
|
27
|
-
key: object;
|
|
28
|
-
commit(): void;
|
|
29
|
-
rollback(): void;
|
|
30
|
-
merge?(parentTransaction: LifecycleTransaction): void;
|
|
31
|
-
};
|
|
32
|
-
type LifecycleRollback = () => void;
|
|
33
|
-
type LifecycleTransactionEntry = LifecycleTransaction | LifecycleRollback;
|
|
34
|
-
type LifecycleCommitBatch = {
|
|
35
|
-
parent: LifecycleCommitBatch | null;
|
|
36
|
-
entries: LifecycleCommitBatchEntry[];
|
|
37
|
-
entriesByInstance: Map<ComponentInstance, LifecycleCommitBatchEntry>;
|
|
38
|
-
readCommits: ReadSubscriptionCommit[];
|
|
39
|
-
readCommitsByInstance: Map<ComponentInstance, ReadSubscriptionCommit>;
|
|
40
|
-
renderSnapshots: InlineRenderSnapshot[];
|
|
41
|
-
renderSnapshotsByInstance: Map<ComponentInstance, InlineRenderSnapshot>;
|
|
42
|
-
transactions: LifecycleTransactionEntry[];
|
|
43
|
-
transactionsByKey: Map<object, LifecycleTransaction>;
|
|
44
|
-
retainedElementSnapshots: Map<Element, unknown>;
|
|
45
|
-
active: boolean;
|
|
46
|
-
};
|
|
47
|
-
/** @internal Drain commit-time cleanup errors for transaction owners such as the router. */
|
|
48
|
-
declare function drainLifecycleCommitErrors(): unknown[];
|
|
49
|
-
declare function beginLifecycleCommitBatch(): LifecycleCommitBatch;
|
|
50
|
-
declare function getCurrentLifecycleCommitBatch(): LifecycleCommitBatch | null;
|
|
51
|
-
declare function registerLifecycleTransaction(key: object, commit: () => void, rollback: () => void, merge?: (parentTransaction: LifecycleTransaction) => void): boolean;
|
|
52
|
-
declare function registerLifecycleRollback(rollback: LifecycleRollback): boolean;
|
|
53
|
-
declare function enqueueLifecycleCommitForInstance(instance: ComponentInstance, wasFirstMount: boolean): boolean;
|
|
54
|
-
declare function captureInlineRenderSnapshot(instance: ComponentInstance): void;
|
|
55
|
-
declare function finalizeInlineReadSubscriptions(instance: ComponentInstance, token: number, pendingReadSources: Set<ReadableSource<unknown>> | undefined, pendingReadSourceVersions: Map<ReadableSource<unknown>, number> | undefined): void;
|
|
56
|
-
declare function flushLifecycleCommitBatch(batch: LifecycleCommitBatch): void;
|
|
57
|
-
declare function discardLifecycleCommitBatch(batch: LifecycleCommitBatch): void;
|
|
58
|
-
//#endregion
|
|
59
|
-
export { LifecycleCommitBatch, LifecycleOperation, LifecycleTransaction };
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { logger } from "../common/logger.js";
|
|
2
|
-
import { finalizeReadableSubscriptionsFromSnapshot } from "./readable.js";
|
|
3
|
-
import { discardCommitOperations, executeCommittedLifecycleOperations } from "./lifecycle-operation-settlement.js";
|
|
4
|
-
//#region src/runtime/lifecycle-batch.ts
|
|
5
|
-
let currentLifecycleCommitBatch = null;
|
|
6
|
-
const pendingLifecycleCommitErrors = [];
|
|
7
|
-
/** @internal Drain commit-time cleanup errors for transaction owners such as the router. */
|
|
8
|
-
function drainLifecycleCommitErrors() {
|
|
9
|
-
if (pendingLifecycleCommitErrors.length === 0) return [];
|
|
10
|
-
return pendingLifecycleCommitErrors.splice(0);
|
|
11
|
-
}
|
|
12
|
-
function beginLifecycleCommitBatch() {
|
|
13
|
-
const batch = {
|
|
14
|
-
parent: currentLifecycleCommitBatch,
|
|
15
|
-
entries: [],
|
|
16
|
-
entriesByInstance: /* @__PURE__ */ new Map(),
|
|
17
|
-
readCommits: [],
|
|
18
|
-
readCommitsByInstance: /* @__PURE__ */ new Map(),
|
|
19
|
-
renderSnapshots: [],
|
|
20
|
-
renderSnapshotsByInstance: /* @__PURE__ */ new Map(),
|
|
21
|
-
transactions: [],
|
|
22
|
-
transactionsByKey: /* @__PURE__ */ new Map(),
|
|
23
|
-
retainedElementSnapshots: /* @__PURE__ */ new Map(),
|
|
24
|
-
active: true
|
|
25
|
-
};
|
|
26
|
-
currentLifecycleCommitBatch = batch;
|
|
27
|
-
return batch;
|
|
28
|
-
}
|
|
29
|
-
function getCurrentLifecycleCommitBatch() {
|
|
30
|
-
return currentLifecycleCommitBatch?.active ? currentLifecycleCommitBatch : null;
|
|
31
|
-
}
|
|
32
|
-
function enqueueLifecycleTransaction(batch, transaction) {
|
|
33
|
-
if (batch.transactionsByKey.has(transaction.key)) return;
|
|
34
|
-
batch.transactionsByKey.set(transaction.key, transaction);
|
|
35
|
-
batch.transactions.push(transaction);
|
|
36
|
-
}
|
|
37
|
-
function registerLifecycleTransaction(key, commit, rollback, merge) {
|
|
38
|
-
if (!currentLifecycleCommitBatch?.active) return false;
|
|
39
|
-
enqueueLifecycleTransaction(currentLifecycleCommitBatch, {
|
|
40
|
-
key,
|
|
41
|
-
commit,
|
|
42
|
-
rollback,
|
|
43
|
-
merge
|
|
44
|
-
});
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
function registerLifecycleRollback(rollback) {
|
|
48
|
-
if (!currentLifecycleCommitBatch?.active) return false;
|
|
49
|
-
currentLifecycleCommitBatch.transactions.push(rollback);
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
function closeLifecycleCommitBatch(batch) {
|
|
53
|
-
if (!batch.active) return false;
|
|
54
|
-
batch.active = false;
|
|
55
|
-
currentLifecycleCommitBatch = batch.parent;
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
function enqueueLifecycleCommit(batch, instance, wasFirstMount) {
|
|
59
|
-
const existing = batch.entriesByInstance.get(instance);
|
|
60
|
-
if (existing) {
|
|
61
|
-
existing.wasFirstMount = existing.wasFirstMount || wasFirstMount;
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const entry = {
|
|
65
|
-
instance,
|
|
66
|
-
wasFirstMount
|
|
67
|
-
};
|
|
68
|
-
batch.entriesByInstance.set(instance, entry);
|
|
69
|
-
batch.entries.push(entry);
|
|
70
|
-
}
|
|
71
|
-
function enqueueLifecycleCommitForInstance(instance, wasFirstMount) {
|
|
72
|
-
if (!currentLifecycleCommitBatch?.active) return false;
|
|
73
|
-
enqueueLifecycleCommit(currentLifecycleCommitBatch, instance, wasFirstMount);
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
function enqueueReadSubscriptionCommit(batch, instance, token, pendingReadSources, pendingReadSourceVersions) {
|
|
77
|
-
const existing = batch.readCommitsByInstance.get(instance);
|
|
78
|
-
const commit = existing ?? {
|
|
79
|
-
instance,
|
|
80
|
-
token,
|
|
81
|
-
pendingReadSources,
|
|
82
|
-
pendingReadSourceVersions
|
|
83
|
-
};
|
|
84
|
-
commit.token = token;
|
|
85
|
-
commit.pendingReadSources = pendingReadSources ? new Set(pendingReadSources) : void 0;
|
|
86
|
-
commit.pendingReadSourceVersions = pendingReadSourceVersions ? new Map(pendingReadSourceVersions) : void 0;
|
|
87
|
-
if (!existing) {
|
|
88
|
-
batch.readCommitsByInstance.set(instance, commit);
|
|
89
|
-
batch.readCommits.push(commit);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
function enqueueInlineRenderSnapshot(batch, snapshot) {
|
|
93
|
-
if (batch.renderSnapshotsByInstance.has(snapshot.instance)) return;
|
|
94
|
-
batch.renderSnapshotsByInstance.set(snapshot.instance, snapshot);
|
|
95
|
-
batch.renderSnapshots.push(snapshot);
|
|
96
|
-
}
|
|
97
|
-
function captureInlineRenderSnapshot(instance) {
|
|
98
|
-
if (!currentLifecycleCommitBatch?.active) return;
|
|
99
|
-
enqueueInlineRenderSnapshot(currentLifecycleCommitBatch, {
|
|
100
|
-
instance,
|
|
101
|
-
props: instance.props,
|
|
102
|
-
ownerFrame: instance.ownerFrame,
|
|
103
|
-
portalScope: instance.portalScope,
|
|
104
|
-
parentInstance: instance.parentInstance,
|
|
105
|
-
isRoot: instance.isRoot
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
function finalizeInlineReadSubscriptions(instance, token, pendingReadSources, pendingReadSourceVersions) {
|
|
109
|
-
if ((!pendingReadSources || pendingReadSources.size === 0) && (!instance._lastReadSources || instance._lastReadSources.size === 0)) return;
|
|
110
|
-
if (currentLifecycleCommitBatch?.active) {
|
|
111
|
-
enqueueReadSubscriptionCommit(currentLifecycleCommitBatch, instance, token, pendingReadSources, pendingReadSourceVersions);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
finalizeReadableSubscriptionsFromSnapshot(instance, token, pendingReadSources, pendingReadSourceVersions);
|
|
115
|
-
}
|
|
116
|
-
function flushLifecycleCommitBatch(batch) {
|
|
117
|
-
if (!closeLifecycleCommitBatch(batch)) return;
|
|
118
|
-
if (batch.parent?.active) {
|
|
119
|
-
for (const [element, snapshot] of batch.retainedElementSnapshots) if (!batch.parent.retainedElementSnapshots.has(element)) batch.parent.retainedElementSnapshots.set(element, snapshot);
|
|
120
|
-
for (const entry of batch.transactions) if (typeof entry === "function") batch.parent.transactions.push(entry);
|
|
121
|
-
else {
|
|
122
|
-
const existing = batch.parent.transactionsByKey.get(entry.key);
|
|
123
|
-
if (existing && entry.merge) entry.merge(existing);
|
|
124
|
-
else enqueueLifecycleTransaction(batch.parent, entry);
|
|
125
|
-
}
|
|
126
|
-
for (const snapshot of batch.renderSnapshots) enqueueInlineRenderSnapshot(batch.parent, snapshot);
|
|
127
|
-
for (const commit of batch.readCommits) enqueueReadSubscriptionCommit(batch.parent, commit.instance, commit.token, commit.pendingReadSources, commit.pendingReadSourceVersions);
|
|
128
|
-
for (const entry of batch.entries) enqueueLifecycleCommit(batch.parent, entry.instance, entry.wasFirstMount);
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
const commitErrors = [];
|
|
132
|
-
for (const commit of batch.readCommits) try {
|
|
133
|
-
finalizeReadableSubscriptionsFromSnapshot(commit.instance, commit.token, commit.pendingReadSources, commit.pendingReadSourceVersions);
|
|
134
|
-
} catch (error) {
|
|
135
|
-
commitErrors.push(error);
|
|
136
|
-
}
|
|
137
|
-
for (const transaction of batch.transactions) {
|
|
138
|
-
if (typeof transaction === "function") continue;
|
|
139
|
-
try {
|
|
140
|
-
transaction.commit();
|
|
141
|
-
} catch (error) {
|
|
142
|
-
commitErrors.push(error);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
for (const entry of batch.entries) try {
|
|
146
|
-
executeCommittedLifecycleOperations(entry.instance, entry.wasFirstMount);
|
|
147
|
-
} catch (error) {
|
|
148
|
-
commitErrors.push(error);
|
|
149
|
-
}
|
|
150
|
-
if (commitErrors.length > 0) {
|
|
151
|
-
pendingLifecycleCommitErrors.push(...commitErrors);
|
|
152
|
-
logger.error("[Askr] committed lifecycle work failed:", new AggregateError(commitErrors, "Committed lifecycle work failed"));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
function discardLifecycleCommitBatch(batch) {
|
|
156
|
-
if (!closeLifecycleCommitBatch(batch)) return;
|
|
157
|
-
for (let index = batch.transactions.length - 1; index >= 0; index -= 1) try {
|
|
158
|
-
const transaction = batch.transactions[index];
|
|
159
|
-
if (typeof transaction === "function") transaction();
|
|
160
|
-
else transaction.rollback();
|
|
161
|
-
} catch (error) {
|
|
162
|
-
logger.error("[Askr] transaction rollback failed:", error);
|
|
163
|
-
}
|
|
164
|
-
for (let index = batch.renderSnapshots.length - 1; index >= 0; index -= 1) {
|
|
165
|
-
const snapshot = batch.renderSnapshots[index];
|
|
166
|
-
snapshot.instance.props = snapshot.props;
|
|
167
|
-
snapshot.instance.ownerFrame = snapshot.ownerFrame;
|
|
168
|
-
snapshot.instance.portalScope = snapshot.portalScope;
|
|
169
|
-
snapshot.instance.parentInstance = snapshot.parentInstance;
|
|
170
|
-
snapshot.instance.isRoot = snapshot.isRoot;
|
|
171
|
-
}
|
|
172
|
-
for (const entry of batch.entries) {
|
|
173
|
-
if (entry.wasFirstMount) entry.instance.mountOperations = [];
|
|
174
|
-
discardCommitOperations(entry.instance);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
//#endregion
|
|
178
|
-
export { beginLifecycleCommitBatch, captureInlineRenderSnapshot, discardLifecycleCommitBatch, drainLifecycleCommitErrors, enqueueLifecycleCommitForInstance, finalizeInlineReadSubscriptions, flushLifecycleCommitBatch, getCurrentLifecycleCommitBatch, registerLifecycleRollback, registerLifecycleTransaction };
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ComponentInstance } from "./component-internal.js";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/lifecycle-operation-settlement.d.ts
|
|
4
|
-
declare function discardCommitOperations(instance: ComponentInstance): void;
|
|
5
|
-
declare function executeCommittedLifecycleOperations(instance: ComponentInstance, wasFirstMount: boolean): void;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { logger } from "../common/logger.js";
|
|
2
|
-
import { isPromiseLike } from "../common/promise.js";
|
|
3
|
-
//#region src/runtime/lifecycle-operation-settlement.ts
|
|
4
|
-
function settleLifecycleOperationResult(instance, lifecycleGeneration, result) {
|
|
5
|
-
if (isPromiseLike(result)) Promise.resolve(result).then((cleanup) => {
|
|
6
|
-
if (typeof cleanup === "function") {
|
|
7
|
-
if (instance.lifecycleGeneration === lifecycleGeneration && instance.mounted) {
|
|
8
|
-
(instance.cleanupFns ??= []).push(cleanup);
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
try {
|
|
12
|
-
cleanup();
|
|
13
|
-
} catch (err) {
|
|
14
|
-
logger.error("[Askr] async mount cleanup failed:", err);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}, (err) => {
|
|
18
|
-
logger.error("[Askr] async mount operation failed:", err);
|
|
19
|
-
});
|
|
20
|
-
else if (typeof result === "function") (instance.cleanupFns ??= []).push(result);
|
|
21
|
-
}
|
|
22
|
-
function executeOperations(instance, operations) {
|
|
23
|
-
if (operations.length === 0) return [];
|
|
24
|
-
const lifecycleGeneration = instance.lifecycleGeneration;
|
|
25
|
-
const errors = [];
|
|
26
|
-
for (const operation of operations) try {
|
|
27
|
-
settleLifecycleOperationResult(instance, lifecycleGeneration, operation());
|
|
28
|
-
} catch (error) {
|
|
29
|
-
errors.push(error);
|
|
30
|
-
}
|
|
31
|
-
return errors;
|
|
32
|
-
}
|
|
33
|
-
function discardCommitOperations(instance) {
|
|
34
|
-
instance.commitOperations = [];
|
|
35
|
-
}
|
|
36
|
-
function executeCommittedLifecycleOperations(instance, wasFirstMount) {
|
|
37
|
-
const errors = [];
|
|
38
|
-
if (wasFirstMount && (instance.mountOperations?.length ?? 0) > 0) {
|
|
39
|
-
const operations = instance.mountOperations;
|
|
40
|
-
instance.mountOperations = [];
|
|
41
|
-
errors.push(...executeOperations(instance, operations));
|
|
42
|
-
}
|
|
43
|
-
if ((instance.commitOperations?.length ?? 0) > 0) {
|
|
44
|
-
const operations = instance.commitOperations;
|
|
45
|
-
instance.commitOperations = [];
|
|
46
|
-
errors.push(...executeOperations(instance, operations));
|
|
47
|
-
}
|
|
48
|
-
if (errors.length > 0) throw new AggregateError(errors, `Committed lifecycle operations failed for ${instance.id}`);
|
|
49
|
-
}
|
|
50
|
-
//#endregion
|
|
51
|
-
export { discardCommitOperations, executeCommittedLifecycleOperations };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//#region src/runtime/lifecycle-operations.d.ts
|
|
2
|
-
type ActivityPredicate = () => boolean;
|
|
3
|
-
interface TimerOptions {
|
|
4
|
-
when?: ActivityPredicate | readonly ActivityPredicate[];
|
|
5
|
-
}
|
|
6
|
-
declare function routeActive(pathOrPaths: string | readonly string[]): ActivityPredicate;
|
|
7
|
-
declare function documentVisible(): ActivityPredicate;
|
|
8
|
-
declare function windowFocused(): ActivityPredicate;
|
|
9
|
-
type ListenerOptions = boolean | AddEventListenerOptions | undefined;
|
|
10
|
-
declare function on(target: EventTarget, event: string, handler: EventListener, options?: ListenerOptions): void;
|
|
11
|
-
declare function timer(intervalMs: number, fn: () => void, options?: TimerOptions): void;
|
|
12
|
-
declare function stream<T>(_source: unknown, _options?: Record<string, unknown>): {
|
|
13
|
-
value: T | null;
|
|
14
|
-
pending: boolean;
|
|
15
|
-
error: Error | null;
|
|
16
|
-
};
|
|
17
|
-
declare function task(fn: () => void | (() => void) | PromiseLike<void | (() => void)>): void;
|
|
18
|
-
/**
|
|
19
|
-
* Capture the result of a synchronous expression at call time and return a
|
|
20
|
-
* thunk that returns the captured value later. This is a low-level helper for
|
|
21
|
-
* cases where async continuations need to observe a snapshot of values at the
|
|
22
|
-
* moment scheduling occurred.
|
|
23
|
-
*
|
|
24
|
-
* Usage (public API):
|
|
25
|
-
* const snapshot = capture(() => someState());
|
|
26
|
-
* Promise.resolve().then(() => { use(snapshot()); });
|
|
27
|
-
*/
|
|
28
|
-
declare function capture<T>(fn: () => T): () => T;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { ActivityPredicate, TimerOptions, capture, documentVisible, on, routeActive, stream, task, timer, windowFocused };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { ResourceResult, resource } from "./resource-operation.js";
|
|
2
|
-
import { ActivityPredicate, TimerOptions, capture, documentVisible, on, routeActive, stream, task, timer, windowFocused } from "./lifecycle-operations.js";
|
|
3
|
-
export { type ActivityPredicate, type ResourceResult, type TimerOptions, capture, documentVisible, on, resource, routeActive, stream, task, timer, windowFocused };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { resource } from "./resource-operation.js";
|
|
2
|
-
import { capture, documentVisible, on, routeActive, stream, task, timer, windowFocused } from "./lifecycle-operations.js";
|
|
3
|
-
export { capture, documentVisible, on, resource, routeActive, stream, task, timer, windowFocused };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
//#region src/runtime/perf-metrics.d.ts
|
|
2
|
-
type PerfMetrics = {
|
|
3
|
-
selectorInvalidations: number;
|
|
4
|
-
selectorCandidateReads: number;
|
|
5
|
-
reactivePropReevaluations: number;
|
|
6
|
-
skippedDomPropWrites: number;
|
|
7
|
-
classListPatchOps: number;
|
|
8
|
-
delegatedAncestorHops: number;
|
|
9
|
-
hydrationBoundaryActivations: number;
|
|
10
|
-
ssrTagCacheHits: number;
|
|
11
|
-
lastSchedulerTaskCountPerFlush: number;
|
|
12
|
-
maxSchedulerTaskCountPerFlush: number;
|
|
13
|
-
schedulerFlushCount: number;
|
|
14
|
-
schedulerTaskExecutions: number;
|
|
15
|
-
ssgWorkerCount: number;
|
|
16
|
-
ssgRenderTimeMs: number;
|
|
17
|
-
ssgWorkerRenderTimeMs: number;
|
|
18
|
-
ssgWriteTimeMs: number;
|
|
19
|
-
};
|
|
20
|
-
type IncrementPerfMetric = (key: 'selectorInvalidations' | 'selectorCandidateReads' | 'reactivePropReevaluations' | 'skippedDomPropWrites' | 'classListPatchOps' | 'delegatedAncestorHops' | 'hydrationBoundaryActivations' | 'ssrTagCacheHits' | 'ssgWorkerCount', delta?: number) => void;
|
|
21
|
-
type AddPerfDuration = (key: 'ssgRenderTimeMs' | 'ssgWorkerRenderTimeMs' | 'ssgWriteTimeMs', deltaMs: number) => void;
|
|
22
|
-
declare const getPerfMetricsStore: () => PerfMetrics | null;
|
|
23
|
-
declare const incrementPerfMetric: IncrementPerfMetric;
|
|
24
|
-
declare const addPerfDuration: AddPerfDuration;
|
|
25
|
-
declare const recordSchedulerFlushTaskCount: (taskCount: number) => void;
|
|
26
|
-
declare const getPerfMetrics: () => Readonly<PerfMetrics> | undefined;
|
|
27
|
-
declare const resetPerfMetrics: () => void;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
const getPerfMetricsStore = () => null;
|
|
2
|
-
const incrementPerfMetric = () => {};
|
|
3
|
-
const addPerfDuration = () => {};
|
|
4
|
-
const recordSchedulerFlushTaskCount = () => {};
|
|
5
|
-
//#endregion
|
|
6
|
-
export { addPerfDuration, getPerfMetricsStore, incrementPerfMetric, recordSchedulerFlushTaskCount };
|
package/dist/runtime/portal.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ComponentInstance } from "./component-internal.js";
|
|
2
|
-
import { RenderableChild } from "../common/vnode.js";
|
|
3
|
-
|
|
4
|
-
//#region src/runtime/portal.d.ts
|
|
5
|
-
interface Portal<T extends RenderableChild = RenderableChild> {
|
|
6
|
-
(): unknown;
|
|
7
|
-
render(props: {
|
|
8
|
-
children?: T;
|
|
9
|
-
}): unknown;
|
|
10
|
-
}
|
|
11
|
-
interface PortalProps {
|
|
12
|
-
children?: RenderableChild;
|
|
13
|
-
}
|
|
14
|
-
declare function definePortal<T extends RenderableChild = RenderableChild>(): Portal<T>;
|
|
15
|
-
declare function _resetDefaultPortal(): void;
|
|
16
|
-
declare function disposeDefaultPortalScope(scope: object | null): void;
|
|
17
|
-
declare function clearDefaultPortalForInstance(instance: ComponentInstance): void;
|
|
18
|
-
declare const DefaultPortal: Portal<RenderableChild>;
|
|
19
|
-
declare function Portal(props: PortalProps): null;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { DefaultPortal, Portal, PortalProps, definePortal };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ComponentInstance } from "./component-internal.js";
|
|
2
|
-
//#region src/runtime/readable.d.ts
|
|
3
|
-
interface DerivedSubscriber {
|
|
4
|
-
_markDirty(): void;
|
|
5
|
-
_pendingDependencySources?: Set<ReadableSource<unknown>>;
|
|
6
|
-
}
|
|
7
|
-
interface ReadableSource<T = unknown> {
|
|
8
|
-
(): T;
|
|
9
|
-
_hasBeenRead?: boolean;
|
|
10
|
-
_hasEverBeenRead?: boolean;
|
|
11
|
-
_readers?: Map<ComponentInstance, number>;
|
|
12
|
-
_derivedSubscribers?: Set<DerivedSubscriber>;
|
|
13
|
-
_version?: number;
|
|
14
|
-
}
|
|
15
|
-
interface FineGrainedReadCollector {
|
|
16
|
-
_pendingFineGrainedReadSource: ReadableSource<unknown> | null;
|
|
17
|
-
_pendingFineGrainedReadSources: ReadableSource<unknown> | ReadableSource<unknown>[] | Set<ReadableSource<unknown>> | null;
|
|
18
|
-
}
|
|
19
|
-
declare function markReadableUsage(source: unknown): void;
|
|
20
|
-
declare function recordReadableRead(source: ReadableSource<unknown>): void;
|
|
21
|
-
declare function withFineGrainedReadTracking<T>(collector: FineGrainedReadCollector, fn: () => T): T;
|
|
22
|
-
/** @internal Whether the active grouped effect coalesces item-property reads. */
|
|
23
|
-
declare function shouldCoalesceFineGrainedItemReads(): boolean;
|
|
24
|
-
declare function finalizeReadableSubscriptions(instance: ComponentInstance): void;
|
|
25
|
-
declare function finalizeReadableSubscriptionsFromSnapshot(instance: ComponentInstance, token: number | undefined, newSet: Set<ReadableSource<unknown>> | undefined, pendingReadSourceVersions?: Map<ReadableSource<unknown>, number> | undefined): void;
|
|
26
|
-
declare function cleanupReadableSubscriptions(instance: ComponentInstance): void;
|
|
27
|
-
declare function withDerivedReadTracking<T>(subscriber: DerivedSubscriber, fn: () => T): T;
|
|
28
|
-
declare function syncDerivedDependencySubscriptions(subscriber: DerivedSubscriber, prevSources: Set<ReadableSource<unknown>>, nextSources: Set<ReadableSource<unknown>>): void;
|
|
29
|
-
declare function clearDerivedDependencySubscriptions(subscriber: DerivedSubscriber, sources: Set<ReadableSource<unknown>>): void;
|
|
30
|
-
declare function markReadableDerivedSubscribersDirty(source: ReadableSource<unknown>): void;
|
|
31
|
-
declare function markReactivePropsDirtySource(source: ReadableSource<unknown>): void;
|
|
32
|
-
declare function notifyReadableReaders(source: ReadableSource<unknown>, skipInstance?: ComponentInstance | null, skipOwnedBy?: ComponentInstance | null): boolean;
|
|
33
|
-
//#endregion
|
|
34
|
-
export { DerivedSubscriber, FineGrainedReadCollector, ReadableSource };
|
package/dist/runtime/readable.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { enqueueRuntimeTask, markRuntimeReactivePropsDirtySource } from "./access.js";
|
|
2
|
-
import { getCurrentInstance } from "./component-scope.js";
|
|
3
|
-
import "./component.js";
|
|
4
|
-
function markReadableUsage(source) {
|
|
5
|
-
if (source && typeof source === "function" && ("_hasBeenRead" in source || "_readers" in source)) {
|
|
6
|
-
const readable = source;
|
|
7
|
-
readable._hasBeenRead = true;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
let currentDerivedSubscriber = null;
|
|
11
|
-
let suppressComponentReadTrackingDepth = 0;
|
|
12
|
-
let currentFineGrainedReadCollector = null;
|
|
13
|
-
function scheduleReadableInstanceUpdate(instance) {
|
|
14
|
-
if (instance.hasPendingUpdate) return;
|
|
15
|
-
instance.hasPendingUpdate = true;
|
|
16
|
-
const task = instance._pendingFlushTask;
|
|
17
|
-
if (task) {
|
|
18
|
-
enqueueRuntimeTask(task);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
enqueueRuntimeTask(() => {
|
|
22
|
-
instance.hasPendingUpdate = false;
|
|
23
|
-
instance.notifyUpdate?.();
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
function recordReadableRead(source) {
|
|
27
|
-
if (currentFineGrainedReadCollector) {
|
|
28
|
-
const first = currentFineGrainedReadCollector._pendingFineGrainedReadSource;
|
|
29
|
-
if (!first) currentFineGrainedReadCollector._pendingFineGrainedReadSource = source;
|
|
30
|
-
else if (first !== source) {
|
|
31
|
-
let sources = currentFineGrainedReadCollector._pendingFineGrainedReadSources;
|
|
32
|
-
if (!sources) currentFineGrainedReadCollector._pendingFineGrainedReadSources = source;
|
|
33
|
-
else if (Array.isArray(sources)) {
|
|
34
|
-
if (!sources.includes(source)) sources.push(source);
|
|
35
|
-
} else if (sources instanceof Set) sources.add(source);
|
|
36
|
-
else if (sources !== source) currentFineGrainedReadCollector._pendingFineGrainedReadSources = [
|
|
37
|
-
first,
|
|
38
|
-
sources,
|
|
39
|
-
source
|
|
40
|
-
];
|
|
41
|
-
}
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (currentDerivedSubscriber) {
|
|
45
|
-
if (!currentDerivedSubscriber._pendingDependencySources) currentDerivedSubscriber._pendingDependencySources = /* @__PURE__ */ new Set();
|
|
46
|
-
currentDerivedSubscriber._pendingDependencySources.add(source);
|
|
47
|
-
}
|
|
48
|
-
if (suppressComponentReadTrackingDepth > 0) return;
|
|
49
|
-
const inst = getCurrentInstance();
|
|
50
|
-
if (!inst || inst._currentRenderToken === void 0) return;
|
|
51
|
-
if (!inst._pendingReadSources) inst._pendingReadSources = /* @__PURE__ */ new Set();
|
|
52
|
-
inst._pendingReadSources.add(source);
|
|
53
|
-
const sourceVersion = source._version ?? 0;
|
|
54
|
-
let pendingVersions = inst._pendingReadSourceVersions;
|
|
55
|
-
if (!pendingVersions) {
|
|
56
|
-
pendingVersions = /* @__PURE__ */ new Map();
|
|
57
|
-
inst._pendingReadSourceVersions = pendingVersions;
|
|
58
|
-
}
|
|
59
|
-
pendingVersions.set(source, sourceVersion);
|
|
60
|
-
}
|
|
61
|
-
function withFineGrainedReadTracking(collector, fn) {
|
|
62
|
-
const previousCollector = currentFineGrainedReadCollector;
|
|
63
|
-
currentFineGrainedReadCollector = collector;
|
|
64
|
-
try {
|
|
65
|
-
return fn.call(collector);
|
|
66
|
-
} finally {
|
|
67
|
-
currentFineGrainedReadCollector = previousCollector;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/** @internal Whether the active grouped effect coalesces item-property reads. */
|
|
71
|
-
function shouldCoalesceFineGrainedItemReads() {
|
|
72
|
-
return (currentFineGrainedReadCollector?._owner)?._coalesceForItemReads === true;
|
|
73
|
-
}
|
|
74
|
-
function finalizeReadableSubscriptions(instance) {
|
|
75
|
-
const newSet = instance._pendingReadSources;
|
|
76
|
-
const token = instance._currentRenderToken;
|
|
77
|
-
const pendingVersions = instance._pendingReadSourceVersions;
|
|
78
|
-
finalizeReadableSubscriptionsFromSnapshot(instance, token, newSet, pendingVersions);
|
|
79
|
-
instance._pendingReadSources = void 0;
|
|
80
|
-
instance._currentRenderToken = void 0;
|
|
81
|
-
instance._pendingReadSourceVersions = void 0;
|
|
82
|
-
}
|
|
83
|
-
function finalizeReadableSubscriptionsFromSnapshot(instance, token, newSet, pendingReadSourceVersions = instance._pendingReadSourceVersions) {
|
|
84
|
-
if (token === void 0) return;
|
|
85
|
-
const oldSet = instance._lastReadSources;
|
|
86
|
-
const pendingVersions = pendingReadSourceVersions;
|
|
87
|
-
let needsFollowUpUpdate = false;
|
|
88
|
-
if (oldSet) {
|
|
89
|
-
for (const source of oldSet) if (!newSet?.has(source)) source._readers?.delete(instance);
|
|
90
|
-
}
|
|
91
|
-
instance.lastRenderToken = token;
|
|
92
|
-
if (newSet) for (const source of newSet) {
|
|
93
|
-
if (pendingVersions && (!oldSet || oldSet.has(source))) {
|
|
94
|
-
const sourceVersion = source._version ?? 0;
|
|
95
|
-
const readVersion = pendingVersions.get(source);
|
|
96
|
-
if (readVersion !== void 0 && sourceVersion !== readVersion) needsFollowUpUpdate = true;
|
|
97
|
-
}
|
|
98
|
-
let readers = source._readers;
|
|
99
|
-
if (!readers) {
|
|
100
|
-
readers = /* @__PURE__ */ new Map();
|
|
101
|
-
source._readers = readers;
|
|
102
|
-
}
|
|
103
|
-
readers.set(instance, instance.lastRenderToken ?? 0);
|
|
104
|
-
}
|
|
105
|
-
instance._lastReadSources = newSet?.size ? newSet : void 0;
|
|
106
|
-
if (needsFollowUpUpdate) scheduleReadableInstanceUpdate(instance);
|
|
107
|
-
}
|
|
108
|
-
function cleanupReadableSubscriptions(instance) {
|
|
109
|
-
const sources = instance._lastReadSources;
|
|
110
|
-
if (!sources || sources.size === 0) {
|
|
111
|
-
instance._pendingReadSources = void 0;
|
|
112
|
-
instance._pendingReadSourceVersions = void 0;
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
for (const source of sources) source._readers?.delete(instance);
|
|
116
|
-
instance._lastReadSources = void 0;
|
|
117
|
-
instance._pendingReadSources = void 0;
|
|
118
|
-
instance._pendingReadSourceVersions = void 0;
|
|
119
|
-
}
|
|
120
|
-
function withDerivedReadTracking(subscriber, fn) {
|
|
121
|
-
const prevDerivedSubscriber = currentDerivedSubscriber;
|
|
122
|
-
currentDerivedSubscriber = subscriber;
|
|
123
|
-
suppressComponentReadTrackingDepth += 1;
|
|
124
|
-
try {
|
|
125
|
-
return fn();
|
|
126
|
-
} finally {
|
|
127
|
-
suppressComponentReadTrackingDepth -= 1;
|
|
128
|
-
currentDerivedSubscriber = prevDerivedSubscriber;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
function syncDerivedDependencySubscriptions(subscriber, prevSources, nextSources) {
|
|
132
|
-
for (const source of prevSources) if (!nextSources.has(source)) source._derivedSubscribers?.delete(subscriber);
|
|
133
|
-
for (const source of nextSources) {
|
|
134
|
-
let subscribers = source._derivedSubscribers;
|
|
135
|
-
if (!subscribers) {
|
|
136
|
-
subscribers = /* @__PURE__ */ new Set();
|
|
137
|
-
source._derivedSubscribers = subscribers;
|
|
138
|
-
}
|
|
139
|
-
subscribers.add(subscriber);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
function clearDerivedDependencySubscriptions(subscriber, sources) {
|
|
143
|
-
for (const source of sources) source._derivedSubscribers?.delete(subscriber);
|
|
144
|
-
sources.clear();
|
|
145
|
-
}
|
|
146
|
-
function markReadableDerivedSubscribersDirty(source) {
|
|
147
|
-
const subscribers = source._derivedSubscribers;
|
|
148
|
-
if (!subscribers || subscribers.size === 0) return;
|
|
149
|
-
for (const subscriber of subscribers) subscriber._markDirty();
|
|
150
|
-
}
|
|
151
|
-
function markReactivePropsDirtySource(source) {
|
|
152
|
-
try {
|
|
153
|
-
markRuntimeReactivePropsDirtySource(source);
|
|
154
|
-
} catch {}
|
|
155
|
-
}
|
|
156
|
-
function notifyReadableReaders(source, skipInstance, skipOwnedBy) {
|
|
157
|
-
source._version = (source._version ?? 0) + 1;
|
|
158
|
-
const readers = source._readers;
|
|
159
|
-
let didScheduleUpdate = false;
|
|
160
|
-
if (!readers || readers.size === 0) return false;
|
|
161
|
-
for (const [instance, token] of readers) {
|
|
162
|
-
if (skipInstance && instance === skipInstance) continue;
|
|
163
|
-
if (skipOwnedBy) {
|
|
164
|
-
let owner = instance;
|
|
165
|
-
let isOwned = false;
|
|
166
|
-
while (owner) {
|
|
167
|
-
if (owner === skipOwnedBy) {
|
|
168
|
-
isOwned = true;
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
owner = owner.parentInstance;
|
|
172
|
-
}
|
|
173
|
-
if (isOwned) continue;
|
|
174
|
-
}
|
|
175
|
-
if (instance.lastRenderToken !== token) continue;
|
|
176
|
-
if (instance.hasPendingUpdate) continue;
|
|
177
|
-
scheduleReadableInstanceUpdate(instance);
|
|
178
|
-
didScheduleUpdate = true;
|
|
179
|
-
}
|
|
180
|
-
return didScheduleUpdate;
|
|
181
|
-
}
|
|
182
|
-
//#endregion
|
|
183
|
-
export { cleanupReadableSubscriptions, clearDerivedDependencySubscriptions, finalizeReadableSubscriptions, finalizeReadableSubscriptionsFromSnapshot, markReactivePropsDirtySource, markReadableDerivedSubscribersDirty, markReadableUsage, notifyReadableReaders, recordReadableRead, shouldCoalesceFineGrainedItemReads, syncDerivedDependencySubscriptions, withDerivedReadTracking, withFineGrainedReadTracking };
|