jsxpression 0.1.1 → 0.1.3

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 (165) hide show
  1. package/lib/analyze/analysis-error.js +1 -5
  2. package/lib/analyze/analysis-error.js.map +1 -1
  3. package/lib/analyze/analysis-report.js +1 -5
  4. package/lib/analyze/analysis-report.js.map +1 -1
  5. package/lib/analyze/analyze.d.ts +1 -1
  6. package/lib/analyze/analyze.d.ts.map +1 -1
  7. package/lib/analyze/analyze.js +6 -9
  8. package/lib/analyze/analyze.js.map +1 -1
  9. package/lib/analyze/analyze.test.js +312 -314
  10. package/lib/analyze/analyze.test.js.map +1 -1
  11. package/lib/analyze/data/analyze.d.ts +1 -1
  12. package/lib/analyze/data/analyze.d.ts.map +1 -1
  13. package/lib/analyze/data/analyze.js +7 -10
  14. package/lib/analyze/data/analyze.js.map +1 -1
  15. package/lib/analyze/data/data-access.d.ts +1 -1
  16. package/lib/analyze/data/data-access.d.ts.map +1 -1
  17. package/lib/analyze/data/data-access.js +20 -24
  18. package/lib/analyze/data/data-access.js.map +1 -1
  19. package/lib/analyze/data/index.d.ts +1 -1
  20. package/lib/analyze/data/index.d.ts.map +1 -1
  21. package/lib/analyze/data/index.js +1 -5
  22. package/lib/analyze/data/index.js.map +1 -1
  23. package/lib/analyze/data/method-calls.d.ts +1 -1
  24. package/lib/analyze/data/method-calls.d.ts.map +1 -1
  25. package/lib/analyze/data/method-calls.js +17 -20
  26. package/lib/analyze/data/method-calls.js.map +1 -1
  27. package/lib/analyze/data/utils.d.ts +1 -1
  28. package/lib/analyze/data/utils.d.ts.map +1 -1
  29. package/lib/analyze/data/utils.js +22 -29
  30. package/lib/analyze/data/utils.js.map +1 -1
  31. package/lib/analyze/index.d.ts +1 -1
  32. package/lib/analyze/index.d.ts.map +1 -1
  33. package/lib/analyze/index.js +3 -9
  34. package/lib/analyze/index.js.map +1 -1
  35. package/lib/analyze/jsx/analyze.d.ts +1 -1
  36. package/lib/analyze/jsx/analyze.d.ts.map +1 -1
  37. package/lib/analyze/jsx/analyze.js +8 -11
  38. package/lib/analyze/jsx/analyze.js.map +1 -1
  39. package/lib/analyze/jsx/element-attributes.d.ts +1 -1
  40. package/lib/analyze/jsx/element-attributes.d.ts.map +1 -1
  41. package/lib/analyze/jsx/element-attributes.js +21 -24
  42. package/lib/analyze/jsx/element-attributes.js.map +1 -1
  43. package/lib/analyze/jsx/element-children.d.ts +1 -1
  44. package/lib/analyze/jsx/element-children.d.ts.map +1 -1
  45. package/lib/analyze/jsx/element-children.js +20 -23
  46. package/lib/analyze/jsx/element-children.js.map +1 -1
  47. package/lib/analyze/jsx/element-tags.d.ts +1 -1
  48. package/lib/analyze/jsx/element-tags.d.ts.map +1 -1
  49. package/lib/analyze/jsx/element-tags.js +12 -15
  50. package/lib/analyze/jsx/element-tags.js.map +1 -1
  51. package/lib/analyze/jsx/index.d.ts +1 -1
  52. package/lib/analyze/jsx/index.d.ts.map +1 -1
  53. package/lib/analyze/jsx/index.js +1 -5
  54. package/lib/analyze/jsx/index.js.map +1 -1
  55. package/lib/analyze/security/analyze.d.ts +1 -1
  56. package/lib/analyze/security/analyze.d.ts.map +1 -1
  57. package/lib/analyze/security/analyze.js +10 -13
  58. package/lib/analyze/security/analyze.js.map +1 -1
  59. package/lib/analyze/security/call-expressions.d.ts +1 -1
  60. package/lib/analyze/security/call-expressions.d.ts.map +1 -1
  61. package/lib/analyze/security/call-expressions.js +8 -11
  62. package/lib/analyze/security/call-expressions.js.map +1 -1
  63. package/lib/analyze/security/declarations.d.ts +1 -1
  64. package/lib/analyze/security/declarations.d.ts.map +1 -1
  65. package/lib/analyze/security/declarations.js +12 -15
  66. package/lib/analyze/security/declarations.js.map +1 -1
  67. package/lib/analyze/security/expressions.d.ts +1 -1
  68. package/lib/analyze/security/expressions.d.ts.map +1 -1
  69. package/lib/analyze/security/expressions.js +14 -17
  70. package/lib/analyze/security/expressions.js.map +1 -1
  71. package/lib/analyze/security/identifiers.d.ts +1 -1
  72. package/lib/analyze/security/identifiers.d.ts.map +1 -1
  73. package/lib/analyze/security/identifiers.js +10 -13
  74. package/lib/analyze/security/identifiers.js.map +1 -1
  75. package/lib/analyze/security/index.d.ts +1 -1
  76. package/lib/analyze/security/index.d.ts.map +1 -1
  77. package/lib/analyze/security/index.js +1 -5
  78. package/lib/analyze/security/index.js.map +1 -1
  79. package/lib/analyze/security/member-access.d.ts +1 -1
  80. package/lib/analyze/security/member-access.d.ts.map +1 -1
  81. package/lib/analyze/security/member-access.js +7 -10
  82. package/lib/analyze/security/member-access.js.map +1 -1
  83. package/lib/analyze/utils.js +4 -10
  84. package/lib/analyze/utils.js.map +1 -1
  85. package/lib/analyze/validation-context.js +1 -5
  86. package/lib/analyze/validation-context.js.map +1 -1
  87. package/lib/builtins.js +9 -20
  88. package/lib/builtins.js.map +1 -1
  89. package/lib/codegen/builtins/builtin-types.js +3 -6
  90. package/lib/codegen/builtins/builtin-types.js.map +1 -1
  91. package/lib/codegen/builtins/index.js +1 -5
  92. package/lib/codegen/builtins/index.js.map +1 -1
  93. package/lib/codegen/generate-typescript-definitions.js +4 -7
  94. package/lib/codegen/generate-typescript-definitions.js.map +1 -1
  95. package/lib/codegen/generate-typescript-definitions.test.js +190 -192
  96. package/lib/codegen/generate-typescript-definitions.test.js.map +1 -1
  97. package/lib/codegen/index.js +1 -5
  98. package/lib/codegen/index.js.map +1 -1
  99. package/lib/codegen/schema/component-types.js +3 -6
  100. package/lib/codegen/schema/component-types.js.map +1 -1
  101. package/lib/codegen/schema/data-types.js +3 -6
  102. package/lib/codegen/schema/data-types.js.map +1 -1
  103. package/lib/codegen/schema/index.js +2 -7
  104. package/lib/codegen/schema/index.js.map +1 -1
  105. package/lib/codegen/schema/utils.js +3 -8
  106. package/lib/codegen/schema/utils.js.map +1 -1
  107. package/lib/compile/compilation-error.js +1 -5
  108. package/lib/compile/compilation-error.js.map +1 -1
  109. package/lib/compile/compile.d.ts +1 -1
  110. package/lib/compile/compile.d.ts.map +1 -1
  111. package/lib/compile/compile.js +20 -25
  112. package/lib/compile/compile.js.map +1 -1
  113. package/lib/compile/compile.test.js +110 -112
  114. package/lib/compile/compile.test.js.map +1 -1
  115. package/lib/compile/index.d.ts +1 -1
  116. package/lib/compile/index.d.ts.map +1 -1
  117. package/lib/compile/index.js +2 -7
  118. package/lib/compile/index.js.map +1 -1
  119. package/lib/evaluate/evaluate.js +5 -8
  120. package/lib/evaluate/evaluate.js.map +1 -1
  121. package/lib/evaluate/evaluate.test.js +56 -58
  122. package/lib/evaluate/evaluate.test.js.map +1 -1
  123. package/lib/evaluate/evaluation-error.js +1 -5
  124. package/lib/evaluate/evaluation-error.js.map +1 -1
  125. package/lib/evaluate/index.d.ts +1 -1
  126. package/lib/evaluate/index.d.ts.map +1 -1
  127. package/lib/evaluate/index.js +2 -7
  128. package/lib/evaluate/index.js.map +1 -1
  129. package/lib/index.js +6 -15
  130. package/lib/index.js.map +1 -1
  131. package/lib/jsx.d.ts +1 -1
  132. package/lib/jsx.d.ts.map +1 -1
  133. package/lib/jsx.js +10 -22
  134. package/lib/jsx.js.map +1 -1
  135. package/lib/parse/index.d.ts +1 -1
  136. package/lib/parse/index.d.ts.map +1 -1
  137. package/lib/parse/index.js +2 -7
  138. package/lib/parse/index.js.map +1 -1
  139. package/lib/parse/parse-error.js +1 -5
  140. package/lib/parse/parse-error.js.map +1 -1
  141. package/lib/parse/parse.d.ts +1 -1
  142. package/lib/parse/parse.d.ts.map +1 -1
  143. package/lib/parse/parse.js +7 -13
  144. package/lib/parse/parse.js.map +1 -1
  145. package/lib/parse/parse.test.js +56 -58
  146. package/lib/parse/parse.test.js.map +1 -1
  147. package/lib/render.d.ts +1 -1
  148. package/lib/render.d.ts.map +1 -1
  149. package/lib/render.js +9 -12
  150. package/lib/render.js.map +1 -1
  151. package/lib/render.test.js +62 -64
  152. package/lib/render.test.js.map +1 -1
  153. package/lib/schema.js +18 -38
  154. package/lib/schema.js.map +1 -1
  155. package/lib/traverse.d.ts +3 -3
  156. package/lib/traverse.d.ts.map +1 -1
  157. package/lib/traverse.js +8 -11
  158. package/lib/traverse.js.map +1 -1
  159. package/lib/traverse.test.js +34 -36
  160. package/lib/traverse.test.js.map +1 -1
  161. package/lib/types.js +1 -2
  162. package/lib/validate.js +7 -10
  163. package/lib/validate.js.map +1 -1
  164. package/package.json +2 -1
  165. package/src/compile/compile.ts +3 -4
