@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 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { getCurrentComponentInstance, getCurrentPortalScope } from "./component-scope.js";
|
|
4
|
-
import { cleanupComponent } from "./component-
|
|
5
|
-
import { getCurrentLifecycleCommitBatch, registerLifecycleTransaction } from "./lifecycle-batch.js";
|
|
6
|
-
import "./component-lifecycle.js";
|
|
7
|
-
import "./component.js";
|
|
1
|
+
import { o as getRuntimeRenderer } from "./access-Bg4RJNC8.js";
|
|
2
|
+
import { f as notifyReadableReaders, l as markReactivePropsDirtySource, p as recordReadableRead, u as markReadableDerivedSubscribersDirty } from "./fastlane-Dw8SOBr9.js";
|
|
3
|
+
import { f as getCurrentComponentInstance, m as getCurrentPortalScope } from "./component-scope-CC3cojX9.js";
|
|
4
|
+
import { f as registerLifecycleTransaction, h as cleanupComponent, u as getCurrentLifecycleCommitBatch } from "./component-lifecycle-C7lnU9Bt.js";
|
|
8
5
|
//#region src/runtime/portal.ts
|
|
9
6
|
function createPortalSlot() {
|
|
10
7
|
let currentValue;
|
|
@@ -55,6 +52,26 @@ let _hasPendingDefaultPortalValue = false;
|
|
|
55
52
|
let _pendingDefaultPortalValue = void 0;
|
|
56
53
|
let _pendingDefaultPortalWrites = /* @__PURE__ */ new WeakMap();
|
|
57
54
|
const _batchPortalWrites = /* @__PURE__ */ new WeakMap();
|
|
55
|
+
function trackBatchPortalWrite(batch, state, transaction) {
|
|
56
|
+
let current = batch;
|
|
57
|
+
while (current) {
|
|
58
|
+
let writes = _batchPortalWrites.get(current);
|
|
59
|
+
if (!writes) {
|
|
60
|
+
writes = /* @__PURE__ */ new Map();
|
|
61
|
+
_batchPortalWrites.set(current, writes);
|
|
62
|
+
}
|
|
63
|
+
if (!writes.has(state)) writes.set(state, transaction);
|
|
64
|
+
current = current.parent;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function clearTrackedBatchPortalWrite(transaction) {
|
|
68
|
+
let batch = transaction.batch ?? null;
|
|
69
|
+
while (batch) {
|
|
70
|
+
const writes = _batchPortalWrites.get(batch);
|
|
71
|
+
if (writes?.get(transaction.state) === transaction) writes.delete(transaction.state);
|
|
72
|
+
batch = batch.parent;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
58
75
|
function createExplicitHostSource(readCount) {
|
|
59
76
|
let source = (() => {
|
|
60
77
|
recordReadableRead(source);
|
|
@@ -76,18 +93,13 @@ function createDefaultPortalState() {
|
|
|
76
93
|
owner: null,
|
|
77
94
|
host: null,
|
|
78
95
|
cleanupOwners: /* @__PURE__ */ new WeakSet(),
|
|
79
|
-
explicitHostOwners: /* @__PURE__ */ new
|
|
96
|
+
explicitHostOwners: /* @__PURE__ */ new Map(),
|
|
80
97
|
explicitHostCleanupOwners: /* @__PURE__ */ new WeakSet(),
|
|
81
98
|
explicitHostSource: (() => 0)
|
|
82
99
|
};
|
|
83
100
|
state.explicitHostSource = createExplicitHostSource(() => state.explicitHostOwners.size);
|
|
84
101
|
return state;
|
|
85
102
|
}
|
|
86
|
-
function isExplicitHostOwnerConnected(owner) {
|
|
87
|
-
if (owner.target) return owner.target.isConnected;
|
|
88
|
-
if (owner._placeholder) return owner._placeholder.isConnected;
|
|
89
|
-
return owner.mounted;
|
|
90
|
-
}
|
|
91
103
|
function disposeDefaultPortalScope(scope) {
|
|
92
104
|
if (!scope) return;
|
|
93
105
|
const state = _defaultPortalStates.get(scope);
|
|
@@ -95,13 +107,13 @@ function disposeDefaultPortalScope(scope) {
|
|
|
95
107
|
_defaultPortalStates.delete(scope);
|
|
96
108
|
}
|
|
97
109
|
function isComponentPortalScope(scope) {
|
|
98
|
-
return
|
|
110
|
+
return "lifecycleGeneration" in scope && "evaluationGeneration" in scope && "parentInstance" in scope;
|
|
99
111
|
}
|
|
100
112
|
function isEmptyPortalValue(value) {
|
|
101
113
|
return value === null || value === void 0 || value === false;
|
|
102
114
|
}
|
|
103
115
|
function detachDefaultPortalHostOutput(state) {
|
|
104
|
-
const host = state.host;
|
|
116
|
+
const host = state.host?.instance;
|
|
105
117
|
const target = host?.target;
|
|
106
118
|
const parent = target?.parentNode;
|
|
107
119
|
if (!host || !target || !parent) return;
|
|
@@ -160,6 +172,10 @@ function writeDefaultPortal(props, owner) {
|
|
|
160
172
|
return;
|
|
161
173
|
}
|
|
162
174
|
const state = getDefaultPortalState(scope);
|
|
175
|
+
const capturedOwner = owner ? {
|
|
176
|
+
instance: owner,
|
|
177
|
+
generation: owner._ownershipGeneration
|
|
178
|
+
} : null;
|
|
163
179
|
const batch = getCurrentLifecycleCommitBatch();
|
|
164
180
|
if (batch) {
|
|
165
181
|
let writes = _batchPortalWrites.get(batch);
|
|
@@ -169,44 +185,44 @@ function writeDefaultPortal(props, owner) {
|
|
|
169
185
|
}
|
|
170
186
|
const existing = writes.get(state);
|
|
171
187
|
if (existing) {
|
|
172
|
-
existing.owner =
|
|
188
|
+
existing.owner = capturedOwner;
|
|
173
189
|
existing.children = props.children;
|
|
174
190
|
return;
|
|
175
191
|
}
|
|
176
192
|
const transaction = {
|
|
177
193
|
state,
|
|
178
|
-
owner,
|
|
194
|
+
owner: capturedOwner,
|
|
179
195
|
children: props.children,
|
|
180
196
|
batch
|
|
181
197
|
};
|
|
182
198
|
if (registerLifecycleTransaction(state, () => {
|
|
183
199
|
if (_batchPortalWrites.get(batch)?.get(state) !== transaction) return;
|
|
184
|
-
|
|
200
|
+
clearTrackedBatchPortalWrite(transaction);
|
|
185
201
|
applyDefaultPortalWrite(state, transaction.children, transaction.owner);
|
|
186
202
|
}, () => {
|
|
187
|
-
|
|
203
|
+
clearTrackedBatchPortalWrite(transaction);
|
|
188
204
|
}, () => {
|
|
189
205
|
const parentBatch = batch.parent;
|
|
190
206
|
const parentWrite = parentBatch ? _batchPortalWrites.get(parentBatch)?.get(state) : void 0;
|
|
191
|
-
if (parentWrite) {
|
|
207
|
+
if (parentWrite && parentWrite !== transaction) {
|
|
192
208
|
parentWrite.owner = transaction.owner;
|
|
193
209
|
parentWrite.children = transaction.children;
|
|
194
210
|
}
|
|
195
|
-
|
|
211
|
+
clearTrackedBatchPortalWrite(transaction);
|
|
196
212
|
})) {
|
|
197
|
-
|
|
213
|
+
trackBatchPortalWrite(batch, state, transaction);
|
|
198
214
|
return;
|
|
199
215
|
}
|
|
200
216
|
}
|
|
201
217
|
const pending = _pendingDefaultPortalWrites.get(state);
|
|
202
218
|
if (pending) {
|
|
203
|
-
pending.owner =
|
|
219
|
+
pending.owner = capturedOwner;
|
|
204
220
|
pending.children = props.children;
|
|
205
221
|
return;
|
|
206
222
|
}
|
|
207
223
|
const transaction = {
|
|
208
224
|
state,
|
|
209
|
-
owner,
|
|
225
|
+
owner: capturedOwner,
|
|
210
226
|
children: props.children
|
|
211
227
|
};
|
|
212
228
|
if (registerLifecycleTransaction(transaction, () => {
|
|
@@ -223,7 +239,7 @@ function writeDefaultPortal(props, owner) {
|
|
|
223
239
|
}
|
|
224
240
|
_hasPendingDefaultPortalValue = false;
|
|
225
241
|
_pendingDefaultPortalValue = void 0;
|
|
226
|
-
applyDefaultPortalWrite(state, props.children,
|
|
242
|
+
applyDefaultPortalWrite(state, props.children, capturedOwner);
|
|
227
243
|
}
|
|
228
244
|
function applyPendingDefaultPortalValue(scope) {
|
|
229
245
|
if (!_hasPendingDefaultPortalValue) return;
|
|
@@ -233,35 +249,46 @@ function applyPendingDefaultPortalValue(scope) {
|
|
|
233
249
|
_hasPendingDefaultPortalValue = false;
|
|
234
250
|
_pendingDefaultPortalValue = void 0;
|
|
235
251
|
}
|
|
252
|
+
function getPendingDefaultPortalWrite(state) {
|
|
253
|
+
let batch = getCurrentLifecycleCommitBatch();
|
|
254
|
+
while (batch) {
|
|
255
|
+
const pending = _batchPortalWrites.get(batch)?.get(state);
|
|
256
|
+
if (pending) return pending;
|
|
257
|
+
batch = batch.parent;
|
|
258
|
+
}
|
|
259
|
+
return _pendingDefaultPortalWrites.get(state);
|
|
260
|
+
}
|
|
261
|
+
function hasPendingReplacementPortalOwner(state, owner, generation) {
|
|
262
|
+
const pendingOwner = getPendingDefaultPortalWrite(state)?.owner;
|
|
263
|
+
return Boolean(pendingOwner && (pendingOwner.instance !== owner || pendingOwner.generation !== generation));
|
|
264
|
+
}
|
|
236
265
|
function registerDefaultPortalOwner(owner) {
|
|
237
266
|
const scope = resolveDefaultPortalScope(owner);
|
|
238
267
|
if (!scope) return;
|
|
239
268
|
const state = getDefaultPortalState(scope);
|
|
240
|
-
|
|
241
|
-
state.cleanupOwners.
|
|
269
|
+
const generation = owner._ownershipGeneration;
|
|
270
|
+
if (state.cleanupOwners.has(generation)) return;
|
|
271
|
+
state.cleanupOwners.add(generation);
|
|
242
272
|
(owner.cleanupFns ??= []).push(() => {
|
|
243
273
|
const currentState = _defaultPortalStates.get(scope);
|
|
244
274
|
if (!currentState) return;
|
|
245
|
-
if (currentState.owner === owner) applyDefaultPortalWrite(currentState, void 0, null);
|
|
246
|
-
currentState.cleanupOwners.delete(
|
|
275
|
+
if (currentState.owner?.instance === owner && currentState.owner.generation === generation && !hasPendingReplacementPortalOwner(currentState, owner, generation)) applyDefaultPortalWrite(currentState, void 0, null);
|
|
276
|
+
if (currentState.cleanupOwners.delete(generation)) {}
|
|
247
277
|
});
|
|
248
278
|
}
|
|
249
279
|
function registerExplicitDefaultPortalHost(scope, state, owner) {
|
|
250
280
|
if (!owner) return;
|
|
251
|
-
|
|
252
|
-
|
|
281
|
+
const generation = owner._ownershipGeneration;
|
|
282
|
+
if (!state.explicitHostOwners.has(generation)) {
|
|
283
|
+
state.explicitHostOwners.set(generation, owner);
|
|
253
284
|
notifyExplicitDefaultPortalHostReaders(state);
|
|
254
285
|
}
|
|
255
|
-
if (!state.explicitHostCleanupOwners.has(
|
|
256
|
-
state.explicitHostCleanupOwners.add(
|
|
286
|
+
if (!state.explicitHostCleanupOwners.has(generation)) {
|
|
287
|
+
state.explicitHostCleanupOwners.add(generation);
|
|
257
288
|
(owner.cleanupFns ??= []).push(() => {
|
|
258
289
|
if (_defaultPortalStates.get(scope) !== state) return;
|
|
259
|
-
state.explicitHostCleanupOwners.delete(
|
|
260
|
-
|
|
261
|
-
if (_defaultPortalStates.get(scope) !== state) return;
|
|
262
|
-
if (isExplicitHostOwnerConnected(owner)) return;
|
|
263
|
-
if (state.explicitHostOwners.delete(owner)) notifyExplicitDefaultPortalHostReaders(state);
|
|
264
|
-
});
|
|
290
|
+
state.explicitHostCleanupOwners.delete(generation);
|
|
291
|
+
if (state.explicitHostOwners.get(generation) === owner && state.explicitHostOwners.delete(generation)) notifyExplicitDefaultPortalHostReaders(state);
|
|
265
292
|
});
|
|
266
293
|
}
|
|
267
294
|
}
|
|
@@ -282,7 +309,10 @@ const DefaultPortal = (() => {
|
|
|
282
309
|
const scope = resolveDefaultPortalScope(owner);
|
|
283
310
|
if (!scope) return null;
|
|
284
311
|
const state = getDefaultPortalState(scope);
|
|
285
|
-
state.host = owner
|
|
312
|
+
state.host = owner ? {
|
|
313
|
+
instance: owner,
|
|
314
|
+
generation: owner._ownershipGeneration
|
|
315
|
+
} : null;
|
|
286
316
|
if (!(props?.__askrAutoDefaultPortal === true)) registerExplicitDefaultPortalHost(scope, state, owner);
|
|
287
317
|
else if (readExplicitDefaultPortalHosts(state) > 0) return null;
|
|
288
318
|
applyPendingDefaultPortalValue(scope);
|
|
@@ -302,4 +332,4 @@ function Portal(props) {
|
|
|
302
332
|
return null;
|
|
303
333
|
}
|
|
304
334
|
//#endregion
|
|
305
|
-
export {
|
|
335
|
+
export { disposeDefaultPortalScope as a, definePortal as i, Portal as n, clearDefaultPortalForInstance as r, DefaultPortal as t };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { i as getDefaultDataRuntime, t as createDataRuntime } from "./data-runtime-SJ1BSUvk.js";
|
|
2
|
+
//#region src/common/telemetry.ts
|
|
3
|
+
function withTelemetry(span, fields, work) {
|
|
4
|
+
return span ? span(fields, work) : work();
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/data/query-registry.ts
|
|
8
|
+
function serveQuery(query, handler) {
|
|
9
|
+
return Object.freeze({
|
|
10
|
+
query,
|
|
11
|
+
handler
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function defineServerQueries(...entries) {
|
|
15
|
+
const frozenEntries = Object.freeze([...entries]);
|
|
16
|
+
const handlers = new Map(entries.map((entry) => [entry.query, entry.handler]));
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
entries: frozenEntries,
|
|
19
|
+
get(query) {
|
|
20
|
+
return handlers.get(query);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function defineQuery(definition) {
|
|
25
|
+
return Object.freeze({ ...definition });
|
|
26
|
+
}
|
|
27
|
+
function createQueryPrefetchContext(options = {}) {
|
|
28
|
+
const runtime = options.runtime ?? (options.mode === "spa" ? getDefaultDataRuntime() : createDataRuntime());
|
|
29
|
+
const signal = options.signal ?? new AbortController().signal;
|
|
30
|
+
return {
|
|
31
|
+
runtime,
|
|
32
|
+
request: options.request,
|
|
33
|
+
signal,
|
|
34
|
+
mode: options.mode ?? "spa",
|
|
35
|
+
async prefetch(query, input) {
|
|
36
|
+
return withTelemetry(options.telemetry?.queryPrefetch, {}, async () => {
|
|
37
|
+
const key = query.key(input);
|
|
38
|
+
if (runtime.queryData.has(key)) return true;
|
|
39
|
+
let value;
|
|
40
|
+
const handler = options.mode === "ssr" ? options.registry?.get(query) : void 0;
|
|
41
|
+
if (options.mode === "ssr" && !handler) return false;
|
|
42
|
+
value = handler ? await handler({
|
|
43
|
+
input,
|
|
44
|
+
request: options.request,
|
|
45
|
+
signal
|
|
46
|
+
}) : await query.fetch({
|
|
47
|
+
...input,
|
|
48
|
+
signal
|
|
49
|
+
});
|
|
50
|
+
if (signal.aborted) return false;
|
|
51
|
+
runtime.queryData.set(key, value);
|
|
52
|
+
return true;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async function prefetchQuery(context, query, input) {
|
|
58
|
+
return context.prefetch(query, input);
|
|
59
|
+
}
|
|
60
|
+
function dehydrateDataRuntime(runtime) {
|
|
61
|
+
const result = {};
|
|
62
|
+
for (const [key, value] of runtime.queryData) try {
|
|
63
|
+
JSON.stringify(value);
|
|
64
|
+
result[key] = value;
|
|
65
|
+
} catch {}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
function hydrateDataRuntime(runtime, data) {
|
|
69
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) return;
|
|
70
|
+
for (const [key, value] of Object.entries(data)) runtime.queryData.set(key, value);
|
|
71
|
+
}
|
|
72
|
+
//#endregion
|
|
73
|
+
export { hydrateDataRuntime as a, withTelemetry as c, dehydrateDataRuntime as i, defineQuery as n, prefetchQuery as o, defineServerQueries as r, serveQuery as s, createQueryPrefetchContext as t };
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
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
|
|
2
14
|
//#region src/common/render-context.ts
|
|
3
15
|
let provider = { getRenderContext() {
|
|
4
16
|
return null;
|
|
@@ -14,10 +26,6 @@ function getActiveRenderContext() {
|
|
|
14
26
|
function getCurrentRenderData() {
|
|
15
27
|
return getActiveRenderContext()?.renderData ?? hydrationRenderData;
|
|
16
28
|
}
|
|
17
|
-
function resetRenderKeyCounter() {
|
|
18
|
-
const ctx = getActiveRenderContext();
|
|
19
|
-
if (ctx) ctx.keyCounter = 0;
|
|
20
|
-
}
|
|
21
29
|
function getNextRenderKey() {
|
|
22
30
|
const ctx = getActiveRenderContext();
|
|
23
31
|
if (ctx) return `r:${ctx.keyCounter++}`;
|
|
@@ -50,4 +58,4 @@ function throwSSRDataMissing() {
|
|
|
50
58
|
throw new SSRDataMissingError();
|
|
51
59
|
}
|
|
52
60
|
//#endregion
|
|
53
|
-
export {
|
|
61
|
+
export { startHydrationRenderPhase as a, stopRenderPhase as c, getNextRenderKey as i, throwSSRDataMissing as l, getActiveRenderContext as n, startRenderPhase as o, getCurrentRenderData as r, stopHydrationRenderPhase as s, configureRenderContextProvider as t, SSRDataMissingError as u };
|