@askrjs/askr 0.3.0 → 0.4.0

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.
Files changed (123) hide show
  1. package/CHANGELOG.md +874 -0
  2. package/README.md +61 -29
  3. package/capabilities.json +19 -9
  4. package/dist/actions/index.js +56 -12
  5. package/dist/benchmark.js +10 -15
  6. package/dist/boot/index.d.ts +3 -2
  7. package/dist/boot/index.js +1 -1
  8. package/dist/boot-DaoTYoCw.js +3989 -0
  9. package/dist/browser-activity-CB8e-V4f.js +220 -0
  10. package/dist/components/index.d.ts +8 -1
  11. package/dist/components/index.js +1 -43
  12. package/dist/{aria-hKjThHcp.js → compose-ref-DWzdbxsD.js} +41 -4
  13. package/dist/control/index.d.ts +2 -0
  14. package/dist/control/index.js +1 -1
  15. package/dist/control-nfpT2fbK.js +209 -0
  16. package/dist/core.d.ts +5 -9
  17. package/dist/csp-nonce-DwGw1A6Q.js +35 -0
  18. package/dist/data/index.js +3 -3
  19. package/dist/{data-2edW0jhF.js → data-BCwClJiF.js} +283 -94
  20. package/dist/data-runtime-C1bFAlba.js +242 -0
  21. package/dist/{deferred-CbgNhf67.js → deferred-bEEHHvic.js} +42 -20
  22. package/dist/domains/actions.d.ts +8 -3
  23. package/dist/domains/component.d.ts +1 -107
  24. package/dist/domains/context.d.ts +0 -15
  25. package/dist/domains/control.d.ts +36 -249
  26. package/dist/domains/data.d.ts +31 -13
  27. package/dist/domains/diagnostics.d.ts +1 -2
  28. package/dist/domains/lifecycle.d.ts +2 -5
  29. package/dist/domains/refs.d.ts +0 -2
  30. package/dist/domains/routing.d.ts +43 -8
  31. package/dist/domains/scheduler.d.ts +1 -76
  32. package/dist/domains/server.d.ts +5 -2
  33. package/dist/domains/state.d.ts +2 -5
  34. package/dist/domains/telemetry.d.ts +0 -2
  35. package/dist/elements.d.ts +214 -51
  36. package/dist/error-boundary-Bpwofwps.js +293 -0
  37. package/dist/foundations/icon/index.d.ts +0 -58
  38. package/dist/foundations/icon/index.js +2 -2
  39. package/dist/foundations/index.js +2 -1
  40. package/dist/foundations/interactions/index.js +1 -1
  41. package/dist/foundations/state/index.d.ts +3 -3
  42. package/dist/foundations/state/index.js +5 -3
  43. package/dist/foundations/structures/index.js +2 -1
  44. package/dist/foundations/utilities/index.d.ts +2 -0
  45. package/dist/foundations/utilities/index.js +1 -2
  46. package/dist/fx/index.d.ts +31 -58
  47. package/dist/fx/index.js +313 -195
  48. package/dist/hooks-BimKStr4.js +202 -0
  49. package/dist/index.d.ts +11 -74
  50. package/dist/index.js +8 -447
  51. package/dist/instance-BAnfmXOR.js +988 -0
  52. package/dist/{interactions-CTeACdT_.js → interactions-D2BoREb-.js} +3 -2
  53. package/dist/jsx-dev-runtime.d.ts +41 -18
  54. package/dist/jsx-dev-runtime.js +1 -6
  55. package/dist/{jsx-runtime-CPJXAOBF.js → jsx-runtime-C4idqHY0.js} +18 -7
  56. package/dist/jsx-runtime.js +1 -1
  57. package/dist/jsx.d.ts +61 -37
  58. package/dist/{manifest-D1P3UNWV.js → manifest-CW9gyNBY.js} +3 -3
  59. package/dist/{navigate-prC5V8XV.js → navigate-CP_0Zy5U.js} +454 -87
  60. package/dist/navigation.d.ts +12 -3
  61. package/dist/peer-types.d.ts +8 -0
  62. package/dist/portal-DuOKfnLa.js +349 -0
  63. package/dist/promise-Dz8iIHAm.js +16 -0
  64. package/dist/query-registry-WMCN0BJL.js +320 -0
  65. package/dist/readable-DFWOsTac.js +21 -0
  66. package/dist/{render-context-B7ohlh6t.js → render-context-DGHnEveC.js} +27 -11
  67. package/dist/render-sync-IC5lMFpq.js +1240 -0
  68. package/dist/resolution-Cx82-xjW.js +1244 -0
  69. package/dist/resource-CLjB7RBQ.js +377 -0
  70. package/dist/resources/index.d.ts +21 -11
  71. package/dist/resources/index.js +45 -244
  72. package/dist/router/index.d.ts +14 -5
  73. package/dist/router/index.js +22 -53
  74. package/dist/scope-CwpVSHVf.js +55 -0
  75. package/dist/{shared-kU8yvryp.js → shared-O2ZnmYAf.js} +1 -7
  76. package/dist/{snapshot-source-An4iKajG.js → snapshot-Cjx4N988.js} +6 -1
  77. package/dist/ssg/index.d.ts +1 -2
  78. package/dist/ssg/index.js +5 -13
  79. package/dist/ssr/index.d.ts +26 -28
  80. package/dist/ssr/index.js +4 -4
  81. package/dist/{ssr-CiNm6Vzl.js → ssr-BJ8ug7zH.js} +133 -122
  82. package/dist/ssr-DoV-vJ-5.js +229 -0
  83. package/dist/state-DWO1KzkX.js +232 -0
  84. package/dist/structures-D4dDMqHX.js +231 -0
  85. package/dist/testing/index.d.ts +8 -4
  86. package/dist/testing/index.js +29 -34
  87. package/dist/url-CnbfpX0K.js +185 -0
  88. package/dist/utilities.d.ts +48 -2
  89. package/dist/verify-hydration-DpVaDnqz.js +152 -0
  90. package/package.json +19 -9
  91. package/dist/access-CEA2pOry.js +0 -1046
  92. package/dist/activity-oy2YFTFF.js +0 -201
  93. package/dist/boot-BMBMWUGI.js +0 -1084
  94. package/dist/capabilities-Bbf0mlp9.js +0 -42
  95. package/dist/compose-ref-v0qGlHoN.js +0 -26
  96. package/dist/control-BR_mrX__.js +0 -173
  97. package/dist/control-C-ApnFs1.js +0 -20
  98. package/dist/csp-nonce-BfFWcd0w.js +0 -173
  99. package/dist/data-runtime-CxoY98lX.js +0 -149
  100. package/dist/default-portal-runtime-DvMvWJVp.js +0 -20
  101. package/dist/dom-renderer.d.ts +0 -77
  102. package/dist/domains/renderer.d.ts +0 -127
  103. package/dist/eager-control.d.ts +0 -8
  104. package/dist/effect-C3Zsc1k6.js +0 -292
  105. package/dist/for-state-BDykeOJL.js +0 -1753
  106. package/dist/instance-VAFYVJOa.js +0 -1027
  107. package/dist/notify-DxxuDPeY.js +0 -266
  108. package/dist/portal-w3oQ6oQU.js +0 -29
  109. package/dist/query-registry-LrYpQsDJ.js +0 -83
  110. package/dist/render-resolved-BC0W7_5b.js +0 -1123
  111. package/dist/renderer-CT0HeY58.js +0 -8623
  112. package/dist/resolution-3DskUkjG.js +0 -577
  113. package/dist/resource-18-sFRl9.js +0 -344
  114. package/dist/route-matching-CUzZ31gT.js +0 -551
  115. package/dist/router-internal-7nuNEHfG.js +0 -36
  116. package/dist/scope-Cq_iYbTR.js +0 -403
  117. package/dist/selector-BSPVkjKP.js +0 -311
  118. package/dist/ssr-EPjwJH5R.js +0 -29
  119. package/dist/state-BXJfudq1.js +0 -91
  120. package/dist/structures-CjEzfj4h.js +0 -654
  121. package/dist/timer-C7uqnJVt.js +0 -85
  122. package/dist/verify-hydration-ikaxotf7.js +0 -27
  123. package/dist/vnode-D24p6IW2.js +0 -7
