@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,247 +1,239 @@
1
- import { decodeFrameworkValue, encodeFrameworkValue, } from './framework-protocol.js';
2
- import { createServerHydrationBoundary, createServerFrameworkRenderContext, renderToString, withServerFrameworkRenderContext, } from './server.js';
3
- import { abortReason, withAbort } from './shared/promise.js';
4
- export function createClientBoundary(reference, props, serverContent, options) {
5
- const payload = encodeFrameworkValue({ reference, props }, options.clientManifest);
6
- return createServerHydrationBoundary(serverContent, {
7
- ...options.hostProps,
8
- 'data-vidact-client-boundary': true,
9
- 'data-vidact-client-payload': payload,
10
- });
11
- }
12
- export function renderToReadableStream(value, options = {}) {
13
- const controller = linkedAbortController(options.signal);
14
- const html = renderFrameworkHtml(value, options, controller.signal);
15
- return Promise.resolve(readableFromText(html, options.progressiveChunkSize, controller));
16
- }
17
- export function renderToPipeableStream(value, options = {}) {
18
- const controller = linkedAbortController(options.signal);
19
- const html = renderFrameworkHtml(value, options, controller.signal, options);
20
- // A caller may create a stream for lifecycle callbacks and never pipe it. Mark the
21
- // render rejection as observed while retaining the original promise for pipe().
22
- void html.catch(() => undefined);
23
- let piped = false;
24
- return {
25
- abort(reason) {
26
- controller.abort(reason);
27
- },
28
- pipe(destination) {
29
- if (piped)
30
- throw new Error('a Vidact pipeable stream can only be piped once');
31
- piped = true;
32
- void pipeText(html, destination, options.progressiveChunkSize, controller.signal).catch((error) => destination.destroy?.(error));
33
- },
34
- };
35
- }
36
- export async function prerender(value, options = {}) {
37
- const controller = linkedAbortController(options.signal);
38
- const result = await prerenderText(value, options, controller.signal);
39
- return {
40
- prelude: readableFromText(Promise.resolve(result.prelude), options.progressiveChunkSize, controller),
41
- postponed: result.postponed,
42
- };
43
- }
44
- export async function prerenderToNodeStream(value, options = {}) {
45
- const controller = linkedAbortController(options.signal);
46
- const result = await prerenderText(value, options, controller.signal);
47
- return {
48
- prelude: textIterable(result.prelude, options.progressiveChunkSize, controller.signal),
49
- postponed: result.postponed,
50
- };
51
- }
52
- export function resume(postponed, options = {}) {
53
- const controller = linkedAbortController(options.signal);
54
- const html = Promise.resolve(readContinuation(postponed));
55
- return Promise.resolve(readableFromText(html, options.progressiveChunkSize, controller));
56
- }
57
- export function resumeToPipeableStream(postponed, options = {}) {
58
- const controller = linkedAbortController(options.signal);
59
- const html = Promise.resolve(readContinuation(postponed));
60
- let piped = false;
61
- queueMicrotask(() => options.onShellReady?.());
62
- void html.then(() => options.onAllReady?.(), (error) => options.onShellError?.(error));
63
- return {
64
- abort(reason) {
65
- controller.abort(reason);
66
- },
67
- pipe(destination) {
68
- if (piped)
69
- throw new Error('a Vidact pipeable stream can only be piped once');
70
- piped = true;
71
- void pipeText(html, destination, options.progressiveChunkSize, controller.signal).catch((error) => destination.destroy?.(error));
72
- },
73
- };
74
- }
75
- export async function renderServerComponentPayload(value, model, options = {}) {
76
- const controller = linkedAbortController(options.signal);
77
- const html = await renderFrameworkHtml(value, options, controller.signal);
78
- return encodeFrameworkValue({ kind: 'server-component', html, model }, options.clientManifest);
79
- }
80
- export function decodeServerComponentPayload(payload, clientManifest) {
81
- const value = decodeFrameworkValue(payload, clientManifest);
82
- if (!isRecord(value) ||
83
- value.kind !== 'server-component' ||
84
- typeof value.html !== 'string' ||
85
- !Object.hasOwn(value, 'model')) {
86
- throw new TypeError('invalid Vidact Server Component payload');
87
- }
88
- return { kind: 'server-component', html: value.html, model: value.model };
1
+ import { abortReason, withAbort } from "./shared/promise.js";
2
+ import { decodeFrameworkValue, encodeFrameworkValue } from "./framework-protocol.js";
3
+ import { createServerFrameworkRenderContext, createServerHydrationBoundary, renderToString, withServerFrameworkRenderContext } from "./server.js";
4
+ //#region src/server-framework.ts
5
+ function createClientBoundary(reference, props, serverContent, options) {
6
+ const payload = encodeFrameworkValue({
7
+ reference,
8
+ props
9
+ }, options.clientManifest);
10
+ return createServerHydrationBoundary(serverContent, {
11
+ ...options.hostProps,
12
+ "data-vidact-client-boundary": true,
13
+ "data-vidact-client-payload": payload
14
+ });
15
+ }
16
+ function renderToReadableStream(value, options = {}) {
17
+ const controller = linkedAbortController(options.signal);
18
+ const html = renderFrameworkHtml(value, options, controller.signal);
19
+ return Promise.resolve(readableFromText(html, options.progressiveChunkSize, controller));
20
+ }
21
+ function renderToPipeableStream(value, options = {}) {
22
+ const controller = linkedAbortController(options.signal);
23
+ const html = renderFrameworkHtml(value, options, controller.signal, options);
24
+ html.catch(() => void 0);
25
+ let piped = false;
26
+ return {
27
+ abort(reason) {
28
+ controller.abort(reason);
29
+ },
30
+ pipe(destination) {
31
+ if (piped) throw new Error("a Vidact pipeable stream can only be piped once");
32
+ piped = true;
33
+ pipeText(html, destination, options.progressiveChunkSize, controller.signal).catch((error) => destination.destroy?.(error));
34
+ }
35
+ };
36
+ }
37
+ async function prerender(value, options = {}) {
38
+ const controller = linkedAbortController(options.signal);
39
+ const result = await prerenderText(value, options, controller.signal);
40
+ return {
41
+ prelude: readableFromText(Promise.resolve(result.prelude), options.progressiveChunkSize, controller),
42
+ postponed: result.postponed
43
+ };
44
+ }
45
+ async function prerenderToNodeStream(value, options = {}) {
46
+ const controller = linkedAbortController(options.signal);
47
+ const result = await prerenderText(value, options, controller.signal);
48
+ return {
49
+ prelude: textIterable(result.prelude, options.progressiveChunkSize, controller.signal),
50
+ postponed: result.postponed
51
+ };
52
+ }
53
+ function resume(postponed, options = {}) {
54
+ const controller = linkedAbortController(options.signal);
55
+ const html = Promise.resolve(readContinuation(postponed));
56
+ return Promise.resolve(readableFromText(html, options.progressiveChunkSize, controller));
57
+ }
58
+ function resumeToPipeableStream(postponed, options = {}) {
59
+ const controller = linkedAbortController(options.signal);
60
+ const html = Promise.resolve(readContinuation(postponed));
61
+ let piped = false;
62
+ queueMicrotask(() => options.onShellReady?.());
63
+ html.then(() => options.onAllReady?.(), (error) => options.onShellError?.(error));
64
+ return {
65
+ abort(reason) {
66
+ controller.abort(reason);
67
+ },
68
+ pipe(destination) {
69
+ if (piped) throw new Error("a Vidact pipeable stream can only be piped once");
70
+ piped = true;
71
+ pipeText(html, destination, options.progressiveChunkSize, controller.signal).catch((error) => destination.destroy?.(error));
72
+ }
73
+ };
74
+ }
75
+ async function renderServerComponentPayload(value, model, options = {}) {
76
+ const html = await renderFrameworkHtml(value, options, linkedAbortController(options.signal).signal);
77
+ return encodeFrameworkValue({
78
+ kind: "server-component",
79
+ html,
80
+ model
81
+ }, options.clientManifest);
82
+ }
83
+ function decodeServerComponentPayload(payload, clientManifest) {
84
+ const value = decodeFrameworkValue(payload, clientManifest);
85
+ if (!isRecord(value) || value.kind !== "server-component" || typeof value.html !== "string" || !Object.hasOwn(value, "model")) throw new TypeError("invalid Vidact Server Component payload");
86
+ return {
87
+ kind: "server-component",
88
+ html: value.html,
89
+ model: value.model
90
+ };
89
91
  }
90
92
  async function renderFrameworkHtml(value, options, signal, callbacks = {}) {
91
- const context = createServerFrameworkRenderContext(signal);
92
- let shellReported = false;
93
- for (let pass = 0; pass < 100; pass += 1) {
94
- throwIfAborted(signal);
95
- let html;
96
- try {
97
- html = renderFrameworkPass(value, options, context);
98
- }
99
- catch (error) {
100
- options.onError?.(error);
101
- if (!shellReported)
102
- callbacks.onShellError?.(error);
103
- throw error;
104
- }
105
- if (!shellReported) {
106
- shellReported = true;
107
- callbacks.onShellReady?.();
108
- }
109
- if (context.pending.size === 0) {
110
- callbacks.onAllReady?.();
111
- return html;
112
- }
113
- // oxlint-disable-next-line eslint/no-await-in-loop -- Each pass discovers the next resource frontier.
114
- await waitForResources(context.pending, signal);
115
- }
116
- throw new Error('Vidact framework render did not stabilize after 100 resource passes');
93
+ const context = createServerFrameworkRenderContext(signal);
94
+ let shellReported = false;
95
+ for (let pass = 0; pass < 100; pass += 1) {
96
+ throwIfAborted(signal);
97
+ let html;
98
+ try {
99
+ html = renderFrameworkPass(value, options, context);
100
+ } catch (error) {
101
+ options.onError?.(error);
102
+ if (!shellReported) callbacks.onShellError?.(error);
103
+ throw error;
104
+ }
105
+ if (!shellReported) {
106
+ shellReported = true;
107
+ callbacks.onShellReady?.();
108
+ }
109
+ if (context.pending.size === 0) {
110
+ callbacks.onAllReady?.();
111
+ return html;
112
+ }
113
+ await waitForResources(context.pending, signal);
114
+ }
115
+ throw new Error("Vidact framework render did not stabilize after 100 resource passes");
117
116
  }
118
117
  async function prerenderText(value, options, signal) {
119
- const context = createServerFrameworkRenderContext(signal);
120
- const shell = renderFrameworkPass(value, options, context);
121
- if (context.pending.size === 0)
122
- return { prelude: shell, postponed: null };
123
- await waitForResources(context.pending, signal);
124
- const final = await settleFrameworkContext(value, options, context);
125
- return {
126
- prelude: shell,
127
- postponed: encodeFrameworkValue({ kind: 'continuation', html: final }),
128
- };
118
+ const context = createServerFrameworkRenderContext(signal);
119
+ const shell = renderFrameworkPass(value, options, context);
120
+ if (context.pending.size === 0) return {
121
+ prelude: shell,
122
+ postponed: null
123
+ };
124
+ await waitForResources(context.pending, signal);
125
+ const final = await settleFrameworkContext(value, options, context);
126
+ return {
127
+ prelude: shell,
128
+ postponed: encodeFrameworkValue({
129
+ kind: "continuation",
130
+ html: final
131
+ })
132
+ };
129
133
  }
130
134
  async function settleFrameworkContext(value, options, context) {
131
- for (let pass = 0; pass < 100; pass += 1) {
132
- throwIfAborted(context.signal);
133
- const html = renderFrameworkPass(value, options, context);
134
- if (context.pending.size === 0)
135
- return html;
136
- // oxlint-disable-next-line eslint/no-await-in-loop -- Each pass discovers the next resource frontier.
137
- await waitForResources(context.pending, context.signal);
138
- }
139
- throw new Error('Vidact prerender did not stabilize after 100 resource passes');
135
+ for (let pass = 0; pass < 100; pass += 1) {
136
+ throwIfAborted(context.signal);
137
+ const html = renderFrameworkPass(value, options, context);
138
+ if (context.pending.size === 0) return html;
139
+ await waitForResources(context.pending, context.signal);
140
+ }
141
+ throw new Error("Vidact prerender did not stabilize after 100 resource passes");
140
142
  }
141
143
  function renderFrameworkPass(value, options, context) {
142
- return withServerFrameworkRenderContext(context, () => renderToString(value, options));
144
+ return withServerFrameworkRenderContext(context, () => renderToString(value, options));
143
145
  }
144
146
  function readContinuation(postponed) {
145
- const value = decodeFrameworkValue(postponed);
146
- if (!isRecord(value) || value.kind !== 'continuation' || typeof value.html !== 'string') {
147
- throw new TypeError('invalid Vidact continuation payload');
148
- }
149
- return value.html;
147
+ const value = decodeFrameworkValue(postponed);
148
+ if (!isRecord(value) || value.kind !== "continuation" || typeof value.html !== "string") throw new TypeError("invalid Vidact continuation payload");
149
+ return value.html;
150
150
  }
151
151
  function readableFromText(text, requestedChunkSize, abortController) {
152
- const chunkSize = normalizeChunkSize(requestedChunkSize);
153
- const encoder = new TextEncoder();
154
- let content;
155
- let offset = 0;
156
- const allReady = text.then(() => undefined);
157
- const stream = new ReadableStream({
158
- async pull(controller) {
159
- try {
160
- throwIfAborted(abortController.signal);
161
- content ??= encoder.encode(await text);
162
- if (offset >= content.length) {
163
- controller.close();
164
- return;
165
- }
166
- const next = content.slice(offset, offset + chunkSize);
167
- offset += next.length;
168
- controller.enqueue(next);
169
- }
170
- catch (error) {
171
- controller.error(error);
172
- }
173
- },
174
- cancel(reason) {
175
- abortController.abort(reason);
176
- },
177
- });
178
- Object.defineProperty(stream, 'allReady', { value: allReady });
179
- return stream;
152
+ const chunkSize = normalizeChunkSize(requestedChunkSize);
153
+ const encoder = new TextEncoder();
154
+ let content;
155
+ let offset = 0;
156
+ const allReady = text.then(() => void 0);
157
+ const stream = new ReadableStream({
158
+ async pull(controller) {
159
+ try {
160
+ throwIfAborted(abortController.signal);
161
+ content ??= encoder.encode(await text);
162
+ if (offset >= content.length) {
163
+ controller.close();
164
+ return;
165
+ }
166
+ const next = content.slice(offset, offset + chunkSize);
167
+ offset += next.length;
168
+ controller.enqueue(next);
169
+ } catch (error) {
170
+ controller.error(error);
171
+ }
172
+ },
173
+ cancel(reason) {
174
+ abortController.abort(reason);
175
+ }
176
+ });
177
+ Object.defineProperty(stream, "allReady", { value: allReady });
178
+ return stream;
180
179
  }
181
180
  async function pipeText(text, destination, requestedChunkSize, signal) {
182
- const content = new TextEncoder().encode(await text);
183
- const chunkSize = normalizeChunkSize(requestedChunkSize);
184
- for (let offset = 0; offset < content.length; offset += chunkSize) {
185
- throwIfAborted(signal);
186
- if (!destination.write(content.slice(offset, offset + chunkSize))) {
187
- // oxlint-disable-next-line eslint/no-await-in-loop -- Stream chunks must honor destination backpressure in order.
188
- await waitForDrain(destination, signal);
189
- }
190
- }
191
- destination.end();
181
+ const content = new TextEncoder().encode(await text);
182
+ const chunkSize = normalizeChunkSize(requestedChunkSize);
183
+ for (let offset = 0; offset < content.length; offset += chunkSize) {
184
+ throwIfAborted(signal);
185
+ if (!destination.write(content.slice(offset, offset + chunkSize))) await waitForDrain(destination, signal);
186
+ }
187
+ destination.end();
192
188
  }
193
189
  async function* textIterable(text, requestedChunkSize, signal) {
194
- const content = new TextEncoder().encode(text);
195
- const chunkSize = normalizeChunkSize(requestedChunkSize);
196
- for (let offset = 0; offset < content.length; offset += chunkSize) {
197
- throwIfAborted(signal);
198
- yield content.slice(offset, offset + chunkSize);
199
- }
190
+ const content = new TextEncoder().encode(text);
191
+ const chunkSize = normalizeChunkSize(requestedChunkSize);
192
+ for (let offset = 0; offset < content.length; offset += chunkSize) {
193
+ throwIfAborted(signal);
194
+ yield content.slice(offset, offset + chunkSize);
195
+ }
200
196
  }
201
197
  function waitForResources(resources, signal) {
202
- return withAbort(Promise.allSettled(resources).then(() => undefined), signal);
198
+ return withAbort(Promise.allSettled(resources).then(() => void 0), signal);
203
199
  }
204
200
  function waitForDrain(destination, signal) {
205
- if (destination.once === undefined)
206
- return Promise.resolve();
207
- return new Promise((resolve, reject) => {
208
- if (signal.aborted) {
209
- reject(abortReason(signal));
210
- return;
211
- }
212
- const onDrain = () => {
213
- signal.removeEventListener('abort', onAbort);
214
- resolve();
215
- };
216
- const onAbort = () => {
217
- destination.off?.('drain', onDrain);
218
- reject(abortReason(signal));
219
- };
220
- destination.once?.('drain', onDrain);
221
- signal.addEventListener('abort', onAbort, { once: true });
222
- });
201
+ if (destination.once === void 0) return Promise.resolve();
202
+ return new Promise((resolve, reject) => {
203
+ if (signal.aborted) {
204
+ reject(abortReason(signal));
205
+ return;
206
+ }
207
+ const onDrain = () => {
208
+ signal.removeEventListener("abort", onAbort);
209
+ resolve();
210
+ };
211
+ const onAbort = () => {
212
+ destination.off?.("drain", onDrain);
213
+ reject(abortReason(signal));
214
+ };
215
+ destination.once?.("drain", onDrain);
216
+ signal.addEventListener("abort", onAbort, { once: true });
217
+ });
223
218
  }
224
219
  function linkedAbortController(signal) {
225
- const controller = new AbortController();
226
- if (signal?.aborted)
227
- controller.abort(signal.reason);
228
- else
229
- signal?.addEventListener('abort', () => controller.abort(signal.reason), { once: true });
230
- return controller;
220
+ const controller = new AbortController();
221
+ if (signal?.aborted) controller.abort(signal.reason);
222
+ else signal?.addEventListener("abort", () => controller.abort(signal.reason), { once: true });
223
+ return controller;
231
224
  }
232
225
  function normalizeChunkSize(value) {
233
- if (value === undefined)
234
- return 16_384;
235
- if (!Number.isSafeInteger(value) || value <= 0) {
236
- throw new RangeError('progressiveChunkSize must be a positive safe integer');
237
- }
238
- return value;
226
+ if (value === void 0) return 16384;
227
+ if (!Number.isSafeInteger(value) || value <= 0) throw new RangeError("progressiveChunkSize must be a positive safe integer");
228
+ return value;
239
229
  }
240
230
  function throwIfAborted(signal) {
241
- if (signal.aborted)
242
- throw abortReason(signal);
231
+ if (signal.aborted) throw abortReason(signal);
243
232
  }
244
233
  function isRecord(value) {
245
- return typeof value === 'object' && value !== null && !Array.isArray(value);
234
+ return typeof value === "object" && value !== null && !Array.isArray(value);
246
235
  }
236
+ //#endregion
237
+ export { createClientBoundary, decodeServerComponentPayload, prerender, prerenderToNodeStream, renderServerComponentPayload, renderToPipeableStream, renderToReadableStream, resume, resumeToPipeableStream };
238
+
247
239
  //# sourceMappingURL=server-framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-framework.js","sourceRoot":"","sources":["../src/server-framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-framework.js","names":[],"sources":["../src/server-framework.ts"],"mappings":"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"}