@alloy-js/python 0.4.0-dev.3 → 0.4.0-dev.6

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 (355) 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/name-conflict-resolver.d.ts +2 -2
  197. package/dist/src/name-conflict-resolver.d.ts.map +1 -1
  198. package/dist/src/name-conflict-resolver.js +2 -2
  199. package/dist/src/name-conflict-resolver.js.map +1 -1
  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/docs/api/components/AttributeDoc.md +36 -0
  234. package/docs/api/components/CallSignature.md +62 -0
  235. package/docs/api/components/CallSignatureParameters.md +49 -0
  236. package/docs/api/components/ClassDeclaration.md +67 -0
  237. package/docs/api/components/ClassDoc.md +55 -0
  238. package/docs/api/components/ClassEnumDeclaration.md +111 -0
  239. package/docs/api/components/ClassInstantiation.md +44 -0
  240. package/docs/api/components/ClassMethodDeclaration.md +31 -0
  241. package/docs/api/components/ConstructorDeclaration.md +27 -0
  242. package/docs/api/components/DataclassDeclaration.md +55 -0
  243. package/docs/api/components/Declaration.md +41 -0
  244. package/docs/api/components/DunderMethodDeclaration.md +31 -0
  245. package/docs/api/components/EnumMember.md +61 -0
  246. package/docs/api/components/ExceptionDoc.md +55 -0
  247. package/docs/api/components/FunctionCallExpression.md +43 -0
  248. package/docs/api/components/FunctionDeclaration.md +50 -0
  249. package/docs/api/components/FunctionDoc.md +61 -0
  250. package/docs/api/components/FunctionalEnumDeclaration.md +79 -0
  251. package/docs/api/components/FutureStatement.md +51 -0
  252. package/docs/api/components/GeneratorDoc.md +58 -0
  253. package/docs/api/components/InlineDoc.md +29 -0
  254. package/docs/api/components/LexicalScope.md +65 -0
  255. package/docs/api/components/MemberExpression.md +53 -0
  256. package/docs/api/components/MemberScope.md +28 -0
  257. package/docs/api/components/MethodDeclaration.md +49 -0
  258. package/docs/api/components/MethodDoc.md +61 -0
  259. package/docs/api/components/ModuleDoc.md +52 -0
  260. package/docs/api/components/PropertyDeclaration.md +46 -0
  261. package/docs/api/components/PropertyDoc.md +52 -0
  262. package/docs/api/components/PyDoc.md +29 -0
  263. package/docs/api/components/PyDocExample.md +29 -0
  264. package/docs/api/components/PythonBlock.md +47 -0
  265. package/docs/api/components/Reference.md +31 -0
  266. package/docs/api/components/SimpleCommentBlock.md +27 -0
  267. package/docs/api/components/SimpleInlineComment.md +27 -0
  268. package/docs/api/components/SourceFile.md +83 -0
  269. package/docs/api/components/StatementList.md +47 -0
  270. package/docs/api/components/StaticMethodDeclaration.md +31 -0
  271. package/docs/api/components/TypeArguments.md +27 -0
  272. package/docs/api/components/TypeRefContext.md +41 -0
  273. package/docs/api/components/TypeReference.md +37 -0
  274. package/docs/api/components/UnionTypeExpression.md +27 -0
  275. package/docs/api/components/VariableDeclaration.md +87 -0
  276. package/docs/api/components/index.md +46 -0
  277. package/docs/api/components/useSourceFile.md +19 -0
  278. package/docs/api/contexts/PythonSourceFile-context.md +18 -0
  279. package/docs/api/contexts/index.md +3 -0
  280. package/docs/api/functions/createFunctionSymbol.md +23 -0
  281. package/docs/api/functions/createMethodSymbol.md +23 -0
  282. package/docs/api/functions/createModule.md +18 -0
  283. package/docs/api/functions/createPythonNamePolicy.md +17 -0
  284. package/docs/api/functions/getCallSignatureProps.md +21 -0
  285. package/docs/api/functions/index.md +13 -0
  286. package/docs/api/functions/isParameterDescriptor.md +18 -0
  287. package/docs/api/functions/isTypeRefContext.md +17 -0
  288. package/docs/api/functions/ref.md +25 -0
  289. package/docs/api/functions/usePythonLexicalScope.md +17 -0
  290. package/docs/api/functions/usePythonNamePolicy.md +17 -0
  291. package/docs/api/functions/usePythonScope.md +17 -0
  292. package/docs/api/index.md +7 -0
  293. package/docs/api/types/AddImportOptions.md +7 -0
  294. package/docs/api/types/BaseDeclarationProps.md +10 -0
  295. package/docs/api/types/CommonFunctionProps.md +15 -0
  296. package/docs/api/types/CreateModuleProps.md +8 -0
  297. package/docs/api/types/CreatePythonSymbolFunctionOptions.md +9 -0
  298. package/docs/api/types/DataclassDecoratorKey.md +5 -0
  299. package/docs/api/types/DataclassDecoratorKwargs.md +5 -0
  300. package/docs/api/types/EnumPropsBase.md +11 -0
  301. package/docs/api/types/GoogleStyleDocAttributeProps.md +9 -0
  302. package/docs/api/types/ImportRecordProps.md +7 -0
  303. package/docs/api/types/ImportRecords.md +8 -0
  304. package/docs/api/types/ImportedSymbol.md +10 -0
  305. package/docs/api/types/LexicalScopeProps.md +5 -0
  306. package/docs/api/types/MemberExpressionPartProps.md +13 -0
  307. package/docs/api/types/ModuleDescriptor.md +7 -0
  308. package/docs/api/types/ModuleRefkeys.md +7 -0
  309. package/docs/api/types/NamedMap.md +7 -0
  310. package/docs/api/types/ParameterDescriptor.md +13 -0
  311. package/docs/api/types/ParameterMarker.md +5 -0
  312. package/docs/api/types/PropertyMethodDeclarationProps.md +9 -0
  313. package/docs/api/types/PythonElements.md +5 -0
  314. package/docs/api/types/PythonLexicalScope.md +11 -0
  315. package/docs/api/types/PythonMemberScope.md +9 -0
  316. package/docs/api/types/PythonModuleScope.md +13 -0
  317. package/docs/api/types/PythonOutputScope.md +5 -0
  318. package/docs/api/types/PythonOutputSymbol.md +21 -0
  319. package/docs/api/types/PythonOutputSymbolOptions.md +10 -0
  320. package/docs/api/types/RefOptions.md +7 -0
  321. package/docs/api/types/SubscriptionProps.md +9 -0
  322. package/docs/api/types/index.md +31 -0
  323. package/docs/api/variables/abcModule.md +7 -0
  324. package/docs/api/variables/dataclassDecoratorKeySet.md +5 -0
  325. package/docs/api/variables/dataclassDecoratorKeys.md +7 -0
  326. package/docs/api/variables/dataclassesModule.md +7 -0
  327. package/docs/api/variables/enumModule.md +7 -0
  328. package/docs/api/variables/index.md +8 -0
  329. package/docs/api/variables/requestsModule.md +8 -0
  330. package/package.json +7 -5
  331. package/src/components/CallSignature.tsx +6 -2
  332. package/src/components/ImportStatement.tsx +51 -4
  333. package/src/components/Reference.tsx +3 -1
  334. package/src/components/SourceFile.tsx +44 -8
  335. package/src/components/TypeRefContext.tsx +36 -0
  336. package/src/components/TypeReference.tsx +15 -7
  337. package/src/components/VariableDeclaration.tsx +5 -1
  338. package/src/components/index.ts +1 -1
  339. package/src/context/index.ts +1 -0
  340. package/src/context/type-ref-context.tsx +16 -0
  341. package/src/name-conflict-resolver.ts +4 -10
  342. package/src/symbols/python-module-scope.ts +55 -2
  343. package/src/symbols/python-output-symbol.ts +32 -1
  344. package/src/symbols/reference.tsx +10 -0
  345. package/temp/api.json +441 -336
  346. package/test/dataclassdeclarations.test.tsx +8 -2
  347. package/test/externals.test.tsx +8 -2
  348. package/test/functiondeclaration.test.tsx +6 -3
  349. package/test/imports.test.tsx +6 -6
  350. package/test/references.test.tsx +1 -1
  351. package/test/sourcefiles.test.tsx +13 -13
  352. package/test/type-checking-imports.test.tsx +363 -0
  353. package/test/uniontypeexpression.test.tsx +4 -1
  354. package/test/variables.test.tsx +4 -1
  355. package/vitest.config.ts +8 -0