@@ -1,141 +1,139 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_js_1 = require("vitest.js");
4
- const index_js_1 = require("../compile/index.js");
5
- const index_js_2 = require("../parse/index.js");
6
- (0, vitest_js_1.describe)("compile", () => {
7
- (0, vitest_js_1.it)("should compile ternary expression", () => {
8
- const ast = (0, index_js_2.parse)("<div>{props.show ? 'Yes' : 'No'}</div>");
9
- const result = (0, index_js_1.compile)(ast);
10
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, (props.show?"Yes":"No"));');
1
+ import { describe, it, expect } from "vitest";
2
+ import { compile } from "../compile/index.js";
3
+ import { parse } from "../parse/index.js";
4
+ describe("compile", () => {
5
+ it("should compile ternary expression", () => {
6
+ const ast = parse("<div>{props.show ? 'Yes' : 'No'}</div>");
7
+ const result = compile(ast);
8
+ expect(result).toBe('"use strict";return h("div", null, (props.show?"Yes":"No"));');
11
9
  });
12
- (0, vitest_js_1.it)("should compile logical OR expression", () => {
13
- const ast = (0, index_js_2.parse)("<div>{props.value || 'default'}</div>");
14
- const result = (0, index_js_1.compile)(ast);
15
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, (props.value || "default"));');
10
+ it("should compile logical OR expression", () => {
11
+ const ast = parse("<div>{props.value || 'default'}</div>");
12
+ const result = compile(ast);
13
+ expect(result).toBe('"use strict";return h("div", null, (props.value || "default"));');
16
14
  });
17
- (0, vitest_js_1.it)("should compile array operations", () => {
18
- const ast = (0, index_js_2.parse)("<div>{props.items.filter(x => x.length > 2).join(', ')}</div>");
19
- const result = (0, index_js_1.compile)(ast);
20
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, props.items.filter((x) => (x.length > 2)).join(", "));');
15
+ it("should compile array operations", () => {
16
+ const ast = parse("<div>{props.items.filter(x => x.length > 2).join(', ')}</div>");
17
+ const result = compile(ast);
18
+ expect(result).toBe('"use strict";return h("div", null, props.items.filter((x) => (x.length > 2)).join(", "));');
21
19
  });
22
- (0, vitest_js_1.it)("should compile object literals in props", () => {
23
- const ast = (0, index_js_2.parse)("<div style={{ color: 'red' }}>Text</div>");
24
- const result = (0, index_js_1.compile)(ast);
25
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", { style: { color: "red" } }, "Text");');
20
+ it("should compile object literals in props", () => {
21
+ const ast = parse("<div style={{ color: 'red' }}>Text</div>");
22
+ const result = compile(ast);
23
+ expect(result).toBe('"use strict";return h("div", { style: { color: "red" } }, "Text");');
26
24
  });
27
- (0, vitest_js_1.it)("should compile nested ternary expressions", () => {
28
- const ast = (0, index_js_2.parse)("<div>{props.level > 2 ? 'high' : props.level > 1 ? 'medium' : 'low'}</div>");
29
- const result = (0, index_js_1.compile)(ast);
30
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, ((props.level > 2)?"high":((props.level > 1)?"medium":"low")));');
25
+ it("should compile nested ternary expressions", () => {
26
+ const ast = parse("<div>{props.level > 2 ? 'high' : props.level > 1 ? 'medium' : 'low'}</div>");
27
+ const result = compile(ast);
28
+ expect(result).toBe('"use strict";return h("div", null, ((props.level > 2)?"high":((props.level > 1)?"medium":"low")));');
31
29
  });
32
- (0, vitest_js_1.it)("should compile nested JSX elements", () => {
33
- const ast = (0, index_js_2.parse)("<div><span><strong>Nested</strong></span></div>");
34
- const result = (0, index_js_1.compile)(ast);
35
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, h("span", null, h("strong", null, "Nested")));');
30
+ it("should compile nested JSX elements", () => {
31
+ const ast = parse("<div><span><strong>Nested</strong></span></div>");
32
+ const result = compile(ast);
33
+ expect(result).toBe('"use strict";return h("div", null, h("span", null, h("strong", null, "Nested")));');
36
34
  });
37
- (0, vitest_js_1.it)("should compile nested array operations", () => {
38
- const ast = (0, index_js_2.parse)("<div>{props.items.map(x => x.split(',').map(y => y.trim()).join(' ')).join(' | ')}</div>");
39
- const result = (0, index_js_1.compile)(ast);
40
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, props.items.map((x) => x.split(",").map((y) => y.trim()).join(" ")).join(" | "));');
35
+ it("should compile nested array operations", () => {
36
+ const ast = parse("<div>{props.items.map(x => x.split(',').map(y => y.trim()).join(' ')).join(' | ')}</div>");
37
+ const result = compile(ast);
38
+ expect(result).toBe('"use strict";return h("div", null, props.items.map((x) => x.split(",").map((y) => y.trim()).join(" ")).join(" | "));');
41
39
  });
42
- (0, vitest_js_1.it)("should compile bare expression containers", () => {
43
- const ast = (0, index_js_2.parse)("{data.user.name}");
44
- const result = (0, index_js_1.compile)(ast);
45
- (0, vitest_js_1.expect)(result).toBe('"use strict";return data.user.name;');
40
+ it("should compile bare expression containers", () => {
41
+ const ast = parse("{data.user.name}");
42
+ const result = compile(ast);
43
+ expect(result).toBe('"use strict";return data.user.name;');
46
44
  });
47
- (0, vitest_js_1.it)("should compile bare mathematical expressions", () => {
48
- const ast = (0, index_js_2.parse)("{data.count * 2}");
49
- const result = (0, index_js_1.compile)(ast);
50
- (0, vitest_js_1.expect)(result).toBe('"use strict";return (data.count * 2);');
45
+ it("should compile bare mathematical expressions", () => {
46
+ const ast = parse("{data.count * 2}");
47
+ const result = compile(ast);
48
+ expect(result).toBe('"use strict";return (data.count * 2);');
51
49
  });
52
- (0, vitest_js_1.it)("should compile bare method calls", () => {
53
- const ast = (0, index_js_2.parse)("{data.text.toUpperCase()}");
54
- const result = (0, index_js_1.compile)(ast);
55
- (0, vitest_js_1.expect)(result).toBe('"use strict";return data.text.toUpperCase();');
50
+ it("should compile bare method calls", () => {
51
+ const ast = parse("{data.text.toUpperCase()}");
52
+ const result = compile(ast);
53
+ expect(result).toBe('"use strict";return data.text.toUpperCase();');
56
54
  });
57
- (0, vitest_js_1.it)("should compile bare complex expressions", () => {
58
- const ast = (0, index_js_2.parse)("{data.items.filter(x => x.length > 2).length}");
59
- const result = (0, index_js_1.compile)(ast);
60
- (0, vitest_js_1.expect)(result).toBe('"use strict";return data.items.filter((x) => (x.length > 2)).length;');
55
+ it("should compile bare complex expressions", () => {
56
+ const ast = parse("{data.items.filter(x => x.length > 2).length}");
57
+ const result = compile(ast);
58
+ expect(result).toBe('"use strict";return data.items.filter((x) => (x.length > 2)).length;');
61
59
  });
62
- (0, vitest_js_1.describe)("JSX empty expressions", () => {
63
- (0, vitest_js_1.it)("should handle empty expressions in children", () => {
64
- const ast = (0, index_js_2.parse)("<Text>{}</Text>");
65
- const compiled = (0, index_js_1.compile)(ast);
66
- (0, vitest_js_1.expect)(compiled).toContain("return");
67
- (0, vitest_js_1.expect)(compiled).toContain("Text");
60
+ describe("JSX empty expressions", () => {
61
+ it("should handle empty expressions in children", () => {
62
+ const ast = parse("<Text>{}</Text>");
63
+ const compiled = compile(ast);
64
+ expect(compiled).toContain("return");
65
+ expect(compiled).toContain("Text");
68
66
  // Empty expressions should be skipped, so no children array should be empty or minimal
69
- (0, vitest_js_1.expect)(compiled).toBeDefined();
67
+ expect(compiled).toBeDefined();
70
68
  });
71
- (0, vitest_js_1.it)("should handle multiple empty expressions", () => {
72
- const ast = (0, index_js_2.parse)("<Text>{}{}{}</Text>");
73
- const compiled = (0, index_js_1.compile)(ast);
74
- (0, vitest_js_1.expect)(compiled).toContain("return");
75
- (0, vitest_js_1.expect)(compiled).toContain("Text");
76
- (0, vitest_js_1.expect)(compiled).toBeDefined();
69
+ it("should handle multiple empty expressions", () => {
70
+ const ast = parse("<Text>{}{}{}</Text>");
71
+ const compiled = compile(ast);
72
+ expect(compiled).toContain("return");
73
+ expect(compiled).toContain("Text");
74
+ expect(compiled).toBeDefined();
77
75
  });
78
- (0, vitest_js_1.it)("should handle mixed empty and real expressions", () => {
79
- const ast = (0, index_js_2.parse)("<Text>Hello {}{data.x}{} World</Text>");
80
- const compiled = (0, index_js_1.compile)(ast);
81
- (0, vitest_js_1.expect)(compiled).toContain("return");
82
- (0, vitest_js_1.expect)(compiled).toContain("Text");
83
- (0, vitest_js_1.expect)(compiled).toContain("Hello");
84
- (0, vitest_js_1.expect)(compiled).toContain("World");
85
- (0, vitest_js_1.expect)(compiled).toContain("data.x");
76
+ it("should handle mixed empty and real expressions", () => {
77
+ const ast = parse("<Text>Hello {}{data.x}{} World</Text>");
78
+ const compiled = compile(ast);
79
+ expect(compiled).toContain("return");
80
+ expect(compiled).toContain("Text");
81
+ expect(compiled).toContain("Hello");
82
+ expect(compiled).toContain("World");
83
+ expect(compiled).toContain("data.x");
86
84
  });
87
- (0, vitest_js_1.it)("should generate valid JavaScript code structure", () => {
88
- const ast = (0, index_js_2.parse)("<Text>{}</Text>");
89
- const compiled = (0, index_js_1.compile)(ast);
85
+ it("should generate valid JavaScript code structure", () => {
86
+ const ast = parse("<Text>{}</Text>");
87
+ const compiled = compile(ast);
90
88
  // The compiled code should have expected structure
91
- (0, vitest_js_1.expect)(compiled).toMatch(/^"use strict";return .+;$/);
89
+ expect(compiled).toMatch(/^"use strict";return .+;$/);
92
90
  });
93
91
  });
94
- (0, vitest_js_1.describe)("spread elements", () => {
95
- (0, vitest_js_1.it)("should compile spread in arrays", () => {
96
- const ast = (0, index_js_2.parse)("<div>{[...data.items]}</div>");
97
- const result = (0, index_js_1.compile)(ast);
98
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, [...data.items]);');
92
+ describe("spread elements", () => {
93
+ it("should compile spread in arrays", () => {
94
+ const ast = parse("<div>{[...data.items]}</div>");
95
+ const result = compile(ast);
96
+ expect(result).toBe('"use strict";return h("div", null, [...data.items]);');
99
97
  });
100
- (0, vitest_js_1.it)("should compile spread in objects", () => {
101
- const ast = (0, index_js_2.parse)("<div style={{ ...data.styles }}>Text</div>");
102
- const result = (0, index_js_1.compile)(ast);
103
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", { style: { ...data.styles } }, "Text");');
98
+ it("should compile spread in objects", () => {
99
+ const ast = parse("<div style={{ ...data.styles }}>Text</div>");
100
+ const result = compile(ast);
101
+ expect(result).toBe('"use strict";return h("div", { style: { ...data.styles } }, "Text");');
104
102
  });
105
- (0, vitest_js_1.it)("should compile mixed spread and regular elements in arrays", () => {
106
- const ast = (0, index_js_2.parse)("<div>{[1, ...data.items, 2]}</div>");
107
- const result = (0, index_js_1.compile)(ast);
108
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, [1, ...data.items, 2]);');
103
+ it("should compile mixed spread and regular elements in arrays", () => {
104
+ const ast = parse("<div>{[1, ...data.items, 2]}</div>");
105
+ const result = compile(ast);
106
+ expect(result).toBe('"use strict";return h("div", null, [1, ...data.items, 2]);');
109
107
  });
110
- (0, vitest_js_1.it)("should compile mixed spread and regular properties in objects", () => {
111
- const ast = (0, index_js_2.parse)("<div style={{ color: 'red', ...data.styles, width: 100 }}>Text</div>");
112
- const result = (0, index_js_1.compile)(ast);
113
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", { style: { color: "red", ...data.styles, width: 100 } }, "Text");');
108
+ it("should compile mixed spread and regular properties in objects", () => {
109
+ const ast = parse("<div style={{ color: 'red', ...data.styles, width: 100 }}>Text</div>");
110
+ const result = compile(ast);
111
+ expect(result).toBe('"use strict";return h("div", { style: { color: "red", ...data.styles, width: 100 } }, "Text");');
114
112
  });
115
- (0, vitest_js_1.it)("should compile multiple spreads in arrays", () => {
116
- const ast = (0, index_js_2.parse)("<div>{[...data.first, ...data.second]}</div>");
117
- const result = (0, index_js_1.compile)(ast);
118
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, [...data.first, ...data.second]);');
113
+ it("should compile multiple spreads in arrays", () => {
114
+ const ast = parse("<div>{[...data.first, ...data.second]}</div>");
115
+ const result = compile(ast);
116
+ expect(result).toBe('"use strict";return h("div", null, [...data.first, ...data.second]);');
119
117
  });
120
- (0, vitest_js_1.it)("should compile multiple spreads in objects", () => {
121
- const ast = (0, index_js_2.parse)("<div style={{ ...data.base, ...data.override }}>Text</div>");
122
- const result = (0, index_js_1.compile)(ast);
123
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", { style: { ...data.base, ...data.override } }, "Text");');
118
+ it("should compile multiple spreads in objects", () => {
119
+ const ast = parse("<div style={{ ...data.base, ...data.override }}>Text</div>");
120
+ const result = compile(ast);
121
+ expect(result).toBe('"use strict";return h("div", { style: { ...data.base, ...data.override } }, "Text");');
124
122
  });
125
- (0, vitest_js_1.it)("should compile spread in function call arguments", () => {
126
- const ast = (0, index_js_2.parse)("<div>{Math.max(...data.numbers)}</div>");
127
- const result = (0, index_js_1.compile)(ast);
128
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, Math.max(...data.numbers));');
123
+ it("should compile spread in function call arguments", () => {
124
+ const ast = parse("<div>{Math.max(...data.numbers)}</div>");
125
+ const result = compile(ast);
126
+ expect(result).toBe('"use strict";return h("div", null, Math.max(...data.numbers));');
129
127
  });
130
- (0, vitest_js_1.it)("should compile spread with map in function call", () => {
131
- const ast = (0, index_js_2.parse)("<div>{Math.min(...data.items.map(x => x.price))}</div>");
132
- const result = (0, index_js_1.compile)(ast);
133
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, Math.min(...data.items.map((x) => x.price)));');
128
+ it("should compile spread with map in function call", () => {
129
+ const ast = parse("<div>{Math.min(...data.items.map(x => x.price))}</div>");
130
+ const result = compile(ast);
131
+ expect(result).toBe('"use strict";return h("div", null, Math.min(...data.items.map((x) => x.price)));');
134
132
  });
135
- (0, vitest_js_1.it)("should compile mixed spread and regular arguments", () => {
136
- const ast = (0, index_js_2.parse)("<div>{Math.max(0, ...data.numbers, 100)}</div>");
137
- const result = (0, index_js_1.compile)(ast);
138
- (0, vitest_js_1.expect)(result).toBe('"use strict";return h("div", null, Math.max(0, ...data.numbers, 100));');
133
+ it("should compile mixed spread and regular arguments", () => {
134
+ const ast = parse("<div>{Math.max(0, ...data.numbers, 100)}</div>");
135
+ const result = compile(ast);
136
+ expect(result).toBe('"use strict";return h("div", null, Math.max(0, ...data.numbers, 100));');
139
137
  });
140
138
  });
141
139
  // TODO: Add ChainExpression support for optional chaining (?.)
@@ -1 +1 @@
1
- {"version":3,"file":"compile.test.js","sourceRoot":"","sources":["../../src/compile/compile.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.test.js","sourceRoot":"","sources":["../../src/compile/compile.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { compile } from "./compile/index.js";
1
+ export { compile } from "./compile.js";
2
2
  export { CompilationError } from "./compilation-error.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,8 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompilationError = exports.compile = void 0;
4
- var index_js_1 = require("./compile/index.js");
5
- Object.defineProperty(exports, "compile", { enumerable: true, get: function () { return index_js_1.compile; } });
6
- var compilation_error_js_1 = require("./compilation-error.js");
7
- Object.defineProperty(exports, "CompilationError", { enumerable: true, get: function () { return compilation_error_js_1.CompilationError; } });
1
+ export { compile } from "./compile.js";
2
+ export { CompilationError } from "./compilation-error.js";
8
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compile/index.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,mGAAA,OAAO,OAAA;AAChB,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.evaluate = evaluate;
4
- const evaluation_error_js_1 = require("./evaluation-error.js");
5
- function evaluate(source, options) {
1
+ import { EvaluationError } from "./evaluation-error.js";
2
+ export function evaluate(source, options) {
6
3
  const { data = {}, components = {}, createElement } = options;
7
4
  const h = createH(components, createElement || defaultCreateElement);
8
5
  try {
@@ -11,17 +8,17 @@ function evaluate(source, options) {
11
8
  }
12
9
  catch (error) {
13
10
  // We may have thrown an EvaluationError from createH()
14
- if (error instanceof evaluation_error_js_1.EvaluationError) {
11
+ if (error instanceof EvaluationError) {
15
12
  throw error;
16
13
  }
17
- throw new evaluation_error_js_1.EvaluationError(error instanceof Error ? error.message : "Evaluation failed");
14
+ throw new EvaluationError(error instanceof Error ? error.message : "Evaluation failed");
18
15
  }
19
16
  }
20
17
  function createH(components, createElement) {
21
18
  return function h(type, props, ...children) {
22
19
  const Component = components[type];
23
20
  if (!Component) {
24
- throw new evaluation_error_js_1.EvaluationError(`component "${type}" is not allowed`);
21
+ throw new EvaluationError(`component "${type}" is not allowed`);
25
22
  }
26
23
  return createElement(Component, props, ...children.flat().filter(Boolean));
27
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/evaluate/evaluate.ts"],"names":[],"mappings":";;AAkCA,4BAgBC;AAlDD,+DAAwD;AAkCxD,SAAgB,QAAQ,CAAU,MAAc,EAAE,OAA2B;IAC3E,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAE9D,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,IAAI,oBAAoB,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,2EAA2E;QAC3E,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAM,CAAC;IACvF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,uDAAuD;QACvD,IAAI,KAAK,YAAY,qCAAe,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,qCAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,UAAyB,EAAE,aAA4B;IACtE,OAAO,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,qCAAe,CAAC,cAAc,IAAI,kBAAkB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAa;IACnC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAoB,EAAE,QAAmB,EAAE,EAAE,GAAG,QAAe;IAC3F,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/evaluate/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkCxD,MAAM,UAAU,QAAQ,CAAU,MAAc,EAAE,OAA2B;IAC3E,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAE9D,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,IAAI,oBAAoB,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,2EAA2E;QAC3E,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAM,CAAC;IACvF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,uDAAuD;QACvD,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,UAAyB,EAAE,aAA4B;IACtE,OAAO,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,cAAc,IAAI,kBAAkB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAa;IACnC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAoB,EAAE,QAAmB,EAAE,EAAE,GAAG,QAAe;IAC3F,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC"}