@@ -1,85 +0,0 @@
1
- import { a as registerCommitOperation } from "./instance-VAFYVJOa.js";
2
- import { O as ownCleanup, f as getCurrentComponentInstance, i as claimHookIndex } from "./scope-Cq_iYbTR.js";
3
- import { n as getComponentLifecycleSlot } from "./capabilities-Bbf0mlp9.js";
4
- import { t as isRouteActivityActive } from "./route-activity-CNJfpwx-.js";
5
- //#region src/runtime/lifecycle/policy.ts
6
- function normalizePredicates(predicates) {
7
- if (!predicates) return [];
8
- return typeof predicates === "function" ? [predicates] : predicates;
9
- }
10
- function allPredicatesPass(predicates) {
11
- for (const predicate of predicates) if (!predicate()) return false;
12
- return true;
13
- }
14
- /** {@link ActivityPredicate} that is true while the current route matches `pathOrPaths`. */
15
- function routeActive(pathOrPaths) {
16
- return () => isRouteActivityActive(pathOrPaths);
17
- }
18
- //#endregion
19
- //#region src/resources/browser-activity.ts
20
- /** Activity gates retain their permissive server defaults. */
21
- function documentVisible() {
22
- return () => typeof document === "undefined" || document.visibilityState !== "hidden";
23
- }
24
- function windowFocused() {
25
- return () => typeof document === "undefined" || typeof document.hasFocus !== "function" || document.hasFocus();
26
- }
27
- /** Browser target factories are deferred and skipped during server execution. */
28
- function resolveListenerTarget(target) {
29
- return typeof target === "function" ? typeof window === "undefined" ? null : target() ?? null : target;
30
- }
31
- //#endregion
32
- //#region src/runtime/lifecycle/timer.ts
33
- function stopTimerSlot(slot) {
34
- if (slot.id === null) return;
35
- clearInterval(slot.id);
36
- slot.id = null;
37
- }
38
- function startTimerSlot(slot) {
39
- slot.id = setInterval(() => {
40
- if (allPredicatesPass(slot.predicates)) slot.callback();
41
- }, slot.intervalMs ?? slot.pendingIntervalMs);
42
- }
43
- function commitTimerSlot(instance, slot) {
44
- const intervalChanged = slot.intervalMs !== slot.pendingIntervalMs;
45
- slot.callback = slot.pendingCallback;
46
- slot.predicates = slot.pendingPredicates;
47
- if (slot.id === null || intervalChanged) {
48
- stopTimerSlot(slot);
49
- slot.intervalMs = slot.pendingIntervalMs;
50
- startTimerSlot(slot);
51
- }
52
- if (!slot.cleanupRegistered) {
53
- slot.cleanupRegistered = true;
54
- ownCleanup(instance.owner, () => {
55
- stopTimerSlot(slot);
56
- slot.cleanupRegistered = false;
57
- });
58
- }
59
- }
60
- /** Run `fn` on an owned interval for the current component's lifetime, optionally gated by `options.when`. */
61
- function timer(intervalMs, fn, options) {
62
- const instance = getCurrentComponentInstance();
63
- if (!instance) return;
64
- const index = claimHookIndex(instance, "timer");
65
- const predicates = normalizePredicates(options?.when);
66
- const slot = getComponentLifecycleSlot(instance, index, "timer", () => ({
67
- kind: "timer",
68
- id: null,
69
- intervalMs: null,
70
- pendingIntervalMs: intervalMs,
71
- callback: fn,
72
- predicates,
73
- pendingCallback: fn,
74
- pendingPredicates: predicates,
75
- cleanupRegistered: false
76
- }));
77
- slot.pendingIntervalMs = intervalMs;
78
- slot.pendingCallback = fn;
79
- slot.pendingPredicates = predicates;
80
- registerCommitOperation(() => {
81
- commitTimerSlot(instance, slot);
82
- });
83
- }
84
- //#endregion
85
- export { routeActive as a, windowFocused as i, documentVisible as n, resolveListenerTarget as r, timer as t };
@@ -1,27 +0,0 @@
1
- import { g as getHydrationRenderUrl, m as withHydrationVerificationRender } from "./render-context-B7ohlh6t.js";
2
- import { n as getRouteRenderContext, s as currentAuth } from "./resolution-3DskUkjG.js";
3
- import { t as SSR_RENDER_DATA_ATTR } from "./ssr-EPjwJH5R.js";
4
- import { t as renderResolvedForHydrationSync } from "./render-resolved-BC0W7_5b.js";
5
- //#region src/ssr/verify-hydration.ts
6
- const SSR_STYLE_REGISTRY_SELECTOR = "style[data-askr-style-registry]";
7
- function normalizeHydrationHtml(html) {
8
- const template = document.createElement("template");
9
- template.innerHTML = html;
10
- for (const carrier of Array.from(template.content.querySelectorAll(`script[${SSR_RENDER_DATA_ATTR}],${SSR_STYLE_REGISTRY_SELECTOR}`))) carrier.remove();
11
- return template.innerHTML.replace(/<!--[\s\S]*?-->/g, "");
12
- }
13
- function verifyHydrationSyncForUrl(opts) {
14
- const { root, url, registry, resolved, options } = opts;
15
- const verificationUrl = getHydrationRenderUrl(options?.envelope) ?? new URL(url, "http://localhost").pathname;
16
- const authContext = getRouteRenderContext(resolved)?.auth ?? currentAuth();
17
- const expected = withHydrationVerificationRender(() => renderResolvedForHydrationSync({
18
- url: verificationUrl,
19
- registry,
20
- handler: resolved.handler,
21
- params: resolved.params,
22
- options
23
- }, authContext));
24
- return normalizeHydrationHtml(root.innerHTML) === normalizeHydrationHtml(expected);
25
- }
26
- //#endregion
27
- export { verifyHydrationSyncForUrl };
@@ -1,7 +0,0 @@
1
- //#region src/common/vnode.ts
2
- const __ERROR_BOUNDARY__ = Symbol.for("askr.error-boundary");
3
- function _isDOMElement(node) {
4
- return typeof node === "object" && node !== null && "type" in node;
5
- }
6
- //#endregion
7
- export { _isDOMElement as n, __ERROR_BOUNDARY__ as t };