@@ -0,0 +1,257 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { refkey } from "@alloy-js/core";
3
+ import { d } from "@alloy-js/core/testing";
4
+ import { describe, expect, it } from "vitest";
5
+ import * as py from "../src/index.js";
6
+ import { toSourceText } from "./utils.js";
7
+ describe("FunctionCallExpression", () => {
8
+ it("renders", () => {
9
+ const result = toSourceText([_$createComponent(py.FunctionCallExpression, {
10
+ target: "foo"
11
+ }, {
12
+ fileName: import.meta.url,
13
+ lineNumber: 9,
14
+ columnNumber: 34
15
+ })]);
16
+ expect(result).toRenderTo(d`
17
+ foo()
18
+ `);
19
+ });
20
+ it("renders with args", () => {
21
+ const result = toSourceText([_$createComponent(py.FunctionCallExpression, {
22
+ target: "foo",
23
+ args: ["a", "b"]
24
+ }, {
25
+ fileName: import.meta.url,
26
+ lineNumber: 16,
27
+ columnNumber: 7
28
+ })]);
29
+ expect(result).toRenderTo(d`
30
+ foo(a, b)
31
+ `);
32
+ });
33
+ it("function call with variables", () => {
34
+ // Creating the reference separately so the naming policy doesn't interfere
35
+ const methodRef = refkey();
36
+ const result = toSourceText([_$createComponent(py.StatementList, {
37
+ get children() {
38
+ return [_$createComponent(py.FunctionDeclaration, {
39
+ name: "runFunc",
40
+ refkey: methodRef
41
+ }, {
42
+ fileName: import.meta.url,
43
+ lineNumber: 28,
44
+ columnNumber: 9
45
+ }), _$createComponent(py.FunctionCallExpression, {
46
+ target: methodRef,
47
+ get args() {
48
+ return [_$createComponent(py.Atom, {
49
+ jsValue: "A name"
50
+ }, {
51
+ fileName: import.meta.url,
52
+ lineNumber: 32,
53
+ columnNumber: 13
54
+ }), _$createComponent(py.Atom, {
55
+ jsValue: 42
56
+ }, {
57
+ fileName: import.meta.url,
58
+ lineNumber: 33,
59
+ columnNumber: 13
60
+ }), _$createComponent(py.Atom, {
61
+ jsValue: true
62
+ }, {
63
+ fileName: import.meta.url,
64
+ lineNumber: 34,
65
+ columnNumber: 13
66
+ })];
67
+ }
68
+ }, {
69
+ fileName: import.meta.url,
70
+ lineNumber: 29,
71
+ columnNumber: 9
72
+ })];
73
+ }
74
+ }, {
75
+ fileName: import.meta.url,
76
+ lineNumber: 27,
77
+ columnNumber: 7
78
+ })]);
79
+ const expected = d`
80
+ def run_func():
81
+ pass
82
+
83
+ run_func("A name", 42, True)
84
+ `;
85
+ expect(result).toRenderTo(expected);
86
+ });
87
+ it("function call with variables and assignment", () => {
88
+ // Creating the reference separately so the naming policy doesn't interfere
89
+ const methodRef = refkey();
90
+ const result = toSourceText([_$createComponent(py.StatementList, {
91
+ get children() {
92
+ return [_$createComponent(py.FunctionDeclaration, {
93
+ name: "runFunc",
94
+ returnType: "str",
95
+ refkey: methodRef,
96
+ parameters: [{
97
+ name: "name",
98
+ type: "str"
99
+ }, {
100
+ name: "number",
101
+ type: "int"
102
+ }, {
103
+ name: "flag",
104
+ type: "bool"
105
+ }]
106
+ }, {
107
+ fileName: import.meta.url,
108
+ lineNumber: 53,
109
+ columnNumber: 9
110
+ }), _$createComponent(py.VariableDeclaration, {
111
+ name: "result",
112
+ type: "str",
113
+ get initializer() {
114
+ return _$createComponent(py.FunctionCallExpression, {
115
+ target: methodRef,
116
+ get args() {
117
+ return [_$createComponent(py.Atom, {
118
+ jsValue: "A name"
119
+ }, {
120
+ fileName: import.meta.url,
121
+ lineNumber: 70,
122
+ columnNumber: 17
123
+ }), _$createComponent(py.Atom, {
124
+ jsValue: 42
125
+ }, {
126
+ fileName: import.meta.url,
127
+ lineNumber: 71,
128
+ columnNumber: 17
129
+ }), _$createComponent(py.Atom, {
130
+ jsValue: true
131
+ }, {
132
+ fileName: import.meta.url,
133
+ lineNumber: 72,
134
+ columnNumber: 17
135
+ })];
136
+ }
137
+ }, {
138
+ fileName: import.meta.url,
139
+ lineNumber: 67,
140
+ columnNumber: 13
141
+ });
142
+ }
143
+ }, {
144
+ fileName: import.meta.url,
145
+ lineNumber: 63,
146
+ columnNumber: 9
147
+ })];
148
+ }
149
+ }, {
150
+ fileName: import.meta.url,
151
+ lineNumber: 52,
152
+ columnNumber: 7
153
+ })]);
154
+ const expected = d`
155
+ def run_func(name: str, number: int, flag: bool) -> str:
156
+ pass
157
+
158
+ result: str = run_func("A name", 42, True)
159
+ `;
160
+ expect(result).toRenderTo(expected);
161
+ });
162
+ it("Method call without a reference and with call statement vars", () => {
163
+ const result = toSourceText([_$createComponent(py.StatementList, {
164
+ get children() {
165
+ return _$createComponent(py.FunctionCallExpression, {
166
+ target: "example_method",
167
+ get args() {
168
+ return [_$createComponent(py.VariableDeclaration, {
169
+ name: "name",
170
+ initializer: "A name",
171
+ callStatementVar: true
172
+ }, {
173
+ fileName: import.meta.url,
174
+ lineNumber: 94,
175
+ columnNumber: 13
176
+ }), _$createComponent(py.VariableDeclaration, {
177
+ name: "number",
178
+ initializer: 42,
179
+ callStatementVar: true
180
+ }, {
181
+ fileName: import.meta.url,
182
+ lineNumber: 99,
183
+ columnNumber: 13
184
+ }), _$createComponent(py.VariableDeclaration, {
185
+ name: "flag",
186
+ initializer: true,
187
+ callStatementVar: true
188
+ }, {
189
+ fileName: import.meta.url,
190
+ lineNumber: 104,
191
+ columnNumber: 13
192
+ })];
193
+ }
194
+ }, {
195
+ fileName: import.meta.url,
196
+ lineNumber: 91,
197
+ columnNumber: 9
198
+ });
199
+ }
200
+ }, {
201
+ fileName: import.meta.url,
202
+ lineNumber: 90,
203
+ columnNumber: 7
204
+ })]);
205
+ const expected = d`
206
+ example_method(name="A name", number=42, flag=True)
207
+ `;
208
+ expect(result).toRenderTo(expected);
209
+ });
210
+ it("Method call without a reference mixing unnamed and named vars", () => {
211
+ const result = toSourceText([_$createComponent(py.StatementList, {
212
+ get children() {
213
+ return _$createComponent(py.FunctionCallExpression, {
214
+ target: "example_method",
215
+ get args() {
216
+ return [_$createComponent(py.Atom, {
217
+ jsValue: "A name"
218
+ }, {
219
+ fileName: import.meta.url,
220
+ lineNumber: 125,
221
+ columnNumber: 13
222
+ }), _$createComponent(py.VariableDeclaration, {
223
+ name: "number",
224
+ initializer: 42,
225
+ callStatementVar: true
226
+ }, {
227
+ fileName: import.meta.url,
228
+ lineNumber: 126,
229
+ columnNumber: 13
230
+ }), _$createComponent(py.VariableDeclaration, {
231
+ name: "flag",
232
+ initializer: true,
233
+ callStatementVar: true
234
+ }, {
235
+ fileName: import.meta.url,
236
+ lineNumber: 131,
237
+ columnNumber: 13
238
+ })];
239
+ }
240
+ }, {
241
+ fileName: import.meta.url,
242
+ lineNumber: 122,
243
+ columnNumber: 9
244
+ });
245
+ }
246
+ }, {
247
+ fileName: import.meta.url,
248
+ lineNumber: 121,
249
+ columnNumber: 7
250
+ })]);
251
+ const expected = d`
252
+ example_method("A name", number=42, flag=True)
253
+ `;
254
+ expect(result).toRenderTo(expected);
255
+ });
256
+ });
257
+ //# sourceMappingURL=functioncallexpressions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["refkey","d","describe","expect","it","py","toSourceText","result","_$createComponent","FunctionCallExpression","target","fileName","import","meta","url","lineNumber","columnNumber","toRenderTo","args","methodRef","StatementList","children","FunctionDeclaration","name","Atom","jsValue","expected","returnType","parameters","type","VariableDeclaration","initializer","callStatementVar"],"sources":["../../../test/functioncallexpressions.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}