@vidact/runtime 0.2.0-beta.0 → 0.2.0-beta.5

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 (244) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +1 -1
  3. package/dist/actions.d.ts +32 -30
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/actions.js +251 -266
  6. package/dist/actions.js.map +1 -1
  7. package/dist/async.d.ts +20 -17
  8. package/dist/async.d.ts.map +1 -1
  9. package/dist/async.js +18 -17
  10. package/dist/async.js.map +1 -1
  11. package/dist/compiled/async-resource.d.ts +9 -6
  12. package/dist/compiled/async-resource.d.ts.map +1 -1
  13. package/dist/compiled/async-resource.js +69 -77
  14. package/dist/compiled/async-resource.js.map +1 -1
  15. package/dist/compiled/core.d.ts +136 -147
  16. package/dist/compiled/core.d.ts.map +1 -1
  17. package/dist/compiled/core.js +2672 -2985
  18. package/dist/compiled/core.js.map +1 -1
  19. package/dist/compiled/types.d.ts +44 -56
  20. package/dist/compiled/types.d.ts.map +1 -1
  21. package/dist/compiled/types.js +10 -6
  22. package/dist/compiled/types.js.map +1 -1
  23. package/dist/compiled/validation.d.ts +4 -1
  24. package/dist/compiled/validation.d.ts.map +1 -1
  25. package/dist/compiled/validation.js +17 -20
  26. package/dist/compiled/validation.js.map +1 -1
  27. package/dist/component-spread.d.ts +5 -3
  28. package/dist/component-spread.d.ts.map +1 -1
  29. package/dist/component-spread.js +49 -67
  30. package/dist/component-spread.js.map +1 -1
  31. package/dist/concurrent.d.ts +20 -18
  32. package/dist/concurrent.d.ts.map +1 -1
  33. package/dist/concurrent.js +191 -210
  34. package/dist/concurrent.js.map +1 -1
  35. package/dist/direct-dom.d.ts +17 -12
  36. package/dist/direct-dom.d.ts.map +1 -1
  37. package/dist/direct-dom.js +187 -221
  38. package/dist/direct-dom.js.map +1 -1
  39. package/dist/dom/attributes.d.ts +9 -6
  40. package/dist/dom/attributes.d.ts.map +1 -1
  41. package/dist/dom/attributes.js +65 -47
  42. package/dist/dom/attributes.js.map +1 -1
  43. package/dist/dom/events.d.ts +5 -2
  44. package/dist/dom/events.d.ts.map +1 -1
  45. package/dist/dom/events.js +53 -65
  46. package/dist/dom/events.js.map +1 -1
  47. package/dist/dom/forms.d.ts +9 -6
  48. package/dist/dom/forms.d.ts.map +1 -1
  49. package/dist/dom/forms.js +152 -198
  50. package/dist/dom/forms.js.map +1 -1
  51. package/dist/dom/intrinsic.d.ts +17 -15
  52. package/dist/dom/intrinsic.d.ts.map +1 -1
  53. package/dist/dom/intrinsic.js +48 -50
  54. package/dist/dom/intrinsic.js.map +1 -1
  55. package/dist/dom/namespace.d.ts +4 -1
  56. package/dist/dom/namespace.d.ts.map +1 -1
  57. package/dist/dom/namespace.js +25 -28
  58. package/dist/dom/namespace.js.map +1 -1
  59. package/dist/dom/namespaces.d.ts +11 -8
  60. package/dist/dom/namespaces.d.ts.map +1 -1
  61. package/dist/dom/namespaces.js +14 -12
  62. package/dist/dom/namespaces.js.map +1 -1
  63. package/dist/dom/properties.d.ts +18 -16
  64. package/dist/dom/properties.d.ts.map +1 -1
  65. package/dist/dom/properties.js +273 -296
  66. package/dist/dom/properties.js.map +1 -1
  67. package/dist/dom/style-properties.d.ts +4 -1
  68. package/dist/dom/style-properties.d.ts.map +1 -1
  69. package/dist/dom/style-properties.js +49 -45
  70. package/dist/dom/style-properties.js.map +1 -1
  71. package/dist/dom/styles.d.ts +5 -2
  72. package/dist/dom/styles.d.ts.map +1 -1
  73. package/dist/dom/styles.js +47 -67
  74. package/dist/dom/styles.js.map +1 -1
  75. package/dist/dom-forms.d.ts +4 -1
  76. package/dist/dom-forms.d.ts.map +1 -1
  77. package/dist/dom-forms.js +16 -13
  78. package/dist/dom-forms.js.map +1 -1
  79. package/dist/dom-styles.d.ts +4 -1
  80. package/dist/dom-styles.d.ts.map +1 -1
  81. package/dist/dom-styles.js +10 -7
  82. package/dist/dom-styles.js.map +1 -1
  83. package/dist/framework-hydrate.d.ts +20 -17
  84. package/dist/framework-hydrate.d.ts.map +1 -1
  85. package/dist/framework-hydrate.js +128 -146
  86. package/dist/framework-hydrate.js.map +1 -1
  87. package/dist/framework-protocol.d.ts +27 -25
  88. package/dist/framework-protocol.d.ts.map +1 -1
  89. package/dist/framework-protocol.js +173 -211
  90. package/dist/framework-protocol.js.map +1 -1
  91. package/dist/framework.d.ts +34 -32
  92. package/dist/framework.d.ts.map +1 -1
  93. package/dist/framework.js +74 -93
  94. package/dist/framework.js.map +1 -1
  95. package/dist/hydrate.d.ts +11 -8
  96. package/dist/hydrate.d.ts.map +1 -1
  97. package/dist/hydrate.js +13 -9
  98. package/dist/hydrate.js.map +1 -1
  99. package/dist/hydration-bridge.d.ts +70 -58
  100. package/dist/hydration-bridge.d.ts.map +1 -1
  101. package/dist/hydration-bridge.js +77 -66
  102. package/dist/hydration-bridge.js.map +1 -1
  103. package/dist/hydration.d.ts +54 -28
  104. package/dist/hydration.d.ts.map +1 -1
  105. package/dist/hydration.js +450 -463
  106. package/dist/hydration.js.map +1 -1
  107. package/dist/index.d.ts +13 -13
  108. package/dist/index.js +11 -13
  109. package/dist/indexed-list.d.ts +8 -5
  110. package/dist/indexed-list.d.ts.map +1 -1
  111. package/dist/indexed-list.js +14 -7
  112. package/dist/indexed-list.js.map +1 -1
  113. package/dist/jsx-runtime.d.ts +10 -8
  114. package/dist/jsx-runtime.d.ts.map +1 -1
  115. package/dist/jsx-runtime.js +28 -23
  116. package/dist/jsx-runtime.js.map +1 -1
  117. package/dist/keyed-list.d.ts +13 -14
  118. package/dist/keyed-list.d.ts.map +1 -1
  119. package/dist/keyed-list.js +132 -160
  120. package/dist/keyed-list.js.map +1 -1
  121. package/dist/metadata.d.ts +6 -3
  122. package/dist/metadata.d.ts.map +1 -1
  123. package/dist/metadata.js +131 -164
  124. package/dist/metadata.js.map +1 -1
  125. package/dist/nested-prop.d.ts +4 -2
  126. package/dist/nested-prop.d.ts.map +1 -1
  127. package/dist/nested-prop.js +17 -16
  128. package/dist/nested-prop.js.map +1 -1
  129. package/dist/profiling.d.ts +11 -8
  130. package/dist/profiling.d.ts.map +1 -1
  131. package/dist/profiling.js +17 -17
  132. package/dist/profiling.js.map +1 -1
  133. package/dist/protocol.d.ts +5 -2
  134. package/dist/protocol.d.ts.map +1 -1
  135. package/dist/protocol.js +8 -5
  136. package/dist/protocol.js.map +1 -1
  137. package/dist/raw-html.d.ts +5 -2
  138. package/dist/raw-html.d.ts.map +1 -1
  139. package/dist/raw-html.js +86 -146
  140. package/dist/raw-html.js.map +1 -1
  141. package/dist/ref.d.ts +8 -3
  142. package/dist/ref.d.ts.map +1 -1
  143. package/dist/ref.js +10 -2
  144. package/dist/ref.js.map +1 -1
  145. package/dist/renderable-protocol.d.ts +26 -8
  146. package/dist/renderable-protocol.d.ts.map +1 -1
  147. package/dist/renderable-protocol.js +30 -9
  148. package/dist/renderable-protocol.js.map +1 -1
  149. package/dist/renderable.d.ts +27 -22
  150. package/dist/renderable.d.ts.map +1 -1
  151. package/dist/renderable.js +141 -133
  152. package/dist/renderable.js.map +1 -1
  153. package/dist/retained-ui.d.ts +9 -6
  154. package/dist/retained-ui.d.ts.map +1 -1
  155. package/dist/retained-ui.js +12 -10
  156. package/dist/retained-ui.js.map +1 -1
  157. package/dist/root.d.ts +18 -15
  158. package/dist/root.d.ts.map +1 -1
  159. package/dist/root.js +73 -85
  160. package/dist/root.js.map +1 -1
  161. package/dist/scheduler.d.ts +10 -8
  162. package/dist/scheduler.d.ts.map +1 -1
  163. package/dist/scheduler.js +97 -105
  164. package/dist/scheduler.js.map +1 -1
  165. package/dist/server-framework.d.ts +45 -42
  166. package/dist/server-framework.d.ts.map +1 -1
  167. package/dist/server-framework.js +209 -217
  168. package/dist/server-framework.js.map +1 -1
  169. package/dist/server.d.ts +130 -128
  170. package/dist/server.d.ts.map +1 -1
  171. package/dist/server.js +603 -710
  172. package/dist/server.js.map +1 -1
  173. package/dist/shared/promise.d.ts +6 -3
  174. package/dist/shared/promise.d.ts.map +1 -1
  175. package/dist/shared/promise.js +21 -19
  176. package/dist/shared/promise.js.map +1 -1
  177. package/dist/source-mask.d.ts +9 -6
  178. package/dist/source-mask.d.ts.map +1 -1
  179. package/dist/source-mask.js +45 -63
  180. package/dist/source-mask.js.map +1 -1
  181. package/dist/spread.d.ts +5 -2
  182. package/dist/spread.d.ts.map +1 -1
  183. package/dist/spread.js +79 -99
  184. package/dist/spread.js.map +1 -1
  185. package/dist/state-slot.d.ts +18 -15
  186. package/dist/state-slot.d.ts.map +1 -1
  187. package/dist/state-slot.js +43 -42
  188. package/dist/state-slot.js.map +1 -1
  189. package/dist/testing.d.ts +9 -6
  190. package/dist/testing.d.ts.map +1 -1
  191. package/dist/testing.js +16 -12
  192. package/dist/testing.js.map +1 -1
  193. package/package.json +8 -7
  194. package/src/actions.ts +415 -0
  195. package/src/async.ts +78 -0
  196. package/src/compiled/async-resource.ts +113 -0
  197. package/src/compiled/core.ts +4041 -0
  198. package/src/compiled/types.ts +96 -0
  199. package/src/compiled/validation.ts +23 -0
  200. package/src/component-spread.ts +86 -0
  201. package/src/concurrent.ts +310 -0
  202. package/src/direct-dom.ts +365 -0
  203. package/src/dom/attributes.ts +55 -0
  204. package/src/dom/events.ts +93 -0
  205. package/src/dom/forms.ts +220 -0
  206. package/src/dom/intrinsic.ts +94 -0
  207. package/src/dom/namespace.ts +30 -0
  208. package/src/dom/namespaces.ts +14 -0
  209. package/src/dom/properties.ts +355 -0
  210. package/src/dom/style-properties.ts +46 -0
  211. package/src/dom/styles.ts +86 -0
  212. package/src/dom-forms.ts +23 -0
  213. package/src/dom-styles.ts +11 -0
  214. package/src/env.d.ts +6 -0
  215. package/src/framework-hydrate.ts +224 -0
  216. package/src/framework-protocol.ts +335 -0
  217. package/src/framework.ts +161 -0
  218. package/src/hydrate.ts +38 -0
  219. package/src/hydration-bridge.ts +196 -0
  220. package/src/hydration.ts +642 -0
  221. package/src/index.ts +92 -0
  222. package/src/indexed-list.ts +20 -0
  223. package/src/jsx-runtime.ts +55 -0
  224. package/src/keyed-list.ts +233 -0
  225. package/src/metadata.ts +212 -0
  226. package/src/nested-prop.ts +27 -0
  227. package/src/profiling.ts +43 -0
  228. package/src/protocol.ts +8 -0
  229. package/src/raw-html.ts +206 -0
  230. package/src/ref.ts +13 -0
  231. package/src/renderable-protocol.ts +63 -0
  232. package/src/renderable.ts +283 -0
  233. package/src/retained-ui.ts +19 -0
  234. package/src/root.ts +122 -0
  235. package/src/scheduler.ts +136 -0
  236. package/src/server-framework.ts +397 -0
  237. package/src/server.ts +1160 -0
  238. package/src/shared/promise.ts +28 -0
  239. package/src/source-mask.ts +83 -0
  240. package/src/spread.ts +131 -0
  241. package/src/state-slot.ts +76 -0
  242. package/src/testing.ts +27 -0
  243. package/dist/index.d.ts.map +0 -1
  244. package/dist/index.js.map +0 -1
