@alloy-js/python 0.4.0-dev.3 → 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 (253) 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 +45 -3
  165. package/dist/src/components/ImportStatement.js.map +1 -1
  166. package/dist/src/components/Reference.d.ts.map +1 -1
  167. package/dist/src/components/Reference.js +5 -1
  168. package/dist/src/components/Reference.js.map +1 -1
  169. package/dist/src/components/SourceFile.d.ts +1 -1
  170. package/dist/src/components/SourceFile.d.ts.map +1 -1
  171. package/dist/src/components/SourceFile.js +46 -7
  172. package/dist/src/components/SourceFile.js.map +1 -1
  173. package/dist/src/components/TypeRefContext.d.ts +26 -0
  174. package/dist/src/components/TypeRefContext.d.ts.map +1 -0
  175. package/dist/src/components/TypeRefContext.js +29 -0
  176. package/dist/src/components/TypeRefContext.js.map +1 -0
  177. package/dist/src/components/TypeReference.d.ts +5 -0
  178. package/dist/src/components/TypeReference.d.ts.map +1 -1
  179. package/dist/src/components/TypeReference.js +19 -9
  180. package/dist/src/components/TypeReference.js.map +1 -1
  181. package/dist/src/components/VariableDeclaration.d.ts.map +1 -1
  182. package/dist/src/components/VariableDeclaration.js +7 -2
  183. package/dist/src/components/VariableDeclaration.js.map +1 -1
  184. package/dist/src/components/index.d.ts +1 -1
  185. package/dist/src/components/index.d.ts.map +1 -1
  186. package/dist/src/components/index.js +1 -1
  187. package/dist/src/components/index.js.map +1 -1
  188. package/dist/src/context/index.d.ts +2 -0
  189. package/dist/src/context/index.d.ts.map +1 -0
  190. package/dist/src/context/index.js +2 -0
  191. package/dist/src/context/index.js.map +1 -0
  192. package/dist/src/context/type-ref-context.d.ts +13 -0
  193. package/dist/src/context/type-ref-context.d.ts.map +1 -0
  194. package/dist/src/context/type-ref-context.js +17 -0
  195. package/dist/src/context/type-ref-context.js.map +1 -0
  196. package/dist/src/symbols/python-module-scope.d.ts +13 -1
  197. package/dist/src/symbols/python-module-scope.d.ts.map +1 -1
  198. package/dist/src/symbols/python-module-scope.js +36 -2
  199. package/dist/src/symbols/python-module-scope.js.map +1 -1
  200. package/dist/src/symbols/python-output-symbol.d.ts +11 -0
  201. package/dist/src/symbols/python-output-symbol.d.ts.map +1 -1
  202. package/dist/src/symbols/python-output-symbol.js +26 -2
  203. package/dist/src/symbols/python-output-symbol.js.map +1 -1
  204. package/dist/src/symbols/reference.d.ts +8 -1
  205. package/dist/src/symbols/reference.d.ts.map +1 -1
  206. package/dist/src/symbols/reference.js +4 -2
  207. package/dist/src/symbols/reference.js.map +1 -1
  208. package/dist/test/dataclassdeclarations.test.js +5 -2
  209. package/dist/test/dataclassdeclarations.test.js.map +1 -1
  210. package/dist/test/externals.test.js +8 -2
  211. package/dist/test/externals.test.js.map +1 -1
  212. package/dist/test/functiondeclaration.test.js +6 -3
  213. package/dist/test/functiondeclaration.test.js.map +1 -1
  214. package/dist/test/imports.test.js +3 -3
  215. package/dist/test/imports.test.js.map +1 -1
  216. package/dist/test/references.test.js +1 -1
  217. package/dist/test/references.test.js.map +1 -1
  218. package/dist/test/sourcefiles.test.js +26 -26
  219. package/dist/test/sourcefiles.test.js.map +1 -1
  220. package/dist/test/type-checking-imports.test.d.ts +2 -0
  221. package/dist/test/type-checking-imports.test.d.ts.map +1 -0
  222. package/dist/test/type-checking-imports.test.js +437 -0
  223. package/dist/test/type-checking-imports.test.js.map +1 -0
  224. package/dist/test/uniontypeexpression.test.js +4 -1
  225. package/dist/test/uniontypeexpression.test.js.map +1 -1
  226. package/dist/test/variables.test.js +4 -1
  227. package/dist/test/variables.test.js.map +1 -1
  228. package/dist/tsconfig.tsbuildinfo +1 -1
  229. package/package.json +6 -4
  230. package/src/components/CallSignature.tsx +6 -2
  231. package/src/components/ImportStatement.tsx +51 -4
  232. package/src/components/Reference.tsx +3 -1
  233. package/src/components/SourceFile.tsx +44 -8
  234. package/src/components/TypeRefContext.tsx +36 -0
  235. package/src/components/TypeReference.tsx +15 -7
  236. package/src/components/VariableDeclaration.tsx +5 -1
  237. package/src/components/index.ts +1 -1
  238. package/src/context/index.ts +1 -0
  239. package/src/context/type-ref-context.tsx +16 -0
  240. package/src/symbols/python-module-scope.ts +55 -2
  241. package/src/symbols/python-output-symbol.ts +32 -1
  242. package/src/symbols/reference.tsx +10 -0
  243. package/temp/api.json +441 -336
  244. package/test/dataclassdeclarations.test.tsx +8 -2
  245. package/test/externals.test.tsx +8 -2
  246. package/test/functiondeclaration.test.tsx +6 -3
  247. package/test/imports.test.tsx +6 -6
  248. package/test/references.test.tsx +1 -1
  249. package/test/sourcefiles.test.tsx +13 -13
  250. package/test/type-checking-imports.test.tsx +363 -0
  251. package/test/uniontypeexpression.test.tsx +4 -1
  252. package/test/variables.test.tsx +4 -1
  253. package/vitest.config.ts +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["code","namekey","refkey","d","describe","expect","it","py","abcModule","assertFileContents","toSourceText","toSourceTextMultiple","result","_$createComponent","FunctionDeclaration","name","fileName","import","meta","url","lineNumber","columnNumber","toRenderTo","returnType","refkeyFoo","StatementList","children","VariableDeclaration","type","initializer","FunctionCallExpression","target","args","parameters","default","kwargs","ClassDeclaration","DunderMethodDeclaration","async","toBe","decl","ConstructorDeclaration","typeParameters","MethodDeclaration","abstract","ClassMethodDeclaration","StaticMethodDeclaration","externals","parameters_nested","parameters_nested_nested","fooRef","barRef","foobarRef","Atom","jsValue","res","SourceFile","path","PropertyDeclaration","toThrow"],"sources":["../../../test/functiondeclaration.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,372 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { refkey } from "@alloy-js/core";
3
+ import { describe, expect, it } from "vitest";
4
+ import { ImportStatement, ImportStatements } from "../src/components/ImportStatement.js";
5
+ import * as py from "../src/index.js";
6
+ import { createPythonSymbol } from "../src/symbol-creation.js";
7
+ import { ImportedSymbol, ImportRecords } from "../src/symbols/index.js";
8
+ import { assertFileContents, createPythonModuleScope, toSourceText, toSourceTextMultiple } from "./utils.js";
9
+ describe("ImportStatement", () => {
10
+ it("renders module import", () => {
11
+ const result = toSourceText([_$createComponent(ImportStatement, {
12
+ path: "sys"
13
+ }, {
14
+ fileName: import.meta.url,
15
+ lineNumber: 19,
16
+ columnNumber: 34
17
+ })]);
18
+ const expected = `import sys`;
19
+ expect(result).toRenderTo(expected);
20
+ });
21
+ it("renders named imports", () => {
22
+ const sqrtSymbol = createPythonSymbol("sqrt", undefined);
23
+ const piSymbol = createPythonSymbol("pi", undefined);
24
+ const symbols = new Set([new ImportedSymbol(sqrtSymbol, sqrtSymbol), new ImportedSymbol(piSymbol, piSymbol)]);
25
+ const result = toSourceText([_$createComponent(ImportStatement, {
26
+ path: "math",
27
+ symbols: symbols
28
+ }, {
29
+ fileName: import.meta.url,
30
+ lineNumber: 32,
31
+ columnNumber: 7
32
+ })]);
33
+ const expected = `from math import pi, sqrt`;
34
+ expect(result).toRenderTo(expected);
35
+ });
36
+ });
37
+ describe("ImportStatements", () => {
38
+ it("renders multiple import statements", () => {
39
+ const pythonModuleScope = createPythonModuleScope("math", undefined);
40
+ const sqrtSymbol = createPythonSymbol("sqrt", undefined);
41
+ const piSymbol = createPythonSymbol("pi", undefined);
42
+ const mathSymbols = new Set([new ImportedSymbol(sqrtSymbol, sqrtSymbol), new ImportedSymbol(piSymbol, piSymbol)]);
43
+ const sysModuleScope = createPythonModuleScope("sys", undefined);
44
+ const requestsScope = createPythonModuleScope("requests", undefined);
45
+ const getSymbol = createPythonSymbol("get", undefined);
46
+ const requestsSymbols = new Set([new ImportedSymbol(getSymbol, getSymbol)]);
47
+ const records = new ImportRecords([[pythonModuleScope, {
48
+ symbols: mathSymbols
49
+ }], [requestsScope, {
50
+ symbols: requestsSymbols
51
+ }], [sysModuleScope, {
52
+ symbols: new Set()
53
+ }]]);
54
+ const result = toSourceText([_$createComponent(ImportStatements, {
55
+ records: records
56
+ }, {
57
+ fileName: import.meta.url,
58
+ lineNumber: 62,
59
+ columnNumber: 34
60
+ })]);
61
+ const expected = `
62
+ from math import pi
63
+ from math import sqrt
64
+ from requests import get
65
+ import sys`;
66
+ expect(result).toRenderTo(expected);
67
+ });
68
+ it("renders multiple import statements, but joining imports from the same module", () => {
69
+ const pythonModuleScope = createPythonModuleScope("math", undefined);
70
+ const sqrtSymbol = createPythonSymbol("sqrt", undefined);
71
+ const piSymbol = createPythonSymbol("pi", undefined);
72
+ const mathSymbols = new Set([new ImportedSymbol(sqrtSymbol, sqrtSymbol), new ImportedSymbol(piSymbol, piSymbol)]);
73
+ const requestsScope = createPythonModuleScope("requests", undefined);
74
+ const getSymbol = createPythonSymbol("get", undefined);
75
+ const postSymbol = createPythonSymbol("post", undefined);
76
+ const requestsSymbols = new Set([new ImportedSymbol(getSymbol, getSymbol), new ImportedSymbol(postSymbol, postSymbol)]);
77
+ const records = new ImportRecords([[pythonModuleScope, {
78
+ symbols: mathSymbols
79
+ }], [requestsScope, {
80
+ symbols: requestsSymbols
81
+ }]]);
82
+ const result = toSourceText([_$createComponent(ImportStatements, {
83
+ records: records,
84
+ joinImportsFromSameModule: true
85
+ }, {
86
+ fileName: import.meta.url,
87
+ lineNumber: 91,
88
+ columnNumber: 7
89
+ })]);
90
+ const expected = `
91
+ from math import pi, sqrt
92
+ from requests import get, post`;
93
+ expect(result).toRenderTo(expected);
94
+ });
95
+ });
96
+ describe("Imports being used", () => {
97
+ it("works with importing the same name many times from different files with the default name conflict resolver", () => {
98
+ const rk1 = refkey();
99
+ const rk2 = refkey();
100
+ const rk3 = refkey();
101
+ const result = toSourceTextMultiple([_$createComponent(py.SourceFile, {
102
+ path: "test_1.py",
103
+ get children() {
104
+ return _$createComponent(py.VariableDeclaration, {
105
+ name: "conflict",
106
+ refkey: rk1
107
+ }, {
108
+ fileName: import.meta.url,
109
+ lineNumber: 107,
110
+ columnNumber: 9
111
+ });
112
+ }
113
+ }, {
114
+ fileName: import.meta.url,
115
+ lineNumber: 106,
116
+ columnNumber: 7
117
+ }), _$createComponent(py.SourceFile, {
118
+ path: "test_3.py",
119
+ get children() {
120
+ return _$createComponent(py.VariableDeclaration, {
121
+ name: "conflict",
122
+ refkey: rk3
123
+ }, {
124
+ fileName: import.meta.url,
125
+ lineNumber: 110,
126
+ columnNumber: 9
127
+ });
128
+ }
129
+ }, {
130
+ fileName: import.meta.url,
131
+ lineNumber: 109,
132
+ columnNumber: 7
133
+ }), _$createComponent(py.SourceFile, {
134
+ path: "test_2.py",
135
+ get children() {
136
+ return _$createComponent(py.VariableDeclaration, {
137
+ name: "conflict",
138
+ refkey: rk2
139
+ }, {
140
+ fileName: import.meta.url,
141
+ lineNumber: 113,
142
+ columnNumber: 9
143
+ });
144
+ }
145
+ }, {
146
+ fileName: import.meta.url,
147
+ lineNumber: 112,
148
+ columnNumber: 7
149
+ }), _$createComponent(py.SourceFile, {
150
+ path: "test.py",
151
+ get children() {
152
+ return _$createComponent(py.StatementList, {
153
+ get children() {
154
+ return [_$createComponent(py.VariableDeclaration, {
155
+ name: "one",
156
+ initializer: rk1
157
+ }, {
158
+ fileName: import.meta.url,
159
+ lineNumber: 117,
160
+ columnNumber: 11
161
+ }), _$createComponent(py.VariableDeclaration, {
162
+ name: "three",
163
+ initializer: rk3
164
+ }, {
165
+ fileName: import.meta.url,
166
+ lineNumber: 118,
167
+ columnNumber: 11
168
+ }), _$createComponent(py.VariableDeclaration, {
169
+ name: "two",
170
+ initializer: rk2
171
+ }, {
172
+ fileName: import.meta.url,
173
+ lineNumber: 119,
174
+ columnNumber: 11
175
+ })];
176
+ }
177
+ }, {
178
+ fileName: import.meta.url,
179
+ lineNumber: 116,
180
+ columnNumber: 9
181
+ });
182
+ }
183
+ }, {
184
+ fileName: import.meta.url,
185
+ lineNumber: 115,
186
+ columnNumber: 7
187
+ })]);
188
+ assertFileContents(result, {
189
+ "test.py": `
190
+ from test_1 import conflict
191
+ from test_2 import conflict as conflict_3_test_2
192
+ from test_3 import conflict as conflict_2_test_3
193
+
194
+ one = conflict
195
+ three = conflict_2_test_3
196
+ two = conflict_3_test_2
197
+ `
198
+ });
199
+ });
200
+ it("works with importing the same name many times from different files and with the correct order", () => {
201
+ const rk1 = refkey();
202
+ const rk2 = refkey();
203
+ const rk3 = refkey();
204
+ const rk4 = refkey();
205
+ const rk5 = refkey();
206
+ const rk6 = refkey();
207
+ const rk7 = refkey();
208
+ const result = toSourceTextMultiple([_$createComponent(py.SourceFile, {
209
+ path: "test_1.py",
210
+ get children() {
211
+ return [_$createComponent(py.VariableDeclaration, {
212
+ name: "conflict",
213
+ refkey: rk1
214
+ }, {
215
+ fileName: import.meta.url,
216
+ lineNumber: 145,
217
+ columnNumber: 9
218
+ }), _$createComponent(py.VariableDeclaration, {
219
+ name: "something_else",
220
+ refkey: rk4
221
+ }, {
222
+ fileName: import.meta.url,
223
+ lineNumber: 146,
224
+ columnNumber: 9
225
+ })];
226
+ }
227
+ }, {
228
+ fileName: import.meta.url,
229
+ lineNumber: 144,
230
+ columnNumber: 7
231
+ }), _$createComponent(py.SourceFile, {
232
+ path: "test_2.py",
233
+ get children() {
234
+ return [_$createComponent(py.VariableDeclaration, {
235
+ name: "conflict",
236
+ refkey: rk2
237
+ }, {
238
+ fileName: import.meta.url,
239
+ lineNumber: 149,
240
+ columnNumber: 9
241
+ }), _$createComponent(py.VariableDeclaration, {
242
+ name: "something",
243
+ refkey: rk6
244
+ }, {
245
+ fileName: import.meta.url,
246
+ lineNumber: 150,
247
+ columnNumber: 9
248
+ }), _$createComponent(py.VariableDeclaration, {
249
+ name: "something_else",
250
+ refkey: rk5
251
+ }, {
252
+ fileName: import.meta.url,
253
+ lineNumber: 151,
254
+ columnNumber: 9
255
+ })];
256
+ }
257
+ }, {
258
+ fileName: import.meta.url,
259
+ lineNumber: 148,
260
+ columnNumber: 7
261
+ }), _$createComponent(py.SourceFile, {
262
+ path: "test_3.py",
263
+ get children() {
264
+ return [_$createComponent(py.VariableDeclaration, {
265
+ name: "conflict",
266
+ refkey: rk3
267
+ }, {
268
+ fileName: import.meta.url,
269
+ lineNumber: 154,
270
+ columnNumber: 9
271
+ }), _$createComponent(py.VariableDeclaration, {
272
+ name: "something",
273
+ refkey: rk7
274
+ }, {
275
+ fileName: import.meta.url,
276
+ lineNumber: 155,
277
+ columnNumber: 9
278
+ })];
279
+ }
280
+ }, {
281
+ fileName: import.meta.url,
282
+ lineNumber: 153,
283
+ columnNumber: 7
284
+ }), _$createComponent(py.SourceFile, {
285
+ path: "test.py",
286
+ get children() {
287
+ return _$createComponent(py.StatementList, {
288
+ get children() {
289
+ return [_$createComponent(py.VariableDeclaration, {
290
+ name: "one",
291
+ initializer: rk1
292
+ }, {
293
+ fileName: import.meta.url,
294
+ lineNumber: 159,
295
+ columnNumber: 11
296
+ }), _$createComponent(py.VariableDeclaration, {
297
+ name: "two",
298
+ initializer: rk2
299
+ }, {
300
+ fileName: import.meta.url,
301
+ lineNumber: 160,
302
+ columnNumber: 11
303
+ }), _$createComponent(py.VariableDeclaration, {
304
+ name: "three",
305
+ initializer: rk3
306
+ }, {
307
+ fileName: import.meta.url,
308
+ lineNumber: 161,
309
+ columnNumber: 11
310
+ }), _$createComponent(py.VariableDeclaration, {
311
+ name: "something_else",
312
+ initializer: rk4
313
+ }, {
314
+ fileName: import.meta.url,
315
+ lineNumber: 162,
316
+ columnNumber: 11
317
+ }), _$createComponent(py.VariableDeclaration, {
318
+ name: "something_else_two",
319
+ initializer: rk5
320
+ }, {
321
+ fileName: import.meta.url,
322
+ lineNumber: 163,
323
+ columnNumber: 11
324
+ }), _$createComponent(py.VariableDeclaration, {
325
+ name: "something",
326
+ initializer: rk6
327
+ }, {
328
+ fileName: import.meta.url,
329
+ lineNumber: 164,
330
+ columnNumber: 11
331
+ }), _$createComponent(py.VariableDeclaration, {
332
+ name: "something_two",
333
+ initializer: rk7
334
+ }, {
335
+ fileName: import.meta.url,
336
+ lineNumber: 165,
337
+ columnNumber: 11
338
+ })];
339
+ }
340
+ }, {
341
+ fileName: import.meta.url,
342
+ lineNumber: 158,
343
+ columnNumber: 9
344
+ });
345
+ }
346
+ }, {
347
+ fileName: import.meta.url,
348
+ lineNumber: 157,
349
+ columnNumber: 7
350
+ })]);
351
+ assertFileContents(result, {
352
+ "test.py": `
353
+ from test_1 import conflict
354
+ from test_1 import something_else as something_else_2_test_1
355
+ from test_2 import conflict as conflict_2_test_2
356
+ from test_2 import something as something_2_test_2
357
+ from test_2 import something_else as something_else_3_test_2
358
+ from test_3 import conflict as conflict_3_test_3
359
+ from test_3 import something as something_3_test_3
360
+
361
+ one = conflict
362
+ two = conflict_2_test_2
363
+ three = conflict_3_test_3
364
+ something_else = something_else_2_test_1
365
+ something_else_two = something_else_3_test_2
366
+ something = something_2_test_2
367
+ something_two = something_3_test_3
368
+ `
369
+ });
370
+ });
371
+ });
372
+ //# sourceMappingURL=imports.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["refkey","describe","expect","it","ImportStatement","ImportStatements","py","createPythonSymbol","ImportedSymbol","ImportRecords","assertFileContents","createPythonModuleScope","toSourceText","toSourceTextMultiple","result","_$createComponent","path","fileName","import","meta","url","lineNumber","columnNumber","expected","toRenderTo","sqrtSymbol","undefined","piSymbol","symbols","Set","pythonModuleScope","mathSymbols","sysModuleScope","requestsScope","getSymbol","requestsSymbols","records","postSymbol","joinImportsFromSameModule","rk1","rk2","rk3","SourceFile","children","VariableDeclaration","name","StatementList","initializer","rk4","rk5","rk6","rk7"],"sources":["../../../test/imports.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}