@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,235 +1,197 @@
1
- import { abortReason, withAbort } from './shared/promise.js';
2
- const CLIENT_REFERENCE = Symbol('Vidact.ClientReference');
3
- const SERVER_REFERENCE = Symbol('Vidact.ServerReference');
4
- export const VIDACT_FRAMEWORK_PROTOCOL = 'vidact-framework-v1';
5
- const MAX_FRAMEWORK_PAYLOAD_CHARACTERS = 64 * 1024 * 1024;
6
- const MAX_FRAMEWORK_BODY_CHARACTERS = 32 * 1024 * 1024;
1
+ import { abortReason, withAbort } from "./shared/promise.js";
2
+ //#region src/framework-protocol.ts
3
+ const CLIENT_REFERENCE = Symbol("Vidact.ClientReference");
4
+ const SERVER_REFERENCE = Symbol("Vidact.ServerReference");
5
+ const VIDACT_FRAMEWORK_PROTOCOL = "vidact-framework-v1";
6
+ const MAX_FRAMEWORK_PAYLOAD_CHARACTERS = 67108864;
7
+ const MAX_FRAMEWORK_BODY_CHARACTERS = 33554432;
7
8
  const MAX_FRAMEWORK_VALUE_DEPTH = 100;
8
- const MAX_FRAMEWORK_VALUE_NODES = 100_000;
9
- export function createClientReference(id, exportName = 'default') {
10
- assertReferencePart(id, 'client module id');
11
- assertReferencePart(exportName, 'client export name');
12
- return Object.freeze({ [CLIENT_REFERENCE]: true, id, exportName });
13
- }
14
- export function createServerFunctionReference(id, bound = []) {
15
- assertReferencePart(id, 'server function id');
16
- return Object.freeze({ [SERVER_REFERENCE]: true, id, bound: Object.freeze([...bound]) });
17
- }
18
- export function createClientModuleManifest(references) {
19
- const allowed = new Set();
20
- for (const [id, exports] of Object.entries(references)) {
21
- assertReferencePart(id, 'client module id');
22
- for (const exportName of exports) {
23
- assertReferencePart(exportName, 'client export name');
24
- allowed.add(`${id}\0${exportName}`);
25
- }
26
- }
27
- const manifest = {
28
- has: (id, exportName) => allowed.has(`${id}\0${exportName}`),
29
- };
30
- return Object.freeze(manifest);
31
- }
32
- export function createServerFunctionRegistry() {
33
- const functions = new Map();
34
- return {
35
- register(id, implementation) {
36
- assertReferencePart(id, 'server function id');
37
- if (functions.has(id))
38
- throw new Error(`server function ${id} is already registered`);
39
- functions.set(id, implementation);
40
- return () => {
41
- if (functions.get(id) === implementation)
42
- functions.delete(id);
43
- };
44
- },
45
- async invoke(id, arguments_, signal) {
46
- if (signal?.aborted)
47
- throw abortReason(signal);
48
- const implementation = functions.get(id);
49
- if (implementation === undefined)
50
- throw new Error(`unknown server function ${id}`);
51
- const operation = Promise.resolve(implementation(...arguments_));
52
- const result = signal === undefined ? await operation : await withAbort(operation, signal);
53
- assertFrameworkValue(result);
54
- return result;
55
- },
56
- };
57
- }
58
- export function encodeFrameworkValue(value, manifest) {
59
- const body = JSON.stringify(encodeValue(value, manifest, new Set(), { nodes: 0 }, 0));
60
- assertFrameworkPayloadSize(body, MAX_FRAMEWORK_BODY_CHARACTERS, 'body');
61
- const payload = JSON.stringify({
62
- protocol: VIDACT_FRAMEWORK_PROTOCOL,
63
- checksum: checksum(body),
64
- body,
65
- });
66
- assertFrameworkPayloadSize(payload, MAX_FRAMEWORK_PAYLOAD_CHARACTERS, 'envelope');
67
- return payload;
68
- }
69
- export function decodeFrameworkValue(payload, manifest) {
70
- assertFrameworkPayloadSize(payload, MAX_FRAMEWORK_PAYLOAD_CHARACTERS, 'envelope');
71
- const envelope = JSON.parse(payload);
72
- if (envelope.protocol !== VIDACT_FRAMEWORK_PROTOCOL ||
73
- typeof envelope.body !== 'string' ||
74
- typeof envelope.checksum !== 'string') {
75
- throw new Error('unsupported Vidact framework payload');
76
- }
77
- if (checksum(envelope.body) !== envelope.checksum) {
78
- throw new Error('Vidact framework payload integrity check failed');
79
- }
80
- assertFrameworkPayloadSize(envelope.body, MAX_FRAMEWORK_BODY_CHARACTERS, 'body');
81
- return decodeValue(JSON.parse(envelope.body), manifest, { nodes: 0 }, 0);
82
- }
83
- export function invokeServerFunctionPayload(registry, payload, signal) {
84
- const request = decodeFrameworkValue(payload);
85
- if (!isPlainObject(request) || typeof request.id !== 'string' || !Array.isArray(request.args)) {
86
- return Promise.reject(new TypeError('invalid server function request payload'));
87
- }
88
- return registry
89
- .invoke(request.id, request.args, signal)
90
- .then((result) => encodeFrameworkValue(result));
9
+ const MAX_FRAMEWORK_VALUE_NODES = 1e5;
10
+ function createClientReference(id, exportName = "default") {
11
+ assertReferencePart(id, "client module id");
12
+ assertReferencePart(exportName, "client export name");
13
+ return Object.freeze({
14
+ [CLIENT_REFERENCE]: true,
15
+ id,
16
+ exportName
17
+ });
18
+ }
19
+ function createServerFunctionReference(id, bound = []) {
20
+ assertReferencePart(id, "server function id");
21
+ return Object.freeze({
22
+ [SERVER_REFERENCE]: true,
23
+ id,
24
+ bound: Object.freeze([...bound])
25
+ });
26
+ }
27
+ function createClientModuleManifest(references) {
28
+ const allowed = /* @__PURE__ */ new Set();
29
+ for (const [id, exports] of Object.entries(references)) {
30
+ assertReferencePart(id, "client module id");
31
+ for (const exportName of exports) {
32
+ assertReferencePart(exportName, "client export name");
33
+ allowed.add(`${id}\0${exportName}`);
34
+ }
35
+ }
36
+ return Object.freeze({ has: (id, exportName) => allowed.has(`${id}\0${exportName}`) });
37
+ }
38
+ function createServerFunctionRegistry() {
39
+ const functions = /* @__PURE__ */ new Map();
40
+ return {
41
+ register(id, implementation) {
42
+ assertReferencePart(id, "server function id");
43
+ if (functions.has(id)) throw new Error(`server function ${id} is already registered`);
44
+ functions.set(id, implementation);
45
+ return () => {
46
+ if (functions.get(id) === implementation) functions.delete(id);
47
+ };
48
+ },
49
+ async invoke(id, arguments_, signal) {
50
+ if (signal?.aborted) throw abortReason(signal);
51
+ const implementation = functions.get(id);
52
+ if (implementation === void 0) throw new Error(`unknown server function ${id}`);
53
+ const operation = Promise.resolve(implementation(...arguments_));
54
+ const result = signal === void 0 ? await operation : await withAbort(operation, signal);
55
+ assertFrameworkValue(result);
56
+ return result;
57
+ }
58
+ };
59
+ }
60
+ function encodeFrameworkValue(value, manifest) {
61
+ const body = JSON.stringify(encodeValue(value, manifest, /* @__PURE__ */ new Set(), { nodes: 0 }, 0));
62
+ assertFrameworkPayloadSize(body, MAX_FRAMEWORK_BODY_CHARACTERS, "body");
63
+ const payload = JSON.stringify({
64
+ protocol: VIDACT_FRAMEWORK_PROTOCOL,
65
+ checksum: checksum(body),
66
+ body
67
+ });
68
+ assertFrameworkPayloadSize(payload, MAX_FRAMEWORK_PAYLOAD_CHARACTERS, "envelope");
69
+ return payload;
70
+ }
71
+ function decodeFrameworkValue(payload, manifest) {
72
+ assertFrameworkPayloadSize(payload, MAX_FRAMEWORK_PAYLOAD_CHARACTERS, "envelope");
73
+ const envelope = JSON.parse(payload);
74
+ if (envelope.protocol !== "vidact-framework-v1" || typeof envelope.body !== "string" || typeof envelope.checksum !== "string") throw new Error("unsupported Vidact framework payload");
75
+ if (checksum(envelope.body) !== envelope.checksum) throw new Error("Vidact framework payload integrity check failed");
76
+ assertFrameworkPayloadSize(envelope.body, MAX_FRAMEWORK_BODY_CHARACTERS, "body");
77
+ return decodeValue(JSON.parse(envelope.body), manifest, { nodes: 0 }, 0);
78
+ }
79
+ function invokeServerFunctionPayload(registry, payload, signal) {
80
+ const request = decodeFrameworkValue(payload);
81
+ if (!isPlainObject(request) || typeof request.id !== "string" || !Array.isArray(request.args)) return Promise.reject(/* @__PURE__ */ new TypeError("invalid server function request payload"));
82
+ return registry.invoke(request.id, request.args, signal).then((result) => encodeFrameworkValue(result));
91
83
  }
92
84
  function encodeValue(value, manifest, ancestors, budget, depth) {
93
- consumeTraversalBudget(budget, depth);
94
- if (value === undefined)
95
- return { $vidact: 'undefined' };
96
- if (typeof value === 'bigint')
97
- return { $vidact: 'bigint', value: String(value) };
98
- if (value === null || typeof value === 'boolean' || typeof value === 'string')
99
- return value;
100
- if (typeof value === 'number') {
101
- if (!Number.isFinite(value))
102
- throw new TypeError('framework values require finite numbers');
103
- return value;
104
- }
105
- if (isClientReference(value)) {
106
- if (manifest !== undefined && !manifest.has(value.id, value.exportName)) {
107
- throw new Error(`client reference ${value.id}#${value.exportName} is not in the manifest`);
108
- }
109
- return { $vidact: 'client', id: value.id, exportName: value.exportName };
110
- }
111
- if (isServerFunctionReference(value)) {
112
- return {
113
- $vidact: 'server-function',
114
- id: value.id,
115
- bound: encodeValue(value.bound, manifest, ancestors, budget, depth + 1),
116
- };
117
- }
118
- if (typeof value !== 'object')
119
- throw new TypeError('unsupported framework value');
120
- if (ancestors.has(value))
121
- throw new TypeError('framework values cannot contain cycles');
122
- ancestors.add(value);
123
- try {
124
- if (Array.isArray(value)) {
125
- return value.map((item) => encodeValue(item, manifest, ancestors, budget, depth + 1));
126
- }
127
- if (!isPlainObject(value))
128
- throw new TypeError('framework objects must use a plain prototype');
129
- return {
130
- $vidact: 'object',
131
- entries: Object.entries(value).map(([key, item]) => {
132
- assertSafeKey(key);
133
- return [key, encodeValue(item, manifest, ancestors, budget, depth + 1)];
134
- }),
135
- };
136
- }
137
- finally {
138
- ancestors.delete(value);
139
- }
85
+ consumeTraversalBudget(budget, depth);
86
+ if (value === void 0) return { $vidact: "undefined" };
87
+ if (typeof value === "bigint") return {
88
+ $vidact: "bigint",
89
+ value: String(value)
90
+ };
91
+ if (value === null || typeof value === "boolean" || typeof value === "string") return value;
92
+ if (typeof value === "number") {
93
+ if (!Number.isFinite(value)) throw new TypeError("framework values require finite numbers");
94
+ return value;
95
+ }
96
+ if (isClientReference(value)) {
97
+ if (manifest !== void 0 && !manifest.has(value.id, value.exportName)) throw new Error(`client reference ${value.id}#${value.exportName} is not in the manifest`);
98
+ return {
99
+ $vidact: "client",
100
+ id: value.id,
101
+ exportName: value.exportName
102
+ };
103
+ }
104
+ if (isServerFunctionReference(value)) return {
105
+ $vidact: "server-function",
106
+ id: value.id,
107
+ bound: encodeValue(value.bound, manifest, ancestors, budget, depth + 1)
108
+ };
109
+ if (typeof value !== "object") throw new TypeError("unsupported framework value");
110
+ if (ancestors.has(value)) throw new TypeError("framework values cannot contain cycles");
111
+ ancestors.add(value);
112
+ try {
113
+ if (Array.isArray(value)) return value.map((item) => encodeValue(item, manifest, ancestors, budget, depth + 1));
114
+ if (!isPlainObject(value)) throw new TypeError("framework objects must use a plain prototype");
115
+ return {
116
+ $vidact: "object",
117
+ entries: Object.entries(value).map(([key, item]) => {
118
+ assertSafeKey(key);
119
+ return [key, encodeValue(item, manifest, ancestors, budget, depth + 1)];
120
+ })
121
+ };
122
+ } finally {
123
+ ancestors.delete(value);
124
+ }
140
125
  }
141
126
  function decodeValue(value, manifest, budget, depth) {
142
- consumeTraversalBudget(budget, depth);
143
- if (value === null || typeof value === 'boolean' || typeof value === 'string')
144
- return value;
145
- if (typeof value === 'number') {
146
- if (!Number.isFinite(value))
147
- throw new TypeError('framework values require finite numbers');
148
- return value;
149
- }
150
- if (Array.isArray(value)) {
151
- return value.map((item) => decodeValue(item, manifest, budget, depth + 1));
152
- }
153
- if (!isPlainObject(value))
154
- throw new TypeError('invalid framework value');
155
- const tag = value.$vidact;
156
- if (tag === 'undefined')
157
- return undefined;
158
- if (tag === 'bigint' && typeof value.value === 'string')
159
- return BigInt(value.value);
160
- if (tag === 'client' && typeof value.id === 'string' && typeof value.exportName === 'string') {
161
- if (manifest !== undefined && !manifest.has(value.id, value.exportName)) {
162
- throw new Error(`client reference ${value.id}#${value.exportName} is not in the manifest`);
163
- }
164
- return createClientReference(value.id, value.exportName);
165
- }
166
- if (tag === 'server-function' && typeof value.id === 'string' && Array.isArray(value.bound)) {
167
- return createServerFunctionReference(value.id, value.bound.map((item) => decodeValue(item, manifest, budget, depth + 1)));
168
- }
169
- if (tag === 'object' && Array.isArray(value.entries)) {
170
- const output = Object.create(null);
171
- for (const entry of value.entries) {
172
- if (!Array.isArray(entry) || entry.length !== 2 || typeof entry[0] !== 'string') {
173
- throw new TypeError('invalid framework object entry');
174
- }
175
- const [key, item] = entry;
176
- assertSafeKey(key);
177
- output[key] = decodeValue(item, manifest, budget, depth + 1);
178
- }
179
- return output;
180
- }
181
- if (tag !== undefined)
182
- throw new TypeError(`invalid framework value tag ${String(tag)}`);
183
- const output = Object.create(null);
184
- for (const [key, item] of Object.entries(value)) {
185
- assertSafeKey(key);
186
- output[key] = decodeValue(item, manifest, budget, depth + 1);
187
- }
188
- return output;
127
+ consumeTraversalBudget(budget, depth);
128
+ if (value === null || typeof value === "boolean" || typeof value === "string") return value;
129
+ if (typeof value === "number") {
130
+ if (!Number.isFinite(value)) throw new TypeError("framework values require finite numbers");
131
+ return value;
132
+ }
133
+ if (Array.isArray(value)) return value.map((item) => decodeValue(item, manifest, budget, depth + 1));
134
+ if (!isPlainObject(value)) throw new TypeError("invalid framework value");
135
+ const tag = value.$vidact;
136
+ if (tag === "undefined") return void 0;
137
+ if (tag === "bigint" && typeof value.value === "string") return BigInt(value.value);
138
+ if (tag === "client" && typeof value.id === "string" && typeof value.exportName === "string") {
139
+ if (manifest !== void 0 && !manifest.has(value.id, value.exportName)) throw new Error(`client reference ${value.id}#${value.exportName} is not in the manifest`);
140
+ return createClientReference(value.id, value.exportName);
141
+ }
142
+ if (tag === "server-function" && typeof value.id === "string" && Array.isArray(value.bound)) return createServerFunctionReference(value.id, value.bound.map((item) => decodeValue(item, manifest, budget, depth + 1)));
143
+ if (tag === "object" && Array.isArray(value.entries)) {
144
+ const output = Object.create(null);
145
+ for (const entry of value.entries) {
146
+ if (!Array.isArray(entry) || entry.length !== 2 || typeof entry[0] !== "string") throw new TypeError("invalid framework object entry");
147
+ const [key, item] = entry;
148
+ assertSafeKey(key);
149
+ output[key] = decodeValue(item, manifest, budget, depth + 1);
150
+ }
151
+ return output;
152
+ }
153
+ if (tag !== void 0) throw new TypeError(`invalid framework value tag ${String(tag)}`);
154
+ const output = Object.create(null);
155
+ for (const [key, item] of Object.entries(value)) {
156
+ assertSafeKey(key);
157
+ output[key] = decodeValue(item, manifest, budget, depth + 1);
158
+ }
159
+ return output;
189
160
  }
190
161
  function assertFrameworkValue(value) {
191
- encodeFrameworkValue(value);
162
+ encodeFrameworkValue(value);
192
163
  }
193
- export function isClientReference(value) {
194
- return typeof value === 'object' && value !== null && CLIENT_REFERENCE in value;
164
+ function isClientReference(value) {
165
+ return typeof value === "object" && value !== null && CLIENT_REFERENCE in value;
195
166
  }
196
167
  function isServerFunctionReference(value) {
197
- return typeof value === 'object' && value !== null && SERVER_REFERENCE in value;
168
+ return typeof value === "object" && value !== null && SERVER_REFERENCE in value;
198
169
  }
199
170
  function isPlainObject(value) {
200
- if (typeof value !== 'object' || value === null || Array.isArray(value))
201
- return false;
202
- const prototype = Object.getPrototypeOf(value);
203
- return prototype === Object.prototype || prototype === null;
171
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
172
+ const prototype = Object.getPrototypeOf(value);
173
+ return prototype === Object.prototype || prototype === null;
204
174
  }
205
175
  function assertSafeKey(key) {
206
- if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
207
- throw new TypeError(`unsafe framework object key ${key}`);
208
- }
176
+ if (key === "__proto__" || key === "constructor" || key === "prototype") throw new TypeError(`unsafe framework object key ${key}`);
209
177
  }
210
178
  function consumeTraversalBudget(budget, depth) {
211
- if (depth > MAX_FRAMEWORK_VALUE_DEPTH) {
212
- throw new RangeError(`framework values cannot exceed depth ${MAX_FRAMEWORK_VALUE_DEPTH}`);
213
- }
214
- budget.nodes += 1;
215
- if (budget.nodes > MAX_FRAMEWORK_VALUE_NODES) {
216
- throw new RangeError(`framework values cannot exceed ${MAX_FRAMEWORK_VALUE_NODES} nodes`);
217
- }
179
+ if (depth > MAX_FRAMEWORK_VALUE_DEPTH) throw new RangeError(`framework values cannot exceed depth ${MAX_FRAMEWORK_VALUE_DEPTH}`);
180
+ budget.nodes += 1;
181
+ if (budget.nodes > MAX_FRAMEWORK_VALUE_NODES) throw new RangeError(`framework values cannot exceed ${MAX_FRAMEWORK_VALUE_NODES} nodes`);
218
182
  }
219
183
  function assertFrameworkPayloadSize(value, limit, label) {
220
- if (value.length > limit) {
221
- throw new RangeError(`Vidact framework payload ${label} exceeds ${limit} characters`);
222
- }
184
+ if (value.length > limit) throw new RangeError(`Vidact framework payload ${label} exceeds ${limit} characters`);
223
185
  }
224
186
  function assertReferencePart(value, label) {
225
- if (value.length === 0 || value.includes('\0'))
226
- throw new TypeError(`${label} must be non-empty`);
187
+ if (value.length === 0 || value.includes("\0")) throw new TypeError(`${label} must be non-empty`);
227
188
  }
228
189
  function checksum(value) {
229
- let hash = 0x81_1c_9d_c5;
230
- for (const byte of new TextEncoder().encode(value)) {
231
- hash = Math.imul(hash ^ byte, 0x01_00_01_93);
232
- }
233
- return (hash >>> 0).toString(16).padStart(8, '0');
190
+ let hash = 2166136261;
191
+ for (const byte of new TextEncoder().encode(value)) hash = Math.imul(hash ^ byte, 16777619);
192
+ return (hash >>> 0).toString(16).padStart(8, "0");
234
193
  }
194
+ //#endregion
195
+ export { VIDACT_FRAMEWORK_PROTOCOL, createClientModuleManifest, createClientReference, createServerFunctionReference, createServerFunctionRegistry, decodeFrameworkValue, encodeFrameworkValue, invokeServerFunctionPayload, isClientReference };
196
+
235
197
  //# sourceMappingURL=framework-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"framework-protocol.js","sourceRoot":"","sources":["../src/framework-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framework-protocol.js","names":[],"sources":["../src/framework-protocol.ts"],"mappings":"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"}
@@ -1,39 +1,41 @@
1
- import type { CompiledComponentResult } from './compiled/types.js';
2
- import type { FrameworkValue } from './framework-protocol.js';
1
+ import { CompiledComponentResult } from "./compiled/types.js";
2
+ import { FrameworkValue } from "./framework-protocol.js";
3
+ //#region src/framework.d.ts
3
4
  declare const CLIENT_BOUNDARY_DEFINITION: unique symbol;
4
- export interface ClientBoundaryDefinition<Props = FrameworkValue, Prepared = unknown> {
5
- readonly [CLIENT_BOUNDARY_DEFINITION]: true;
6
- readonly prepare?: (props: Props) => Prepared | PromiseLike<Prepared>;
7
- readonly render: (props: Props, prepared: Prepared) => CompiledComponentResult;
5
+ interface ClientBoundaryDefinition<Props = FrameworkValue, Prepared = unknown> {
6
+ readonly [CLIENT_BOUNDARY_DEFINITION]: true;
7
+ readonly prepare?: (props: Props) => Prepared | PromiseLike<Prepared>;
8
+ readonly render: (props: Props, prepared: Prepared) => CompiledComponentResult;
8
9
  }
9
- export declare function defineClientBoundary<Props = FrameworkValue, Prepared = void>(render: (props: Props, prepared: Prepared) => CompiledComponentResult, prepare?: (props: Props) => Prepared | PromiseLike<Prepared>): ClientBoundaryDefinition<Props, Prepared>;
10
- export declare function isClientBoundaryDefinition(value: unknown): value is ClientBoundaryDefinition;
10
+ declare function defineClientBoundary<Props = FrameworkValue, Prepared = void>(render: (props: Props, prepared: Prepared) => CompiledComponentResult, prepare?: (props: Props) => Prepared | PromiseLike<Prepared>): ClientBoundaryDefinition<Props, Prepared>;
11
+ declare function isClientBoundaryDefinition(value: unknown): value is ClientBoundaryDefinition;
11
12
  /** @internal */
12
- export declare function enableFrameworkMetadata(): void;
13
- export interface ResourceHintOptions {
14
- readonly crossOrigin?: '' | 'anonymous' | 'use-credentials';
13
+ declare function enableFrameworkMetadata(): void;
14
+ interface ResourceHintOptions {
15
+ readonly crossOrigin?: '' | 'anonymous' | 'use-credentials';
15
16
  }
16
- export interface PreloadOptions extends ResourceHintOptions {
17
- readonly as: string;
18
- readonly fetchPriority?: 'high' | 'low' | 'auto';
19
- readonly imageSizes?: string;
20
- readonly imageSrcSet?: string;
21
- readonly integrity?: string;
22
- readonly nonce?: string;
23
- readonly referrerPolicy?: string;
24
- readonly type?: string;
17
+ interface PreloadOptions extends ResourceHintOptions {
18
+ readonly as: string;
19
+ readonly fetchPriority?: 'high' | 'low' | 'auto';
20
+ readonly imageSizes?: string;
21
+ readonly imageSrcSet?: string;
22
+ readonly integrity?: string;
23
+ readonly nonce?: string;
24
+ readonly referrerPolicy?: string;
25
+ readonly type?: string;
25
26
  }
26
- export interface PreinitOptions extends ResourceHintOptions {
27
- readonly as: 'script' | 'style';
28
- readonly precedence?: string;
29
- readonly integrity?: string;
30
- readonly nonce?: string;
27
+ interface PreinitOptions extends ResourceHintOptions {
28
+ readonly as: 'script' | 'style';
29
+ readonly precedence?: string;
30
+ readonly integrity?: string;
31
+ readonly nonce?: string;
31
32
  }
32
- export declare function preconnect(href: string, options?: ResourceHintOptions): void;
33
- export declare function prefetchDNS(href: string): void;
34
- export declare function preload(href: string, options: PreloadOptions): void;
35
- export declare function preloadModule(href: string, options?: ResourceHintOptions): void;
36
- export declare function preinit(href: string, options: PreinitOptions): void;
37
- export declare function preinitModule(href: string, options?: ResourceHintOptions): void;
38
- export {};
33
+ declare function preconnect(href: string, options?: ResourceHintOptions): void;
34
+ declare function prefetchDNS(href: string): void;
35
+ declare function preload(href: string, options: PreloadOptions): void;
36
+ declare function preloadModule(href: string, options?: ResourceHintOptions): void;
37
+ declare function preinit(href: string, options: PreinitOptions): void;
38
+ declare function preinitModule(href: string, options?: ResourceHintOptions): void;
39
+ //#endregion
40
+ export { ClientBoundaryDefinition, PreinitOptions, PreloadOptions, ResourceHintOptions, defineClientBoundary, enableFrameworkMetadata, isClientBoundaryDefinition, preconnect, prefetchDNS, preinit, preinitModule, preload, preloadModule };
39
41
  //# sourceMappingURL=framework.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,QAAA,MAAM,0BAA0B,eAA4C,CAAA;AAE5E,MAAM,WAAW,wBAAwB,CAAC,KAAK,GAAG,cAAc,EAAE,QAAQ,GAAG,OAAO;IAClF,QAAQ,CAAC,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,uBAAuB,CAAA;CAC/E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,cAAc,EAAE,QAAQ,GAAG,IAAI,EAC1E,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,uBAAuB,EACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAC3D,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAM3C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAO5F;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAA;CAC5D;AAED,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAEhF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAEnE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAEnF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAiBnE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAQnF"}
1
+ {"version":3,"file":"framework.d.ts","names":[],"sources":["../src/framework.ts"],"mappings":";;;cAUM;UAEW,yBAAyB,QAAQ,gBAAgB;YACtD;WACD,WAAW,OAAO,UAAU,WAAW,YAAY;WACnD,SAAS,OAAO,OAAO,UAAU,aAAa;;iBAGzC,qBAAqB,QAAQ,gBAAgB,iBAC3D,SAAS,OAAO,OAAO,UAAU,aAAa,yBAC9C,WAAW,OAAO,UAAU,WAAW,YAAY,YAClD,yBAAyB,OAAO;iBAQnB,2BAA2B,iBAAiB,SAAS;;iBAUrD;UASC;WACN;;UAGM,uBAAuB;WAC7B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;UAGM,uBAAuB;WAC7B;WACA;WACA;WACA;;iBAGK,WAAW,cAAc,UAAS;iBAIlC,YAAY;iBAIZ,QAAQ,cAAc,SAAS;iBAI/B,cAAc,cAAc,UAAS;iBAIrC,QAAQ,cAAc,SAAS;iBAmB/B,cAAc,cAAc,UAAS"}