@nextwebwg/html-next 1.0.0-alpha.1

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 (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/dist/ast.d.ts +7 -0
  4. package/dist/ast.d.ts.map +1 -0
  5. package/dist/ast.js +2 -0
  6. package/dist/ast.js.map +1 -0
  7. package/dist/browser-loader.bundle.js +9 -0
  8. package/dist/browser-loader.d.ts +35 -0
  9. package/dist/browser-loader.d.ts.map +1 -0
  10. package/dist/browser-loader.js +83 -0
  11. package/dist/browser-loader.js.map +1 -0
  12. package/dist/browser-source.d.ts +10 -0
  13. package/dist/browser-source.d.ts.map +1 -0
  14. package/dist/browser-source.js +97 -0
  15. package/dist/browser-source.js.map +1 -0
  16. package/dist/browser.d.ts +5 -0
  17. package/dist/browser.d.ts.map +1 -0
  18. package/dist/browser.js +9 -0
  19. package/dist/browser.js.map +1 -0
  20. package/dist/cli.d.ts +31 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +138 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/component-styles-build.d.ts +11 -0
  25. package/dist/component-styles-build.d.ts.map +1 -0
  26. package/dist/component-styles-build.js +74 -0
  27. package/dist/component-styles-build.js.map +1 -0
  28. package/dist/component-styles.d.ts +37 -0
  29. package/dist/component-styles.d.ts.map +1 -0
  30. package/dist/component-styles.js +236 -0
  31. package/dist/component-styles.js.map +1 -0
  32. package/dist/contract-platform.d.ts +5 -0
  33. package/dist/contract-platform.d.ts.map +1 -0
  34. package/dist/contract-platform.js +8 -0
  35. package/dist/contract-platform.js.map +1 -0
  36. package/dist/contract.d.ts +14 -0
  37. package/dist/contract.d.ts.map +1 -0
  38. package/dist/contract.js +234 -0
  39. package/dist/contract.js.map +1 -0
  40. package/dist/controller-files.d.ts +10 -0
  41. package/dist/controller-files.d.ts.map +1 -0
  42. package/dist/controller-files.js +54 -0
  43. package/dist/controller-files.js.map +1 -0
  44. package/dist/controller.d.ts +15 -0
  45. package/dist/controller.d.ts.map +1 -0
  46. package/dist/controller.js +33 -0
  47. package/dist/controller.js.map +1 -0
  48. package/dist/data.d.ts +28 -0
  49. package/dist/data.d.ts.map +1 -0
  50. package/dist/data.js +100 -0
  51. package/dist/data.js.map +1 -0
  52. package/dist/diagnostics.d.ts +11 -0
  53. package/dist/diagnostics.d.ts.map +1 -0
  54. package/dist/diagnostics.js +13 -0
  55. package/dist/diagnostics.js.map +1 -0
  56. package/dist/expression.d.ts +80 -0
  57. package/dist/expression.d.ts.map +1 -0
  58. package/dist/expression.js +474 -0
  59. package/dist/expression.js.map +1 -0
  60. package/dist/freeze.d.ts +2 -0
  61. package/dist/freeze.d.ts.map +1 -0
  62. package/dist/freeze.js +8 -0
  63. package/dist/freeze.js.map +1 -0
  64. package/dist/generate.d.ts +11 -0
  65. package/dist/generate.d.ts.map +1 -0
  66. package/dist/generate.js +41 -0
  67. package/dist/generate.js.map +1 -0
  68. package/dist/generated/dom-properties.d.ts +8 -0
  69. package/dist/generated/dom-properties.d.ts.map +1 -0
  70. package/dist/generated/dom-properties.js +1410 -0
  71. package/dist/generated/dom-properties.js.map +1 -0
  72. package/dist/generated-runtime.d.ts +42 -0
  73. package/dist/generated-runtime.d.ts.map +1 -0
  74. package/dist/generated-runtime.js +266 -0
  75. package/dist/generated-runtime.js.map +1 -0
  76. package/dist/graph.d.ts +37 -0
  77. package/dist/graph.d.ts.map +1 -0
  78. package/dist/graph.js +81 -0
  79. package/dist/graph.js.map +1 -0
  80. package/dist/index.d.ts +29 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +23 -0
  83. package/dist/index.js.map +1 -0
  84. package/dist/language.d.ts +7 -0
  85. package/dist/language.d.ts.map +1 -0
  86. package/dist/language.js +43 -0
  87. package/dist/language.js.map +1 -0
  88. package/dist/names.d.ts +4 -0
  89. package/dist/names.d.ts.map +1 -0
  90. package/dist/names.js +19 -0
  91. package/dist/names.js.map +1 -0
  92. package/dist/node-loader.d.ts +22 -0
  93. package/dist/node-loader.d.ts.map +1 -0
  94. package/dist/node-loader.js +109 -0
  95. package/dist/node-loader.js.map +1 -0
  96. package/dist/package-config.d.ts +22 -0
  97. package/dist/package-config.d.ts.map +1 -0
  98. package/dist/package-config.js +2 -0
  99. package/dist/package-config.js.map +1 -0
  100. package/dist/package.d.ts +9 -0
  101. package/dist/package.d.ts.map +1 -0
  102. package/dist/package.js +208 -0
  103. package/dist/package.js.map +1 -0
  104. package/dist/parser.d.ts +11 -0
  105. package/dist/parser.d.ts.map +1 -0
  106. package/dist/parser.js +938 -0
  107. package/dist/parser.js.map +1 -0
  108. package/dist/platform.d.ts +3 -0
  109. package/dist/platform.d.ts.map +1 -0
  110. package/dist/platform.js +26 -0
  111. package/dist/platform.js.map +1 -0
  112. package/dist/reactivity.d.ts +88 -0
  113. package/dist/reactivity.d.ts.map +1 -0
  114. package/dist/reactivity.js +594 -0
  115. package/dist/reactivity.js.map +1 -0
  116. package/dist/registry.d.ts +14 -0
  117. package/dist/registry.d.ts.map +1 -0
  118. package/dist/registry.js +39 -0
  119. package/dist/registry.js.map +1 -0
  120. package/dist/resolve.d.ts +24 -0
  121. package/dist/resolve.d.ts.map +1 -0
  122. package/dist/resolve.js +65 -0
  123. package/dist/resolve.js.map +1 -0
  124. package/dist/runtime.d.ts +110 -0
  125. package/dist/runtime.d.ts.map +1 -0
  126. package/dist/runtime.js +1926 -0
  127. package/dist/runtime.js.map +1 -0
  128. package/dist/sanitize.d.ts +8 -0
  129. package/dist/sanitize.d.ts.map +1 -0
  130. package/dist/sanitize.js +38 -0
  131. package/dist/sanitize.js.map +1 -0
  132. package/dist/source-graph.d.ts +5 -0
  133. package/dist/source-graph.d.ts.map +1 -0
  134. package/dist/source-graph.js +60 -0
  135. package/dist/source-graph.js.map +1 -0
  136. package/dist/source-parser.d.ts +4 -0
  137. package/dist/source-parser.d.ts.map +1 -0
  138. package/dist/source-parser.js +38 -0
  139. package/dist/source-parser.js.map +1 -0
  140. package/dist/source.d.ts +4 -0
  141. package/dist/source.d.ts.map +1 -0
  142. package/dist/source.js +6 -0
  143. package/dist/source.js.map +1 -0
  144. package/dist/targets/backend.d.ts +28 -0
  145. package/dist/targets/backend.d.ts.map +1 -0
  146. package/dist/targets/backend.js +42 -0
  147. package/dist/targets/backend.js.map +1 -0
  148. package/dist/targets/docs.d.ts +3 -0
  149. package/dist/targets/docs.d.ts.map +1 -0
  150. package/dist/targets/docs.js +85 -0
  151. package/dist/targets/docs.js.map +1 -0
  152. package/dist/targets/native-reactive.d.ts +41 -0
  153. package/dist/targets/native-reactive.d.ts.map +1 -0
  154. package/dist/targets/native-reactive.js +169 -0
  155. package/dist/targets/native-reactive.js.map +1 -0
  156. package/dist/targets/shared.d.ts +15 -0
  157. package/dist/targets/shared.d.ts.map +1 -0
  158. package/dist/targets/shared.js +122 -0
  159. package/dist/targets/shared.js.map +1 -0
  160. package/dist/targets/vanilla.d.ts +6 -0
  161. package/dist/targets/vanilla.d.ts.map +1 -0
  162. package/dist/targets/vanilla.js +442 -0
  163. package/dist/targets/vanilla.js.map +1 -0
  164. package/dist/targets/vue.d.ts +3 -0
  165. package/dist/targets/vue.d.ts.map +1 -0
  166. package/dist/targets/vue.js +577 -0
  167. package/dist/targets/vue.js.map +1 -0
  168. package/dist/template.d.ts +172 -0
  169. package/dist/template.d.ts.map +1 -0
  170. package/dist/template.js +2 -0
  171. package/dist/template.js.map +1 -0
  172. package/dist/type-system.d.ts +80 -0
  173. package/dist/type-system.d.ts.map +1 -0
  174. package/dist/type-system.js +414 -0
  175. package/dist/type-system.js.map +1 -0
  176. package/dist/types.d.ts +51 -0
  177. package/dist/types.d.ts.map +1 -0
  178. package/dist/types.js +2 -0
  179. package/dist/types.js.map +1 -0
  180. package/dist/validate.d.ts +38 -0
  181. package/dist/validate.d.ts.map +1 -0
  182. package/dist/validate.js +297 -0
  183. package/dist/validate.js.map +1 -0
  184. package/dist/validation.d.ts +6 -0
  185. package/dist/validation.d.ts.map +1 -0
  186. package/dist/validation.js +6 -0
  187. package/dist/validation.js.map +1 -0
  188. package/dist/validity-css.d.ts +6 -0
  189. package/dist/validity-css.d.ts.map +1 -0
  190. package/dist/validity-css.js +11 -0
  191. package/dist/validity-css.js.map +1 -0
  192. package/dist/validity.d.ts +45 -0
  193. package/dist/validity.d.ts.map +1 -0
  194. package/dist/validity.js +445 -0
  195. package/dist/validity.js.map +1 -0
  196. package/package.json +124 -0
@@ -0,0 +1,474 @@
1
+ /** A missing read or an operation on missing/typed-invalid data. */
2
+ export const ABSENT = Symbol("absent");
3
+ export class UndeclaredName extends Error {
4
+ identifier;
5
+ constructor(identifier) {
6
+ super(`\`${identifier}\` is not declared in scope.`);
7
+ this.identifier = identifier;
8
+ this.name = "UndeclaredName";
9
+ }
10
+ }
11
+ const TOKEN = /\s*(?:(<=|>=|!=|\^=|\$=|\*=)|(\d+(?:\.\d*)?|\.\d+)|("(?:\\[\s\S]|[^"\\])*"|'(?:\\[\s\S]|[^'\\])*')|([A-Za-z_$][A-Za-z0-9_$]*)|([=<>+*/%(),.:{}[\]-])|$)/y;
12
+ const ESCAPE = /\\([\s\S])/g;
13
+ const FORMAT_TOKEN = /%s/g;
14
+ const PRECEDENCE = {
15
+ or: 1, and: 2,
16
+ "=": 3, "!=": 3, "^=": 3, "$=": 3, "*=": 3,
17
+ "<": 4, "<=": 4, ">": 4, ">=": 4,
18
+ "+": 5, "-": 5,
19
+ "*": 6, "/": 6, "%": 6,
20
+ };
21
+ function precedence(token) {
22
+ return PRECEDENCE[token] ?? 0;
23
+ }
24
+ function isFunction(name) {
25
+ return name === "round"
26
+ || name === "clamp"
27
+ || name === "min"
28
+ || name === "max"
29
+ || name === "abs"
30
+ || name === "format";
31
+ }
32
+ /** Scans directly into the AST: no token array and no token objects. */
33
+ function parse(source) {
34
+ let offset = 0;
35
+ let kind = 0;
36
+ let token = "";
37
+ function next() {
38
+ TOKEN.lastIndex = offset;
39
+ const match = TOKEN.exec(source);
40
+ if (match === null) {
41
+ const character = source.slice(offset).trimStart()[0];
42
+ if (character === '"' || character === "'") {
43
+ throw new SyntaxError("Unterminated string literal.");
44
+ }
45
+ throw new SyntaxError(`Unexpected character \`${character}\`.`);
46
+ }
47
+ offset = TOKEN.lastIndex;
48
+ if (match[1] !== undefined || match[5] !== undefined) {
49
+ kind = 4;
50
+ token = match[1] ?? match[5];
51
+ }
52
+ else if (match[2] !== undefined) {
53
+ kind = 1;
54
+ token = Number(match[2]);
55
+ }
56
+ else if (match[3] !== undefined) {
57
+ kind = 2;
58
+ token = match[3].slice(1, -1).replace(ESCAPE, "$1");
59
+ }
60
+ else if (match[4] !== undefined) {
61
+ kind = 3;
62
+ token = match[4];
63
+ }
64
+ else {
65
+ kind = 0;
66
+ token = "";
67
+ }
68
+ }
69
+ function eat(value) {
70
+ if (token !== value)
71
+ return false;
72
+ next();
73
+ return true;
74
+ }
75
+ function expect(value) {
76
+ if (!eat(value))
77
+ throw new SyntaxError(`Expected \`${value}\`.`);
78
+ }
79
+ function binary(minimum) {
80
+ let left = unary();
81
+ let power = precedence(token);
82
+ while (power >= minimum) {
83
+ const op = token;
84
+ next();
85
+ left = { kind: "binary", op, left, right: binary(power + 1) };
86
+ power = precedence(token);
87
+ }
88
+ return left;
89
+ }
90
+ function unary() {
91
+ if (kind === 3 && token === "not") {
92
+ next();
93
+ return { kind: "unary", op: "not", operand: unary() };
94
+ }
95
+ if (eat("-"))
96
+ return { kind: "unary", op: "-", operand: unary() };
97
+ let object = primary();
98
+ while (kind === 4) {
99
+ if (eat(".")) {
100
+ if (kind !== 3) {
101
+ throw new SyntaxError("Expected a property name after `.`.");
102
+ }
103
+ const key = token;
104
+ next();
105
+ object = { kind: "member", object, key };
106
+ }
107
+ else if (eat("[")) {
108
+ const index = binary(1);
109
+ expect("]");
110
+ object = { kind: "index", object, index };
111
+ }
112
+ else {
113
+ break;
114
+ }
115
+ }
116
+ return object;
117
+ }
118
+ function primary() {
119
+ const currentKind = kind;
120
+ const currentToken = token;
121
+ if (currentKind === 1 || currentKind === 2) {
122
+ next();
123
+ return { kind: "literal", value: currentToken };
124
+ }
125
+ if (currentKind === 4 && currentToken === "(") {
126
+ next();
127
+ const node = binary(1);
128
+ expect(")");
129
+ return node;
130
+ }
131
+ if (currentKind === 4 && currentToken === "{") {
132
+ next();
133
+ const pairs = [];
134
+ if (!eat("}")) {
135
+ do {
136
+ if (token === "}")
137
+ break;
138
+ if (kind !== 3 && kind !== 2) {
139
+ throw new SyntaxError("Object keys must be identifiers or strings.");
140
+ }
141
+ const key = token;
142
+ next();
143
+ expect(":");
144
+ pairs.push({ key, value: binary(1) });
145
+ } while (eat(","));
146
+ expect("}");
147
+ }
148
+ return { kind: "object", pairs };
149
+ }
150
+ if (currentKind === 4 && currentToken === "[") {
151
+ next();
152
+ const items = [];
153
+ if (!eat("]")) {
154
+ do {
155
+ if (token === "]")
156
+ break;
157
+ items.push(binary(1));
158
+ } while (eat(","));
159
+ expect("]");
160
+ }
161
+ return { kind: "array", items };
162
+ }
163
+ if (currentKind === 3) {
164
+ const name = currentToken;
165
+ next();
166
+ if (name === "true")
167
+ return { kind: "literal", value: true };
168
+ if (name === "false")
169
+ return { kind: "literal", value: false };
170
+ if (name === "null")
171
+ return { kind: "literal", value: null };
172
+ if (token === "(" && isFunction(name)) {
173
+ next();
174
+ const args = [];
175
+ if (!eat(")")) {
176
+ do
177
+ args.push(binary(1));
178
+ while (eat(","));
179
+ expect(")");
180
+ }
181
+ return { kind: "call", fn: name, args };
182
+ }
183
+ return { kind: "id", name };
184
+ }
185
+ throw new SyntaxError("Unexpected end of expression.");
186
+ }
187
+ next();
188
+ const node = binary(1);
189
+ if (kind !== 0)
190
+ throw new SyntaxError("Unexpected trailing input in expression.");
191
+ return node;
192
+ }
193
+ function isAbsent(value) {
194
+ return value === ABSENT || value === null;
195
+ }
196
+ /** Truthiness follows the empty value of each type. */
197
+ export function truthy(value) {
198
+ if (value === ABSENT || value === null || value === false)
199
+ return false;
200
+ if (value === true)
201
+ return true;
202
+ if (typeof value === "string")
203
+ return value.length > 0;
204
+ if (typeof value === "number")
205
+ return value !== 0 && value === value;
206
+ if (Array.isArray(value))
207
+ return value.length > 0;
208
+ for (const key in value)
209
+ if (Object.hasOwn(value, key))
210
+ return true;
211
+ return false;
212
+ }
213
+ function asNumber(value) {
214
+ return typeof value === "number" && value === value ? value : ABSENT;
215
+ }
216
+ function evalNode(node, scope) {
217
+ switch (node.kind) {
218
+ case "literal": return node.value;
219
+ case "id": {
220
+ const value = scope.get(node.name);
221
+ if (value === undefined)
222
+ throw new UndeclaredName(node.name);
223
+ return value;
224
+ }
225
+ case "member": {
226
+ const object = evalNode(node.object, scope);
227
+ if (isAbsent(object) || typeof object !== "object" || Array.isArray(object)) {
228
+ return ABSENT;
229
+ }
230
+ const value = object[node.key];
231
+ return value === undefined ? ABSENT : value;
232
+ }
233
+ case "index": {
234
+ const object = evalNode(node.object, scope);
235
+ const index = evalNode(node.index, scope);
236
+ if (isAbsent(object) || isAbsent(index))
237
+ return ABSENT;
238
+ if (Array.isArray(object) && typeof index === "number") {
239
+ const value = object[index];
240
+ return value === undefined ? ABSENT : value;
241
+ }
242
+ if (typeof object === "object" && typeof index === "string") {
243
+ const value = object[index];
244
+ return value === undefined ? ABSENT : value;
245
+ }
246
+ return ABSENT;
247
+ }
248
+ case "unary": {
249
+ const operand = evalNode(node.operand, scope);
250
+ if (node.op === "not")
251
+ return !truthy(operand);
252
+ const number = asNumber(operand);
253
+ return number === ABSENT ? ABSENT : -number;
254
+ }
255
+ case "binary": return evalBinary(node, scope);
256
+ case "call": return evalCall(node, scope);
257
+ case "object": {
258
+ const value = {};
259
+ for (const pair of node.pairs)
260
+ value[pair.key] = evalNode(pair.value, scope);
261
+ return value;
262
+ }
263
+ case "array": {
264
+ const value = [];
265
+ for (const item of node.items)
266
+ value.push(evalNode(item, scope));
267
+ return value;
268
+ }
269
+ }
270
+ }
271
+ function evalBinary(node, scope) {
272
+ const { op } = node;
273
+ if (op === "and")
274
+ return truthy(evalNode(node.left, scope)) && truthy(evalNode(node.right, scope));
275
+ if (op === "or")
276
+ return truthy(evalNode(node.left, scope)) || truthy(evalNode(node.right, scope));
277
+ const left = evalNode(node.left, scope);
278
+ const right = evalNode(node.right, scope);
279
+ if (op === "=")
280
+ return left === right;
281
+ if (op === "!=")
282
+ return left !== right;
283
+ if (op === "^=" || op === "$=" || op === "*=") {
284
+ if (typeof left !== "string" || typeof right !== "string")
285
+ return ABSENT;
286
+ if (op === "^=")
287
+ return left.startsWith(right);
288
+ if (op === "$=")
289
+ return left.endsWith(right);
290
+ return left.includes(right);
291
+ }
292
+ const a = asNumber(left);
293
+ const b = asNumber(right);
294
+ if (a === ABSENT || b === ABSENT)
295
+ return ABSENT;
296
+ switch (op) {
297
+ case "<": return a < b;
298
+ case "<=": return a <= b;
299
+ case ">": return a > b;
300
+ case ">=": return a >= b;
301
+ case "+": return a + b;
302
+ case "-": return a - b;
303
+ case "*": return a * b;
304
+ case "/": return a / b;
305
+ case "%": return a % b;
306
+ default: return ABSENT;
307
+ }
308
+ }
309
+ function evalCall(node, scope) {
310
+ const { args, fn } = node;
311
+ const values = [];
312
+ for (const argument of args)
313
+ values.push(evalNode(argument, scope));
314
+ if (fn === "format") {
315
+ const pattern = values[0];
316
+ if (typeof pattern !== "string")
317
+ return ABSENT;
318
+ let index = 1;
319
+ return pattern.replace(FORMAT_TOKEN, () => index < values.length ? toText(values[index++]) : "%s");
320
+ }
321
+ for (let index = 0; index < values.length; index += 1) {
322
+ const number = asNumber(values[index]);
323
+ if (number === ABSENT)
324
+ return ABSENT;
325
+ values[index] = number;
326
+ }
327
+ const numbers = values;
328
+ switch (fn) {
329
+ case "abs": return numbers.length === 1 ? Math.abs(numbers[0]) : ABSENT;
330
+ case "round": return numbers.length === 1 ? Math.round(numbers[0]) : ABSENT;
331
+ case "min": return numbers.length > 0 ? Math.min(...numbers) : ABSENT;
332
+ case "max": return numbers.length > 0 ? Math.max(...numbers) : ABSENT;
333
+ case "clamp": return numbers.length === 3
334
+ ? Math.min(Math.max(numbers[0], numbers[1]), numbers[2])
335
+ : ABSENT;
336
+ default: return ABSENT;
337
+ }
338
+ }
339
+ const cache = new Map();
340
+ function path(node) {
341
+ if (node.kind === "id")
342
+ return node.name;
343
+ if (node.kind === "member") {
344
+ const parent = path(node.object);
345
+ return parent === undefined ? undefined : `${parent}.${node.key}`;
346
+ }
347
+ if (node.kind === "index" && node.index.kind === "literal") {
348
+ const key = node.index.value;
349
+ if (typeof key !== "string" && typeof key !== "number")
350
+ return undefined;
351
+ const parent = path(node.object);
352
+ return parent === undefined ? undefined : `${parent}.${key}`;
353
+ }
354
+ return undefined;
355
+ }
356
+ function collectDependencies(node, dependencies) {
357
+ const name = path(node);
358
+ if (name !== undefined) {
359
+ if (!dependencies.includes(name))
360
+ dependencies.push(name);
361
+ return;
362
+ }
363
+ switch (node.kind) {
364
+ case "literal": return;
365
+ case "id": return;
366
+ case "member":
367
+ collectDependencies(node.object, dependencies);
368
+ return;
369
+ case "index":
370
+ collectDependencies(node.object, dependencies);
371
+ collectDependencies(node.index, dependencies);
372
+ return;
373
+ case "unary":
374
+ collectDependencies(node.operand, dependencies);
375
+ return;
376
+ case "binary":
377
+ collectDependencies(node.left, dependencies);
378
+ collectDependencies(node.right, dependencies);
379
+ return;
380
+ case "call":
381
+ for (const argument of node.args)
382
+ collectDependencies(argument, dependencies);
383
+ return;
384
+ case "object":
385
+ for (const pair of node.pairs)
386
+ collectDependencies(pair.value, dependencies);
387
+ return;
388
+ case "array":
389
+ for (const item of node.items)
390
+ collectDependencies(item, dependencies);
391
+ }
392
+ }
393
+ function appendWritable(node, result) {
394
+ if (node.kind === "id") {
395
+ result.push(node.name);
396
+ return true;
397
+ }
398
+ if (node.kind === "member") {
399
+ if (!appendWritable(node.object, result))
400
+ return false;
401
+ result.push(node.key);
402
+ return true;
403
+ }
404
+ if (node.kind !== "index" || !appendWritable(node.object, result))
405
+ return false;
406
+ const index = node.index;
407
+ const key = index.kind === "literal" ? index.value : undefined;
408
+ result.push(typeof key === "string" || typeof key === "number"
409
+ ? key
410
+ : { kind: "index", expression: index });
411
+ return true;
412
+ }
413
+ /** Compile an expression once for parsers, runtimes, and target generators. */
414
+ export function compileExpression(source) {
415
+ let compiled = cache.get(source);
416
+ if (compiled !== undefined)
417
+ return compiled;
418
+ const ast = parse(source);
419
+ const dependencies = [];
420
+ collectDependencies(ast, dependencies);
421
+ dependencies.sort();
422
+ compiled = { source, ast, dependencies };
423
+ cache.set(source, compiled);
424
+ return compiled;
425
+ }
426
+ /** Return a writable path only when it is rooted in declared writable state. */
427
+ export function getWritablePath(source, writableRoots) {
428
+ const result = [];
429
+ if (!appendWritable(compileExpression(source).ast, result)
430
+ || !writableRoots.has(result[0]))
431
+ return undefined;
432
+ return result;
433
+ }
434
+ /** Parse-check an expression (syntax only). */
435
+ export function checkExpression(source) {
436
+ compileExpression(source);
437
+ }
438
+ /** Evaluate an expression against a scope. */
439
+ export function evaluate(source, scope) {
440
+ return evalNode(compileExpression(source).ast, scope);
441
+ }
442
+ /** Evaluate a previously compiled expression without reparsing its source. */
443
+ export function evaluateCompiled(expression, scope) {
444
+ return evalNode("ast" in expression ? expression.ast : expression, scope);
445
+ }
446
+ /** Escaped-text form: absence and null render as empty text. */
447
+ export function toText(value) {
448
+ if (isAbsent(value))
449
+ return "";
450
+ if (Array.isArray(value))
451
+ return value.map(toText).join(" ");
452
+ if (typeof value === "object")
453
+ return "";
454
+ return String(value);
455
+ }
456
+ /** Enumerated attributes whose true and false are the strings "true" and "false", not presence. */
457
+ export function isEnumeratedBoolean(name) {
458
+ return name.startsWith("aria-") || name === "contenteditable" || name === "draggable" || name === "spellcheck";
459
+ }
460
+ /** Serialize an ordinary bound attribute. */
461
+ export function toAttribute(value, name = "") {
462
+ if (typeof value === "boolean" && isEnumeratedBoolean(name))
463
+ return String(value);
464
+ if (isAbsent(value) || value === false)
465
+ return null;
466
+ if (value === true)
467
+ return "";
468
+ if (typeof value === "number" || typeof value === "string")
469
+ return String(value);
470
+ if (Array.isArray(value))
471
+ return value.map(toText).join(" ");
472
+ return null;
473
+ }
474
+ //# sourceMappingURL=expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function deepFreeze<T>(value: T): T;
2
+ //# sourceMappingURL=freeze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freeze.d.ts","sourceRoot":"","sources":["../src/freeze.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAIzC"}
package/dist/freeze.js ADDED
@@ -0,0 +1,8 @@
1
+ export function deepFreeze(value) {
2
+ if (typeof value !== "object" || value === null || Object.isFrozen(value))
3
+ return value;
4
+ for (const child of Object.values(value))
5
+ deepFreeze(child);
6
+ return Object.freeze(value);
7
+ }
8
+ //# sourceMappingURL=freeze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freeze.js","sourceRoot":"","sources":["../src/freeze.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAI,KAAQ;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ComponentDefinition } from "./template.js";
2
+ export declare const GENERATOR_VERSION = "1.0.0-alpha.1";
3
+ export interface GeneratedArtifact {
4
+ readonly path: string;
5
+ readonly content: string;
6
+ }
7
+ export declare function generateComponent(definition: ComponentDefinition): readonly GeneratedArtifact[];
8
+ export type { ComponentDefinition } from "./template.js";
9
+ /** Converts one definition to a Vue single-file component, failing with a diagnostic if it cannot. */
10
+ export declare function generateVueComponent(definition: ComponentDefinition): string;
11
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,mBAAmB,GAC9B,SAAS,iBAAiB,EAAE,CAgB9B;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAezD,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAE5E"}
@@ -0,0 +1,41 @@
1
+ import { generateDocs } from "./targets/docs.js";
2
+ import { generateVanilla } from "./targets/vanilla.js";
3
+ import { generateVue } from "./targets/vue.js";
4
+ import { HtmlDiagnosticError } from "./diagnostics.js";
5
+ import { compileComponentStylesForBuild } from "./component-styles-build.js";
6
+ export const GENERATOR_VERSION = "1.0.0-alpha.1";
7
+ export function generateComponent(definition) {
8
+ const vanilla = generateVanilla(definition, GENERATOR_VERSION);
9
+ const vue = convertedToVue(definition);
10
+ const docs = generateDocs(definition, GENERATOR_VERSION);
11
+ const { name, tag } = definition.contract;
12
+ return Object.freeze([
13
+ Object.freeze({ path: `vanilla/${name}.js`, content: vanilla.module }),
14
+ Object.freeze({ path: `vanilla/${name}.d.ts`, content: vanilla.declaration }),
15
+ ...(vue === undefined ? [] : [Object.freeze({ path: `vue/${name}.vue`, content: vue })]),
16
+ Object.freeze({
17
+ path: `styles/${tag}.css`,
18
+ content: `/* Generated by HTML Next ${GENERATOR_VERSION}. Do not edit. */\n${compileComponentStylesForBuild(definition.css, definition).css}${definition.css === "" ? "" : "\n"}`,
19
+ }),
20
+ Object.freeze({ path: `docs/${tag}.md`, content: docs }),
21
+ ]);
22
+ }
23
+ /**
24
+ * The Vue conversion, or nothing when the definition uses a construct Vue conversion does not map
25
+ * yet. HTML Next's own outputs do not depend on it; `generateVueComponent` reports the reason.
26
+ */
27
+ function convertedToVue(definition) {
28
+ try {
29
+ return generateVue(definition, GENERATOR_VERSION);
30
+ }
31
+ catch (error) {
32
+ if (error instanceof HtmlDiagnosticError && /^HT03\d$/.test(error.diagnostic.code))
33
+ return undefined;
34
+ throw error;
35
+ }
36
+ }
37
+ /** Converts one definition to a Vue single-file component, failing with a diagnostic if it cannot. */
38
+ export function generateVueComponent(definition) {
39
+ return generateVue(definition, GENERATOR_VERSION);
40
+ }
41
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAOjD,MAAM,UAAU,iBAAiB,CAC/B,UAA+B;IAE/B,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACzD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;IAE1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,IAAI,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,IAAI,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7E,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,CAAC,MAAM,CAAC;YACZ,IAAI,EAAE,UAAU,GAAG,MAAM;YACzB,OAAO,EAAE,6BAA6B,iBAAiB,sBAAsB,8BAA8B,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;SAClL,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACzD,CAAC,CAAC;AACL,CAAC;AAID;;;GAGG;AACH,SAAS,cAAc,CAAC,UAA+B;IACrD,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,mBAAmB,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACrG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,oBAAoB,CAAC,UAA+B;IAClE,OAAO,WAAW,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const DOM_PROPERTY_DATA_VERSION = "typescript@7.0.2";
2
+ export declare const DOM_TAG_INTERFACES: Readonly<Record<string, string>>;
3
+ export interface GeneratedDomInterface {
4
+ readonly extends: readonly string[];
5
+ readonly properties: Readonly<Record<string, string>>;
6
+ }
7
+ export declare const DOM_INTERFACES: Readonly<Record<string, GeneratedDomInterface>>;
8
+ //# sourceMappingURL=dom-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-properties.d.ts","sourceRoot":"","sources":["../../src/generated/dom-properties.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiH/D,CAAC;AACF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvD;AACD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CA2wC1E,CAAC"}