@@ -1,95 +1,106 @@
1
- export class HydrationMismatch extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'HydrationMismatch';
5
- }
6
- }
1
+ //#region src/hydration-bridge.ts
2
+ /**
3
+ * Marker comment prefix of the server ↔ hydrate protocol (`<!--v2:b-->` … `<!--/v2:b-->`).
4
+ * Bumped whenever the set of markers or their meaning changes, so a stale server render
5
+ * fails hydration loudly instead of being claimed wrongly. `v2` dropped the per-element
6
+ * and per-text markers of `vidact:v1`; the hydrator infers those from the DOM.
7
+ */
8
+ const HYDRATION_PREFIX = "v2";
9
+ var HydrationMismatch = class extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "HydrationMismatch";
13
+ }
14
+ };
7
15
  let hydration;
8
- export function beginHydration(host) {
9
- if (hydration === undefined)
10
- throw new Error('hydrate runtime entry is not installed');
11
- return hydration.begin(host);
16
+ function beginHydration(host) {
17
+ if (hydration === void 0) throw new Error("hydrate runtime entry is not installed");
18
+ return hydration.begin(host);
19
+ }
20
+ function finishHydration() {
21
+ hydration?.finish();
12
22
  }
13
- export function finishHydration() {
14
- hydration?.finish();
23
+ function hydrationRootMarkers() {
24
+ if (hydration === void 0) throw new Error("hydrate runtime entry is not installed");
25
+ return hydration.rootMarkers();
15
26
  }
16
- export function hydrationRootMarkers() {
17
- if (hydration === undefined)
18
- throw new Error('hydrate runtime entry is not installed');
19
- return hydration.rootMarkers();
27
+ function isHydrating() {
28
+ return hydration?.active() ?? false;
20
29
  }
21
- export function isHydrating() {
22
- return hydration?.active() ?? false;
30
+ function createHydrationFragment(children) {
31
+ if (hydration === void 0) throw new Error("hydrate runtime entry is not installed");
32
+ return hydration.createFragment(children);
23
33
  }
24
- export function createHydrationFragment(children) {
25
- if (hydration === undefined)
26
- throw new Error('hydrate runtime entry is not installed');
27
- return hydration.createFragment(children);
34
+ function hydrationFragmentChildren(fragment) {
35
+ return hydration?.fragmentChildren(fragment);
28
36
  }
29
- export function hydrationFragmentChildren(fragment) {
30
- return hydration?.fragmentChildren(fragment);
37
+ function claimHydrationElement(localName, namespace, matches) {
38
+ return hydration?.claimElement(localName, namespace, matches);
31
39
  }
32
- export function claimHydrationElement(localName, namespace, matches) {
33
- return hydration?.claimElement(localName, namespace, matches);
40
+ function noteHydrationStructuralParent() {
41
+ hydration?.noteStructuralParent();
34
42
  }
35
- export function noteHydrationStructuralParent() {
36
- hydration?.noteStructuralParent();
43
+ function claimHydrationComponentRange() {
44
+ return hydration?.claimComponentRange();
37
45
  }
38
- export function claimHydrationComponentRange() {
39
- return hydration?.claimComponentRange();
46
+ function withHydrationComponentRange(range, operation) {
47
+ return hydration === void 0 ? operation() : hydration.withComponentRange(range, operation);
40
48
  }
41
- export function withHydrationComponentRange(range, operation) {
42
- return hydration === undefined ? operation() : hydration.withComponentRange(range, operation);
49
+ function withHydrationCursor(parent, value, operation) {
50
+ return hydration === void 0 ? operation() : hydration.withCursor(parent, value, operation);
43
51
  }
44
- export function withHydrationCursor(parent, value, operation) {
45
- return hydration === undefined ? operation() : hydration.withCursor(parent, value, operation);
52
+ function claimHydrationNode(parent, node) {
53
+ return hydration?.claimNode(parent, node) ?? false;
46
54
  }
47
- export function claimHydrationNode(parent, node) {
48
- return hydration?.claimNode(parent, node) ?? false;
55
+ function claimHydrationComponentMount(parent, start, end) {
56
+ return hydration?.claimComponentMount(parent, start, end) ?? false;
49
57
  }
50
- export function claimHydrationComponentMount(parent, start, end) {
51
- return hydration?.claimComponentMount(parent, start, end) ?? false;
58
+ function claimHydrationText(parent, expected) {
59
+ return hydration?.claimText(parent, expected);
52
60
  }
53
- export function claimHydrationText(parent, expected) {
54
- return hydration?.claimText(parent, expected);
61
+ function claimHydrationTextRange(parent, expected) {
62
+ return hydration?.claimTextRange(parent, expected);
55
63
  }
56
- export function claimHydrationTextRange(parent, expected) {
57
- return hydration?.claimTextRange(parent, expected);
64
+ function claimHydrationArrayRange(parent) {
65
+ return hydration?.claimArrayRange(parent);
58
66
  }
59
- export function claimHydrationArrayRange(parent) {
60
- return hydration?.claimArrayRange(parent);
67
+ function finishHydrationArrayRange(parent, end) {
68
+ hydration?.finishArrayRange(parent, end);
61
69
  }
62
- export function finishHydrationArrayRange(parent, end) {
63
- hydration?.finishArrayRange(parent, end);
70
+ function claimHydrationSlotRange(parent) {
71
+ return hydration?.claimSlotRange(parent);
64
72
  }
65
- export function claimHydrationSlotRange(parent) {
66
- return hydration?.claimSlotRange(parent);
73
+ function borrowHydrationSlotRange(parent, current) {
74
+ return hydration?.borrowSlotRange(parent, current);
67
75
  }
68
- export function borrowHydrationSlotRange(parent, current) {
69
- return hydration?.borrowSlotRange(parent, current);
76
+ function claimHydrationSuspenseFallback(parent) {
77
+ return hydration?.claimSuspenseFallback(parent);
70
78
  }
71
- export function claimHydrationSuspenseFallback(parent) {
72
- return hydration?.claimSuspenseFallback(parent);
79
+ function skipHydrationRange(start, end) {
80
+ hydration?.skipRange(start, end);
73
81
  }
74
- export function withoutHydration(operation) {
75
- return hydration === undefined ? operation() : hydration.withoutHydration(operation);
82
+ function withoutHydration(operation) {
83
+ return hydration === void 0 ? operation() : hydration.withoutHydration(operation);
76
84
  }
77
- export function withHydrationInsertion(parent, before, operation) {
78
- return hydration === undefined ? operation() : hydration.withInsertion(parent, before, operation);
85
+ function withHydrationInsertion(parent, before, operation) {
86
+ return hydration === void 0 ? operation() : hydration.withInsertion(parent, before, operation);
79
87
  }
80
- export function hydrationInsertionPoint() {
81
- return hydration?.insertionPoint();
88
+ function hydrationInsertionPoint() {
89
+ return hydration?.insertionPoint();
82
90
  }
83
- export function hydrationCursor(parent) {
84
- return hydration?.cursor(parent);
91
+ function hydrationCursor(parent) {
92
+ return hydration?.cursor(parent);
85
93
  }
86
- export function hydrationRangeParent(start, end) {
87
- return hydration?.rangeParent(start, end);
94
+ function hydrationRangeParent(start, end) {
95
+ return hydration?.rangeParent(start, end);
88
96
  }
89
- export function isHydrationMismatch(error) {
90
- return error instanceof HydrationMismatch;
97
+ function isHydrationMismatch(error) {
98
+ return error instanceof HydrationMismatch;
91
99
  }
92
- export function installHydrationOperations(operations) {
93
- hydration = operations;
100
+ function installHydrationOperations(operations) {
101
+ hydration = operations;
94
102
  }
103
+ //#endregion
104
+ export { HYDRATION_PREFIX, HydrationMismatch, beginHydration, borrowHydrationSlotRange, claimHydrationArrayRange, claimHydrationComponentMount, claimHydrationComponentRange, claimHydrationElement, claimHydrationNode, claimHydrationSlotRange, claimHydrationSuspenseFallback, claimHydrationText, claimHydrationTextRange, createHydrationFragment, finishHydration, finishHydrationArrayRange, hydrationCursor, hydrationFragmentChildren, hydrationInsertionPoint, hydrationRangeParent, hydrationRootMarkers, installHydrationOperations, isHydrating, isHydrationMismatch, noteHydrationStructuralParent, skipHydrationRange, withHydrationComponentRange, withHydrationCursor, withHydrationInsertion, withoutHydration };
105
+
95
106
  //# sourceMappingURL=hydration-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hydration-bridge.js","sourceRoot":"","sources":["../src/hydration-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydration-bridge.js","names":[],"sources":["../src/hydration-bridge.ts"],"mappings":"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"}
@@ -1,29 +1,55 @@
1
- import { HydrationMismatch, type HydrationRange } from './hydration-bridge.js';
2
- export declare function beginHydration(host: ParentNode): () => void;
3
- export declare function finishHydration(): void;
4
- export declare function hydrationRootMarkers(): HydrationRange;
5
- export declare function isHydrating(): boolean;
6
- export declare function createHydrationFragment(children: readonly unknown[]): DocumentFragment;
7
- export declare function hydrationFragmentChildren(fragment: DocumentFragment): readonly unknown[] | undefined;
8
- export declare function isHydrationMismatch(error: unknown): error is HydrationMismatch;
9
- export declare function claimHydrationElement(localName: string, namespace: string | null, matchesExpected?: (element: Element) => boolean): Element | undefined;
10
- export declare function noteHydrationStructuralParent(): void;
11
- export declare function claimHydrationComponentRange(): HydrationRange | undefined;
12
- export declare function withHydrationComponentRange<Result>(range: HydrationRange, operation: () => Result): Result;
13
- export declare function withHydrationCursor<Result>(parent: Node, value: Node | null, operation: () => Result): Result;
14
- export declare function claimHydrationNode(parent: Node, node: Node): boolean;
15
- export declare function claimHydrationComponentMount(parent: Node, start: Comment, end: Comment): boolean;
16
- export declare function claimHydrationText(parent: Node, expected: string): Text | null | undefined;
17
- export declare function claimHydrationTextRange(parent: Node, expected: string): readonly [start: Comment, end: Comment, text: Text | null] | undefined;
18
- export declare function claimHydrationArrayRange(parent: Node): HydrationRange | undefined;
19
- export declare function finishHydrationArrayRange(parent: Node, end: Comment): void;
20
- export declare function claimHydrationSlotRange(parent: Node): HydrationRange | undefined;
21
- export declare function borrowHydrationSlotRange(parent: Node, current: boolean): HydrationRange | undefined;
22
- export declare function claimHydrationSuspenseFallback(parent: Node): Comment | undefined;
23
- export declare function withoutHydration<Result>(operation: () => Result): Result;
24
- export declare function withHydrationInsertion<Result>(parent: Node, before: Node, operation: () => Result): Result;
25
- export declare function hydrationInsertionPoint(): readonly [parent: Node, before: Node] | undefined;
26
- export declare function hydrationCursor(parent: Node): Node | null | undefined;
27
- export declare function hydrationRangeParent(start: Comment, end: Comment): Node | undefined;
28
- export declare function installHydration(): void;
1
+ import { HydrationMismatch, HydrationRange } from "./hydration-bridge.js";
2
+ //#region src/hydration.d.ts
3
+ declare function beginHydration(host: ParentNode): () => void;
4
+ declare function finishHydration(): void;
5
+ declare function hydrationRootMarkers(): HydrationRange;
6
+ declare function isHydrating(): boolean;
7
+ declare function createHydrationFragment(children: readonly unknown[]): DocumentFragment;
8
+ declare function hydrationFragmentChildren(fragment: DocumentFragment): readonly unknown[] | undefined;
9
+ declare function isHydrationMismatch(error: unknown): error is HydrationMismatch;
10
+ declare function claimHydrationElement(localName: string, namespace: string | null, matchesExpected?: (element: Element) => boolean): Element | undefined;
11
+ /**
12
+ * Called by a compiled list right before its container element is claimed. Lists are the
13
+ * only structural bindings whose server markup carries an `a` marker, so they are the
14
+ * only ones that may prefer a candidate containing one — for a conditional, Suspense or
15
+ * any other structural child that bias would pick an unrelated element that happens to
16
+ * hold a list (see `claimHydrationElement`).
17
+ */
18
+ declare function noteHydrationStructuralParent(): void;
19
+ declare function claimHydrationComponentRange(): HydrationRange | undefined;
20
+ declare function withHydrationComponentRange<Result>(range: HydrationRange, operation: () => Result): Result;
21
+ declare function withHydrationCursor<Result>(parent: Node, value: Node | null, operation: () => Result): Result;
22
+ declare function claimHydrationNode(parent: Node, node: Node): boolean;
23
+ declare function claimHydrationComponentMount(parent: Node, start: Comment, end: Comment): boolean;
24
+ declare function claimHydrationText(parent: Node, expected: string): Text | null | undefined;
25
+ /**
26
+ * Claims the text for a scalar binding together with a range it can later swap an
27
+ * element or collection into. The server emits no markers around text, so the binding
28
+ * borrows the enclosing child-slot markers when the slot holds exactly this text — the
29
+ * common case, and no DOM is touched. A text node shared with adjacent scalars (one
30
+ * parsed node for several array items) gets fresh anchor comments instead.
31
+ */
32
+ declare function claimHydrationTextRange(parent: Node, expected: string): readonly [start: Comment, end: Comment, text: Text | null] | undefined;
33
+ declare function claimHydrationArrayRange(parent: Node): HydrationRange | undefined;
34
+ declare function finishHydrationArrayRange(parent: Node, end: Comment): void;
35
+ declare function claimHydrationSlotRange(parent: Node): HydrationRange | undefined;
36
+ declare function borrowHydrationSlotRange(parent: Node, current: boolean): HydrationRange | undefined;
37
+ /**
38
+ * Claims everything between two markers as-is, without hydrating into it. A Suspense
39
+ * boundary uses this when the server rendered its content but the client cannot
40
+ * produce it yet (a lazy chunk still loading): the server DOM stays on screen as a
41
+ * dehydrated boundary and the client render replaces it once the resource resolves.
42
+ * The elements and component ranges inside are marked claimed so `finishHydration`'s
43
+ * accounting still balances.
44
+ */
45
+ declare function skipHydrationRange(start: Comment, end: Comment): void;
46
+ declare function claimHydrationSuspenseFallback(parent: Node): Comment | undefined;
47
+ declare function withoutHydration<Result>(operation: () => Result): Result;
48
+ declare function withHydrationInsertion<Result>(parent: Node, before: Node, operation: () => Result): Result;
49
+ declare function hydrationInsertionPoint(): readonly [parent: Node, before: Node] | undefined;
50
+ declare function hydrationCursor(parent: Node): Node | null | undefined;
51
+ declare function hydrationRangeParent(start: Comment, end: Comment): Node | undefined;
52
+ declare function installHydration(): void;
53
+ //#endregion
54
+ export { beginHydration, borrowHydrationSlotRange, claimHydrationArrayRange, claimHydrationComponentMount, claimHydrationComponentRange, claimHydrationElement, claimHydrationNode, claimHydrationSlotRange, claimHydrationSuspenseFallback, claimHydrationText, claimHydrationTextRange, createHydrationFragment, finishHydration, finishHydrationArrayRange, hydrationCursor, hydrationFragmentChildren, hydrationInsertionPoint, hydrationRangeParent, hydrationRootMarkers, installHydration, isHydrating, isHydrationMismatch, noteHydrationStructuralParent, skipHydrationRange, withHydrationComponentRange, withHydrationCursor, withHydrationInsertion, withoutHydration };
29
55
  //# sourceMappingURL=hydration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../src/hydration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydration.d.ts","names":[],"sources":["../src/hydration.ts"],"mappings":";;iBA0BgB,eAAe,MAAM;iBA4BrB;iBAoBA,wBAAwB;iBAIxB;iBAIA,wBAAwB,+BAA+B;iBAMvD,0BACd,UAAU;iBAKI,oBAAoB,iBAAiB,SAAS;iBAI9C,sBACd,mBACA,0BACA,mBAAmB,SAAS,sBAC3B;;;;;;;;iBAuCa;iBAIA,gCAAgC;iBAahC,4BAA4B,QAC1C,OAAO,gBACP,iBAAiB,SAChB;iBAYa,oBAAoB,QAClC,QAAQ,MACR,OAAO,aACP,iBAAiB,SAChB;iBAca,mBAAmB,QAAQ,MAAM,MAAM;iBAYvC,6BAA6B,QAAQ,MAAM,OAAO,SAAS,KAAK;iBAgBhE,mBAAmB,QAAQ,MAAM,mBAAmB;;;;;;;;iBAcpD,wBACd,QAAQ,MACR,6BACW,OAAO,SAAS,KAAK,SAAS,MAAM;iBAsDjC,yBAAyB,QAAQ,OAAO;iBAexC,0BAA0B,QAAQ,MAAM,KAAK;iBAQ7C,wBAAwB,QAAQ,OAAO;iBAiBvC,yBACd,QAAQ,MACR,mBACC;;;;;;;;;iBAyBa,mBAAmB,OAAO,SAAS,KAAK;iBAuBxC,+BAA+B,QAAQ,OAAO;iBAS9C,iBAAiB,QAAQ,iBAAiB,SAAS;iBAUnD,uBAAuB,QACrC,QAAQ,MACR,QAAQ,MACR,iBAAiB,SAChB;iBAWa,qCAAqC,QAAQ,MAAM,QAAQ;iBAI3D,gBAAgB,QAAQ,OAAO;iBAK/B,qBAAqB,OAAO,SAAS,KAAK,UAAU;iBA4LpD"}