@askrjs/askr 0.0.51 → 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} +190 -20
- 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 -3
- package/dist/benchmark.d.ts +7 -4
- package/dist/benchmark.js +63 -13
- package/dist/boot/index.d.ts +62 -4
- package/dist/boot/index.js +1 -194
- 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} +35 -9
- 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 -2
- 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 -3
- 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} +35 -36
- package/dist/deferred-lKE8uR0z.js +386 -0
- package/dist/effect-BwnIvLah.js +260 -0
- 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 -9
- package/dist/index-SJXJkssx.d.ts +44 -0
- package/dist/index.d.ts +8 -13
- package/dist/index.js +150 -17
- package/dist/interactions-w7gQN4ha.js +280 -0
- package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -3
- package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -6
- package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -3
- package/dist/jsx-dev-runtime.d.ts +17 -5
- package/dist/jsx-dev-runtime.js +3 -10
- package/dist/jsx-runtime-92bV2hSa.d.ts +34 -0
- package/dist/jsx-runtime-BVVgDSdq.d.ts +1 -0
- package/dist/jsx-runtime.d.ts +3 -22
- package/dist/jsx-runtime.js +17 -20
- package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-D9va7GOU.js} +9 -11
- package/dist/navigate-BVDCzOuB.d.ts +34 -0
- package/dist/navigate-CmPLSXyw.js +1449 -0
- package/dist/{runtime/portal.js → portal-CyU3Ucf2.js} +124 -35
- package/dist/query-registry-CQIT4mXr.js +73 -0
- package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -8
- package/dist/renderer-DzPjeLby.js +6197 -0
- package/dist/resource-operation-CEzfpnDk.js +276 -0
- 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 -3
- 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 -29
- package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -3
- package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -4
- package/dist/{runtime/selector.js → selector-DafVYzV4.js} +35 -20
- package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -3
- 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 -3
- package/dist/ssr-D3t80Rc0.js +1413 -0
- package/dist/{runtime/state.js → state-DPl8lffD.js} +4 -8
- package/dist/structures-DUB3HchX.js +221 -0
- package/dist/testing/index.d.ts +4 -4
- package/dist/testing/index.js +2 -7
- package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -6
- package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -3
- package/dist/{ssr/verify-hydration.js → verify-hydration-io9ahUeq.js} +2 -4
- package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -4
- package/package.json +63 -45
- package/dist/bench/components/benchmark-row.d.ts +0 -20
- package/dist/bench/components/benchmark-row.d.ts.map +0 -1
- package/dist/bench/components/benchmark-row.js +0 -42
- package/dist/bench/components/benchmark-row.js.map +0 -1
- package/dist/bench/components/benchmark-table.js +0 -25
- package/dist/bench/components/benchmark-table.js.map +0 -1
- package/dist/benchmark.d.ts.map +0 -1
- package/dist/benchmark.js.map +0 -1
- package/dist/bin/askr-ssg.d.ts +0 -28
- package/dist/bin/askr-ssg.d.ts.map +0 -1
- package/dist/bin/askr-ssg.js +0 -171
- package/dist/bin/askr-ssg.js.map +0 -1
- package/dist/boot/hydration.js +0 -140
- package/dist/boot/hydration.js.map +0 -1
- package/dist/boot/index.d.ts.map +0 -1
- package/dist/boot/index.js.map +0 -1
- package/dist/boot/root-lifecycle.d.ts +0 -15
- package/dist/boot/root-lifecycle.d.ts.map +0 -1
- package/dist/boot/root-lifecycle.js +0 -205
- package/dist/boot/root-lifecycle.js.map +0 -1
- package/dist/boot/route-startup.js +0 -45
- package/dist/boot/route-startup.js.map +0 -1
- package/dist/boot/types.d.ts +0 -62
- package/dist/boot/types.d.ts.map +0 -1
- package/dist/common/attr-names.js.map +0 -1
- package/dist/common/component.d.ts +0 -19
- package/dist/common/component.d.ts.map +0 -1
- package/dist/common/control.d.ts +0 -13
- package/dist/common/control.d.ts.map +0 -1
- package/dist/common/control.js.map +0 -1
- package/dist/common/env.js +0 -47
- package/dist/common/env.js.map +0 -1
- package/dist/common/error-boundary.d.ts +0 -16
- package/dist/common/error-boundary.d.ts.map +0 -1
- package/dist/common/invariant.js +0 -17
- package/dist/common/invariant.js.map +0 -1
- package/dist/common/jsx.d.ts +0 -23
- package/dist/common/jsx.d.ts.map +0 -1
- package/dist/common/jsx.js.map +0 -1
- package/dist/common/logger.js +0 -36
- package/dist/common/logger.js.map +0 -1
- package/dist/common/promise.js +0 -8
- package/dist/common/promise.js.map +0 -1
- package/dist/common/props.d.ts.map +0 -1
- package/dist/common/render-context.js.map +0 -1
- package/dist/common/route-activity.js.map +0 -1
- package/dist/common/router-internal.js.map +0 -1
- package/dist/common/router.d.ts.map +0 -1
- package/dist/common/ssr-errors.d.ts +0 -11
- package/dist/common/ssr-errors.d.ts.map +0 -1
- package/dist/common/ssr-errors.js +0 -16
- package/dist/common/ssr-errors.js.map +0 -1
- package/dist/common/ssr.d.ts +0 -42
- package/dist/common/ssr.d.ts.map +0 -1
- package/dist/common/ssr.js.map +0 -1
- package/dist/common/vnode.d.ts +0 -22
- package/dist/common/vnode.d.ts.map +0 -1
- package/dist/common/vnode.js.map +0 -1
- package/dist/components/error-boundary.d.ts +0 -15
- package/dist/components/error-boundary.d.ts.map +0 -1
- package/dist/components/error-boundary.js +0 -43
- package/dist/components/error-boundary.js.map +0 -1
- package/dist/components/link.d.ts +0 -68
- package/dist/components/link.d.ts.map +0 -1
- package/dist/components/link.js +0 -76
- package/dist/components/link.js.map +0 -1
- package/dist/control/case.d.ts +0 -19
- package/dist/control/case.d.ts.map +0 -1
- package/dist/control/case.js +0 -70
- package/dist/control/case.js.map +0 -1
- package/dist/control/for.d.ts +0 -24
- package/dist/control/for.d.ts.map +0 -1
- package/dist/control/for.js +0 -63
- package/dist/control/for.js.map +0 -1
- package/dist/control/shared.d.ts +0 -9
- package/dist/control/shared.d.ts.map +0 -1
- package/dist/control/shared.js +0 -20
- package/dist/control/shared.js.map +0 -1
- package/dist/control/show.d.ts +0 -15
- package/dist/control/show.d.ts.map +0 -1
- package/dist/control/show.js +0 -34
- package/dist/control/show.js.map +0 -1
- package/dist/data/data-runtime.d.ts +0 -28
- package/dist/data/data-runtime.d.ts.map +0 -1
- package/dist/data/data-runtime.js.map +0 -1
- package/dist/data/invalidation-listeners.js.map +0 -1
- package/dist/data/invalidation.d.ts +0 -9
- package/dist/data/invalidation.d.ts.map +0 -1
- package/dist/data/invalidation.js +0 -27
- package/dist/data/invalidation.js.map +0 -1
- package/dist/data/mutation-cell.d.ts +0 -28
- package/dist/data/mutation-cell.d.ts.map +0 -1
- package/dist/data/mutation-cell.js +0 -132
- package/dist/data/mutation-cell.js.map +0 -1
- package/dist/data/query-cell.d.ts +0 -46
- package/dist/data/query-cell.d.ts.map +0 -1
- package/dist/data/query-cell.js +0 -290
- package/dist/data/query-cell.js.map +0 -1
- package/dist/data/query-key.js +0 -42
- package/dist/data/query-key.js.map +0 -1
- package/dist/data/shared.js +0 -21
- package/dist/data/shared.js.map +0 -1
- package/dist/data/testing.js +0 -2
- package/dist/data/types.d.ts +0 -161
- package/dist/data/types.d.ts.map +0 -1
- package/dist/foundations/icon/icon.d.ts +0 -53
- package/dist/foundations/icon/icon.d.ts.map +0 -1
- package/dist/foundations/icon/icon.js +0 -88
- package/dist/foundations/icon/icon.js.map +0 -1
- package/dist/foundations/icon/icon.types.d.ts +0 -22
- package/dist/foundations/icon/icon.types.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.d.ts +0 -72
- package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.js +0 -26
- package/dist/foundations/interactions/dismissable.js.map +0 -1
- package/dist/foundations/interactions/focusable.d.ts +0 -22
- package/dist/foundations/interactions/focusable.d.ts.map +0 -1
- package/dist/foundations/interactions/focusable.js +0 -18
- package/dist/foundations/interactions/focusable.js.map +0 -1
- package/dist/foundations/interactions/hoverable.d.ts +0 -26
- package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
- package/dist/foundations/interactions/hoverable.js +0 -15
- package/dist/foundations/interactions/hoverable.js.map +0 -1
- package/dist/foundations/interactions/interaction-policy.d.ts +0 -50
- package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
- package/dist/foundations/interactions/interaction-policy.js +0 -122
- package/dist/foundations/interactions/interaction-policy.js.map +0 -1
- package/dist/foundations/interactions/pressable.d.ts +0 -61
- package/dist/foundations/interactions/pressable.d.ts.map +0 -1
- package/dist/foundations/interactions/pressable.js +0 -51
- package/dist/foundations/interactions/pressable.js.map +0 -1
- package/dist/foundations/interactions/roving-focus.d.ts +0 -52
- package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
- package/dist/foundations/interactions/roving-focus.js +0 -71
- package/dist/foundations/interactions/roving-focus.js.map +0 -1
- package/dist/foundations/state/controllable.d.ts +0 -33
- package/dist/foundations/state/controllable.d.ts.map +0 -1
- package/dist/foundations/state/controllable.js +0 -82
- package/dist/foundations/state/controllable.js.map +0 -1
- package/dist/foundations/structures/collection.d.ts +0 -52
- package/dist/foundations/structures/collection.d.ts.map +0 -1
- package/dist/foundations/structures/collection.js +0 -51
- package/dist/foundations/structures/collection.js.map +0 -1
- package/dist/foundations/structures/layer.d.ts +0 -81
- package/dist/foundations/structures/layer.d.ts.map +0 -1
- package/dist/foundations/structures/layer.js +0 -81
- package/dist/foundations/structures/layer.js.map +0 -1
- package/dist/foundations/structures/layout.d.ts +0 -33
- package/dist/foundations/structures/layout.d.ts.map +0 -1
- package/dist/foundations/structures/layout.js +0 -13
- package/dist/foundations/structures/layout.js.map +0 -1
- 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 -37
- package/dist/foundations/structures/presence.d.ts.map +0 -1
- package/dist/foundations/structures/presence.js +0 -39
- package/dist/foundations/structures/presence.js.map +0 -1
- package/dist/foundations/structures/slot.d.ts +0 -35
- package/dist/foundations/structures/slot.d.ts.map +0 -1
- package/dist/foundations/structures/slot.js +0 -41
- package/dist/foundations/structures/slot.js.map +0 -1
- package/dist/foundations/utilities/aria.d.ts +0 -16
- package/dist/foundations/utilities/aria.d.ts.map +0 -1
- package/dist/foundations/utilities/aria.js +0 -17
- package/dist/foundations/utilities/aria.js.map +0 -1
- package/dist/foundations/utilities/compose-handlers.d.ts +0 -37
- package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-handlers.js +0 -20
- package/dist/foundations/utilities/compose-handlers.js.map +0 -1
- package/dist/foundations/utilities/compose-ref.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-ref.js +0 -18
- package/dist/foundations/utilities/compose-ref.js.map +0 -1
- package/dist/foundations/utilities/event-types.d.ts +0 -20
- package/dist/foundations/utilities/event-types.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.d.ts +0 -5
- package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.js +0 -49
- package/dist/foundations/utilities/merge-props.js.map +0 -1
- package/dist/foundations/utilities/use-id.d.ts +0 -32
- package/dist/foundations/utilities/use-id.d.ts.map +0 -1
- package/dist/foundations/utilities/use-id.js.map +0 -1
- package/dist/fx/fx.d.ts +0 -33
- package/dist/fx/fx.d.ts.map +0 -1
- package/dist/fx/fx.js +0 -213
- package/dist/fx/fx.js.map +0 -1
- package/dist/fx/noop.js +0 -9
- package/dist/fx/noop.js.map +0 -1
- package/dist/fx/timing.d.ts +0 -159
- package/dist/fx/timing.d.ts.map +0 -1
- package/dist/fx/timing.js +0 -243
- package/dist/fx/timing.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jsx/index.d.ts +0 -2
- package/dist/jsx/index.js +0 -4
- package/dist/jsx/types.d.ts.map +0 -1
- package/dist/jsx/types.js +0 -2
- package/dist/jsx/utils.d.ts +0 -5
- package/dist/jsx/utils.d.ts.map +0 -1
- package/dist/jsx/utils.js +0 -19
- package/dist/jsx/utils.js.map +0 -1
- package/dist/jsx-dev-runtime.d.ts.map +0 -1
- package/dist/jsx-dev-runtime.js.map +0 -1
- package/dist/jsx-runtime.d.ts.map +0 -1
- package/dist/jsx-runtime.js.map +0 -1
- package/dist/jsx-runtime2.d.ts +0 -3
- package/dist/jsx-runtime2.js +0 -4
- package/dist/renderer/attributes.js +0 -232
- package/dist/renderer/attributes.js.map +0 -1
- package/dist/renderer/boundaries.js +0 -266
- package/dist/renderer/boundaries.js.map +0 -1
- package/dist/renderer/child-shape.js +0 -85
- package/dist/renderer/child-shape.js.map +0 -1
- package/dist/renderer/children-fastpath.js +0 -149
- package/dist/renderer/children-fastpath.js.map +0 -1
- package/dist/renderer/children.js +0 -160
- package/dist/renderer/children.js.map +0 -1
- package/dist/renderer/cleanup.js +0 -210
- package/dist/renderer/cleanup.js.map +0 -1
- package/dist/renderer/component-host-cleanup.js +0 -68
- package/dist/renderer/component-host-cleanup.js.map +0 -1
- package/dist/renderer/component-host-instances.js +0 -65
- package/dist/renderer/component-host-instances.js.map +0 -1
- package/dist/renderer/component-host.js +0 -247
- package/dist/renderer/component-host.js.map +0 -1
- package/dist/renderer/dom-host.js +0 -13
- package/dist/renderer/dom-host.js.map +0 -1
- package/dist/renderer/dom-internal.js +0 -186
- package/dist/renderer/dom-internal.js.map +0 -1
- package/dist/renderer/dom.js +0 -10
- package/dist/renderer/element-children.js +0 -279
- package/dist/renderer/element-children.js.map +0 -1
- package/dist/renderer/env.js +0 -2
- package/dist/renderer/error-boundary-dom.js +0 -78
- package/dist/renderer/error-boundary-dom.js.map +0 -1
- package/dist/renderer/evaluate-dom-range.js +0 -85
- package/dist/renderer/evaluate-dom-range.js.map +0 -1
- package/dist/renderer/evaluate-reconcile.js +0 -282
- package/dist/renderer/evaluate-reconcile.js.map +0 -1
- package/dist/renderer/evaluate.js +0 -84
- package/dist/renderer/evaluate.js.map +0 -1
- package/dist/renderer/fastpath.js +0 -150
- package/dist/renderer/fastpath.js.map +0 -1
- package/dist/renderer/for-commit-dom-map.js +0 -83
- package/dist/renderer/for-commit-dom-map.js.map +0 -1
- package/dist/renderer/for-commit-removal.js +0 -36
- package/dist/renderer/for-commit-removal.js.map +0 -1
- package/dist/renderer/for-commit-reorder.js +0 -89
- package/dist/renderer/for-commit-reorder.js.map +0 -1
- package/dist/renderer/for-commit.js +0 -314
- package/dist/renderer/for-commit.js.map +0 -1
- package/dist/renderer/index.js +0 -38
- package/dist/renderer/index.js.map +0 -1
- package/dist/renderer/keyed-children.js +0 -32
- package/dist/renderer/keyed-children.js.map +0 -1
- package/dist/renderer/keyed.js +0 -167
- package/dist/renderer/keyed.js.map +0 -1
- package/dist/renderer/namespaces.js +0 -23
- package/dist/renderer/namespaces.js.map +0 -1
- package/dist/renderer/prop-bindings.js +0 -280
- package/dist/renderer/prop-bindings.js.map +0 -1
- package/dist/renderer/reactive-child-dom.js +0 -133
- package/dist/renderer/reactive-child-dom.js.map +0 -1
- package/dist/renderer/reactive-child-sources.js +0 -184
- package/dist/renderer/reactive-child-sources.js.map +0 -1
- package/dist/renderer/reactive-children.js +0 -294
- package/dist/renderer/reactive-children.js.map +0 -1
- package/dist/renderer/reconcile-commit.js +0 -38
- package/dist/renderer/reconcile-commit.js.map +0 -1
- package/dist/renderer/reconcile-fastpaths.js +0 -107
- package/dist/renderer/reconcile-fastpaths.js.map +0 -1
- package/dist/renderer/reconcile-resolution.js +0 -187
- package/dist/renderer/reconcile-resolution.js.map +0 -1
- package/dist/renderer/reconcile.js +0 -39
- package/dist/renderer/reconcile.js.map +0 -1
- package/dist/renderer/retained-element-rollback.js +0 -277
- package/dist/renderer/retained-element-rollback.js.map +0 -1
- package/dist/renderer/stable-patch.js +0 -81
- package/dist/renderer/stable-patch.js.map +0 -1
- package/dist/renderer/static-reuse.js +0 -96
- package/dist/renderer/static-reuse.js.map +0 -1
- package/dist/renderer/types.js +0 -2
- package/dist/renderer/utils.js +0 -256
- package/dist/renderer/utils.js.map +0 -1
- package/dist/router/access.js +0 -36
- package/dist/router/access.js.map +0 -1
- package/dist/router/activity.d.ts +0 -10
- package/dist/router/activity.d.ts.map +0 -1
- package/dist/router/activity.js +0 -87
- package/dist/router/activity.js.map +0 -1
- package/dist/router/authoring.d.ts +0 -22
- package/dist/router/authoring.d.ts.map +0 -1
- package/dist/router/authoring.js +0 -198
- package/dist/router/authoring.js.map +0 -1
- package/dist/router/internal-types.d.ts +0 -31
- package/dist/router/internal-types.d.ts.map +0 -1
- package/dist/router/lazy.d.ts +0 -19
- package/dist/router/lazy.d.ts.map +0 -1
- package/dist/router/lazy.js +0 -52
- package/dist/router/lazy.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -10
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -49
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match.js +0 -122
- package/dist/router/match.js.map +0 -1
- package/dist/router/navigate.d.ts +0 -11
- package/dist/router/navigate.d.ts.map +0 -1
- package/dist/router/navigate.js +0 -76
- package/dist/router/navigate.js.map +0 -1
- package/dist/router/navigation-registry.d.ts +0 -32
- package/dist/router/navigation-registry.d.ts.map +0 -1
- package/dist/router/navigation-registry.js +0 -105
- package/dist/router/navigation-registry.js.map +0 -1
- package/dist/router/navigation-scroll.d.ts +0 -14
- package/dist/router/navigation-scroll.d.ts.map +0 -1
- package/dist/router/navigation-scroll.js +0 -93
- package/dist/router/navigation-scroll.js.map +0 -1
- package/dist/router/navigation-targets.d.ts +0 -31
- package/dist/router/navigation-targets.d.ts.map +0 -1
- package/dist/router/navigation-targets.js +0 -255
- package/dist/router/navigation-targets.js.map +0 -1
- package/dist/router/policy.d.ts +0 -28
- package/dist/router/policy.d.ts.map +0 -1
- package/dist/router/policy.js +0 -132
- package/dist/router/policy.js.map +0 -1
- package/dist/router/rendering.d.ts +0 -10
- package/dist/router/rendering.d.ts.map +0 -1
- package/dist/router/rendering.js +0 -46
- package/dist/router/rendering.js.map +0 -1
- package/dist/router/resolution.d.ts +0 -4
- package/dist/router/resolution.d.ts.map +0 -1
- package/dist/router/resolution.js +0 -86
- package/dist/router/resolution.js.map +0 -1
- package/dist/router/route-context.js +0 -79
- package/dist/router/route-context.js.map +0 -1
- package/dist/router/route-matching.d.ts +0 -20
- package/dist/router/route-matching.d.ts.map +0 -1
- package/dist/router/route-matching.js +0 -175
- package/dist/router/route-matching.js.map +0 -1
- package/dist/router/route-query.d.ts +0 -17
- package/dist/router/route-query.d.ts.map +0 -1
- package/dist/router/route-query.js +0 -47
- package/dist/router/route-query.js.map +0 -1
- package/dist/router/route.d.ts +0 -8
- package/dist/router/route.js +0 -10
- package/dist/router/store.d.ts +0 -50
- package/dist/router/store.d.ts.map +0 -1
- package/dist/router/store.js +0 -171
- package/dist/router/store.js.map +0 -1
- package/dist/router/testing.js +0 -4
- package/dist/runtime/access.d.ts +0 -20
- package/dist/runtime/access.d.ts.map +0 -1
- package/dist/runtime/access.js +0 -45
- package/dist/runtime/access.js.map +0 -1
- package/dist/runtime/child-scope.d.ts +0 -22
- package/dist/runtime/child-scope.d.ts.map +0 -1
- package/dist/runtime/child-scope.js +0 -87
- package/dist/runtime/child-scope.js.map +0 -1
- package/dist/runtime/component-cleanup.d.ts +0 -16
- package/dist/runtime/component-cleanup.d.ts.map +0 -1
- package/dist/runtime/component-cleanup.js +0 -70
- package/dist/runtime/component-cleanup.js.map +0 -1
- package/dist/runtime/component-commit.js +0 -165
- package/dist/runtime/component-commit.js.map +0 -1
- package/dist/runtime/component-facade.d.ts +0 -5
- package/dist/runtime/component-facade.js +0 -4
- package/dist/runtime/component-internal.d.ts +0 -100
- package/dist/runtime/component-internal.d.ts.map +0 -1
- package/dist/runtime/component-internal.js +0 -219
- package/dist/runtime/component-internal.js.map +0 -1
- package/dist/runtime/component-lifecycle.d.ts +0 -49
- package/dist/runtime/component-lifecycle.d.ts.map +0 -1
- package/dist/runtime/component-lifecycle.js +0 -176
- package/dist/runtime/component-lifecycle.js.map +0 -1
- package/dist/runtime/component-scope.d.ts +0 -55
- package/dist/runtime/component-scope.d.ts.map +0 -1
- package/dist/runtime/component-scope.js.map +0 -1
- package/dist/runtime/component.d.ts +0 -5
- package/dist/runtime/component.js +0 -5
- package/dist/runtime/context.d.ts +0 -69
- package/dist/runtime/context.d.ts.map +0 -1
- package/dist/runtime/context.js +0 -210
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/control.d.ts +0 -43
- package/dist/runtime/control.d.ts.map +0 -1
- package/dist/runtime/control.js +0 -126
- package/dist/runtime/control.js.map +0 -1
- package/dist/runtime/derive.d.ts +0 -17
- package/dist/runtime/derive.d.ts.map +0 -1
- package/dist/runtime/derive.js +0 -142
- package/dist/runtime/derive.js.map +0 -1
- package/dist/runtime/dev-namespace.d.ts +0 -31
- package/dist/runtime/dev-namespace.d.ts.map +0 -1
- package/dist/runtime/dev-namespace.js +0 -57
- package/dist/runtime/dev-namespace.js.map +0 -1
- package/dist/runtime/effect.d.ts +0 -32
- package/dist/runtime/effect.d.ts.map +0 -1
- package/dist/runtime/effect.js +0 -177
- package/dist/runtime/effect.js.map +0 -1
- package/dist/runtime/error-boundary.d.ts +0 -5
- package/dist/runtime/error-boundary.d.ts.map +0 -1
- package/dist/runtime/error-boundary.js +0 -31
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/events.d.ts +0 -58
- package/dist/runtime/events.d.ts.map +0 -1
- package/dist/runtime/events.js +0 -204
- package/dist/runtime/events.js.map +0 -1
- package/dist/runtime/execution-model.d.ts +0 -7
- package/dist/runtime/execution-model.d.ts.map +0 -1
- package/dist/runtime/execution-model.js +0 -15
- package/dist/runtime/execution-model.js.map +0 -1
- package/dist/runtime/fastlane.d.ts +0 -34
- package/dist/runtime/fastlane.d.ts.map +0 -1
- package/dist/runtime/fastlane.js +0 -175
- package/dist/runtime/fastlane.js.map +0 -1
- package/dist/runtime/for-bench.d.ts +0 -41
- package/dist/runtime/for-bench.d.ts.map +0 -1
- package/dist/runtime/for-bench.js +0 -171
- package/dist/runtime/for-bench.js.map +0 -1
- package/dist/runtime/for-internal.d.ts +0 -43
- package/dist/runtime/for-internal.d.ts.map +0 -1
- package/dist/runtime/for-internal.js +0 -98
- package/dist/runtime/for-internal.js.map +0 -1
- package/dist/runtime/for-reconcile.d.ts +0 -8
- package/dist/runtime/for-reconcile.d.ts.map +0 -1
- package/dist/runtime/for-reconcile.js +0 -389
- package/dist/runtime/for-reconcile.js.map +0 -1
- package/dist/runtime/for-scopes.d.ts +0 -26
- package/dist/runtime/for-scopes.d.ts.map +0 -1
- package/dist/runtime/for-scopes.js +0 -160
- package/dist/runtime/for-scopes.js.map +0 -1
- package/dist/runtime/for-signals.d.ts +0 -30
- package/dist/runtime/for-signals.d.ts.map +0 -1
- package/dist/runtime/for-signals.js +0 -139
- package/dist/runtime/for-signals.js.map +0 -1
- package/dist/runtime/for-types.d.ts +0 -9
- package/dist/runtime/for-types.d.ts.map +0 -1
- 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 -31
- package/dist/runtime/lifecycle-operations.d.ts +0 -31
- package/dist/runtime/lifecycle-operations.d.ts.map +0 -1
- package/dist/runtime/lifecycle-operations.js.map +0 -1
- package/dist/runtime/operations.d.ts +0 -3
- package/dist/runtime/operations.js +0 -3
- package/dist/runtime/perf-metrics.d.ts +0 -26
- package/dist/runtime/perf-metrics.d.ts.map +0 -1
- package/dist/runtime/perf-metrics.js +0 -70
- package/dist/runtime/perf-metrics.js.map +0 -1
- package/dist/runtime/portal.d.ts +0 -22
- package/dist/runtime/portal.d.ts.map +0 -1
- package/dist/runtime/portal.js.map +0 -1
- package/dist/runtime/readable.d.ts +0 -29
- package/dist/runtime/readable.d.ts.map +0 -1
- package/dist/runtime/readable.js +0 -159
- package/dist/runtime/readable.js.map +0 -1
- package/dist/runtime/resource-cell.js +0 -114
- package/dist/runtime/resource-cell.js.map +0 -1
- package/dist/runtime/resource-operation.d.ts +0 -13
- package/dist/runtime/resource-operation.d.ts.map +0 -1
- package/dist/runtime/resource-operation.js +0 -170
- package/dist/runtime/resource-operation.js.map +0 -1
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/runtime.js +0 -59
- package/dist/runtime/runtime.js.map +0 -1
- package/dist/runtime/scheduler.d.ts.map +0 -1
- package/dist/runtime/scheduler.js.map +0 -1
- package/dist/runtime/selector-store.js +0 -24
- package/dist/runtime/selector-store.js.map +0 -1
- package/dist/runtime/selector.d.ts +0 -11
- package/dist/runtime/selector.d.ts.map +0 -1
- package/dist/runtime/selector.js.map +0 -1
- package/dist/runtime/snapshot-source.d.ts +0 -10
- package/dist/runtime/snapshot-source.d.ts.map +0 -1
- package/dist/runtime/snapshot-source.js.map +0 -1
- package/dist/runtime/state.d.ts +0 -55
- package/dist/runtime/state.d.ts.map +0 -1
- package/dist/runtime/state.js.map +0 -1
- package/dist/ssg/batch-render.js +0 -103
- package/dist/ssg/batch-render.js.map +0 -1
- package/dist/ssg/create-static-gen.d.ts +0 -64
- package/dist/ssg/create-static-gen.d.ts.map +0 -1
- package/dist/ssg/create-static-gen.js +0 -199
- package/dist/ssg/create-static-gen.js.map +0 -1
- package/dist/ssg/generate-metadata.js +0 -94
- package/dist/ssg/generate-metadata.js.map +0 -1
- package/dist/ssg/generation-plan.js +0 -70
- package/dist/ssg/generation-plan.js.map +0 -1
- package/dist/ssg/incremental-manifest.js +0 -56
- package/dist/ssg/incremental-manifest.js.map +0 -1
- package/dist/ssg/resolve-ssg-data.js +0 -105
- package/dist/ssg/resolve-ssg-data.js.map +0 -1
- package/dist/ssg/route-utils.js +0 -24
- package/dist/ssg/route-utils.js.map +0 -1
- package/dist/ssg/static-routes.js +0 -102
- package/dist/ssg/static-routes.js.map +0 -1
- package/dist/ssg/types.d.ts +0 -189
- package/dist/ssg/types.d.ts.map +0 -1
- package/dist/ssg/write-static-files.js +0 -73
- package/dist/ssg/write-static-files.js.map +0 -1
- package/dist/ssr/attrs.js +0 -94
- package/dist/ssr/attrs.js.map +0 -1
- package/dist/ssr/boundaries.js +0 -113
- package/dist/ssr/boundaries.js.map +0 -1
- package/dist/ssr/component-runtime.js +0 -111
- package/dist/ssr/component-runtime.js.map +0 -1
- package/dist/ssr/context.d.ts +0 -50
- package/dist/ssr/context.d.ts.map +0 -1
- package/dist/ssr/context.js +0 -91
- package/dist/ssr/context.js.map +0 -1
- package/dist/ssr/errors.d.ts +0 -10
- package/dist/ssr/errors.d.ts.map +0 -1
- package/dist/ssr/errors.js +0 -14
- package/dist/ssr/errors.js.map +0 -1
- package/dist/ssr/escape.js +0 -193
- package/dist/ssr/escape.js.map +0 -1
- package/dist/ssr/hydration-data.js +0 -10
- package/dist/ssr/hydration-data.js.map +0 -1
- package/dist/ssr/hydration-verify.d.ts +0 -12
- package/dist/ssr/hydration-verify.d.ts.map +0 -1
- package/dist/ssr/hydration-verify.js +0 -144
- package/dist/ssr/hydration-verify.js.map +0 -1
- package/dist/ssr/index-internal.d.ts +0 -15
- package/dist/ssr/index-internal.d.ts.map +0 -1
- package/dist/ssr/index-internal.js +0 -19
- package/dist/ssr/index-internal.js.map +0 -1
- package/dist/ssr/render-keys.js +0 -16
- package/dist/ssr/render-keys.js.map +0 -1
- package/dist/ssr/render-resolved.d.ts +0 -20
- package/dist/ssr/render-resolved.d.ts.map +0 -1
- package/dist/ssr/render-resolved.js +0 -35
- package/dist/ssr/render-resolved.js.map +0 -1
- package/dist/ssr/render-sync.d.ts +0 -21
- package/dist/ssr/render-sync.d.ts.map +0 -1
- package/dist/ssr/render-sync.js +0 -275
- package/dist/ssr/render-sync.js.map +0 -1
- package/dist/ssr/route-policy-resolution.js +0 -78
- package/dist/ssr/route-policy-resolution.js.map +0 -1
- package/dist/ssr/route-render.d.ts +0 -77
- package/dist/ssr/route-render.d.ts.map +0 -1
- package/dist/ssr/route-render.js +0 -120
- package/dist/ssr/route-render.js.map +0 -1
- package/dist/ssr/sink.d.ts +0 -26
- package/dist/ssr/sink.d.ts.map +0 -1
- package/dist/ssr/sink.js +0 -86
- package/dist/ssr/sink.js.map +0 -1
- package/dist/ssr/types.d.ts +0 -23
- package/dist/ssr/types.d.ts.map +0 -1
- package/dist/ssr/verify-hydration.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js.map +0 -1
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { composeHandlers } from "./compose-handlers.js";
|
|
2
|
-
//#region src/foundations/utilities/merge-props.ts
|
|
3
|
-
/**
|
|
4
|
-
* mergeProps
|
|
5
|
-
*
|
|
6
|
-
* Deterministic props merging.
|
|
7
|
-
* - For non-handlers: `base` overwrites `injected`.
|
|
8
|
-
* - For handlers present in both: handlers are composed with `injected` running
|
|
9
|
-
* first; it may call `preventDefault()` to suppress the `base` handler.
|
|
10
|
-
*
|
|
11
|
-
* POLICY DECISIONS (LOCKED):
|
|
12
|
-
*
|
|
13
|
-
* 1. Merge Strategy
|
|
14
|
-
* Base props overwrite injected props (base wins).
|
|
15
|
-
* Exception: Event handlers are composed, not overwritten.
|
|
16
|
-
*
|
|
17
|
-
* 2. Event Handler Detection
|
|
18
|
-
* Keys starting with "on" are treated as event handlers.
|
|
19
|
-
* This matches JSX conventions.
|
|
20
|
-
*
|
|
21
|
-
* 3. Handler Composition Order
|
|
22
|
-
* Injected handler runs first, base handler second.
|
|
23
|
-
* This allows injected handlers to prevent default.
|
|
24
|
-
*
|
|
25
|
-
* 4. Return Type
|
|
26
|
-
* Returns intersection type (TInjected & TBase) for type safety.
|
|
27
|
-
*/
|
|
28
|
-
function isEventHandlerKey(key) {
|
|
29
|
-
return key.startsWith("on");
|
|
30
|
-
}
|
|
31
|
-
function mergeProps(base, injected) {
|
|
32
|
-
const baseKeys = Object.keys(base);
|
|
33
|
-
if (baseKeys.length === 0) return injected;
|
|
34
|
-
const out = { ...injected };
|
|
35
|
-
for (const key of baseKeys) {
|
|
36
|
-
const baseValue = base[key];
|
|
37
|
-
const injectedValue = injected[key];
|
|
38
|
-
if (isEventHandlerKey(key) && typeof baseValue === "function" && typeof injectedValue === "function") {
|
|
39
|
-
out[key] = composeHandlers(injectedValue, baseValue);
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
out[key] = baseValue;
|
|
43
|
-
}
|
|
44
|
-
return out;
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
export { mergeProps };
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=merge-props.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merge-props.js","names":[],"sources":["../../../src/foundations/utilities/merge-props.ts"],"sourcesContent":["/**\n * mergeProps\n *\n * Deterministic props merging.\n * - For non-handlers: `base` overwrites `injected`.\n * - For handlers present in both: handlers are composed with `injected` running\n * first; it may call `preventDefault()` to suppress the `base` handler.\n *\n * POLICY DECISIONS (LOCKED):\n *\n * 1. Merge Strategy\n * Base props overwrite injected props (base wins).\n * Exception: Event handlers are composed, not overwritten.\n *\n * 2. Event Handler Detection\n * Keys starting with \"on\" are treated as event handlers.\n * This matches JSX conventions.\n *\n * 3. Handler Composition Order\n * Injected handler runs first, base handler second.\n * This allows injected handlers to prevent default.\n *\n * 4. Return Type\n * Returns intersection type (TInjected & TBase) for type safety.\n */\nimport { composeHandlers } from './compose-handlers';\n\ntype Fn = (...args: readonly unknown[]) => void;\n\nfunction isEventHandlerKey(key: string): boolean {\n return key.startsWith('on');\n}\n\nexport function mergeProps<TBase extends object, TInjected extends object>(\n base: TBase,\n injected: TInjected\n): TInjected & TBase {\n // Fast path: if base is empty, return injected as-is\n const baseKeys = Object.keys(base);\n if (baseKeys.length === 0) {\n return injected as TInjected & TBase;\n }\n\n const out = { ...(injected as object) } as TInjected & TBase;\n\n for (const key of baseKeys as Array<Extract<keyof TBase, string>>) {\n const baseValue = (base as Record<string, unknown>)[key];\n const injectedValue = (injected as Record<string, unknown>)[key];\n\n if (\n isEventHandlerKey(key) &&\n typeof baseValue === 'function' &&\n typeof injectedValue === 'function'\n ) {\n // Invariant: injected runs first; it may call preventDefault() to\n // suppress base behaviour.\n (out as Record<string, unknown>)[key] = composeHandlers(\n injectedValue as unknown as Fn,\n baseValue as unknown as Fn\n );\n continue;\n }\n\n (out as Record<string, unknown>)[key] = baseValue;\n }\n\n return out;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAS,kBAAkB,KAAsB;CAC/C,OAAO,IAAI,WAAW,IAAI;AAC5B;AAEA,SAAgB,WACd,MACA,UACmB;CAEnB,MAAM,WAAW,OAAO,KAAK,IAAI;CACjC,IAAI,SAAS,WAAW,GACtB,OAAO;CAGT,MAAM,MAAM,EAAE,GAAI,SAAoB;CAEtC,KAAK,MAAM,OAAO,UAAiD;EACjE,MAAM,YAAa,KAAiC;EACpD,MAAM,gBAAiB,SAAqC;EAE5D,IACE,kBAAkB,GAAG,KACrB,OAAO,cAAc,cACrB,OAAO,kBAAkB,YACzB;GAGA,IAAiC,OAAO,gBACtC,eACA,SACF;GACA;EACF;EAEA,IAAiC,OAAO;CAC1C;CAEA,OAAO;AACT"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
//#region src/foundations/utilities/use-id.d.ts
|
|
2
|
-
interface FormatIdOptions {
|
|
3
|
-
/** Defaults to 'askr' */
|
|
4
|
-
prefix?: string;
|
|
5
|
-
/** Stable, caller-provided identity */
|
|
6
|
-
id: string | number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* formatId
|
|
10
|
-
*
|
|
11
|
-
* Formats a stable ID from a caller-provided identity.
|
|
12
|
-
* - Pure and deterministic (no time/randomness/global counters)
|
|
13
|
-
* - SSR-safe
|
|
14
|
-
*
|
|
15
|
-
* POLICY DECISIONS (LOCKED):
|
|
16
|
-
*
|
|
17
|
-
* 1. No Auto-Generation
|
|
18
|
-
* Caller must provide the `id`. No random/sequential generation.
|
|
19
|
-
* This ensures determinism and SSR safety.
|
|
20
|
-
*
|
|
21
|
-
* 2. Format Convention
|
|
22
|
-
* IDs are formatted as `{prefix}-{id}`.
|
|
23
|
-
* Default prefix is "askr".
|
|
24
|
-
*
|
|
25
|
-
* 3. Type Coercion
|
|
26
|
-
* Numbers are coerced to strings via String().
|
|
27
|
-
* This is deterministic and consistent.
|
|
28
|
-
*/
|
|
29
|
-
declare function formatId(options: FormatIdOptions): string;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { FormatIdOptions, formatId };
|
|
32
|
-
//# sourceMappingURL=use-id.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-id.d.ts","names":[],"sources":["../../../src/foundations/utilities/use-id.ts"],"mappings":";UAAiB,eAAA;EAAA;EAEf,MAAA;;EAEA,EAAE;AAAA;AAwBJ;;;;AAAiD;;;;;;;;;;;;;;;;;AAAjD,iBAAgB,QAAA,CAAS,OAAwB,EAAf,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-id.js","names":[],"sources":["../../../src/foundations/utilities/use-id.ts"],"sourcesContent":["export interface FormatIdOptions {\n /** Defaults to 'askr' */\n prefix?: string;\n /** Stable, caller-provided identity */\n id: string | number;\n}\n\n/**\n * formatId\n *\n * Formats a stable ID from a caller-provided identity.\n * - Pure and deterministic (no time/randomness/global counters)\n * - SSR-safe\n *\n * POLICY DECISIONS (LOCKED):\n *\n * 1. No Auto-Generation\n * Caller must provide the `id`. No random/sequential generation.\n * This ensures determinism and SSR safety.\n *\n * 2. Format Convention\n * IDs are formatted as `{prefix}-{id}`.\n * Default prefix is \"askr\".\n *\n * 3. Type Coercion\n * Numbers are coerced to strings via String().\n * This is deterministic and consistent.\n */\nexport function formatId(options: FormatIdOptions): string {\n const prefix = options.prefix ?? 'askr';\n return `${prefix}-${String(options.id)}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA4BA,SAAgB,SAAS,SAAkC;CAEzD,OAAO,GADQ,QAAQ,UAAU,OAChB,GAAG,OAAO,QAAQ,EAAE;AACvC"}
|
package/dist/fx/fx.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//#region src/fx/fx.d.ts
|
|
2
|
-
type CancelFn = () => void;
|
|
3
|
-
declare function debounceEvent(ms: number, handler: EventListener, options?: {
|
|
4
|
-
leading?: boolean;
|
|
5
|
-
trailing?: boolean;
|
|
6
|
-
}): EventListener & {
|
|
7
|
-
cancel(): void;
|
|
8
|
-
flush(): void;
|
|
9
|
-
};
|
|
10
|
-
declare function throttleEvent(ms: number, handler: EventListener, options?: {
|
|
11
|
-
leading?: boolean;
|
|
12
|
-
trailing?: boolean;
|
|
13
|
-
}): EventListener & {
|
|
14
|
-
cancel(): void;
|
|
15
|
-
};
|
|
16
|
-
declare function rafEvent(handler: EventListener): EventListener & {
|
|
17
|
-
cancel(): void;
|
|
18
|
-
};
|
|
19
|
-
declare function scheduleTimeout(ms: number, fn: () => void): CancelFn;
|
|
20
|
-
declare function scheduleIdle(fn: () => void, options?: {
|
|
21
|
-
timeout?: number;
|
|
22
|
-
}): CancelFn;
|
|
23
|
-
interface RetryOptions {
|
|
24
|
-
maxAttempts?: number;
|
|
25
|
-
delayMs?: number;
|
|
26
|
-
backoff?: (attemptIndex: number) => number;
|
|
27
|
-
}
|
|
28
|
-
declare function scheduleRetry<T>(fn: () => Promise<T>, options?: RetryOptions): {
|
|
29
|
-
cancel(): void;
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
export { CancelFn, RetryOptions, debounceEvent, rafEvent, scheduleIdle, scheduleRetry, scheduleTimeout, throttleEvent };
|
|
33
|
-
//# sourceMappingURL=fx.d.ts.map
|
package/dist/fx/fx.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fx.d.ts","names":[],"sources":["../../src/fx/fx.ts"],"mappings":";KAKY,QAAA;AAAA,iBAwCI,aAAA,CACd,EAAA,UACA,OAAA,EAAS,aAAA,EACT,OAAA;EAAY,OAAA;EAAmB,QAAA;AAAA,IAC9B,aAAa;EAAK,MAAA;EAAgB,KAAA;AAAA;AAAA,iBAsErB,aAAA,CACd,EAAA,UACA,OAAA,EAAS,aAAA,EACT,OAAA;EAAY,OAAA;EAAmB,QAAA;AAAA,IAC9B,aAAa;EAAK,MAAA;AAAA;AAAA,iBA0DL,QAAA,CACd,OAAA,EAAS,aAAA,GACR,aAAa;EAAK,MAAA;AAAA;AAAA,iBAuDL,eAAA,CAAgB,EAAA,UAAY,EAAA,eAAiB,QAAQ;AAAA,iBAuBrD,YAAA,CACd,EAAA,cACA,OAAA;EAAY,OAAA;AAAA,IACX,QAAQ;AAAA,UA0CM,YAAA;EACf,WAAA;EACA,OAAA;EACA,OAAA,IAAW,YAAA;AAAA;AAAA,iBAGG,aAAA,IACd,EAAA,QAAU,OAAA,CAAQ,CAAA,GAClB,OAAA,GAAU,YAAA;EACP,MAAA;AAAA"}
|
package/dist/fx/fx.js
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { logger } from "../common/logger.js";
|
|
2
|
-
import { enqueueRuntimeTask } from "../runtime/access.js";
|
|
3
|
-
import { getCurrentComponentInstance } from "../runtime/component-scope.js";
|
|
4
|
-
import "../runtime/index.js";
|
|
5
|
-
import { noopEventListener, noopEventListenerWithFlush } from "./noop.js";
|
|
6
|
-
//#region src/fx/fx.ts
|
|
7
|
-
function throwIfDuringRender() {
|
|
8
|
-
if (getCurrentComponentInstance() !== null) throw new Error("[Askr] calling FX handler during render is not allowed. Move calls to event handlers or effects.");
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Helper: schedule a user callback through the global scheduler
|
|
12
|
-
*/
|
|
13
|
-
function enqueueUserCallback(fn) {
|
|
14
|
-
enqueueRuntimeTask(() => {
|
|
15
|
-
try {
|
|
16
|
-
fn();
|
|
17
|
-
} catch (err) {
|
|
18
|
-
logger.error("[Askr] FX handler error:", err);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
function debounceEvent(ms, handler, options) {
|
|
23
|
-
const { leading = false, trailing = true } = options || {};
|
|
24
|
-
const inst = getCurrentComponentInstance();
|
|
25
|
-
if (inst && inst.ssr) return noopEventListenerWithFlush;
|
|
26
|
-
let timeoutId = null;
|
|
27
|
-
let lastEvent = null;
|
|
28
|
-
let lastCallTime = 0;
|
|
29
|
-
const debounced = function(ev) {
|
|
30
|
-
throwIfDuringRender();
|
|
31
|
-
const now = Date.now();
|
|
32
|
-
lastEvent = ev;
|
|
33
|
-
if (timeoutId !== null) {
|
|
34
|
-
clearTimeout(timeoutId);
|
|
35
|
-
timeoutId = null;
|
|
36
|
-
}
|
|
37
|
-
if (leading && now - lastCallTime >= ms) {
|
|
38
|
-
enqueueUserCallback(() => handler.call(null, ev));
|
|
39
|
-
lastCallTime = now;
|
|
40
|
-
}
|
|
41
|
-
if (trailing) timeoutId = setTimeout(() => {
|
|
42
|
-
if (lastEvent) enqueueUserCallback(() => handler.call(null, lastEvent));
|
|
43
|
-
timeoutId = null;
|
|
44
|
-
lastCallTime = Date.now();
|
|
45
|
-
}, ms);
|
|
46
|
-
};
|
|
47
|
-
debounced.cancel = () => {
|
|
48
|
-
if (timeoutId !== null) {
|
|
49
|
-
clearTimeout(timeoutId);
|
|
50
|
-
timeoutId = null;
|
|
51
|
-
}
|
|
52
|
-
lastEvent = null;
|
|
53
|
-
};
|
|
54
|
-
debounced.flush = () => {
|
|
55
|
-
if (timeoutId !== null) {
|
|
56
|
-
clearTimeout(timeoutId);
|
|
57
|
-
const ev = lastEvent;
|
|
58
|
-
lastEvent = null;
|
|
59
|
-
timeoutId = null;
|
|
60
|
-
if (ev) enqueueUserCallback(() => handler.call(null, ev));
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
if (inst) (inst.cleanupFns ??= []).push(() => {
|
|
64
|
-
debounced.cancel();
|
|
65
|
-
});
|
|
66
|
-
return debounced;
|
|
67
|
-
}
|
|
68
|
-
function throttleEvent(ms, handler, options) {
|
|
69
|
-
const { leading = true, trailing = true } = options || {};
|
|
70
|
-
const inst = getCurrentComponentInstance();
|
|
71
|
-
if (inst && inst.ssr) return noopEventListener;
|
|
72
|
-
let lastCallTime = 0;
|
|
73
|
-
let timeoutId = null;
|
|
74
|
-
let lastEvent = null;
|
|
75
|
-
const throttled = function(ev) {
|
|
76
|
-
throwIfDuringRender();
|
|
77
|
-
const now = Date.now();
|
|
78
|
-
lastEvent = ev;
|
|
79
|
-
if (leading && now - lastCallTime >= ms) {
|
|
80
|
-
enqueueUserCallback(() => handler.call(null, ev));
|
|
81
|
-
lastCallTime = now;
|
|
82
|
-
if (timeoutId !== null) {
|
|
83
|
-
clearTimeout(timeoutId);
|
|
84
|
-
timeoutId = null;
|
|
85
|
-
}
|
|
86
|
-
} else if (!leading && lastCallTime === 0) lastCallTime = now;
|
|
87
|
-
if (trailing && timeoutId === null) {
|
|
88
|
-
const wait = ms - (now - lastCallTime);
|
|
89
|
-
timeoutId = setTimeout(() => {
|
|
90
|
-
if (lastEvent) enqueueUserCallback(() => handler.call(null, lastEvent));
|
|
91
|
-
lastCallTime = Date.now();
|
|
92
|
-
timeoutId = null;
|
|
93
|
-
}, Math.max(0, wait));
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
throttled.cancel = () => {
|
|
97
|
-
if (timeoutId !== null) {
|
|
98
|
-
clearTimeout(timeoutId);
|
|
99
|
-
timeoutId = null;
|
|
100
|
-
}
|
|
101
|
-
lastEvent = null;
|
|
102
|
-
};
|
|
103
|
-
if (inst) (inst.cleanupFns ??= []).push(() => throttled.cancel());
|
|
104
|
-
return throttled;
|
|
105
|
-
}
|
|
106
|
-
function rafEvent(handler) {
|
|
107
|
-
const inst = getCurrentComponentInstance();
|
|
108
|
-
if (inst && inst.ssr) return noopEventListener;
|
|
109
|
-
let frameId = null;
|
|
110
|
-
let lastEvent = null;
|
|
111
|
-
const scheduleFrame = () => {
|
|
112
|
-
frameId = (typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : (cb) => setTimeout(() => cb(Date.now()), 16))(() => {
|
|
113
|
-
frameId = null;
|
|
114
|
-
if (lastEvent) {
|
|
115
|
-
const ev = lastEvent;
|
|
116
|
-
lastEvent = null;
|
|
117
|
-
enqueueUserCallback(() => handler.call(null, ev));
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
const fn = function(ev) {
|
|
122
|
-
throwIfDuringRender();
|
|
123
|
-
lastEvent = ev;
|
|
124
|
-
if (frameId === null) scheduleFrame();
|
|
125
|
-
};
|
|
126
|
-
fn.cancel = () => {
|
|
127
|
-
if (frameId !== null) {
|
|
128
|
-
if (typeof cancelAnimationFrame !== "undefined" && typeof frameId === "number") cancelAnimationFrame(frameId);
|
|
129
|
-
else clearTimeout(frameId);
|
|
130
|
-
frameId = null;
|
|
131
|
-
}
|
|
132
|
-
lastEvent = null;
|
|
133
|
-
};
|
|
134
|
-
if (inst) (inst.cleanupFns ??= []).push(() => fn.cancel());
|
|
135
|
-
return fn;
|
|
136
|
-
}
|
|
137
|
-
function scheduleTimeout(ms, fn) {
|
|
138
|
-
throwIfDuringRender();
|
|
139
|
-
const inst = getCurrentComponentInstance();
|
|
140
|
-
if (inst && inst.ssr) return () => {};
|
|
141
|
-
let id = setTimeout(() => {
|
|
142
|
-
id = null;
|
|
143
|
-
enqueueUserCallback(fn);
|
|
144
|
-
}, ms);
|
|
145
|
-
const cancel = () => {
|
|
146
|
-
if (id !== null) {
|
|
147
|
-
clearTimeout(id);
|
|
148
|
-
id = null;
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
if (inst) (inst.cleanupFns ??= []).push(cancel);
|
|
152
|
-
return cancel;
|
|
153
|
-
}
|
|
154
|
-
function scheduleIdle(fn, options) {
|
|
155
|
-
throwIfDuringRender();
|
|
156
|
-
const inst = getCurrentComponentInstance();
|
|
157
|
-
if (inst && inst.ssr) return () => {};
|
|
158
|
-
let id = null;
|
|
159
|
-
let usingRIC = false;
|
|
160
|
-
if (typeof requestIdleCallback !== "undefined") {
|
|
161
|
-
usingRIC = true;
|
|
162
|
-
id = requestIdleCallback(() => {
|
|
163
|
-
id = null;
|
|
164
|
-
enqueueUserCallback(fn);
|
|
165
|
-
}, options);
|
|
166
|
-
} else id = setTimeout(() => {
|
|
167
|
-
id = null;
|
|
168
|
-
enqueueUserCallback(fn);
|
|
169
|
-
}, 0);
|
|
170
|
-
const cancel = () => {
|
|
171
|
-
if (id !== null) {
|
|
172
|
-
if (usingRIC && typeof cancelIdleCallback !== "undefined" && typeof id === "number") cancelIdleCallback(id);
|
|
173
|
-
else clearTimeout(id);
|
|
174
|
-
id = null;
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
if (inst) (inst.cleanupFns ??= []).push(cancel);
|
|
178
|
-
return cancel;
|
|
179
|
-
}
|
|
180
|
-
function scheduleRetry(fn, options) {
|
|
181
|
-
throwIfDuringRender();
|
|
182
|
-
const inst = getCurrentComponentInstance();
|
|
183
|
-
if (inst && inst.ssr) return { cancel: () => {} };
|
|
184
|
-
const { maxAttempts = 3, delayMs = 100, backoff = (i) => delayMs * Math.pow(2, i) } = options || {};
|
|
185
|
-
let cancelled = false;
|
|
186
|
-
const attempt = (index) => {
|
|
187
|
-
if (cancelled) return;
|
|
188
|
-
enqueueRuntimeTask(() => {
|
|
189
|
-
if (cancelled) return;
|
|
190
|
-
fn().then(() => {}, () => {
|
|
191
|
-
if (cancelled) return;
|
|
192
|
-
if (index + 1 < maxAttempts) {
|
|
193
|
-
const delay = backoff(index);
|
|
194
|
-
setTimeout(() => {
|
|
195
|
-
attempt(index + 1);
|
|
196
|
-
}, delay);
|
|
197
|
-
}
|
|
198
|
-
}).catch((e) => {
|
|
199
|
-
logger.error("[Askr] scheduleRetry error:", e);
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
};
|
|
203
|
-
attempt(0);
|
|
204
|
-
const cancel = () => {
|
|
205
|
-
cancelled = true;
|
|
206
|
-
};
|
|
207
|
-
if (inst) (inst.cleanupFns ??= []).push(cancel);
|
|
208
|
-
return { cancel };
|
|
209
|
-
}
|
|
210
|
-
//#endregion
|
|
211
|
-
export { debounceEvent, rafEvent, scheduleIdle, scheduleRetry, scheduleTimeout, throttleEvent };
|
|
212
|
-
|
|
213
|
-
//# sourceMappingURL=fx.js.map
|
package/dist/fx/fx.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fx.js","names":[],"sources":["../../src/fx/fx.ts"],"sourcesContent":["import { enqueueRuntimeTask } from '../runtime';\nimport { getCurrentComponentInstance } from '../runtime';\nimport { logger } from '../common/logger';\nimport { noopEventListener, noopEventListenerWithFlush } from './noop';\n\nexport type CancelFn = () => void;\n\n// Platform-specific timer handle types\ntype TimeoutHandle = ReturnType<typeof setTimeout> | null;\n// rAF may fall back to setTimeout in some environments/tests, include both\ntype RafHandle =\n | ReturnType<typeof requestAnimationFrame>\n | ReturnType<typeof setTimeout>\n | null;\n// requestIdleCallback may be unavailable; allow setTimeout fallback handle\ntype IdleHandle =\n | ReturnType<typeof requestIdleCallback>\n | ReturnType<typeof setTimeout>\n | null;\n\nfunction throwIfDuringRender(): void {\n const inst = getCurrentComponentInstance();\n if (inst !== null) {\n throw new Error(\n '[Askr] calling FX handler during render is not allowed. Move calls to event handlers or effects.'\n );\n }\n}\n\n/**\n * Helper: schedule a user callback through the global scheduler\n */\nfunction enqueueUserCallback(fn: () => void) {\n enqueueRuntimeTask(() => {\n try {\n fn();\n } catch (err) {\n // Keep behavior consistent with other scheduler-queued work\n logger.error('[Askr] FX handler error:', err);\n }\n });\n}\n\n// ---------- Event handlers ----------\n\nexport function debounceEvent(\n ms: number,\n handler: EventListener,\n options?: { leading?: boolean; trailing?: boolean }\n): EventListener & { cancel(): void; flush(): void } {\n const { leading = false, trailing = true } = options || {};\n\n const inst = getCurrentComponentInstance();\n // On SSR, event handlers are inert\n if (inst && inst.ssr) {\n return noopEventListenerWithFlush;\n }\n\n let timeoutId: TimeoutHandle = null;\n let lastEvent: Event | null = null;\n let lastCallTime = 0;\n\n const debounced = function (this: unknown, ev: Event) {\n // Disallow using returned handler during render\n throwIfDuringRender();\n\n const now = Date.now();\n lastEvent = ev;\n\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n\n if (leading && now - lastCallTime >= ms) {\n enqueueUserCallback(() => handler.call(null, ev));\n lastCallTime = now;\n }\n\n if (trailing) {\n timeoutId = setTimeout(() => {\n // Schedule through scheduler\n if (lastEvent) {\n enqueueUserCallback(() => handler.call(null, lastEvent!));\n }\n timeoutId = null;\n lastCallTime = Date.now();\n }, ms);\n }\n } as EventListener & { cancel(): void; flush(): void };\n\n debounced.cancel = () => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastEvent = null;\n };\n\n debounced.flush = () => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n const ev = lastEvent;\n lastEvent = null;\n timeoutId = null;\n if (ev) enqueueUserCallback(() => handler.call(null, ev));\n }\n };\n\n // Auto-cleanup on component unmount\n if (inst) {\n (inst.cleanupFns ??= []).push(() => {\n debounced.cancel();\n });\n }\n\n return debounced;\n}\n\nexport function throttleEvent(\n ms: number,\n handler: EventListener,\n options?: { leading?: boolean; trailing?: boolean }\n): EventListener & { cancel(): void } {\n const { leading = true, trailing = true } = options || {};\n\n const inst = getCurrentComponentInstance();\n if (inst && inst.ssr) {\n return noopEventListener;\n }\n\n let lastCallTime = 0;\n let timeoutId: TimeoutHandle = null;\n let lastEvent: Event | null = null;\n\n const throttled = function (this: unknown, ev: Event) {\n throwIfDuringRender();\n\n const now = Date.now();\n lastEvent = ev;\n\n if (leading && now - lastCallTime >= ms) {\n enqueueUserCallback(() => handler.call(null, ev));\n lastCallTime = now;\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n } else if (!leading && lastCallTime === 0) {\n lastCallTime = now;\n }\n\n if (trailing && timeoutId === null) {\n const wait = ms - (now - lastCallTime);\n timeoutId = setTimeout(\n () => {\n if (lastEvent)\n enqueueUserCallback(() => handler.call(null, lastEvent!));\n lastCallTime = Date.now();\n timeoutId = null;\n },\n Math.max(0, wait)\n );\n }\n } as EventListener & { cancel(): void };\n\n throttled.cancel = () => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastEvent = null;\n };\n\n if (inst) {\n (inst.cleanupFns ??= []).push(() => throttled.cancel());\n }\n\n return throttled;\n}\n\nexport function rafEvent(\n handler: EventListener\n): EventListener & { cancel(): void } {\n const inst = getCurrentComponentInstance();\n if (inst && inst.ssr) {\n return noopEventListener;\n }\n\n let frameId: RafHandle = null;\n let lastEvent: Event | null = null;\n\n const scheduleFrame = () => {\n const rAF =\n typeof requestAnimationFrame !== 'undefined'\n ? requestAnimationFrame\n : (cb: FrameRequestCallback) => setTimeout(() => cb(Date.now()), 16);\n\n frameId = rAF(() => {\n frameId = null;\n if (lastEvent) {\n const ev = lastEvent;\n lastEvent = null;\n enqueueUserCallback(() => handler.call(null, ev));\n }\n });\n };\n\n const fn = function (this: unknown, ev: Event) {\n throwIfDuringRender();\n lastEvent = ev;\n if (frameId === null) scheduleFrame();\n } as EventListener & { cancel(): void };\n\n fn.cancel = () => {\n if (frameId !== null) {\n // If frameId is numeric and cancelAnimationFrame is available, use it;\n // otherwise fall back to clearTimeout for the setTimeout fallback.\n if (\n typeof cancelAnimationFrame !== 'undefined' &&\n typeof frameId === 'number'\n ) {\n cancelAnimationFrame(frameId);\n } else {\n clearTimeout(frameId as ReturnType<typeof setTimeout>);\n }\n frameId = null;\n }\n lastEvent = null;\n };\n\n if (inst) (inst.cleanupFns ??= []).push(() => fn.cancel());\n\n return fn;\n}\n\n// ---------- Scheduled work ----------\n\nexport function scheduleTimeout(ms: number, fn: () => void): CancelFn {\n throwIfDuringRender();\n const inst = getCurrentComponentInstance();\n if (inst && inst.ssr) {\n return () => {};\n }\n\n let id: TimeoutHandle = setTimeout(() => {\n id = null;\n enqueueUserCallback(fn);\n }, ms);\n\n const cancel = () => {\n if (id !== null) {\n clearTimeout(id);\n id = null;\n }\n };\n\n if (inst) (inst.cleanupFns ??= []).push(cancel);\n return cancel;\n}\n\nexport function scheduleIdle(\n fn: () => void,\n options?: { timeout?: number }\n): CancelFn {\n throwIfDuringRender();\n const inst = getCurrentComponentInstance();\n if (inst && inst.ssr) return () => {};\n\n let id: IdleHandle = null;\n let usingRIC = false;\n\n if (typeof requestIdleCallback !== 'undefined') {\n usingRIC = true;\n id = requestIdleCallback(() => {\n id = null;\n enqueueUserCallback(fn);\n }, options);\n } else {\n // Fallback: schedule on next macrotask\n id = setTimeout(() => {\n id = null;\n enqueueUserCallback(fn);\n }, 0);\n }\n\n const cancel = () => {\n if (id !== null) {\n // If using requestIdleCallback and available, call cancelIdleCallback for numeric ids.\n if (\n usingRIC &&\n typeof cancelIdleCallback !== 'undefined' &&\n typeof id === 'number'\n ) {\n cancelIdleCallback(id);\n } else {\n clearTimeout(id as ReturnType<typeof setTimeout>);\n }\n id = null;\n }\n };\n\n if (inst) (inst.cleanupFns ??= []).push(cancel);\n return cancel;\n}\n\nexport interface RetryOptions {\n maxAttempts?: number;\n delayMs?: number;\n backoff?: (attemptIndex: number) => number;\n}\n\nexport function scheduleRetry<T>(\n fn: () => Promise<T>,\n options?: RetryOptions\n): { cancel(): void } {\n throwIfDuringRender();\n const inst = getCurrentComponentInstance();\n if (inst && inst.ssr) return { cancel: () => {} };\n\n const {\n maxAttempts = 3,\n delayMs = 100,\n backoff = (i: number) => delayMs * Math.pow(2, i),\n } = options || {};\n\n let cancelled = false;\n\n const attempt = (index: number) => {\n if (cancelled) return;\n // Run user fn inside scheduler\n enqueueRuntimeTask(() => {\n if (cancelled) return;\n // Call fn (it may be async)\n const p = fn();\n p.then(\n () => {\n // Completed successfully\n },\n () => {\n if (cancelled) return;\n if (index + 1 < maxAttempts) {\n const delay = backoff(index);\n // Schedule next attempt via setTimeout so it gets enqueued through scheduleTimeout\n setTimeout(() => {\n attempt(index + 1);\n }, delay);\n }\n }\n ).catch((e) => {\n logger.error('[Askr] scheduleRetry error:', e);\n });\n });\n };\n\n // Start first attempt\n attempt(0);\n\n const cancel = () => {\n cancelled = true;\n };\n\n if (inst) (inst.cleanupFns ??= []).push(cancel);\n return { cancel };\n}\n"],"mappings":"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"}
|
package/dist/fx/noop.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const noopEventListener = Object.assign((_ev) => {}, { cancel() {} });
|
|
2
|
-
const noopEventListenerWithFlush = Object.assign((_ev) => {}, {
|
|
3
|
-
cancel() {},
|
|
4
|
-
flush() {}
|
|
5
|
-
});
|
|
6
|
-
//#endregion
|
|
7
|
-
export { noopEventListener, noopEventListenerWithFlush };
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=noop.js.map
|
package/dist/fx/noop.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"noop.js","names":[],"sources":["../../src/fx/noop.ts"],"sourcesContent":["// Lightweight shared no-op helpers to avoid double-casts and duplicated definitions\n\nexport const noop: () => void = () => {};\n\nexport const noopEventListener: EventListener & { cancel(): void } =\n Object.assign((_ev?: Event) => {}, { cancel() {} });\n\nexport const noopEventListenerWithFlush: EventListener & {\n cancel(): void;\n flush(): void;\n} = Object.assign((_ev?: Event) => {}, { cancel() {}, flush() {} });\n\nexport const noopCancel: { cancel(): void } = { cancel() {} };\n"],"mappings":"AAIA,MAAa,oBACX,OAAO,QAAQ,QAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;AAEpD,MAAa,6BAGT,OAAO,QAAQ,QAAgB,CAAC,GAAG;CAAE,SAAS,CAAC;CAAG,QAAQ,CAAC;AAAE,CAAC"}
|
package/dist/fx/timing.d.ts
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
//#region src/fx/timing.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Timing utilities — pure helpers for common async patterns
|
|
4
|
-
* No framework coupling. No lifecycle awareness.
|
|
5
|
-
*/
|
|
6
|
-
interface DebounceOptions {
|
|
7
|
-
leading?: boolean;
|
|
8
|
-
trailing?: boolean;
|
|
9
|
-
}
|
|
10
|
-
interface ThrottleOptions {
|
|
11
|
-
leading?: boolean;
|
|
12
|
-
trailing?: boolean;
|
|
13
|
-
}
|
|
14
|
-
interface RetryOptions {
|
|
15
|
-
maxAttempts?: number;
|
|
16
|
-
delayMs?: number;
|
|
17
|
-
backoff?: (attemptIndex: number) => number;
|
|
18
|
-
}
|
|
19
|
-
type AnyFn = (...args: never[]) => unknown;
|
|
20
|
-
/**
|
|
21
|
-
* Debounce — delay execution, coalesce rapid calls
|
|
22
|
-
*
|
|
23
|
-
* Useful for: text input, resize, autosave
|
|
24
|
-
*
|
|
25
|
-
* @param fn Function to debounce
|
|
26
|
-
* @param ms Delay in milliseconds
|
|
27
|
-
* @param options trailing (default true), leading
|
|
28
|
-
* @returns Debounced function with cancel() method
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```ts
|
|
32
|
-
* const save = debounce((text) => api.save(text), 500);
|
|
33
|
-
* input.addEventListener('input', (e) => save(e.target.value));
|
|
34
|
-
* save.cancel(); // stop any pending execution
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
declare function debounce<T extends AnyFn>(fn: T, ms: number, options?: DebounceOptions): T & {
|
|
38
|
-
cancel(): void;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Throttle — rate-limit execution, keep first/last
|
|
42
|
-
*
|
|
43
|
-
* Useful for: scroll, mouse move, high-frequency events
|
|
44
|
-
*
|
|
45
|
-
* @param fn Function to throttle
|
|
46
|
-
* @param ms Minimum interval between calls in milliseconds
|
|
47
|
-
* @param options leading (default true), trailing (default true)
|
|
48
|
-
* @returns Throttled function with cancel() method
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```ts
|
|
52
|
-
* const handleScroll = throttle(updateUI, 100);
|
|
53
|
-
* window.addEventListener('scroll', handleScroll);
|
|
54
|
-
* handleScroll.cancel();
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
declare function throttle<T extends AnyFn>(fn: T, ms: number, options?: ThrottleOptions): T & {
|
|
58
|
-
cancel(): void;
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Once — guard against double execution
|
|
62
|
-
*
|
|
63
|
-
* Useful for: init logic, event safety
|
|
64
|
-
*
|
|
65
|
-
* @param fn Function to call at most once
|
|
66
|
-
* @returns Function that executes fn only on first call
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```ts
|
|
70
|
-
* const init = once(setup);
|
|
71
|
-
* init(); // runs
|
|
72
|
-
* init(); // does nothing
|
|
73
|
-
* init(); // does nothing
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
declare function once<T extends AnyFn>(fn: T): T;
|
|
77
|
-
/**
|
|
78
|
-
* Defer — schedule on microtask queue
|
|
79
|
-
*
|
|
80
|
-
* Useful for: run-after-current-stack logic
|
|
81
|
-
* More reliable than setTimeout(..., 0)
|
|
82
|
-
*
|
|
83
|
-
* @param fn Function to defer
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* ```ts
|
|
87
|
-
* defer(() => update()); // runs after current stack, before next macrotask
|
|
88
|
-
* ```
|
|
89
|
-
*/
|
|
90
|
-
declare function defer(fn: () => void): void;
|
|
91
|
-
/**
|
|
92
|
-
* RAF — coalesce multiple updates into single frame
|
|
93
|
-
*
|
|
94
|
-
* Useful for: animation, layout work, render updates
|
|
95
|
-
*
|
|
96
|
-
* @param fn Function to schedule on next animation frame
|
|
97
|
-
* @returns Function that schedules fn on requestAnimationFrame
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```ts
|
|
101
|
-
* const update = raf(render);
|
|
102
|
-
* update(); // schedules on next frame
|
|
103
|
-
* update(); // same frame, no duplicate
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
declare function raf<T extends AnyFn>(fn: T): T;
|
|
107
|
-
/**
|
|
108
|
-
* Idle — schedule low-priority work
|
|
109
|
-
*
|
|
110
|
-
* Useful for: background prep, non-urgent updates
|
|
111
|
-
* Falls back to setTimeout if requestIdleCallback unavailable
|
|
112
|
-
*
|
|
113
|
-
* @param fn Function to call when idle
|
|
114
|
-
* @param options timeout for fallback
|
|
115
|
-
*
|
|
116
|
-
* @example
|
|
117
|
-
* ```ts
|
|
118
|
-
* idle(() => prefetchData());
|
|
119
|
-
* ```
|
|
120
|
-
*/
|
|
121
|
-
declare function idle(fn: () => void, options?: {
|
|
122
|
-
timeout?: number;
|
|
123
|
-
}): void;
|
|
124
|
-
/**
|
|
125
|
-
* Timeout — Promise-based delay
|
|
126
|
-
*
|
|
127
|
-
* Useful for: readable async code, waiting between retries
|
|
128
|
-
*
|
|
129
|
-
* @param ms Milliseconds to wait
|
|
130
|
-
* @returns Promise that resolves after delay
|
|
131
|
-
*
|
|
132
|
-
* @example
|
|
133
|
-
* ```ts
|
|
134
|
-
* await timeout(300);
|
|
135
|
-
* console.log('300ms later');
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
|
-
declare function timeout(ms: number): Promise<void>;
|
|
139
|
-
/**
|
|
140
|
-
* Retry — attempt function with backoff
|
|
141
|
-
*
|
|
142
|
-
* Useful for: network calls, transient failures
|
|
143
|
-
*
|
|
144
|
-
* @param fn Async function to retry
|
|
145
|
-
* @param options maxAttempts, delayMs, backoff function
|
|
146
|
-
* @returns Promise with final result or error
|
|
147
|
-
*
|
|
148
|
-
* @example
|
|
149
|
-
* ```ts
|
|
150
|
-
* const data = await retry(() => fetch(url), {
|
|
151
|
-
* maxAttempts: 3,
|
|
152
|
-
* delayMs: 100,
|
|
153
|
-
* });
|
|
154
|
-
* ```
|
|
155
|
-
*/
|
|
156
|
-
declare function retry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
|
|
157
|
-
//#endregion
|
|
158
|
-
export { DebounceOptions, RetryOptions, ThrottleOptions, debounce, defer, idle, once, raf, retry, throttle, timeout };
|
|
159
|
-
//# sourceMappingURL=timing.d.ts.map
|
package/dist/fx/timing.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","names":[],"sources":["../../src/fx/timing.ts"],"mappings":";;AAKA;;;UAAiB,eAAA;EACf,OAAA;EACA,QAAQ;AAAA;AAAA,UAGO,eAAA;EACf,OAAA;EACA,QAAQ;AAAA;AAAA,UAGO,YAAA;EACf,WAAA;EACA,OAAA;EACA,OAAA,IAAW,YAAA;AAAA;AAAA,KAGR,KAAA,OAAY,IAAI;;;AAHY;AAChC;;;;AAEoB;AAoBrB;;;;;;;;;iBAAgB,QAAA,WAAmB,KAAA,EACjC,EAAA,EAAI,CAAA,EACJ,EAAA,UACA,OAAA,GAAU,eAAA,GACT,CAAA;EAAM,MAAA;AAAA;;;;;;;;AAAM;AA2Df;;;;;;;;;iBAAgB,QAAA,WAAmB,KAAA,EACjC,EAAA,EAAI,CAAA,EACJ,EAAA,UACA,OAAA,GAAU,eAAA,GACT,CAAA;EAAM,MAAA;AAAA;;;;;;;;AAAM;AAsEf;;;;;;;;iBAAgB,IAAA,WAAe,KAAA,EAAO,EAAA,EAAI,CAAA,GAAI,CAAA;;;;;;AAAC;AA2B/C;;;;AAAoC;AAmBpC;;iBAnBgB,KAAA,CAAM,EAAc;;;;;;;;;;;;AAmBU;AAkC9C;;;iBAlCgB,GAAA,WAAc,KAAA,EAAO,EAAA,EAAI,CAAA,GAAI,CAAA;;;;;AAkCsB;AAyBnE;;;;AAA4C;AAqB5C;;;;iBA9CgB,IAAA,CAAK,EAAA,cAAgB,OAAA;EAAY,OAAA;AAAA;;;;;;;;;;;;;AAiDrC;;iBAxBI,OAAA,CAAQ,EAAA,WAAa,OAAO;;;;;;;;;;;;;;;;;;iBAqBtB,KAAA,IACpB,EAAA,QAAU,OAAA,CAAQ,CAAA,GAClB,OAAA,GAAU,YAAA,GACT,OAAA,CAAQ,CAAA"}
|