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

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 +73 -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 +148 -147
  16. package/dist/compiled/core.d.ts.map +1 -1
  17. package/dist/compiled/core.js +3064 -2987
  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 +279 -222
  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 +8 -2
  44. package/dist/dom/events.d.ts.map +1 -1
  45. package/dist/dom/events.js +118 -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 +17 -14
  118. package/dist/keyed-list.d.ts.map +1 -1
  119. package/dist/keyed-list.js +244 -161
  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 +28 -22
  150. package/dist/renderable.d.ts.map +1 -1
  151. package/dist/renderable.js +152 -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 +10 -6
  178. package/dist/source-mask.d.ts.map +1 -1
  179. package/dist/source-mask.js +60 -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 +29 -15
  186. package/dist/state-slot.d.ts.map +1 -1
  187. package/dist/state-slot.js +73 -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 +4647 -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 +491 -0
  203. package/src/dom/attributes.ts +55 -0
  204. package/src/dom/events.ts +179 -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 +202 -0
  220. package/src/hydration.ts +644 -0
  221. package/src/index.ts +94 -0
  222. package/src/indexed-list.ts +20 -0
  223. package/src/jsx-runtime.ts +55 -0
  224. package/src/keyed-list.ts +379 -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 +313 -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 +103 -0
  240. package/src/spread.ts +131 -0
  241. package/src/state-slot.ts +132 -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,180 +1,263 @@
