jsxpression 0.1.11 → 0.1.13

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 (110) 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.js +6 -9
  6. package/lib/analyze/analyze.js.map +1 -1
  7. package/lib/analyze/analyze.test.js +312 -314
  8. package/lib/analyze/analyze.test.js.map +1 -1
  9. package/lib/analyze/data/analyze.js +7 -10
  10. package/lib/analyze/data/analyze.js.map +1 -1
  11. package/lib/analyze/data/data-access.js +20 -24
  12. package/lib/analyze/data/data-access.js.map +1 -1
  13. package/lib/analyze/data/index.js +1 -5
  14. package/lib/analyze/data/index.js.map +1 -1
  15. package/lib/analyze/data/method-calls.js +17 -20
  16. package/lib/analyze/data/method-calls.js.map +1 -1
  17. package/lib/analyze/data/utils.js +22 -29
  18. package/lib/analyze/data/utils.js.map +1 -1
  19. package/lib/analyze/index.js +3 -9
  20. package/lib/analyze/index.js.map +1 -1
  21. package/lib/analyze/jsx/analyze.js +8 -11
  22. package/lib/analyze/jsx/analyze.js.map +1 -1
  23. package/lib/analyze/jsx/element-attributes.js +21 -24
  24. package/lib/analyze/jsx/element-attributes.js.map +1 -1
  25. package/lib/analyze/jsx/element-children.js +20 -23
  26. package/lib/analyze/jsx/element-children.js.map +1 -1
  27. package/lib/analyze/jsx/element-tags.js +12 -15
  28. package/lib/analyze/jsx/element-tags.js.map +1 -1
  29. package/lib/analyze/jsx/index.js +1 -5
  30. package/lib/analyze/jsx/index.js.map +1 -1
  31. package/lib/analyze/security/analyze.js +10 -13
  32. package/lib/analyze/security/analyze.js.map +1 -1
  33. package/lib/analyze/security/call-expressions.js +8 -11
  34. package/lib/analyze/security/call-expressions.js.map +1 -1
  35. package/lib/analyze/security/declarations.js +12 -15
  36. package/lib/analyze/security/declarations.js.map +1 -1
  37. package/lib/analyze/security/expressions.js +14 -17
  38. package/lib/analyze/security/expressions.js.map +1 -1
  39. package/lib/analyze/security/identifiers.js +10 -13
  40. package/lib/analyze/security/identifiers.js.map +1 -1
  41. package/lib/analyze/security/index.js +1 -5
  42. package/lib/analyze/security/index.js.map +1 -1
  43. package/lib/analyze/security/member-access.js +7 -10
  44. package/lib/analyze/security/member-access.js.map +1 -1
  45. package/lib/analyze/utils.js +4 -10
  46. package/lib/analyze/utils.js.map +1 -1
  47. package/lib/analyze/validation-context.js +1 -5
  48. package/lib/analyze/validation-context.js.map +1 -1
  49. package/lib/builtins.js +9 -20
  50. package/lib/builtins.js.map +1 -1
  51. package/lib/codegen/builtins/builtin-types.js +3 -6
  52. package/lib/codegen/builtins/builtin-types.js.map +1 -1
  53. package/lib/codegen/builtins/index.js +1 -5
  54. package/lib/codegen/builtins/index.js.map +1 -1
  55. package/lib/codegen/generate-typescript-definitions.js +4 -7
  56. package/lib/codegen/generate-typescript-definitions.js.map +1 -1
  57. package/lib/codegen/generate-typescript-definitions.test.js +190 -192
  58. package/lib/codegen/generate-typescript-definitions.test.js.map +1 -1
  59. package/lib/codegen/index.js +1 -5
  60. package/lib/codegen/index.js.map +1 -1
  61. package/lib/codegen/schema/component-types.js +3 -6
  62. package/lib/codegen/schema/component-types.js.map +1 -1
  63. package/lib/codegen/schema/data-types.js +3 -6
  64. package/lib/codegen/schema/data-types.js.map +1 -1
  65. package/lib/codegen/schema/index.js +2 -7
  66. package/lib/codegen/schema/index.js.map +1 -1
  67. package/lib/codegen/schema/utils.js +3 -8
  68. package/lib/codegen/schema/utils.js.map +1 -1
  69. package/lib/compile/compilation-error.js +1 -5
  70. package/lib/compile/compilation-error.js.map +1 -1
  71. package/lib/compile/compile.js +18 -21
  72. package/lib/compile/compile.js.map +1 -1
  73. package/lib/compile/compile.test.js +110 -112
  74. package/lib/compile/compile.test.js.map +1 -1
  75. package/lib/compile/index.js +2 -7
  76. package/lib/compile/index.js.map +1 -1
  77. package/lib/evaluate/evaluate.js +8 -11
  78. package/lib/evaluate/evaluate.js.map +1 -1
  79. package/lib/evaluate/evaluate.test.js +56 -58
  80. package/lib/evaluate/evaluate.test.js.map +1 -1
  81. package/lib/evaluate/evaluation-error.js +1 -5
  82. package/lib/evaluate/evaluation-error.js.map +1 -1
  83. package/lib/evaluate/index.js +2 -7
  84. package/lib/evaluate/index.js.map +1 -1
  85. package/lib/index.js +6 -15
  86. package/lib/index.js.map +1 -1
  87. package/lib/jsx.js +10 -22
  88. package/lib/jsx.js.map +1 -1
  89. package/lib/parse/index.js +2 -7
  90. package/lib/parse/index.js.map +1 -1
  91. package/lib/parse/parse-error.js +1 -5
  92. package/lib/parse/parse-error.js.map +1 -1
  93. package/lib/parse/parse.js +7 -13
  94. package/lib/parse/parse.js.map +1 -1
  95. package/lib/parse/parse.test.js +56 -58
  96. package/lib/parse/parse.test.js.map +1 -1
  97. package/lib/render.js +9 -12
  98. package/lib/render.js.map +1 -1
  99. package/lib/render.test.js +62 -64
  100. package/lib/render.test.js.map +1 -1
  101. package/lib/schema.js +18 -38
  102. package/lib/schema.js.map +1 -1
  103. package/lib/traverse.js +8 -11
  104. package/lib/traverse.js.map +1 -1
  105. package/lib/traverse.test.js +34 -36
  106. package/lib/traverse.test.js.map +1 -1
  107. package/lib/types.js +1 -2
  108. package/lib/validate.js +7 -10
  109. package/lib/validate.js.map +1 -1
  110. package/package.json +3 -2
