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