@alloy-js/python 0.4.0-dev.2 → 0.4.0-dev.5

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 (258) hide show
  1. package/dist/dev/src/builtins/python.js +30 -0
  2. package/dist/dev/src/builtins/python.js.map +1 -0
  3. package/dist/dev/src/components/Atom.js +122 -0
  4. package/dist/dev/src/components/Atom.js.map +1 -0
  5. package/dist/dev/src/components/CallSignature.js +195 -0
  6. package/dist/dev/src/components/CallSignature.js.map +1 -0
  7. package/dist/dev/src/components/ClassDeclaration.js +112 -0
  8. package/dist/dev/src/components/ClassDeclaration.js.map +1 -0
  9. package/dist/dev/src/components/ClassInstantiation.js +40 -0
  10. package/dist/dev/src/components/ClassInstantiation.js.map +1 -0
  11. package/dist/dev/src/components/ClassMethodDeclaration.js +40 -0
  12. package/dist/dev/src/components/ClassMethodDeclaration.js.map +1 -0
  13. package/dist/dev/src/components/ConstructorDeclaration.js +39 -0
  14. package/dist/dev/src/components/ConstructorDeclaration.js.map +1 -0
  15. package/dist/dev/src/components/DataclassDeclaration.js +177 -0
  16. package/dist/dev/src/components/DataclassDeclaration.js.map +1 -0
  17. package/dist/dev/src/components/Declaration.js +31 -0
  18. package/dist/dev/src/components/Declaration.js.map +1 -0
  19. package/dist/dev/src/components/DunderMethodDeclaration.js +33 -0
  20. package/dist/dev/src/components/DunderMethodDeclaration.js.map +1 -0
  21. package/dist/dev/src/components/EnumDeclaration.js +259 -0
  22. package/dist/dev/src/components/EnumDeclaration.js.map +1 -0
  23. package/dist/dev/src/components/EnumMember.js +95 -0
  24. package/dist/dev/src/components/EnumMember.js.map +1 -0
  25. package/dist/dev/src/components/FunctionBase.js +130 -0
  26. package/dist/dev/src/components/FunctionBase.js.map +1 -0
  27. package/dist/dev/src/components/FunctionCallExpression.js +53 -0
  28. package/dist/dev/src/components/FunctionCallExpression.js.map +1 -0
  29. package/dist/dev/src/components/FunctionDeclaration.js +45 -0
  30. package/dist/dev/src/components/FunctionDeclaration.js.map +1 -0
  31. package/dist/dev/src/components/FutureStatement.js +31 -0
  32. package/dist/dev/src/components/FutureStatement.js.map +1 -0
  33. package/dist/dev/src/components/ImportStatement.js +167 -0
  34. package/dist/dev/src/components/ImportStatement.js.map +1 -0
  35. package/dist/dev/src/components/LexicalScope.js +26 -0
  36. package/dist/dev/src/components/LexicalScope.js.map +1 -0
  37. package/dist/dev/src/components/MemberExpression.js +290 -0
  38. package/dist/dev/src/components/MemberExpression.js.map +1 -0
  39. package/dist/dev/src/components/MemberScope.js +23 -0
  40. package/dist/dev/src/components/MemberScope.js.map +1 -0
  41. package/dist/dev/src/components/MethodBase.js +40 -0
  42. package/dist/dev/src/components/MethodBase.js.map +1 -0
  43. package/dist/dev/src/components/MethodDeclaration.js +38 -0
  44. package/dist/dev/src/components/MethodDeclaration.js.map +1 -0
  45. package/dist/dev/src/components/PropertyDeclaration.js +287 -0
  46. package/dist/dev/src/components/PropertyDeclaration.js.map +1 -0
  47. package/dist/dev/src/components/PyDoc.js +1478 -0
  48. package/dist/dev/src/components/PyDoc.js.map +1 -0
  49. package/dist/dev/src/components/PythonBlock.js +35 -0
  50. package/dist/dev/src/components/PythonBlock.js.map +1 -0
  51. package/dist/dev/src/components/Reference.js +23 -0
  52. package/dist/dev/src/components/Reference.js.map +1 -0
  53. package/dist/dev/src/components/SourceFile.js +385 -0
  54. package/dist/dev/src/components/SourceFile.js.map +1 -0
  55. package/dist/dev/src/components/StatementList.js +34 -0
  56. package/dist/dev/src/components/StatementList.js.map +1 -0
  57. package/dist/dev/src/components/StaticMethodDeclaration.js +40 -0
  58. package/dist/dev/src/components/StaticMethodDeclaration.js.map +1 -0
  59. package/dist/dev/src/components/TypeArguments.js +22 -0
  60. package/dist/dev/src/components/TypeArguments.js.map +1 -0
  61. package/dist/dev/src/components/TypeRefContext.js +33 -0
  62. package/dist/dev/src/components/TypeRefContext.js.map +1 -0
  63. package/dist/dev/src/components/TypeReference.js +67 -0
  64. package/dist/dev/src/components/TypeReference.js.map +1 -0
  65. package/dist/dev/src/components/UnionTypeExpression.js +57 -0
  66. package/dist/dev/src/components/UnionTypeExpression.js.map +1 -0
  67. package/dist/dev/src/components/VariableDeclaration.js +150 -0
  68. package/dist/dev/src/components/VariableDeclaration.js.map +1 -0
  69. package/dist/dev/src/components/index.js +32 -0
  70. package/dist/dev/src/components/index.js.map +1 -0
  71. package/dist/dev/src/context/index.js +2 -0
  72. package/dist/dev/src/context/index.js.map +1 -0
  73. package/dist/dev/src/context/type-ref-context.js +17 -0
  74. package/dist/dev/src/context/type-ref-context.js.map +1 -0
  75. package/dist/dev/src/create-module.js +64 -0
  76. package/dist/dev/src/create-module.js.map +1 -0
  77. package/dist/dev/src/index.js +8 -0
  78. package/dist/dev/src/index.js.map +1 -0
  79. package/dist/dev/src/name-conflict-resolver.js +8 -0
  80. package/dist/dev/src/name-conflict-resolver.js.map +1 -0
  81. package/dist/dev/src/name-policy.js +48 -0
  82. package/dist/dev/src/name-policy.js.map +1 -0
  83. package/dist/dev/src/parameter-descriptor.js +8 -0
  84. package/dist/dev/src/parameter-descriptor.js.map +1 -0
  85. package/dist/dev/src/symbol-creation.js +58 -0
  86. package/dist/dev/src/symbol-creation.js.map +1 -0
  87. package/dist/dev/src/symbols/factories.js +28 -0
  88. package/dist/dev/src/symbols/factories.js.map +1 -0
  89. package/dist/dev/src/symbols/index.js +8 -0
  90. package/dist/dev/src/symbols/index.js.map +1 -0
  91. package/dist/dev/src/symbols/python-lexical-scope.js +15 -0
  92. package/dist/dev/src/symbols/python-lexical-scope.js.map +1 -0
  93. package/dist/dev/src/symbols/python-member-scope.js +7 -0
  94. package/dist/dev/src/symbols/python-member-scope.js.map +1 -0
  95. package/dist/dev/src/symbols/python-module-scope.js +86 -0
  96. package/dist/dev/src/symbols/python-module-scope.js.map +1 -0
  97. package/dist/dev/src/symbols/python-output-symbol.js +73 -0
  98. package/dist/dev/src/symbols/python-output-symbol.js.map +1 -0
  99. package/dist/dev/src/symbols/reference.js +87 -0
  100. package/dist/dev/src/symbols/reference.js.map +1 -0
  101. package/dist/dev/src/symbols/scopes.js +13 -0
  102. package/dist/dev/src/symbols/scopes.js.map +1 -0
  103. package/dist/dev/src/utils.js +13 -0
  104. package/dist/dev/src/utils.js.map +1 -0
  105. package/dist/dev/test/callsignatures.test.js +482 -0
  106. package/dist/dev/test/callsignatures.test.js.map +1 -0
  107. package/dist/dev/test/class-method-declaration.test.js +85 -0
  108. package/dist/dev/test/class-method-declaration.test.js.map +1 -0
  109. package/dist/dev/test/classdeclarations.test.js +654 -0
  110. package/dist/dev/test/classdeclarations.test.js.map +1 -0
  111. package/dist/dev/test/classinstantiations.test.js +281 -0
  112. package/dist/dev/test/classinstantiations.test.js.map +1 -0
  113. package/dist/dev/test/constructordeclaration.test.js +86 -0
  114. package/dist/dev/test/constructordeclaration.test.js.map +1 -0
  115. package/dist/dev/test/dataclassdeclarations.test.js +1068 -0
  116. package/dist/dev/test/dataclassdeclarations.test.js.map +1 -0
  117. package/dist/dev/test/dundermethoddeclaration.test.js +93 -0
  118. package/dist/dev/test/dundermethoddeclaration.test.js.map +1 -0
  119. package/dist/dev/test/enums.test.js +263 -0
  120. package/dist/dev/test/enums.test.js.map +1 -0
  121. package/dist/dev/test/externals.test.js +307 -0
  122. package/dist/dev/test/externals.test.js.map +1 -0
  123. package/dist/dev/test/factories.test.js +122 -0
  124. package/dist/dev/test/factories.test.js.map +1 -0
  125. package/dist/dev/test/functioncallexpressions.test.js +257 -0
  126. package/dist/dev/test/functioncallexpressions.test.js.map +1 -0
  127. package/dist/dev/test/functiondeclaration.test.js +817 -0
  128. package/dist/dev/test/functiondeclaration.test.js.map +1 -0
  129. package/dist/dev/test/imports.test.js +372 -0
  130. package/dist/dev/test/imports.test.js.map +1 -0
  131. package/dist/dev/test/memberexpressions.test.js +1668 -0
  132. package/dist/dev/test/memberexpressions.test.js.map +1 -0
  133. package/dist/dev/test/methoddeclaration.test.js +344 -0
  134. package/dist/dev/test/methoddeclaration.test.js.map +1 -0
  135. package/dist/dev/test/namepolicies.test.js +154 -0
  136. package/dist/dev/test/namepolicies.test.js.map +1 -0
  137. package/dist/dev/test/propertydeclaration.test.js +354 -0
  138. package/dist/dev/test/propertydeclaration.test.js.map +1 -0
  139. package/dist/dev/test/pydocs.test.js +1675 -0
  140. package/dist/dev/test/pydocs.test.js.map +1 -0
  141. package/dist/dev/test/references.test.js +66 -0
  142. package/dist/dev/test/references.test.js.map +1 -0
  143. package/dist/dev/test/sourcefiles.test.js +1802 -0
  144. package/dist/dev/test/sourcefiles.test.js.map +1 -0
  145. package/dist/dev/test/staticmethoddeclaration.test.js +85 -0
  146. package/dist/dev/test/staticmethoddeclaration.test.js.map +1 -0
  147. package/dist/dev/test/type-checking-imports.test.js +617 -0
  148. package/dist/dev/test/type-checking-imports.test.js.map +1 -0
  149. package/dist/dev/test/typereference.test.js +79 -0
  150. package/dist/dev/test/typereference.test.js.map +1 -0
  151. package/dist/dev/test/uniontypeexpression.test.js +307 -0
  152. package/dist/dev/test/uniontypeexpression.test.js.map +1 -0
  153. package/dist/dev/test/utils.js +100 -0
  154. package/dist/dev/test/utils.js.map +1 -0
  155. package/dist/dev/test/values.test.js +182 -0
  156. package/dist/dev/test/values.test.js.map +1 -0
  157. package/dist/dev/test/variables.test.js +363 -0
  158. package/dist/dev/test/variables.test.js.map +1 -0
  159. package/dist/src/components/CallSignature.d.ts.map +1 -1
  160. package/dist/src/components/CallSignature.js +12 -3
  161. package/dist/src/components/CallSignature.js.map +1 -1
  162. package/dist/src/components/ImportStatement.d.ts +12 -0
  163. package/dist/src/components/ImportStatement.d.ts.map +1 -1
  164. package/dist/src/components/ImportStatement.js +47 -5
  165. package/dist/src/components/ImportStatement.js.map +1 -1
  166. package/dist/src/components/MemberExpression.d.ts +1 -1
  167. package/dist/src/components/MemberExpression.d.ts.map +1 -1
  168. package/dist/src/components/MemberExpression.js +98 -180
  169. package/dist/src/components/MemberExpression.js.map +1 -1
  170. package/dist/src/components/Reference.d.ts.map +1 -1
  171. package/dist/src/components/Reference.js +5 -1
  172. package/dist/src/components/Reference.js.map +1 -1
  173. package/dist/src/components/SourceFile.d.ts +1 -1
  174. package/dist/src/components/SourceFile.d.ts.map +1 -1
  175. package/dist/src/components/SourceFile.js +46 -7
  176. package/dist/src/components/SourceFile.js.map +1 -1
  177. package/dist/src/components/TypeRefContext.d.ts +26 -0
  178. package/dist/src/components/TypeRefContext.d.ts.map +1 -0
  179. package/dist/src/components/TypeRefContext.js +29 -0
  180. package/dist/src/components/TypeRefContext.js.map +1 -0
  181. package/dist/src/components/TypeReference.d.ts +5 -0
  182. package/dist/src/components/TypeReference.d.ts.map +1 -1
  183. package/dist/src/components/TypeReference.js +19 -9
  184. package/dist/src/components/TypeReference.js.map +1 -1
  185. package/dist/src/components/VariableDeclaration.d.ts.map +1 -1
  186. package/dist/src/components/VariableDeclaration.js +7 -2
  187. package/dist/src/components/VariableDeclaration.js.map +1 -1
  188. package/dist/src/components/index.d.ts +1 -1
  189. package/dist/src/components/index.d.ts.map +1 -1
  190. package/dist/src/components/index.js +1 -1
  191. package/dist/src/components/index.js.map +1 -1
  192. package/dist/src/context/index.d.ts +2 -0
  193. package/dist/src/context/index.d.ts.map +1 -0
  194. package/dist/src/context/index.js +2 -0
  195. package/dist/src/context/index.js.map +1 -0
  196. package/dist/src/context/type-ref-context.d.ts +13 -0
  197. package/dist/src/context/type-ref-context.d.ts.map +1 -0
  198. package/dist/src/context/type-ref-context.js +17 -0
  199. package/dist/src/context/type-ref-context.js.map +1 -0
  200. package/dist/src/symbols/python-module-scope.d.ts +13 -1
  201. package/dist/src/symbols/python-module-scope.d.ts.map +1 -1
  202. package/dist/src/symbols/python-module-scope.js +36 -2
  203. package/dist/src/symbols/python-module-scope.js.map +1 -1
  204. package/dist/src/symbols/python-output-symbol.d.ts +11 -0
  205. package/dist/src/symbols/python-output-symbol.d.ts.map +1 -1
  206. package/dist/src/symbols/python-output-symbol.js +26 -2
  207. package/dist/src/symbols/python-output-symbol.js.map +1 -1
  208. package/dist/src/symbols/reference.d.ts +8 -1
  209. package/dist/src/symbols/reference.d.ts.map +1 -1
  210. package/dist/src/symbols/reference.js +4 -2
  211. package/dist/src/symbols/reference.js.map +1 -1
  212. package/dist/test/dataclassdeclarations.test.js +5 -2
  213. package/dist/test/dataclassdeclarations.test.js.map +1 -1
  214. package/dist/test/externals.test.js +8 -2
  215. package/dist/test/externals.test.js.map +1 -1
  216. package/dist/test/functiondeclaration.test.js +6 -3
  217. package/dist/test/functiondeclaration.test.js.map +1 -1
  218. package/dist/test/imports.test.js +3 -3
  219. package/dist/test/imports.test.js.map +1 -1
  220. package/dist/test/references.test.js +1 -1
  221. package/dist/test/references.test.js.map +1 -1
  222. package/dist/test/sourcefiles.test.js +26 -26
  223. package/dist/test/sourcefiles.test.js.map +1 -1
  224. package/dist/test/type-checking-imports.test.d.ts +2 -0
  225. package/dist/test/type-checking-imports.test.d.ts.map +1 -0
  226. package/dist/test/type-checking-imports.test.js +437 -0
  227. package/dist/test/type-checking-imports.test.js.map +1 -0
  228. package/dist/test/uniontypeexpression.test.js +4 -1
  229. package/dist/test/uniontypeexpression.test.js.map +1 -1
  230. package/dist/test/variables.test.js +4 -1
  231. package/dist/test/variables.test.js.map +1 -1
  232. package/dist/tsconfig.tsbuildinfo +1 -1
  233. package/package.json +6 -4
  234. package/src/components/CallSignature.tsx +6 -2
  235. package/src/components/ImportStatement.tsx +52 -5
  236. package/src/components/MemberExpression.tsx +174 -298
  237. package/src/components/Reference.tsx +3 -1
  238. package/src/components/SourceFile.tsx +44 -8
  239. package/src/components/TypeRefContext.tsx +36 -0
  240. package/src/components/TypeReference.tsx +15 -7
  241. package/src/components/VariableDeclaration.tsx +5 -1
  242. package/src/components/index.ts +1 -1
  243. package/src/context/index.ts +1 -0
  244. package/src/context/type-ref-context.tsx +16 -0
  245. package/src/symbols/python-module-scope.ts +55 -2
  246. package/src/symbols/python-output-symbol.ts +32 -1
  247. package/src/symbols/reference.tsx +10 -0
  248. package/temp/api.json +443 -338
  249. package/test/dataclassdeclarations.test.tsx +8 -2
  250. package/test/externals.test.tsx +8 -2
  251. package/test/functiondeclaration.test.tsx +6 -3
  252. package/test/imports.test.tsx +6 -6
  253. package/test/references.test.tsx +1 -1
  254. package/test/sourcefiles.test.tsx +13 -13
  255. package/test/type-checking-imports.test.tsx +363 -0
  256. package/test/uniontypeexpression.test.tsx +4 -1
  257. package/test/variables.test.tsx +4 -1
  258. package/vitest.config.ts +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["code","memberRefkey","refkey","d","describe","expect","it","py","ClassDeclaration","FunctionDeclaration","SourceFile","VariableDeclaration","assertFileContents","toSourceText","toSourceTextMultiple","_$createComponent","MemberExpression","children","Part","id","fileName","import","meta","url","lineNumber","columnNumber","toBe","key","rk1","StatementList","name","initializer","keys","rk2","slice","start","stop","step","rk3","xRefkey","toThrowError","args","model1Ref","model2Ref","classMethod1Ref","classMethod2Ref","v1Rk","v2Rk","template","type","omitNone","instanceVariable","_$memo","fooRef","modelRef","parameters","default","messageRef","classRefkey","interfaceRefkey","interfaceMemberRefkey","classMethodRefkey","classMemberRefkey","instanceRefkey","_$createIntrinsic","returnType","res","path","yRefkey","printOptions","printWidth"],"sources":["../../../test/memberexpressions.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,344 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { d } from "@alloy-js/core/testing";
3
+ import { describe, expect, it } from "vitest";
4
+ import * as py from "../src/index.js";
5
+ import { abcModule } from "../src/index.js";
6
+ import { toSourceText } from "./utils.js";
7
+ describe("Method-like Declarations", () => {
8
+ it("renders an instance function with a body", () => {
9
+ const result = toSourceText([_$createComponent(py.ClassDeclaration, {
10
+ name: "MyClass",
11
+ get children() {
12
+ return _$createComponent(py.MethodDeclaration, {
13
+ name: "bar",
14
+ children: "print('hi')"
15
+ }, {
16
+ fileName: import.meta.url,
17
+ lineNumber: 11,
18
+ columnNumber: 9
19
+ });
20
+ }
21
+ }, {
22
+ fileName: import.meta.url,
23
+ lineNumber: 10,
24
+ columnNumber: 7
25
+ })]);
26
+ expect(result).toRenderTo(d`
27
+ class MyClass:
28
+ def bar(self):
29
+ print('hi')
30
+
31
+
32
+
33
+ `);
34
+ });
35
+ it("can be an async method", () => {
36
+ const decl = _$createComponent(py.StatementList, {
37
+ get children() {
38
+ return _$createComponent(py.ClassDeclaration, {
39
+ name: "MyClass",
40
+ get children() {
41
+ return _$createComponent(py.StatementList, {
42
+ get children() {
43
+ return _$createComponent(py.MethodDeclaration, {
44
+ async: true,
45
+ name: "my_method",
46
+ returnType: "str",
47
+ children: "return \"async result\""
48
+ }, {
49
+ fileName: import.meta.url,
50
+ lineNumber: 29,
51
+ columnNumber: 13
52
+ });
53
+ }
54
+ }, {
55
+ fileName: import.meta.url,
56
+ lineNumber: 28,
57
+ columnNumber: 11
58
+ });
59
+ }
60
+ }, {
61
+ fileName: import.meta.url,
62
+ lineNumber: 27,
63
+ columnNumber: 9
64
+ });
65
+ }
66
+ }, {
67
+ fileName: import.meta.url,
68
+ lineNumber: 26,
69
+ columnNumber: 7
70
+ });
71
+ expect(toSourceText([decl])).toBe(d`
72
+ class MyClass:
73
+ async def my_method(self) -> str:
74
+ return "async result"
75
+
76
+
77
+ `);
78
+ });
79
+ it("can be an async class method", () => {
80
+ const decl = _$createComponent(py.StatementList, {
81
+ get children() {
82
+ return _$createComponent(py.ClassDeclaration, {
83
+ name: "MyClass",
84
+ get children() {
85
+ return _$createComponent(py.StatementList, {
86
+ get children() {
87
+ return _$createComponent(py.ClassMethodDeclaration, {
88
+ async: true,
89
+ name: "create_async",
90
+ returnType: "MyClass",
91
+ children: "return cls()"
92
+ }, {
93
+ fileName: import.meta.url,
94
+ lineNumber: 51,
95
+ columnNumber: 13
96
+ });
97
+ }
98
+ }, {
99
+ fileName: import.meta.url,
100
+ lineNumber: 50,
101
+ columnNumber: 11
102
+ });
103
+ }
104
+ }, {
105
+ fileName: import.meta.url,
106
+ lineNumber: 49,
107
+ columnNumber: 9
108
+ });
109
+ }
110
+ }, {
111
+ fileName: import.meta.url,
112
+ lineNumber: 48,
113
+ columnNumber: 7
114
+ });
115
+ expect(toSourceText([decl])).toBe(d`
116
+ class MyClass:
117
+ @classmethod
118
+ async def create_async(cls) -> MyClass:
119
+ return cls()
120
+
121
+
122
+ `);
123
+ });
124
+ it("can be an async static method", () => {
125
+ const decl = _$createComponent(py.StatementList, {
126
+ get children() {
127
+ return _$createComponent(py.ClassDeclaration, {
128
+ name: "MyClass",
129
+ get children() {
130
+ return _$createComponent(py.StatementList, {
131
+ get children() {
132
+ return _$createComponent(py.StaticMethodDeclaration, {
133
+ async: true,
134
+ name: "utility",
135
+ returnType: "str",
136
+ children: "return \"utility result\""
137
+ }, {
138
+ fileName: import.meta.url,
139
+ lineNumber: 78,
140
+ columnNumber: 13
141
+ });
142
+ }
143
+ }, {
144
+ fileName: import.meta.url,
145
+ lineNumber: 77,
146
+ columnNumber: 11
147
+ });
148
+ }
149
+ }, {
150
+ fileName: import.meta.url,
151
+ lineNumber: 76,
152
+ columnNumber: 9
153
+ });
154
+ }
155
+ }, {
156
+ fileName: import.meta.url,
157
+ lineNumber: 75,
158
+ columnNumber: 7
159
+ });
160
+ expect(toSourceText([decl])).toBe(d`
161
+ class MyClass:
162
+ @staticmethod
163
+ async def utility() -> str:
164
+ return "utility result"
165
+
166
+
167
+ `);
168
+ });
169
+ it("renders method with parameters", () => {
170
+ const parameters = [{
171
+ name: "x",
172
+ type: "int"
173
+ }];
174
+ const decl = _$createComponent(py.ClassDeclaration, {
175
+ name: "MyClass",
176
+ get children() {
177
+ return _$createComponent(py.MethodDeclaration, {
178
+ name: "foo",
179
+ parameters: parameters,
180
+ children: "self.attribute = \"value\""
181
+ }, {
182
+ fileName: import.meta.url,
183
+ lineNumber: 100,
184
+ columnNumber: 9
185
+ });
186
+ }
187
+ }, {
188
+ fileName: import.meta.url,
189
+ lineNumber: 99,
190
+ columnNumber: 7
191
+ });
192
+ expect(toSourceText([decl])).toBe(d`
193
+ class MyClass:
194
+ def foo(self, x: int):
195
+ self.attribute = "value"
196
+
197
+
198
+ `);
199
+ });
200
+ it("renders class method with parameters", () => {
201
+ const parameters = [{
202
+ name: "x",
203
+ type: "int"
204
+ }];
205
+ const decl = _$createComponent(py.ClassDeclaration, {
206
+ name: "MyClass",
207
+ get children() {
208
+ return _$createComponent(py.ClassMethodDeclaration, {
209
+ name: "foo",
210
+ parameters: parameters,
211
+ children: "self.attribute = \"value\""
212
+ }, {
213
+ fileName: import.meta.url,
214
+ lineNumber: 119,
215
+ columnNumber: 9
216
+ });
217
+ }
218
+ }, {
219
+ fileName: import.meta.url,
220
+ lineNumber: 118,
221
+ columnNumber: 7
222
+ });
223
+ expect(toSourceText([decl])).toBe(d`
224
+ class MyClass:
225
+ @classmethod
226
+ def foo(cls, x: int):
227
+ self.attribute = "value"
228
+
229
+
230
+ `);
231
+ });
232
+ it("renders static method with parameters", () => {
233
+ const parameters = [{
234
+ name: "x",
235
+ type: "int"
236
+ }];
237
+ const decl = _$createComponent(py.ClassDeclaration, {
238
+ name: "MyClass",
239
+ get children() {
240
+ return _$createComponent(py.StaticMethodDeclaration, {
241
+ name: "foo",
242
+ parameters: parameters,
243
+ children: "attribute = \"value\""
244
+ }, {
245
+ fileName: import.meta.url,
246
+ lineNumber: 139,
247
+ columnNumber: 9
248
+ });
249
+ }
250
+ }, {
251
+ fileName: import.meta.url,
252
+ lineNumber: 138,
253
+ columnNumber: 7
254
+ });
255
+ expect(toSourceText([decl])).toBe(d`
256
+ class MyClass:
257
+ @staticmethod
258
+ def foo(x: int):
259
+ attribute = "value"
260
+
261
+
262
+ `);
263
+ });
264
+ it("renders abstract methods", () => {
265
+ const parameters = [{
266
+ name: "x",
267
+ type: "int"
268
+ }];
269
+ const decl = _$createComponent(py.StatementList, {
270
+ get children() {
271
+ return _$createComponent(py.ClassDeclaration, {
272
+ name: "MyClass",
273
+ get children() {
274
+ return _$createComponent(py.StatementList, {
275
+ get children() {
276
+ return [_$createComponent(py.MethodDeclaration, {
277
+ name: "methoddef",
278
+ parameters: parameters,
279
+ abstract: true
280
+ }, {
281
+ fileName: import.meta.url,
282
+ lineNumber: 161,
283
+ columnNumber: 13
284
+ }), _$createComponent(py.ClassMethodDeclaration, {
285
+ name: "classdef",
286
+ parameters: parameters,
287
+ abstract: true
288
+ }, {
289
+ fileName: import.meta.url,
290
+ lineNumber: 166,
291
+ columnNumber: 13
292
+ }), _$createComponent(py.StaticMethodDeclaration, {
293
+ name: "staticdef",
294
+ parameters: parameters,
295
+ abstract: true
296
+ }, {
297
+ fileName: import.meta.url,
298
+ lineNumber: 171,
299
+ columnNumber: 13
300
+ })];
301
+ }
302
+ }, {
303
+ fileName: import.meta.url,
304
+ lineNumber: 160,
305
+ columnNumber: 11
306
+ });
307
+ }
308
+ }, {
309
+ fileName: import.meta.url,
310
+ lineNumber: 159,
311
+ columnNumber: 9
312
+ });
313
+ }
314
+ }, {
315
+ fileName: import.meta.url,
316
+ lineNumber: 158,
317
+ columnNumber: 7
318
+ });
319
+ expect(toSourceText([decl], {
320
+ externals: [abcModule]
321
+ })).toBe(d`
322
+ from abc import abstractmethod
323
+
324
+
325
+ class MyClass:
326
+ @abstractmethod
327
+ def methoddef(self, x: int):
328
+ pass
329
+
330
+ @classmethod
331
+ @abstractmethod
332
+ def classdef(cls, x: int):
333
+ pass
334
+
335
+ @staticmethod
336
+ @abstractmethod
337
+ def staticdef(x: int):
338
+ pass
339
+
340
+
341
+ `);
342
+ });
343
+ });
344
+ //# sourceMappingURL=methoddeclaration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["d","describe","expect","it","py","abcModule","toSourceText","result","_$createComponent","ClassDeclaration","name","children","MethodDeclaration","fileName","import","meta","url","lineNumber","columnNumber","toRenderTo","decl","StatementList","async","returnType","toBe","ClassMethodDeclaration","StaticMethodDeclaration","parameters","type","abstract","externals"],"sources":["../../../test/methoddeclaration.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,154 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { d } from "@alloy-js/core/testing";
3
+ import { expect, it } from "vitest";
4
+ import { enumModule } from "../src/builtins/python.js";
5
+ import * as py from "../src/index.js";
6
+ import { toSourceText } from "./utils.js";
7
+ it("correct formatting of class name", () => {
8
+ const result = toSourceText([_$createComponent(py.ClassDeclaration, {
9
+ name: "a-really-WeirdClass-name"
10
+ }, {
11
+ fileName: import.meta.url,
12
+ lineNumber: 9,
13
+ columnNumber: 5
14
+ })]);
15
+ const expected = d`
16
+ class AReallyWeirdClassName:
17
+ pass
18
+
19
+
20
+ `;
21
+ expect(result).toRenderTo(expected);
22
+ });
23
+ it("correct formatting of Enum name and EnumMember names", () => {
24
+ const result = toSourceText([_$createComponent(py.FunctionalEnumDeclaration, {
25
+ name: "priority",
26
+ members: [{
27
+ name: "high",
28
+ value: 1
29
+ }, {
30
+ name: "Medium",
31
+ value: 2
32
+ }, {
33
+ name: "lowValue",
34
+ value: 3
35
+ }]
36
+ }, {
37
+ fileName: import.meta.url,
38
+ lineNumber: 23,
39
+ columnNumber: 7
40
+ })], {
41
+ externals: [enumModule]
42
+ });
43
+ const expected = d`
44
+ from enum import Enum
45
+
46
+
47
+ Priority = Enum('Priority', {'HIGH' : 1, 'MEDIUM' : 2, 'LOW_VALUE' : 3})
48
+ `;
49
+ expect(result).toRenderTo(expected);
50
+ });
51
+ it("renders a function with parameters", () => {
52
+ const result = toSourceText([_$createComponent(py.FunctionDeclaration, {
53
+ name: "quirklyNamed-Function",
54
+ parameters: [{
55
+ name: "a-parameter",
56
+ type: "int"
57
+ }],
58
+ args: true,
59
+ kwargs: true,
60
+ children: "print(x, y)"
61
+ }, {
62
+ fileName: import.meta.url,
63
+ lineNumber: 45,
64
+ columnNumber: 5
65
+ })]);
66
+ expect(result).toRenderTo(d`
67
+ def quirkly_named_function(a_parameter: int, *args, **kwargs):
68
+ print(x, y)
69
+
70
+
71
+ `);
72
+ });
73
+ it("correct formatting of call signature parameters names", () => {
74
+ const result = toSourceText([_$createComponent(py.CallSignatureParameters, {
75
+ parameters: [{
76
+ name: "this-is-a-number",
77
+ type: "int"
78
+ }, {
79
+ name: "andThisIsADict",
80
+ type: "dict"
81
+ }]
82
+ }, {
83
+ fileName: import.meta.url,
84
+ lineNumber: 66,
85
+ columnNumber: 5
86
+ })]);
87
+ expect(result).toRenderTo(`this_is_a_number: int, and_this_is_a_dict: dict`);
88
+ });
89
+ it("correct formatting of call statement vars", () => {
90
+ const result = toSourceText([_$createComponent(py.StatementList, {
91
+ get children() {
92
+ return _$createComponent(py.ClassInstantiation, {
93
+ target: "test",
94
+ get args() {
95
+ return [_$createComponent(py.VariableDeclaration, {
96
+ name: "this-is-a-long-name",
97
+ get initializer() {
98
+ return _$createComponent(py.Atom, {
99
+ jsValue: "A name"
100
+ }, {
101
+ fileName: import.meta.url,
102
+ lineNumber: 87,
103
+ columnNumber: 26
104
+ });
105
+ },
106
+ callStatementVar: true
107
+ }, {
108
+ fileName: import.meta.url,
109
+ lineNumber: 85,
110
+ columnNumber: 11
111
+ }), _$createComponent(py.VariableDeclaration, {
112
+ name: "andThisIsANumber",
113
+ get initializer() {
114
+ return _$createComponent(py.Atom, {
115
+ jsValue: 42
116
+ }, {
117
+ fileName: import.meta.url,
118
+ lineNumber: 92,
119
+ columnNumber: 26
120
+ });
121
+ },
122
+ callStatementVar: true
123
+ }, {
124
+ fileName: import.meta.url,
125
+ lineNumber: 90,
126
+ columnNumber: 11
127
+ })];
128
+ }
129
+ }, {
130
+ fileName: import.meta.url,
131
+ lineNumber: 82,
132
+ columnNumber: 7
133
+ });
134
+ }
135
+ }, {
136
+ fileName: import.meta.url,
137
+ lineNumber: 81,
138
+ columnNumber: 5
139
+ })]);
140
+ expect(result).toRenderTo(`test(this_is_a_long_name="A name", and_this_is_a_number=42)`);
141
+ });
142
+ it("correct formatting of variable name", () => {
143
+ const res = toSourceText([_$createComponent(py.VariableDeclaration, {
144
+ name: "myVar",
145
+ type: "int",
146
+ initializer: 42
147
+ }, {
148
+ fileName: import.meta.url,
149
+ lineNumber: 106,
150
+ columnNumber: 5
151
+ })]);
152
+ expect(res).toBe(`my_var: int = 42`);
153
+ });
154
+ //# sourceMappingURL=namepolicies.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["d","expect","it","enumModule","py","toSourceText","result","_$createComponent","ClassDeclaration","name","fileName","import","meta","url","lineNumber","columnNumber","expected","toRenderTo","FunctionalEnumDeclaration","members","value","externals","FunctionDeclaration","parameters","type","args","kwargs","children","CallSignatureParameters","StatementList","ClassInstantiation","target","VariableDeclaration","initializer","Atom","jsValue","callStatementVar","res","toBe"],"sources":["../../../test/namepolicies.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}