@alloy-js/python 0.5.0-dev.1 → 0.5.0-dev.2

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 (166) hide show
  1. package/dist/dev/src/components/SourceFile.js +44 -32
  2. package/dist/dev/src/components/SourceFile.js.map +1 -1
  3. package/dist/dev/test/callsignatures.test.js +471 -297
  4. package/dist/dev/test/callsignatures.test.js.map +1 -1
  5. package/dist/dev/test/class-method-declaration.test.js +21 -10
  6. package/dist/dev/test/class-method-declaration.test.js.map +1 -1
  7. package/dist/dev/test/classdeclarations.test.js +459 -393
  8. package/dist/dev/test/classdeclarations.test.js.map +1 -1
  9. package/dist/dev/test/classinstantiations.test.js +201 -168
  10. package/dist/dev/test/classinstantiations.test.js.map +1 -1
  11. package/dist/dev/test/constructordeclaration.test.js +22 -11
  12. package/dist/dev/test/constructordeclaration.test.js.map +1 -1
  13. package/dist/dev/test/dataclassdeclarations.test.js +322 -368
  14. package/dist/dev/test/dataclassdeclarations.test.js.map +1 -1
  15. package/dist/dev/test/decoratorlist.test.js +96 -49
  16. package/dist/dev/test/decoratorlist.test.js.map +1 -1
  17. package/dist/dev/test/dundermethoddeclaration.test.js +22 -11
  18. package/dist/dev/test/dundermethoddeclaration.test.js.map +1 -1
  19. package/dist/dev/test/enums.test.js +218 -184
  20. package/dist/dev/test/enums.test.js.map +1 -1
  21. package/dist/dev/test/externals.test.js +57 -45
  22. package/dist/dev/test/externals.test.js.map +1 -1
  23. package/dist/dev/test/factories.test.js +124 -50
  24. package/dist/dev/test/factories.test.js.map +1 -1
  25. package/dist/dev/test/functioncallexpressions.test.js +199 -164
  26. package/dist/dev/test/functioncallexpressions.test.js.map +1 -1
  27. package/dist/dev/test/functiondeclaration.test.js +439 -272
  28. package/dist/dev/test/functiondeclaration.test.js.map +1 -1
  29. package/dist/dev/test/imports.test.js +273 -221
  30. package/dist/dev/test/imports.test.js.map +1 -1
  31. package/dist/dev/test/memberexpressions.test.js +1237 -972
  32. package/dist/dev/test/memberexpressions.test.js.map +1 -1
  33. package/dist/dev/test/methoddeclaration.test.js +142 -78
  34. package/dist/dev/test/methoddeclaration.test.js.map +1 -1
  35. package/dist/dev/test/namepolicies.test.js +130 -94
  36. package/dist/dev/test/namepolicies.test.js.map +1 -1
  37. package/dist/dev/test/propertydeclaration.test.js +88 -59
  38. package/dist/dev/test/propertydeclaration.test.js.map +1 -1
  39. package/dist/dev/test/pydanticclassdeclarations.test.js +299 -347
  40. package/dist/dev/test/pydanticclassdeclarations.test.js.map +1 -1
  41. package/dist/dev/test/pydocs.test.js +888 -715
  42. package/dist/dev/test/pydocs.test.js.map +1 -1
  43. package/dist/dev/test/references.test.js +42 -35
  44. package/dist/dev/test/references.test.js.map +1 -1
  45. package/dist/dev/test/sourcefiles.test.js +1109 -841
  46. package/dist/dev/test/sourcefiles.test.js.map +1 -1
  47. package/dist/dev/test/staticmethoddeclaration.test.js +21 -10
  48. package/dist/dev/test/staticmethoddeclaration.test.js.map +1 -1
  49. package/dist/dev/test/type-checking-imports.test.js +408 -359
  50. package/dist/dev/test/type-checking-imports.test.js.map +1 -1
  51. package/dist/dev/test/typereference.test.js +55 -40
  52. package/dist/dev/test/typereference.test.js.map +1 -1
  53. package/dist/dev/test/uniontypeexpression.test.js +222 -146
  54. package/dist/dev/test/uniontypeexpression.test.js.map +1 -1
  55. package/dist/dev/test/utils.js +39 -77
  56. package/dist/dev/test/utils.js.map +1 -1
  57. package/dist/dev/test/values.test.js +237 -101
  58. package/dist/dev/test/values.test.js.map +1 -1
  59. package/dist/dev/test/variables.test.js +321 -203
  60. package/dist/dev/test/variables.test.js.map +1 -1
  61. package/dist/dev/test/vitest.setup.js +2 -0
  62. package/dist/dev/test/vitest.setup.js.map +1 -0
  63. package/dist/src/components/SourceFile.d.ts +2 -2
  64. package/dist/src/components/SourceFile.d.ts.map +1 -1
  65. package/dist/src/components/SourceFile.js +12 -0
  66. package/dist/src/components/SourceFile.js.map +1 -1
  67. package/dist/test/callsignatures.test.js +346 -272
  68. package/dist/test/callsignatures.test.js.map +1 -1
  69. package/dist/test/class-method-declaration.test.js +7 -4
  70. package/dist/test/class-method-declaration.test.js.map +1 -1
  71. package/dist/test/classdeclarations.test.js +302 -288
  72. package/dist/test/classdeclarations.test.js.map +1 -1
  73. package/dist/test/classinstantiations.test.js +112 -103
  74. package/dist/test/classinstantiations.test.js.map +1 -1
  75. package/dist/test/constructordeclaration.test.js +7 -4
  76. package/dist/test/constructordeclaration.test.js.map +1 -1
  77. package/dist/test/dataclassdeclarations.test.js +134 -184
  78. package/dist/test/dataclassdeclarations.test.js.map +1 -1
  79. package/dist/test/decoratorlist.test.js +59 -36
  80. package/dist/test/decoratorlist.test.js.map +1 -1
  81. package/dist/test/dundermethoddeclaration.test.js +7 -4
  82. package/dist/test/dundermethoddeclaration.test.js.map +1 -1
  83. package/dist/test/enums.test.js +161 -159
  84. package/dist/test/enums.test.js.map +1 -1
  85. package/dist/test/externals.test.js +24 -24
  86. package/dist/test/externals.test.js.map +1 -1
  87. package/dist/test/factories.test.js +75 -33
  88. package/dist/test/factories.test.js.map +1 -1
  89. package/dist/test/functioncallexpressions.test.js +117 -106
  90. package/dist/test/functioncallexpressions.test.js.map +1 -1
  91. package/dist/test/functiondeclaration.test.js +247 -180
  92. package/dist/test/functiondeclaration.test.js.map +1 -1
  93. package/dist/test/imports.test.js +171 -143
  94. package/dist/test/imports.test.js.map +1 -1
  95. package/dist/test/memberexpressions.test.js +582 -453
  96. package/dist/test/memberexpressions.test.js.map +1 -1
  97. package/dist/test/methoddeclaration.test.js +66 -46
  98. package/dist/test/methoddeclaration.test.js.map +1 -1
  99. package/dist/test/namepolicies.test.js +90 -78
  100. package/dist/test/namepolicies.test.js.map +1 -1
  101. package/dist/test/propertydeclaration.test.js +25 -20
  102. package/dist/test/propertydeclaration.test.js.map +1 -1
  103. package/dist/test/pydanticclassdeclarations.test.js +134 -190
  104. package/dist/test/pydanticclassdeclarations.test.js.map +1 -1
  105. package/dist/test/pydocs.test.js +573 -532
  106. package/dist/test/pydocs.test.js.map +1 -1
  107. package/dist/test/references.test.js +31 -28
  108. package/dist/test/references.test.js.map +1 -1
  109. package/dist/test/sourcefiles.test.js +700 -580
  110. package/dist/test/sourcefiles.test.js.map +1 -1
  111. package/dist/test/staticmethoddeclaration.test.js +7 -4
  112. package/dist/test/staticmethoddeclaration.test.js.map +1 -1
  113. package/dist/test/type-checking-imports.test.js +297 -284
  114. package/dist/test/type-checking-imports.test.js.map +1 -1
  115. package/dist/test/typereference.test.js +29 -22
  116. package/dist/test/typereference.test.js.map +1 -1
  117. package/dist/test/uniontypeexpression.test.js +124 -88
  118. package/dist/test/uniontypeexpression.test.js.map +1 -1
  119. package/dist/test/utils.d.ts +10 -17
  120. package/dist/test/utils.d.ts.map +1 -1
  121. package/dist/test/utils.js +32 -74
  122. package/dist/test/utils.js.map +1 -1
  123. package/dist/test/values.test.js +135 -67
  124. package/dist/test/values.test.js.map +1 -1
  125. package/dist/test/variables.test.js +201 -151
  126. package/dist/test/variables.test.js.map +1 -1
  127. package/dist/test/vitest.setup.d.ts +2 -0
  128. package/dist/test/vitest.setup.d.ts.map +1 -0
  129. package/dist/test/vitest.setup.js +2 -0
  130. package/dist/test/vitest.setup.js.map +1 -0
  131. package/dist/tsconfig.tsbuildinfo +1 -1
  132. package/docs/api/components/SourceFile.md +20 -8
  133. package/package.json +2 -2
  134. package/src/components/SourceFile.tsx +6 -1
  135. package/temp/api.json +16 -2
  136. package/test/callsignatures.test.tsx +309 -283
  137. package/test/class-method-declaration.test.tsx +3 -4
  138. package/test/classdeclarations.test.tsx +263 -248
  139. package/test/classinstantiations.test.tsx +115 -109
  140. package/test/constructordeclaration.test.tsx +9 -6
  141. package/test/dataclassdeclarations.test.tsx +243 -361
  142. package/test/decoratorlist.test.tsx +78 -59
  143. package/test/dundermethoddeclaration.test.tsx +3 -4
  144. package/test/enums.test.tsx +65 -81
  145. package/test/externals.test.tsx +25 -25
  146. package/test/factories.test.tsx +64 -22
  147. package/test/functioncallexpressions.test.tsx +123 -109
  148. package/test/functiondeclaration.test.tsx +209 -148
  149. package/test/imports.test.tsx +119 -91
  150. package/test/memberexpressions.test.tsx +265 -207
  151. package/test/methoddeclaration.test.tsx +84 -63
  152. package/test/namepolicies.test.tsx +69 -69
  153. package/test/propertydeclaration.test.tsx +7 -8
  154. package/test/pydanticclassdeclarations.test.tsx +355 -487
  155. package/test/pydocs.test.tsx +531 -579
  156. package/test/references.test.tsx +24 -23
  157. package/test/sourcefiles.test.tsx +527 -492
  158. package/test/staticmethoddeclaration.test.tsx +3 -4
  159. package/test/type-checking-imports.test.tsx +206 -218
  160. package/test/typereference.test.tsx +15 -12
  161. package/test/uniontypeexpression.test.tsx +74 -61
  162. package/test/utils.tsx +26 -110
  163. package/test/values.test.tsx +82 -32
  164. package/test/variables.test.tsx +162 -142
  165. package/test/vitest.setup.ts +1 -0
  166. package/vitest.config.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"names":["refkey","d","describe","expect","it","enumModule","py","toSourceText","result","_$createComponent","ClassEnumDeclaration","name","baseType","decorators","members","value","externals","toRenderTo","expected","jsValue","StatementList","children","ClassDeclaration","auto","FunctionalEnumDeclaration"],"sources":["../../test/enums.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["refkey","describe","expect","it","enumModule","py","TestOutput","_$createComponent","externals","children","ClassEnumDeclaration","name","baseType","decorators","members","value","toRenderTo","jsValue","StatementList","ClassDeclaration","auto","FunctionalEnumDeclaration"],"sources":["../../test/enums.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,9 @@
1
1
  import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { code, refkey } from "@alloy-js/core";
3
- import { d } from "@alloy-js/core/testing";
4
3
  import { expect, it } from "vitest";
5
4
  import * as py from "../src/index.js";
6
5
  import { createModule } from "../src/index.js";
7
- import { toSourceText } from "./utils.js";
6
+ import { TestOutput } from "./utils.js";
8
7
  it("uses import from external library", () => {
9
8
  const requestsLib = createModule({
10
9
  name: "requests",
@@ -14,14 +13,16 @@ it("uses import from external library", () => {
14
13
  "models.anothermodule": ["something"]
15
14
  }
16
15
  });
17
- const result = toSourceText([_$createComponent(py.StatementList, {
16
+ expect(_$createComponent(TestOutput, {
17
+ externals: [requestsLib],
18
18
  get children() {
19
- return [_$memo(() => requestsLib["."].get), _$memo(() => requestsLib["."].post), _$memo(() => requestsLib["models"].Request), _$memo(() => requestsLib["models"].Response), _$memo(() => requestsLib["models.anothermodule"].something)];
19
+ return _$createComponent(py.StatementList, {
20
+ get children() {
21
+ return [_$memo(() => requestsLib["."].get), _$memo(() => requestsLib["."].post), _$memo(() => requestsLib["models"].Request), _$memo(() => requestsLib["models"].Response), _$memo(() => requestsLib["models.anothermodule"].something)];
22
+ }
23
+ });
20
24
  }
21
- })], {
22
- externals: [requestsLib]
23
- });
24
- const expected = d`
25
+ })).toRenderTo(`
25
26
  from requests import get
26
27
  from requests import post
27
28
  from requests.models import Request
@@ -33,8 +34,7 @@ it("uses import from external library", () => {
33
34
  Request
34
35
  Response
35
36
  something
36
- `;
37
- expect(result).toRenderTo(expected);
37
+ `);
38
38
  });
39
39
  it("uses import from external library in multiple functions", () => {
40
40
  const functionDeclarations = [_$createComponent(py.FunctionDeclaration, {
@@ -94,10 +94,12 @@ it("uses import from external library in multiple functions", () => {
94
94
  });
95
95
  }
96
96
  })];
97
- const result = toSourceText(functionDeclarations, {
98
- externals: [py.requestsModule]
99
- });
100
- const expected = d`
97
+ expect(_$createComponent(TestOutput, {
98
+ get externals() {
99
+ return [py.requestsModule];
100
+ },
101
+ children: functionDeclarations
102
+ })).toRenderTo(`
101
103
  from requests import get
102
104
  from requests import post
103
105
  from typing import TYPE_CHECKING
@@ -115,9 +117,7 @@ it("uses import from external library in multiple functions", () => {
115
117
  response = post(1)
116
118
  return response.json()
117
119
 
118
-
119
- `;
120
- expect(result).toRenderTo(expected);
120
+ `);
121
121
  });
122
122
  it("uses import from external library in multiple class methods", () => {
123
123
  const functionDeclarations = [_$createComponent(py.ClassDeclaration, {
@@ -197,10 +197,12 @@ it("uses import from external library in multiple class methods", () => {
197
197
  });
198
198
  }
199
199
  })];
200
- const result = toSourceText(functionDeclarations, {
201
- externals: [py.requestsModule]
202
- });
203
- const expected = d`
200
+ expect(_$createComponent(TestOutput, {
201
+ get externals() {
202
+ return [py.requestsModule];
203
+ },
204
+ children: functionDeclarations
205
+ })).toRenderTo(`
204
206
  from requests import get
205
207
  from requests import post
206
208
  from typing import TYPE_CHECKING
@@ -220,8 +222,6 @@ it("uses import from external library in multiple class methods", () => {
220
222
  return response.json()
221
223
 
222
224
 
223
-
224
- `;
225
- expect(result).toRenderTo(expected);
225
+ `);
226
226
  });
227
227
  //# sourceMappingURL=externals.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["code","refkey","d","expect","it","py","createModule","toSourceText","requestsLib","name","descriptor","models","result","_$createComponent","StatementList","children","_$memo","get","post","Request","Response","something","externals","expected","toRenderTo","functionDeclarations","FunctionDeclaration","parameters","type","returnType","requestsModule","VariableDeclaration","initializer","FunctionCallExpression","target","args","ClassDeclaration","instanceVariable","MethodDeclaration"],"sources":["../../test/externals.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["code","refkey","expect","it","py","createModule","TestOutput","requestsLib","name","descriptor","models","_$createComponent","externals","children","StatementList","_$memo","get","post","Request","Response","something","toRenderTo","functionDeclarations","FunctionDeclaration","parameters","type","returnType","requestsModule","VariableDeclaration","initializer","FunctionCallExpression","target","args","ClassDeclaration","instanceVariable","MethodDeclaration"],"sources":["../../test/externals.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,77 +1,119 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { render } from "@alloy-js/core";
2
3
  import { describe, expect, it } from "vitest";
3
4
  import * as py from "../src/index.js";
4
- import { toSourceText } from "./utils.js";
5
+ import { TestOutput } from "./utils.js";
5
6
  describe("Symbol factories", () => {
6
7
  it("createMethodSymbol throws outside class", () => {
7
8
  expect(() => {
8
- toSourceText([_$createComponent(py.MethodDeclaration, {
9
- name: "m"
10
- })]);
9
+ render(_$createComponent(TestOutput, {
10
+ get children() {
11
+ return _$createComponent(py.MethodDeclaration, {
12
+ name: "m"
13
+ });
14
+ }
15
+ }));
11
16
  }).toThrow('Method "m" must be declared inside a class (member scope)');
12
17
  });
13
18
  it("createMethodSymbol succeeds inside class", () => {
14
- const result = toSourceText([_$createComponent(py.ClassDeclaration, {
15
- name: "C",
19
+ expect(_$createComponent(TestOutput, {
16
20
  get children() {
17
- return _$createComponent(py.MethodDeclaration, {
18
- name: "m"
21
+ return _$createComponent(py.ClassDeclaration, {
22
+ name: "C",
23
+ get children() {
24
+ return _$createComponent(py.MethodDeclaration, {
25
+ name: "m"
26
+ });
27
+ }
19
28
  });
20
29
  }
21
- })]);
22
- expect(result).toContain("def m(self):");
30
+ })).toRenderTo(`
31
+ class C:
32
+ def m(self):
33
+ pass
34
+
35
+
36
+ `);
23
37
  });
24
38
  it("createFunctionSymbol usable in member scope (top-level function component still works nested)", () => {
25
- const result = toSourceText([_$createComponent(py.ClassDeclaration, {
26
- name: "C",
39
+ expect(_$createComponent(TestOutput, {
27
40
  get children() {
28
- return _$createComponent(py.StatementList, {
41
+ return _$createComponent(py.ClassDeclaration, {
42
+ name: "C",
29
43
  get children() {
30
- return _$createComponent(py.FunctionDeclaration, {
31
- name: "f"
44
+ return _$createComponent(py.StatementList, {
45
+ get children() {
46
+ return _$createComponent(py.FunctionDeclaration, {
47
+ name: "f"
48
+ });
49
+ }
32
50
  });
33
51
  }
34
52
  });
35
53
  }
36
- })]);
37
- // Nested free functions render without self/cls
38
- expect(result).toContain("def f():");
54
+ })).toRenderTo(`
55
+ class C:
56
+ def f():
57
+ pass
58
+
59
+
60
+ `);
39
61
  });
40
62
  });
41
63
  describe("Validation Errors", () => {
42
64
  it("throws error when PropertyDeclaration is used outside of a class", () => {
43
65
  expect(() => {
44
- toSourceText([_$createComponent(py.PropertyDeclaration, {
45
- name: "x"
46
- })]);
66
+ render(_$createComponent(TestOutput, {
67
+ get children() {
68
+ return _$createComponent(py.PropertyDeclaration, {
69
+ name: "x"
70
+ });
71
+ }
72
+ }));
47
73
  }).toThrow('Method "x" must be declared inside a class (member scope)');
48
74
  });
49
75
  it("throws error when MethodDeclaration is used outside of a class", () => {
50
76
  expect(() => {
51
- toSourceText([_$createComponent(py.MethodDeclaration, {
52
- name: "my_method"
53
- })]);
77
+ render(_$createComponent(TestOutput, {
78
+ get children() {
79
+ return _$createComponent(py.MethodDeclaration, {
80
+ name: "my_method"
81
+ });
82
+ }
83
+ }));
54
84
  }).toThrow('Method "my_method" must be declared inside a class (member scope)');
55
85
  });
56
86
  it("throws error when ClassMethodDeclaration is used outside of a class", () => {
57
87
  expect(() => {
58
- toSourceText([_$createComponent(py.ClassMethodDeclaration, {
59
- name: "my_class_method"
60
- })]);
88
+ render(_$createComponent(TestOutput, {
89
+ get children() {
90
+ return _$createComponent(py.ClassMethodDeclaration, {
91
+ name: "my_class_method"
92
+ });
93
+ }
94
+ }));
61
95
  }).toThrow('Method "my_class_method" must be declared inside a class (member scope)');
62
96
  });
63
97
  it("throws error when StaticMethodDeclaration is used outside of a class", () => {
64
98
  expect(() => {
65
- toSourceText([_$createComponent(py.StaticMethodDeclaration, {
66
- name: "my_static_method"
67
- })]);
99
+ render(_$createComponent(TestOutput, {
100
+ get children() {
101
+ return _$createComponent(py.StaticMethodDeclaration, {
102
+ name: "my_static_method"
103
+ });
104
+ }
105
+ }));
68
106
  }).toThrow('Method "my_static_method" must be declared inside a class (member scope)');
69
107
  });
70
108
  it("throws error when DunderMethodDeclaration is used outside of a class", () => {
71
109
  expect(() => {
72
- toSourceText([_$createComponent(py.DunderMethodDeclaration, {
73
- name: "__init__"
74
- })]);
110
+ render(_$createComponent(TestOutput, {
111
+ get children() {
112
+ return _$createComponent(py.DunderMethodDeclaration, {
113
+ name: "__init__"
114
+ });
115
+ }
116
+ }));
75
117
  }).toThrow('Method "__init__" must be declared inside a class (member scope)');
76
118
  });
77
119
  });
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","py","toSourceText","_$createComponent","MethodDeclaration","name","toThrow","result","ClassDeclaration","children","toContain","StatementList","FunctionDeclaration","PropertyDeclaration","ClassMethodDeclaration","StaticMethodDeclaration","DunderMethodDeclaration"],"sources":["../../test/factories.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,SAASC,YAAY,QAAQ,YAAY;AAEzCJ,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EACjCE,EAAE,CAAC,yCAAyC,EAAE,MAAM;IAClDD,MAAM,CAAC,MAAM;MACXG,YAAY,CAAC,CAAAC,iBAAA,CAAEF,EAAE,CAACG,iBAAiB;QAACC,IAAI;MAAA,GAAQ,CAAC;IACnD,CAAC,CAAC,CAACC,OAAO,CAAC,2DAA2D,CAAC;EACzE,CAAC,CAAC;EAEFN,EAAE,CAAC,0CAA0C,EAAE,MAAM;IACnD,MAAMO,MAAM,GAAGL,YAAY,CAAC,CAAAC,iBAAA,CACzBF,EAAE,CAACO,gBAAgB;MAACH,IAAI;MAAA,IAAAI,SAAA;QAAA,OAAAN,iBAAA,CACtBF,EAAE,CAACG,iBAAiB;UAACC,IAAI;QAAA;MAAA;IAAA,GAE7B,CAAC;IACFN,MAAM,CAACQ,MAAM,CAAC,CAACG,SAAS,CAAC,cAAc,CAAC;EAC1C,CAAC,CAAC;EAEFV,EAAE,CAAC,+FAA+F,EAAE,MAAM;IACxG,MAAMO,MAAM,GAAGL,YAAY,CAAC,CAAAC,iBAAA,CACzBF,EAAE,CAACO,gBAAgB;MAACH,IAAI;MAAA,IAAAI,SAAA;QAAA,OAAAN,iBAAA,CACtBF,EAAE,CAACU,aAAa;UAAA,IAAAF,SAAA;YAAA,OAAAN,iBAAA,CACdF,EAAE,CAACW,mBAAmB;cAACP,IAAI;YAAA;UAAA;QAAA;MAAA;IAAA,GAGjC,CAAC;IACF;IACAN,MAAM,CAACQ,MAAM,CAAC,CAACG,SAAS,CAAC,UAAU,CAAC;EACtC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFZ,QAAQ,CAAC,mBAAmB,EAAE,MAAM;EAClCE,EAAE,CAAC,kEAAkE,EAAE,MAAM;IAC3ED,MAAM,CAAC,MAAM;MACXG,YAAY,CAAC,CAAAC,iBAAA,CAAEF,EAAE,CAACY,mBAAmB;QAACR,IAAI;MAAA,GAAQ,CAAC;IACrD,CAAC,CAAC,CAACC,OAAO,CAAC,2DAA2D,CAAC;EACzE,CAAC,CAAC;EAEFN,EAAE,CAAC,gEAAgE,EAAE,MAAM;IACzED,MAAM,CAAC,MAAM;MACXG,YAAY,CAAC,CAAAC,iBAAA,CAAEF,EAAE,CAACG,iBAAiB;QAACC,IAAI;MAAA,GAAgB,CAAC;IAC3D,CAAC,CAAC,CAACC,OAAO,CACR,mEACF,CAAC;EACH,CAAC,CAAC;EAEFN,EAAE,CAAC,qEAAqE,EAAE,MAAM;IAC9ED,MAAM,CAAC,MAAM;MACXG,YAAY,CAAC,CAAAC,iBAAA,CAAEF,EAAE,CAACa,sBAAsB;QAACT,IAAI;MAAA,GAAsB,CAAC;IACtE,CAAC,CAAC,CAACC,OAAO,CACR,yEACF,CAAC;EACH,CAAC,CAAC;EAEFN,EAAE,CAAC,sEAAsE,EAAE,MAAM;IAC/ED,MAAM,CAAC,MAAM;MACXG,YAAY,CAAC,CAAAC,iBAAA,CAAEF,EAAE,CAACc,uBAAuB;QAACV,IAAI;MAAA,GAAuB,CAAC;IACxE,CAAC,CAAC,CAACC,OAAO,CACR,0EACF,CAAC;EACH,CAAC,CAAC;EAEFN,EAAE,CAAC,sEAAsE,EAAE,MAAM;IAC/ED,MAAM,CAAC,MAAM;MACXG,YAAY,CAAC,CAAAC,iBAAA,CAAEF,EAAE,CAACe,uBAAuB;QAACX,IAAI;MAAA,GAAe,CAAC;IAChE,CAAC,CAAC,CAACC,OAAO,CACR,kEACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["render","describe","expect","it","py","TestOutput","_$createComponent","children","MethodDeclaration","name","toThrow","ClassDeclaration","toRenderTo","StatementList","FunctionDeclaration","PropertyDeclaration","ClassMethodDeclaration","StaticMethodDeclaration","DunderMethodDeclaration"],"sources":["../../test/factories.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,157 +1,168 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { refkey } from "@alloy-js/core";
3
- import { d } from "@alloy-js/core/testing";
4
3
  import { describe, expect, it } from "vitest";
5
4
  import * as py from "../src/index.js";
6
- import { toSourceText } from "./utils.js";
5
+ import { TestOutput } from "./utils.js";
7
6
  describe("FunctionCallExpression", () => {
8
7
  it("renders", () => {
9
- const result = toSourceText([_$createComponent(py.FunctionCallExpression, {
10
- target: "foo"
11
- })]);
12
- expect(result).toRenderTo(d`
8
+ expect(_$createComponent(TestOutput, {
9
+ get children() {
10
+ return _$createComponent(py.FunctionCallExpression, {
11
+ target: "foo"
12
+ });
13
+ }
14
+ })).toRenderTo(`
13
15
  foo()
14
16
  `);
15
17
  });
16
18
  it("renders with args", () => {
17
- const result = toSourceText([_$createComponent(py.FunctionCallExpression, {
18
- target: "foo",
19
- args: ["a", "b"]
20
- })]);
21
- expect(result).toRenderTo(d`
19
+ expect(_$createComponent(TestOutput, {
20
+ get children() {
21
+ return _$createComponent(py.FunctionCallExpression, {
22
+ target: "foo",
23
+ args: ["a", "b"]
24
+ });
25
+ }
26
+ })).toRenderTo(`
22
27
  foo(a, b)
23
28
  `);
24
29
  });
25
30
  it("function call with variables", () => {
26
- // Creating the reference separately so the naming policy doesn't interfere
27
31
  const methodRef = refkey();
28
- const result = toSourceText([_$createComponent(py.StatementList, {
32
+ expect(_$createComponent(TestOutput, {
29
33
  get children() {
30
- return [_$createComponent(py.FunctionDeclaration, {
31
- name: "runFunc",
32
- refkey: methodRef
33
- }), _$createComponent(py.FunctionCallExpression, {
34
- target: methodRef,
35
- get args() {
36
- return [_$createComponent(py.Atom, {
37
- jsValue: "A name"
38
- }), _$createComponent(py.Atom, {
39
- jsValue: 42
40
- }), _$createComponent(py.Atom, {
41
- jsValue: true
34
+ return _$createComponent(py.StatementList, {
35
+ get children() {
36
+ return [_$createComponent(py.FunctionDeclaration, {
37
+ name: "runFunc",
38
+ refkey: methodRef
39
+ }), _$createComponent(py.FunctionCallExpression, {
40
+ target: methodRef,
41
+ get args() {
42
+ return [_$createComponent(py.Atom, {
43
+ jsValue: "A name"
44
+ }), _$createComponent(py.Atom, {
45
+ jsValue: 42
46
+ }), _$createComponent(py.Atom, {
47
+ jsValue: true
48
+ })];
49
+ }
42
50
  })];
43
51
  }
44
- })];
52
+ });
45
53
  }
46
- })]);
47
- const expected = d`
54
+ })).toRenderTo(`
48
55
  def run_func():
49
56
  pass
50
57
 
51
58
  run_func("A name", 42, True)
52
- `;
53
- expect(result).toRenderTo(expected);
59
+ `);
54
60
  });
55
61
  it("function call with variables and assignment", () => {
56
- // Creating the reference separately so the naming policy doesn't interfere
57
62
  const methodRef = refkey();
58
- const result = toSourceText([_$createComponent(py.StatementList, {
63
+ expect(_$createComponent(TestOutput, {
59
64
  get children() {
60
- return [_$createComponent(py.FunctionDeclaration, {
61
- name: "runFunc",
62
- returnType: "str",
63
- refkey: methodRef,
64
- parameters: [{
65
- name: "name",
66
- type: "str"
67
- }, {
68
- name: "number",
69
- type: "int"
70
- }, {
71
- name: "flag",
72
- type: "bool"
73
- }]
74
- }), _$createComponent(py.VariableDeclaration, {
75
- name: "result",
76
- type: "str",
77
- get initializer() {
78
- return _$createComponent(py.FunctionCallExpression, {
79
- target: methodRef,
80
- get args() {
81
- return [_$createComponent(py.Atom, {
82
- jsValue: "A name"
83
- }), _$createComponent(py.Atom, {
84
- jsValue: 42
85
- }), _$createComponent(py.Atom, {
86
- jsValue: true
87
- })];
65
+ return _$createComponent(py.StatementList, {
66
+ get children() {
67
+ return [_$createComponent(py.FunctionDeclaration, {
68
+ name: "runFunc",
69
+ returnType: "str",
70
+ refkey: methodRef,
71
+ parameters: [{
72
+ name: "name",
73
+ type: "str"
74
+ }, {
75
+ name: "number",
76
+ type: "int"
77
+ }, {
78
+ name: "flag",
79
+ type: "bool"
80
+ }]
81
+ }), _$createComponent(py.VariableDeclaration, {
82
+ name: "result",
83
+ type: "str",
84
+ get initializer() {
85
+ return _$createComponent(py.FunctionCallExpression, {
86
+ target: methodRef,
87
+ get args() {
88
+ return [_$createComponent(py.Atom, {
89
+ jsValue: "A name"
90
+ }), _$createComponent(py.Atom, {
91
+ jsValue: 42
92
+ }), _$createComponent(py.Atom, {
93
+ jsValue: true
94
+ })];
95
+ }
96
+ });
88
97
  }
89
- });
98
+ })];
90
99
  }
91
- })];
100
+ });
92
101
  }
93
- })]);
94
- const expected = d`
102
+ })).toRenderTo(`
95
103
  def run_func(name: str, number: int, flag: bool) -> str:
96
104
  pass
97
105
 
98
106
  result: str = run_func("A name", 42, True)
99
- `;
100
- expect(result).toRenderTo(expected);
107
+ `);
101
108
  });
102
109
  it("Method call without a reference and with call statement vars", () => {
103
- const result = toSourceText([_$createComponent(py.StatementList, {
110
+ expect(_$createComponent(TestOutput, {
104
111
  get children() {
105
- return _$createComponent(py.FunctionCallExpression, {
106
- target: "example_method",
107
- get args() {
108
- return [_$createComponent(py.VariableDeclaration, {
109
- name: "name",
110
- initializer: "A name",
111
- callStatementVar: true
112
- }), _$createComponent(py.VariableDeclaration, {
113
- name: "number",
114
- initializer: 42,
115
- callStatementVar: true
116
- }), _$createComponent(py.VariableDeclaration, {
117
- name: "flag",
118
- initializer: true,
119
- callStatementVar: true
120
- })];
112
+ return _$createComponent(py.StatementList, {
113
+ get children() {
114
+ return _$createComponent(py.FunctionCallExpression, {
115
+ target: "example_method",
116
+ get args() {
117
+ return [_$createComponent(py.VariableDeclaration, {
118
+ name: "name",
119
+ initializer: "A name",
120
+ callStatementVar: true
121
+ }), _$createComponent(py.VariableDeclaration, {
122
+ name: "number",
123
+ initializer: 42,
124
+ callStatementVar: true
125
+ }), _$createComponent(py.VariableDeclaration, {
126
+ name: "flag",
127
+ initializer: true,
128
+ callStatementVar: true
129
+ })];
130
+ }
131
+ });
121
132
  }
122
133
  });
123
134
  }
124
- })]);
125
- const expected = d`
135
+ })).toRenderTo(`
126
136
  example_method(name="A name", number=42, flag=True)
127
- `;
128
- expect(result).toRenderTo(expected);
137
+ `);
129
138
  });
130
139
  it("Method call without a reference mixing unnamed and named vars", () => {
131
- const result = toSourceText([_$createComponent(py.StatementList, {
140
+ expect(_$createComponent(TestOutput, {
132
141
  get children() {
133
- return _$createComponent(py.FunctionCallExpression, {
134
- target: "example_method",
135
- get args() {
136
- return [_$createComponent(py.Atom, {
137
- jsValue: "A name"
138
- }), _$createComponent(py.VariableDeclaration, {
139
- name: "number",
140
- initializer: 42,
141
- callStatementVar: true
142
- }), _$createComponent(py.VariableDeclaration, {
143
- name: "flag",
144
- initializer: true,
145
- callStatementVar: true
146
- })];
142
+ return _$createComponent(py.StatementList, {
143
+ get children() {
144
+ return _$createComponent(py.FunctionCallExpression, {
145
+ target: "example_method",
146
+ get args() {
147
+ return [_$createComponent(py.Atom, {
148
+ jsValue: "A name"
149
+ }), _$createComponent(py.VariableDeclaration, {
150
+ name: "number",
151
+ initializer: 42,
152
+ callStatementVar: true
153
+ }), _$createComponent(py.VariableDeclaration, {
154
+ name: "flag",
155
+ initializer: true,
156
+ callStatementVar: true
157
+ })];
158
+ }
159
+ });
147
160
  }
148
161
  });
149
162
  }
150
- })]);
151
- const expected = d`
163
+ })).toRenderTo(`
152
164
  example_method("A name", number=42, flag=True)
153
- `;
154
- expect(result).toRenderTo(expected);
165
+ `);
155
166
  });
156
167
  });
157
168
  //# sourceMappingURL=functioncallexpressions.test.js.map