1
- const DEV = typeof __VIDACT_DEV__ === 'undefined' || __VIDACT_DEV__;
2
- export function createKeyedList(parent, options, before = null) {
3
- const hydratedRange = claimHydrationArrayRange(parent);
4
- const start = hydratedRange?.[0] ?? document.createComment(DEV ? 'vidact:list' : '');
5
- const end = hydratedRange?.[1] ?? document.createComment(DEV ? '/vidact:list' : '');
6
- if (hydratedRange === undefined) {
7
- parent.insertBefore(start, before);
8
- parent.insertBefore(end, before);
9
- }
10
- let disposed = false;
11
- let hydrationPending = hydratedRange !== undefined;
12
- let records = [];
13
- const update = (values) => {
14
- if (disposed)
15
- throw new Error(DEV ? 'cannot update a disposed keyed list' : 'V801');
16
- const currentParent = end.parentNode;
17
- if (currentParent === null || start.parentNode !== currentParent) {
18
- throw new Error(DEV ? 'cannot update a detached keyed list' : 'V802');
19
- }
20
- const keys = values.map(options.key);
21
- assertValidKeys(keys);
22
- assertUniqueKeys(keys);
23
- const previousByKey = new Map();
24
- for (const record of records)
25
- previousByKey.set(record[0], record);
26
- const created = [];
27
- const retained = [];
28
- let nextRecords;
29
- try {
30
- nextRecords = values.map((value, index) => {
31
- const key = keys[index];
32
- const previous = previousByKey.get(key);
33
- if (previous !== undefined) {
34
- previousByKey.delete(key);
35
- retained.push([previous, value, index]);
36
- return previous;
37
- }
38
- const item = normalizeRenderResult(withHydrationInsertion(parent, end, () => options.render(value, index)));
39
- const record = [key, item[0], item[1], item[2]];
40
- created.push(record);
41
- return record;
42
- });
43
- for (const [record, value, index] of retained)
44
- record[2]?.(value, index);
45
- }
46
- catch (error) {
47
- disposeRecords(currentParent, created);
48
- throw error;
49
- }
50
- const cleanup = disposeRecords(currentParent, previousByKey.values());
51
- const activeElement = document.activeElement instanceof HTMLElement &&
52
- currentParent.contains(document.activeElement)
53
- ? document.activeElement
54
- : null;
55
- const selectionControl = activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement
56
- ? activeElement
57
- : null;
58
- const selection = selectionControl === null
59
- ? null
60
- : [selectionControl.selectionStart, selectionControl.selectionEnd];
61
- let cursor = end;
62
- for (let recordIndex = nextRecords.length - 1; recordIndex >= 0; recordIndex -= 1) {
63
- const record = nextRecords[recordIndex];
64
- for (let nodeIndex = record[1].length - 1; nodeIndex >= 0; nodeIndex -= 1) {
65
- const node = record[1][nodeIndex];
66
- if (node.nextSibling !== cursor)
67
- moveBefore(currentParent, node, cursor);
68
- cursor = node;
69
- }
70
- }
71
- if (activeElement !== null &&
72
- document.activeElement !== activeElement &&
73
- currentParent.contains(activeElement)) {
74
- activeElement.focus({ preventScroll: true });
75
- if (selectionControl !== null &&
76
- selection !== null &&
77
- selection[0] !== null &&
78
- selection[1] !== null) {
79
- selectionControl.setSelectionRange(selection[0], selection[1]);
80
- }
81
- }
82
- records = nextRecords;
83
- if (hydrationPending) {
84
- hydrationPending = false;
85
- finishHydrationArrayRange(currentParent, end);
86
- }
87
- if (cleanup[1])
88
- throw cleanup[0];
89
- return created.flatMap((record) => record[1]);
90
- };
91
- const dispose = () => {
92
- if (disposed)
93
- return;
94
- disposed = true;
95
- const currentParent = end.parentNode;
96
- const cleanup = currentParent === null
97
- ? [undefined, false]
98
- : disposeRecords(currentParent, records);
99
- records = [];
100
- start.remove();
101
- end.remove();
102
- if (cleanup[1])
103
- throw cleanup[0];
104
- };
105
- return { dispose, parent: () => end.parentNode, update };
1
+ import { claimHydrationArrayRange, finishHydrationArrayRange, withHydrationInsertion } from "./hydration-bridge.js";
2
+ //#region src/keyed-list.ts
3
+ const DEV = typeof __VIDACT_DEV__ === "undefined" || __VIDACT_DEV__;
4
+ function createKeyedList(parent, options, before = null) {
5
+ const hydratedRange = claimHydrationArrayRange(parent);
6
+ const start = hydratedRange?.[0] ?? document.createComment(DEV ? "vidact:list" : "");
7
+ const end = hydratedRange?.[1] ?? document.createComment(DEV ? "/vidact:list" : "");
8
+ if (hydratedRange === void 0) {
9
+ parent.insertBefore(start, before);
10
+ parent.insertBefore(end, before);
11
+ }
12
+ let disposed = false;
13
+ let hydrationPending = hydratedRange !== void 0;
14
+ let records = [];
15
+ const update = (values) => {
16
+ if (disposed) throw new Error(DEV ? "cannot update a disposed keyed list" : "V801");
17
+ const currentParent = end.parentNode;
18
+ if (currentParent === null || start.parentNode !== currentParent) throw new Error(DEV ? "cannot update a detached keyed list" : "V802");
19
+ const keys = values.map(options.key);
20
+ assertValidKeys(keys);
21
+ assertUniqueKeys(keys);
22
+ if (!hydrationPending && values.length === 0 && records.length > 0) {
23
+ const removed = records;
24
+ records = [];
25
+ deleteRangeContents(start, end);
26
+ const cleanup = disposeRecordOwners(removed);
27
+ if (cleanup[1]) throw cleanup[0];
28
+ return [];
29
+ }
30
+ if (!hydrationPending && hasRetainedPrefix(records, keys)) {
31
+ const retainedCount = Math.min(records.length, values.length);
32
+ const created = [];
33
+ try {
34
+ for (let index = records.length; index < values.length; index += 1) {
35
+ const value = values[index];
36
+ const item = normalizeRenderResult(withHydrationInsertion(parent, end, () => options.render(value, index)));
37
+ created.push([
38
+ keys[index],
39
+ item[0],
40
+ item[1],
41
+ item[2]
42
+ ]);
43
+ }
44
+ for (let index = 0; index < retainedCount; index += 1) records[index][2]?.(values[index], index);
45
+ } catch (error) {
46
+ disposeRecords(currentParent, created);
47
+ throw error;
48
+ }
49
+ const cleanup = disposeRecords(currentParent, records.slice(values.length));
50
+ const fragment = document.createDocumentFragment();
51
+ for (const record of created) for (const node of record[1]) fragment.append(node);
52
+ currentParent.insertBefore(fragment, end);
53
+ if (records.length !== values.length) records = retainedCount === 0 ? created : [...records.slice(0, retainedCount), ...created];
54
+ if (cleanup[1]) throw cleanup[0];
55
+ return collectRecordNodes(created);
56
+ }
57
+ const previousByKey = /* @__PURE__ */ new Map();
58
+ for (let index = 0; index < records.length; index += 1) {
59
+ const record = records[index];
60
+ previousByKey.set(record[0], [record, index]);
61
+ }
62
+ const created = [];
63
+ const retained = [];
64
+ const previousIndexes = [];
65
+ let nextRecords;
66
+ try {
67
+ nextRecords = values.map((value, index) => {
68
+ const key = keys[index];
69
+ const previous = previousByKey.get(key);
70
+ if (previous !== void 0) {
71
+ previousByKey.delete(key);
72
+ retained.push([
73
+ previous[0],
74
+ value,
75
+ index
76
+ ]);
77
+ previousIndexes.push(previous[1]);
78
+ return previous[0];
79
+ }
80
+ const item = normalizeRenderResult(withHydrationInsertion(parent, end, () => options.render(value, index)));
81
+ const record = [
82
+ key,
83
+ item[0],
84
+ item[1],
85
+ item[2]
86
+ ];
87
+ created.push(record);
88
+ previousIndexes.push(-1);
89
+ return record;
90
+ });
91
+ for (const [record, value, index] of retained) record[2]?.(value, index);
92
+ } catch (error) {
93
+ disposeRecords(currentParent, created);
94
+ throw error;
95
+ }
96
+ const cleanup = disposeRecords(currentParent, mapRecords(previousByKey.values()));
97
+ const stableRecords = longestIncreasingSubsequence(previousIndexes);
98
+ const activeElement = previousIndexes.some((previousIndex, index) => previousIndex >= 0 && stableRecords[index] === 0) ? document.activeElement instanceof HTMLElement && currentParent.contains(document.activeElement) ? document.activeElement : null : null;
99
+ const selectionControl = activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement ? activeElement : null;
100
+ const selection = selectionControl === null ? null : [selectionControl.selectionStart, selectionControl.selectionEnd];
101
+ let cursor = end;
102
+ for (let recordIndex = nextRecords.length - 1; recordIndex >= 0; recordIndex -= 1) {
103
+ const record = nextRecords[recordIndex];
104
+ if (previousIndexes[recordIndex] === -1 || stableRecords[recordIndex] === 0) for (let nodeIndex = record[1].length - 1; nodeIndex >= 0; nodeIndex -= 1) {
105
+ const node = record[1][nodeIndex];
106
+ if (node.nextSibling !== cursor) moveBefore(currentParent, node, cursor);
107
+ cursor = node;
108
+ }
109
+ else cursor = record[1][0];
110
+ }
111
+ if (activeElement !== null && document.activeElement !== activeElement && currentParent.contains(activeElement)) {
112
+ activeElement.focus({ preventScroll: true });
113
+ if (selectionControl !== null && selection !== null && selection[0] !== null && selection[1] !== null) selectionControl.setSelectionRange(selection[0], selection[1]);
114
+ }
115
+ records = nextRecords;
116
+ if (hydrationPending) {
117
+ hydrationPending = false;
118
+ finishHydrationArrayRange(currentParent, end);
119
+ }
120
+ if (cleanup[1]) throw cleanup[0];
121
+ return collectRecordNodes(created);
122
+ };
123
+ const dispose = () => {
124
+ if (disposed) return;
125
+ disposed = true;
126
+ const currentParent = end.parentNode;
127
+ const cleanup = currentParent === null ? [void 0, false] : disposeRecords(currentParent, records);
128
+ records = [];
129
+ start.remove();
130
+ end.remove();
131
+ if (cleanup[1]) throw cleanup[0];
132
+ };
133
+ return {
134
+ dispose,
135
+ parent: () => end.parentNode,
136
+ update
137
+ };
138
+ }
139
+ function* mapRecords(entries) {
140
+ for (const [record] of entries) yield record;
141
+ }
142
+ function collectRecordNodes(records) {
143
+ const nodes = [];
144
+ for (const record of records) nodes.push(...record[1]);
145
+ return nodes;
146
+ }
147
+ function longestIncreasingSubsequence(indexes) {
148
+ const predecessors = new Int32Array(indexes.length).fill(-1);
149
+ const tails = [];
150
+ for (let index = 0; index < indexes.length; index += 1) {
151
+ const value = indexes[index];
152
+ if (value < 0) continue;
153
+ let low = 0;
154
+ let high = tails.length;
155
+ while (low < high) {
156
+ const middle = low + high >>> 1;
157
+ if (indexes[tails[middle]] < value) low = middle + 1;
158
+ else high = middle;
159
+ }
160
+ if (low > 0) predecessors[index] = tails[low - 1];
161
+ tails[low] = index;
162
+ }
163
+ const stable = new Uint8Array(indexes.length);
164
+ let index = tails.at(-1) ?? -1;
165
+ while (index >= 0) {
166
+ stable[index] = 1;
167
+ index = predecessors[index];
168
+ }
169
+ return stable;
170
+ }
171
+ function hasRetainedPrefix(records, keys) {
172
+ const retainedCount = Math.min(records.length, keys.length);
173
+ for (let index = 0; index < retainedCount; index += 1) if (records[index][0] !== keys[index]) return false;
174
+ return true;
106
175
  }
107
176
  function moveBefore(parent, node, before) {
108
- const statePreservingParent = parent;
109
- if (statePreservingParent.moveBefore !== undefined && node.parentNode === parent) {
110
- statePreservingParent.moveBefore(node, before);
111
- }
112
- else {
113
- parent.insertBefore(node, before);
114
- }
177
+ const statePreservingParent = parent;
178
+ if (statePreservingParent.moveBefore !== void 0 && node.parentNode === parent) statePreservingParent.moveBefore(node, before);
179
+ else parent.insertBefore(node, before);
115
180
  }
116
181
  function assertValidKeys(keys) {
117
- for (const key of keys) {
118
- if (typeof key !== 'string' && typeof key !== 'number' && typeof key !== 'bigint') {
119
- throw new Error(DEV ? `invalid key in keyed list: ${String(key)}` : 'V803');
120
- }
121
- }
182
+ for (const key of keys) if (typeof key !== "string" && typeof key !== "number" && typeof key !== "bigint") throw new Error(DEV ? `invalid key in keyed list: ${String(key)}` : "V803");
122
183
  }
123
184
  function assertUniqueKeys(keys) {
124
- const seen = new Set();
125
- for (const key of keys) {
126
- if (seen.has(key)) {
127
- throw new Error(DEV ? `duplicate key in keyed list: ${String(key)}` : 'V804');
128
- }
129
- seen.add(key);
130
- }
185
+ const seen = /* @__PURE__ */ new Set();
186
+ for (const key of keys) {
187
+ if (seen.has(key)) throw new Error(DEV ? `duplicate key in keyed list: ${String(key)}` : "V804");
188
+ seen.add(key);
189
+ }
131
190
  }
132
191
  function normalizeRenderResult(result) {
133
- if (isNode(result))
134
- return [normalizeNodes([result])];
135
- if (isNodeArray(result))
136
- return [normalizeNodes(result)];
137
- return [normalizeNodes(result[0]), result[1], result[2]];
192
+ if (isNode(result)) return [normalizeNodes([result])];
193
+ if (isNodeArray(result)) return [normalizeNodes(result)];
194
+ return [
195
+ normalizeNodes(result[0]),
196
+ result[1],
197
+ result[2]
198
+ ];
138
199
  }
139
200
  function normalizeNodes(nodes) {
140
- const normalized = [];
141
- for (const node of nodes) {
142
- if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
143
- normalized.push(...node.childNodes);
144
- }
145
- else {
146
- normalized.push(node);
147
- }
148
- }
149
- return normalized.length === 0 ? [document.createComment(DEV ? 'vidact:empty' : '')] : normalized;
201
+ if (nodes.length === 0) return [document.createComment(DEV ? "vidact:empty" : "")];
202
+ let firstFragment = -1;
203
+ for (let index = 0; index < nodes.length; index += 1) if (nodes[index].nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
204
+ firstFragment = index;
205
+ break;
206
+ }
207
+ if (firstFragment === -1) return nodes;
208
+ const normalized = nodes.slice(0, firstFragment);
209
+ for (let index = firstFragment; index < nodes.length; index += 1) {
210
+ const node = nodes[index];
211
+ if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) normalized.push(...node.childNodes);
212
+ else normalized.push(node);
213
+ }
214
+ return normalized.length === 0 ? [document.createComment(DEV ? "vidact:empty" : "")] : normalized;
150
215
  }