@@ -1,82 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const parse_js_1 = require("./parse.js");
5
- const parse_error_js_1 = require("./parse-error.js");
6
- (0, vitest_1.describe)("parse", () => {
7
- (0, vitest_1.it)("should parse valid JSX element", () => {
8
- const result = (0, parse_js_1.parse)("<Text x={10}>Hello</Text>");
9
- (0, vitest_1.expect)(result.type).toBe("Program");
10
- (0, vitest_1.expect)(result.body).toHaveLength(1);
11
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
1
+ import { describe, it, expect } from "vitest";
2
+ import { parse } from "./parse.js";
3
+ import { ParseError } from "./parse-error.js";
4
+ describe("parse", () => {
5
+ it("should parse valid JSX element", () => {
6
+ const result = parse("<Text x={10}>Hello</Text>");
7
+ expect(result.type).toBe("Program");
8
+ expect(result.body).toHaveLength(1);
9
+ expect(result.body[0].type).toBe("ExpressionStatement");
12
10
  });
13
- (0, vitest_1.it)("should parse JSX fragment", () => {
14
- const result = (0, parse_js_1.parse)("<><Text>A</Text><Text>B</Text></>");
15
- (0, vitest_1.expect)(result.type).toBe("Program");
16
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
11
+ it("should parse JSX fragment", () => {
12
+ const result = parse("<><Text>A</Text><Text>B</Text></>");
13
+ expect(result.type).toBe("Program");
14
+ expect(result.body[0].type).toBe("ExpressionStatement");
17
15
  });
18
- (0, vitest_1.it)("should throw ParseError with position for syntax error", () => {
19
- (0, vitest_1.expect)(() => (0, parse_js_1.parse)("<Text>Unclosed")).toThrow(parse_error_js_1.ParseError);
16
+ it("should throw ParseError with position for syntax error", () => {
17
+ expect(() => parse("<Text>Unclosed")).toThrow(ParseError);
20
18
  try {
21
- (0, parse_js_1.parse)("<Text>Unclosed");
19
+ parse("<Text>Unclosed");
22
20
  }
23
21
  catch (error) {
24
- (0, vitest_1.expect)(error).toBeInstanceOf(parse_error_js_1.ParseError);
22
+ expect(error).toBeInstanceOf(ParseError);
25
23
  }
26
24
  });
27
- (0, vitest_1.it)("should parse nested JSX", () => {
28
- const result = (0, parse_js_1.parse)("<Outer><Inner><Deep>Text</Deep></Inner></Outer>");
29
- (0, vitest_1.expect)(result.type).toBe("Program");
30
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
25
+ it("should parse nested JSX", () => {
26
+ const result = parse("<Outer><Inner><Deep>Text</Deep></Inner></Outer>");
27
+ expect(result.type).toBe("Program");
28
+ expect(result.body[0].type).toBe("ExpressionStatement");
31
29
  });
32
- (0, vitest_1.it)("should parse JSX with expressions", () => {
33
- const result = (0, parse_js_1.parse)("<Text>{props.value}</Text>");
34
- (0, vitest_1.expect)(result.type).toBe("Program");
35
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
30
+ it("should parse JSX with expressions", () => {
31
+ const result = parse("<Text>{props.value}</Text>");
32
+ expect(result.type).toBe("Program");
33
+ expect(result.body[0].type).toBe("ExpressionStatement");
36
34
  });
37
- (0, vitest_1.it)("should parse JSX with complex expressions", () => {
38
- const result = (0, parse_js_1.parse)("<Text>{data.items.map(x => x * 2).join(', ')}</Text>");
39
- (0, vitest_1.expect)(result.type).toBe("Program");
40
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
35
+ it("should parse JSX with complex expressions", () => {
36
+ const result = parse("<Text>{data.items.map(x => x * 2).join(', ')}</Text>");
37
+ expect(result.type).toBe("Program");
38
+ expect(result.body[0].type).toBe("ExpressionStatement");
41
39
  });
42
- (0, vitest_1.it)("should parse JSX with attributes", () => {
43
- const result = (0, parse_js_1.parse)('<Text x={10} y="hello" z={data.value}>Content</Text>');
44
- (0, vitest_1.expect)(result.type).toBe("Program");
45
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
40
+ it("should parse JSX with attributes", () => {
41
+ const result = parse('<Text x={10} y="hello" z={data.value}>Content</Text>');
42
+ expect(result.type).toBe("Program");
43
+ expect(result.body[0].type).toBe("ExpressionStatement");
46
44
  });
47
- (0, vitest_1.it)("should parse self-closing JSX elements", () => {
48
- const result = (0, parse_js_1.parse)("<Input value={data.name} />");
49
- (0, vitest_1.expect)(result.type).toBe("Program");
50
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
45
+ it("should parse self-closing JSX elements", () => {
46
+ const result = parse("<Input value={data.name} />");
47
+ expect(result.type).toBe("Program");
48
+ expect(result.body[0].type).toBe("ExpressionStatement");
51
49
  });
52
- (0, vitest_1.it)("should parse JSX with conditional expressions", () => {
53
- const result = (0, parse_js_1.parse)("<Text>{data.show ? 'visible' : 'hidden'}</Text>");
54
- (0, vitest_1.expect)(result.type).toBe("Program");
55
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
50
+ it("should parse JSX with conditional expressions", () => {
51
+ const result = parse("<Text>{data.show ? 'visible' : 'hidden'}</Text>");
52
+ expect(result.type).toBe("Program");
53
+ expect(result.body[0].type).toBe("ExpressionStatement");
56
54
  });
57
- (0, vitest_1.it)("should parse empty JSX expressions", () => {
58
- const result = (0, parse_js_1.parse)("<Text>{}</Text>");
59
- (0, vitest_1.expect)(result.type).toBe("Program");
60
- (0, vitest_1.expect)(result.body[0].type).toBe("ExpressionStatement");
55
+ it("should parse empty JSX expressions", () => {
56
+ const result = parse("<Text>{}</Text>");
57
+ expect(result.type).toBe("Program");
58
+ expect(result.body[0].type).toBe("ExpressionStatement");
61
59
  });
62
- (0, vitest_1.it)("should preserve location information in errors", () => {
60
+ it("should preserve location information in errors", () => {
63
61
  try {
64
- (0, parse_js_1.parse)("<Text>Unclosed");
62
+ parse("<Text>Unclosed");
65
63
  throw new Error("Should have thrown ParseError");
66
64
  }
67
65
  catch (error) {
68
- (0, vitest_1.expect)(error).toBeInstanceOf(parse_error_js_1.ParseError);
69
- if (error instanceof parse_error_js_1.ParseError && error.loc) {
70
- (0, vitest_1.expect)(error.loc).toBeDefined();
71
- (0, vitest_1.expect)(error.loc.line).toBe(1);
72
- (0, vitest_1.expect)(error.loc.column).toBe(6);
66
+ expect(error).toBeInstanceOf(ParseError);
67
+ if (error instanceof ParseError && error.loc) {
68
+ expect(error.loc).toBeDefined();
69
+ expect(error.loc.line).toBe(1);
70
+ expect(error.loc.column).toBe(6);
73
71
  }
74
72
  }
75
73
  });
76
- (0, vitest_1.it)("should handle invalid JSX syntax", () => {
77
- (0, vitest_1.expect)(() => (0, parse_js_1.parse)("<>")).toThrow(parse_error_js_1.ParseError);
78
- (0, vitest_1.expect)(() => (0, parse_js_1.parse)("<Text><")).toThrow(parse_error_js_1.ParseError);
79
- (0, vitest_1.expect)(() => (0, parse_js_1.parse)("<Text attr>")).toThrow(parse_error_js_1.ParseError);
74
+ it("should handle invalid JSX syntax", () => {
75
+ expect(() => parse("<>")).toThrow(ParseError);
76
+ expect(() => parse("<Text><")).toThrow(ParseError);
77
+ expect(() => parse("<Text attr>")).toThrow(ParseError);
80
78
  });
81
79
  });
82
80
  //# sourceMappingURL=parse.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.test.js","sourceRoot":"","sources":["../../src/parse/parse.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.test.js","sourceRoot":"","sources":["../../src/parse/parse.test.ts"],"names":[],"mappings":"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"}
package/lib/render.js CHANGED
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.render = render;
4
- const index_js_1 = require("./compile/index.js");
5
- const evaluate_js_1 = require("./evaluate/evaluate.js");
6
- const index_js_2 = require("./parse/index.js");
7
- const index_js_3 = require("./analyze/index.js");
1
+ import { compile } from "./compile/index.js";
2
+ import { evaluate } from "./evaluate/evaluate.js";
3
+ import { parse } from "./parse/index.js";
4
+ import { analyze, AnalysisError } from "./analyze/index.js";
8
5
  /**
9
6
  * Renders a JSX expression with data validation and security constraints.
10
7
  *
@@ -45,12 +42,12 @@ const index_js_3 = require("./analyze/index.js");
45
42
  * );
46
43
  * ```
47
44
  */
48
- function render(source, schema, { minSeverity = 3, ...options } = {}) {
49
- const ast = (0, index_js_2.parse)(source);
50
- const report = (0, index_js_3.analyze)(ast, schema);
45
+ export function render(source, schema, { minSeverity = 3, ...options } = {}) {
46
+ const ast = parse(source);
47
+ const report = analyze(ast, schema);
51
48
  if (report.hasIssues(minSeverity)) {
52
- throw index_js_3.AnalysisError.fromReport(report);
49
+ throw AnalysisError.fromReport(report);
53
50
  }
54
- return (0, evaluate_js_1.evaluate)((0, index_js_1.compile)(ast), schema, options);
51
+ return evaluate(compile(ast), schema, options);
55
52
  }
56
53
  //# sourceMappingURL=render.js.map
package/lib/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":";;AA6DA,wBAaC;AA1ED,iDAA6C;AAC7C,wDAAmE;AACnE,+CAAyC;AAEzC,iDAA4D;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,SAAgB,MAAM,CACpB,MAAc,EACd,MAAc,EACd,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,KAAuB,EAAE;IAEtD,MAAM,GAAG,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAA,kBAAO,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,wBAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAA,sBAAQ,EAAC,IAAA,kBAAO,EAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAM,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAmB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,MAAM,CACpB,MAAc,EACd,MAAc,EACd,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,KAAuB,EAAE;IAEtD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAM,CAAC;AACtD,CAAC"}
@@ -1,18 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const render_js_1 = require("./render.js");
5
- const index_js_1 = require("./parse/index.js");
6
- const index_js_2 = require("./analyze/index.js");
7
- const index_js_3 = require("./evaluate/index.js");
8
- (0, vitest_1.describe)("render", () => {
9
- (0, vitest_1.it)("should render complete JSX pipeline successfully", () => {
1
+ import { describe, it, expect } from "vitest";
2
+ import { render } from "./render.js";
3
+ import { ParseError } from "./parse/index.js";
4
+ import { AnalysisError } from "./analyze/index.js";
5
+ import { EvaluationError } from "./evaluate/index.js";
6
+ describe("render", () => {
7
+ it("should render complete JSX pipeline successfully", () => {
10
8
  const TestComponent = (props, ...children) => ({
11
9
  type: "TestComponent",
12
10
  props,
13
11
  children,
14
12
  });
15
- const result = (0, render_js_1.render)("<Test x={data.x} y={Math.floor(data.y)}>Hello</Test>", {
13
+ const result = render("<Test x={data.x} y={Math.floor(data.y)}>Hello</Test>", {
16
14
  data: {
17
15
  x: { type: "number" },
18
16
  y: { type: "number" },
@@ -29,17 +27,17 @@ const index_js_3 = require("./evaluate/index.js");
29
27
  data: { x: 10, y: 3.7 },
30
28
  components: { Test: TestComponent },
31
29
  });
32
- (0, vitest_1.expect)(result.type).toBe("TestComponent");
33
- (0, vitest_1.expect)(result.props).toEqual({ x: 10, y: 3 });
34
- (0, vitest_1.expect)(result.children).toEqual(["Hello"]);
30
+ expect(result.type).toBe("TestComponent");
31
+ expect(result.props).toEqual({ x: 10, y: 3 });
32
+ expect(result.children).toEqual(["Hello"]);
35
33
  });
36
- (0, vitest_1.it)("should render complex expressions end-to-end", () => {
34
+ it("should render complex expressions end-to-end", () => {
37
35
  const TestComponent = (props) => ({
38
36
  type: "TestComponent",
39
37
  props,
40
38
  children: [],
41
39
  });
42
- const result = (0, render_js_1.render)("<Test values={data.items.filter(x => x > 2).map(x => x * 2).join(', ')}>Text</Test>", {
40
+ const result = render("<Test values={data.items.filter(x => x > 2).map(x => x * 2).join(', ')}>Text</Test>", {
43
41
  data: {
44
42
  items: { type: "array", shape: { type: "number" } },
45
43
  },
@@ -54,9 +52,9 @@ const index_js_3 = require("./evaluate/index.js");
54
52
  data: { items: [1, 2, 3, 4, 5] },
55
53
  components: { Test: TestComponent },
56
54
  });
57
- (0, vitest_1.expect)(result.props.values).toBe("6, 8, 10");
55
+ expect(result.props.values).toBe("6, 8, 10");
58
56
  });
59
- (0, vitest_1.it)("should render nested JSX elements", () => {
57
+ it("should render nested JSX elements", () => {
60
58
  const OuterComponent = (props, ...children) => ({
61
59
  type: "OuterComponent",
62
60
  props,
@@ -67,7 +65,7 @@ const index_js_3 = require("./evaluate/index.js");
67
65
  props,
68
66
  children: [],
69
67
  });
70
- const result = (0, render_js_1.render)("<Outer x={10}><Inner y={20}>Nested</Inner></Outer>", {
68
+ const result = render("<Outer x={10}><Inner y={20}>Nested</Inner></Outer>", {
71
69
  elements: {
72
70
  Outer: {
73
71
  props: {
@@ -87,18 +85,18 @@ const index_js_3 = require("./evaluate/index.js");
87
85
  Inner: InnerComponent,
88
86
  },
89
87
  });
90
- (0, vitest_1.expect)(result.type).toBe("OuterComponent");
91
- (0, vitest_1.expect)(result.props).toEqual({ x: 10 });
92
- (0, vitest_1.expect)(result.children).toHaveLength(1);
93
- (0, vitest_1.expect)(result.children[0].type).toBe("InnerComponent");
88
+ expect(result.type).toBe("OuterComponent");
89
+ expect(result.props).toEqual({ x: 10 });
90
+ expect(result.children).toHaveLength(1);
91
+ expect(result.children[0].type).toBe("InnerComponent");
94
92
  });
95
- (0, vitest_1.it)("should render JSX fragments", () => {
93
+ it("should render JSX fragments", () => {
96
94
  const TestComponent = () => ({
97
95
  type: "Test",
98
96
  props: {},
99
97
  children: [],
100
98
  });
101
- const result = (0, render_js_1.render)("<><Test>A</Test><Test>B</Test></>", {
99
+ const result = render("<><Test>A</Test><Test>B</Test></>", {
102
100
  elements: {
103
101
  Test: {
104
102
  props: {},
@@ -108,10 +106,10 @@ const index_js_3 = require("./evaluate/index.js");
108
106
  data: {},
109
107
  components: { Test: TestComponent },
110
108
  });
111
- (0, vitest_1.expect)(result).toBeDefined();
109
+ expect(result).toBeDefined();
112
110
  });
113
- (0, vitest_1.it)("should render bare expression containers", () => {
114
- const result = (0, render_js_1.render)("{data.user.name}", {
111
+ it("should render bare expression containers", () => {
112
+ const result = render("{data.user.name}", {
115
113
  data: {
116
114
  user: {
117
115
  type: "object",
@@ -125,10 +123,10 @@ const index_js_3 = require("./evaluate/index.js");
125
123
  data: { user: { name: "Alice" } },
126
124
  components: {},
127
125
  });
128
- (0, vitest_1.expect)(result).toBe("Alice");
126
+ expect(result).toBe("Alice");
129
127
  });
130
- (0, vitest_1.it)("should render bare mathematical expressions", () => {
131
- const result = (0, render_js_1.render)("{data.count * 2}", {
128
+ it("should render bare mathematical expressions", () => {
129
+ const result = render("{data.count * 2}", {
132
130
  data: {
133
131
  count: { type: "number" },
134
132
  },
@@ -137,10 +135,10 @@ const index_js_3 = require("./evaluate/index.js");
137
135
  data: { count: 42 },
138
136
  components: {},
139
137
  });
140
- (0, vitest_1.expect)(result).toBe(84);
138
+ expect(result).toBe(84);
141
139
  });
142
- (0, vitest_1.it)("should render bare method calls", () => {
143
- const result = (0, render_js_1.render)("{data.text.toUpperCase()}", {
140
+ it("should render bare method calls", () => {
141
+ const result = render("{data.text.toUpperCase()}", {
144
142
  data: {
145
143
  text: { type: "string" },
146
144
  },
@@ -149,10 +147,10 @@ const index_js_3 = require("./evaluate/index.js");
149
147
  data: { text: "hello world" },
150
148
  components: {},
151
149
  });
152
- (0, vitest_1.expect)(result).toBe("HELLO WORLD");
150
+ expect(result).toBe("HELLO WORLD");
153
151
  });
154
- (0, vitest_1.it)("should render bare complex expressions", () => {
155
- const result = (0, render_js_1.render)("{data.numbers.map(x => x * 2).join(', ')}", {
152
+ it("should render bare complex expressions", () => {
153
+ const result = render("{data.numbers.map(x => x * 2).join(', ')}", {
156
154
  data: {
157
155
  numbers: {
158
156
  type: "array",
@@ -164,11 +162,11 @@ const index_js_3 = require("./evaluate/index.js");
164
162
  data: { numbers: [1, 2, 3, 4] },
165
163
  components: {},
166
164
  });
167
- (0, vitest_1.expect)(result).toBe("2, 4, 6, 8");
165
+ expect(result).toBe("2, 4, 6, 8");
168
166
  });
169
- (0, vitest_1.it)("should propagate ParseError for syntax errors", () => {
167
+ it("should propagate ParseError for syntax errors", () => {
170
168
  const TestComponent = () => ({ type: "Test", props: {}, children: [] });
171
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Text>Unclosed", {
169
+ expect(() => render("<Text>Unclosed", {
172
170
  elements: {
173
171
  Text: {
174
172
  props: {},
@@ -176,11 +174,11 @@ const index_js_3 = require("./evaluate/index.js");
176
174
  },
177
175
  }, {
178
176
  components: { Text: TestComponent },
179
- })).toThrow(index_js_1.ParseError);
177
+ })).toThrow(ParseError);
180
178
  });
181
- (0, vitest_1.it)("should propagate AnalysisError for disallowed identifiers", () => {
179
+ it("should propagate AnalysisError for disallowed identifiers", () => {
182
180
  const TestComponent = () => ({ type: "Test", props: {}, children: [] });
183
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Text>{window.location}</Text>", {
181
+ expect(() => render("<Text>{window.location}</Text>", {
184
182
  elements: {
185
183
  Text: {
186
184
  props: {},
@@ -188,11 +186,11 @@ const index_js_3 = require("./evaluate/index.js");
188
186
  },
189
187
  }, {
190
188
  components: { Text: TestComponent },
191
- })).toThrow(index_js_2.AnalysisError);
189
+ })).toThrow(AnalysisError);
192
190
  });
193
- (0, vitest_1.it)("should propagate AnalysisError for unknown JSX elements", () => {
191
+ it("should propagate AnalysisError for unknown JSX elements", () => {
194
192
  const TestComponent = () => ({ type: "Test", props: {}, children: [] });
195
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<UnknownElement>Hello</UnknownElement>", {
193
+ expect(() => render("<UnknownElement>Hello</UnknownElement>", {
196
194
  elements: {
197
195
  Text: {
198
196
  props: {},
@@ -200,11 +198,11 @@ const index_js_3 = require("./evaluate/index.js");
200
198
  },
201
199
  }, {
202
200
  components: { Text: TestComponent },
203
- })).toThrow(index_js_2.AnalysisError);
201
+ })).toThrow(AnalysisError);
204
202
  });
205
- (0, vitest_1.it)("should propagate AnalysisError for disallowed methods", () => {
203
+ it("should propagate AnalysisError for disallowed methods", () => {
206
204
  const TestComponent = () => ({ type: "Test", props: {}, children: [] });
207
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Test>{data.items.push(1)}</Test>", {
205
+ expect(() => render("<Test>{data.items.push(1)}</Test>", {
208
206
  data: {
209
207
  items: {
210
208
  type: "array",
@@ -219,11 +217,11 @@ const index_js_3 = require("./evaluate/index.js");
219
217
  }, {
220
218
  data: { items: [1, 2, 3] },
221
219
  components: { Test: TestComponent },
222
- })).toThrow(index_js_2.AnalysisError);
220
+ })).toThrow(AnalysisError);
223
221
  });
224
- (0, vitest_1.it)("should propagate AnalysisError for unknown components", () => {
222
+ it("should propagate AnalysisError for unknown components", () => {
225
223
  const TestComponent = () => ({ type: "Test", props: {}, children: [] });
226
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Test>Hello</Test>", {
224
+ expect(() => render("<Test>Hello</Test>", {
227
225
  elements: {
228
226
  Test: {
229
227
  props: {},
@@ -233,13 +231,13 @@ const index_js_3 = require("./evaluate/index.js");
233
231
  data: {},
234
232
  components: { Test: TestComponent },
235
233
  })).not.toThrow();
236
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Other>Hello</Other>", {
234
+ expect(() => render("<Other>Hello</Other>", {
237
235
  elements: {},
238
- })).toThrow(index_js_2.AnalysisError);
236
+ })).toThrow(AnalysisError);
239
237
  });
240
- (0, vitest_1.it)("should propagate EvaluationError for runtime errors", () => {
238
+ it("should propagate EvaluationError for runtime errors", () => {
241
239
  const TestComponent = () => ({ type: "Test", props: {}, children: [] });
242
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Test value={data.missing.nested}>Hello</Test>", {
240
+ expect(() => render("<Test value={data.missing.nested}>Hello</Test>", {
243
241
  data: {
244
242
  missing: {
245
243
  type: "object",
@@ -258,14 +256,14 @@ const index_js_3 = require("./evaluate/index.js");
258
256
  }, {
259
257
  data: {},
260
258
  components: { Test: TestComponent },
261
- })).toThrow(index_js_3.EvaluationError);
259
+ })).toThrow(EvaluationError);
262
260
  });
263
- (0, vitest_1.it)("should handle empty options", () => {
264
- (0, vitest_1.expect)(() => (0, render_js_1.render)("<Test>Hello</Test>", { elements: {} })).toThrow(index_js_2.AnalysisError);
261
+ it("should handle empty options", () => {
262
+ expect(() => render("<Test>Hello</Test>", { elements: {} })).toThrow(AnalysisError);
265
263
  });
266
- (0, vitest_1.it)("should handle empty props", () => {
264
+ it("should handle empty props", () => {
267
265
  const TestComponent = () => ({ type: "TestComponent", props: {}, children: [] });
268
- const result = (0, render_js_1.render)("<Test>Hello</Test>", {
266
+ const result = render("<Test>Hello</Test>", {
269
267
  elements: {
270
268
  Test: {
271
269
  props: {},
@@ -274,15 +272,15 @@ const index_js_3 = require("./evaluate/index.js");
274
272
  }, {
275
273
  components: { Test: TestComponent },
276
274
  });
277
- (0, vitest_1.expect)(result.type).toBe("TestComponent");
275
+ expect(result.type).toBe("TestComponent");
278
276
  });
279
- (0, vitest_1.it)("should handle conditional rendering with props", () => {
277
+ it("should handle conditional rendering with props", () => {
280
278
  const TestComponent = (props) => ({
281
279
  type: "Test",
282
280
  props,
283
281
  children: [],
284
282
  });
285
- const result = (0, render_js_1.render)("<Test msg={data.show ? 'visible' : 'hidden'}>Text</Test>", {
283
+ const result = render("<Test msg={data.show ? 'visible' : 'hidden'}>Text</Test>", {
286
284
  data: {
287
285
  show: { type: "boolean" },
288
286
  },
@@ -297,7 +295,7 @@ const index_js_3 = require("./evaluate/index.js");
297
295
  data: { show: false },
298
296
  components: { Test: TestComponent },
299
297
  });
300
- (0, vitest_1.expect)(result.props.msg).toBe("hidden");
298
+ expect(result.props.msg).toBe("hidden");
301
299
  });
302
300
  });
303
301
  //# sourceMappingURL=render.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.test.js","sourceRoot":"","sources":["../src/render.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.test.js","sourceRoot":"","sources":["../src/render.test.ts"],"names":[],"mappings":"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"}