151
216
  function isNode(value) {
152
- return typeof value === 'object' && value !== null && 'nodeType' in value;
217
+ return typeof value === "object" && value !== null && "nodeType" in value;
153
218
  }
154
219
  function isNodeArray(value) {
155
- return Array.isArray(value) && (value.length === 0 || isNode(value[0]));
220
+ return Array.isArray(value) && (value.length === 0 || isNode(value[0]));
156
221
  }
157
222
  function removeNodes(parent, nodes) {
158
- for (const node of nodes) {
159
- if (node.parentNode === parent)
160
- parent.removeChild(node);
161
- }
223
+ for (const node of nodes) if (node.parentNode === parent) parent.removeChild(node);
162
224
  }
163
225
  function disposeRecords(parent, records) {
164
- let firstError;
165
- let failed = false;
166
- for (const record of records) {
167
- removeNodes(parent, record[1]);
168
- try {
169
- record[3]?.();
170
- }
171
- catch (error) {
172
- if (!failed)
173
- firstError = error;
174
- failed = true;
175
- }
176
- }
177
- return [firstError, failed];
178
- }
179
- import { claimHydrationArrayRange, finishHydrationArrayRange, withHydrationInsertion, } from './hydration-bridge.js';
226
+ let firstError;
227
+ let failed = false;
228
+ for (const record of records) {
229
+ removeNodes(parent, record[1]);
230
+ try {
231
+ disposeRecord(record[3]);
232
+ } catch (error) {
233
+ if (!failed) firstError = error;
234
+ failed = true;
235
+ }
236
+ }
237
+ return [firstError, failed];
238
+ }
239
+ function disposeRecordOwners(records) {
240
+ let firstError;
241
+ let failed = false;
242
+ for (const record of records) try {
243
+ disposeRecord(record[3]);
244
+ } catch (error) {
245
+ if (!failed) firstError = error;
246
+ failed = true;
247
+ }
248
+ return [firstError, failed];
249
+ }
250
+ function disposeRecord(disposer) {
251
+ if (typeof disposer === "function") disposer();
252
+ else disposer?.[3]();
253
+ }
254
+ function deleteRangeContents(start, end) {
255
+ const range = start.ownerDocument?.createRange() ?? document.createRange();
256
+ range.setStartAfter(start);
257
+ range.setEndBefore(end);
258
+ range.deleteContents();
259
+ }
260
+ //#endregion
261
+ export { createKeyedList };
262
+
180
263
  //# sourceMappingURL=keyed-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyed-list.js","sourceRoot":"","sources":["../src/keyed-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyed-list.js","names":[],"sources":["../src/keyed-list.ts"],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- export declare function installFrameworkMetadataPropRekeying(): void;
2
- export declare function isFrameworkMetadataElement(element: Element, props?: Readonly<Record<string, unknown>> | null): boolean;
3
- export declare function hoistFrameworkMetadata(element: Element): DocumentFragment;
1
+ //#region src/metadata.d.ts
2
+ declare function installFrameworkMetadataPropRekeying(): void;
3
+ declare function isFrameworkMetadataElement(element: Element, props?: Readonly<Record<string, unknown>> | null): boolean;
4
+ declare function hoistFrameworkMetadata(element: Element): DocumentFragment;
5
+ //#endregion
6
+ export { hoistFrameworkMetadata, installFrameworkMetadataPropRekeying, isFrameworkMetadataElement };
4
7
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AA6BA,wBAAgB,oCAAoC,IAAI,IAAI,CAe3D;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAW,GACrD,OAAO,CAoBT;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAkBzE"}
1
+ {"version":3,"file":"metadata.d.ts","names":[],"sources":["../src/metadata.ts"],"mappings":";iBA6BgB;iBAiBA,2BACd,SAAS,SACT,QAAO,SAAS;iBAuBF,uBAAuB,SAAS,UAAU"}