@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
@@ -1,8 +1,14 @@
1
1
  import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
2
  import { Show } from "@alloy-js/core";
3
3
  import { TypeArguments } from "./TypeArguments.js";
4
+ import { TypeRefContext } from "./TypeRefContext.js";
4
5
  /**
5
6
  * A type reference like Foo[T, P] or int.
7
+ *
8
+ * @remarks
9
+ * This component automatically wraps its content in a type reference context,
10
+ * so any symbols referenced via refkey will be imported as type-only
11
+ * (inside a `if TYPE_CHECKING:` block) unless also used as values elsewhere.
6
12
  */
7
13
  export function TypeReference(props) {
8
14
  const type = props.refkey ? props.refkey : props.name;
@@ -11,18 +17,22 @@ export function TypeReference(props) {
11
17
  return props.typeArgs;
12
18
  }
13
19
  }) : undefined;
14
- return _$createIntrinsic("group", {
20
+ return _$createComponent(TypeRefContext, {
15
21
  get children() {
16
- return [_$createIntrinsic("indent", {
22
+ return _$createIntrinsic("group", {
17
23
  get children() {
18
- return [_$createIntrinsic("sbr", {}), type, _$createComponent(Show, {
19
- get when() {
20
- return Boolean(typeArgs);
21
- },
22
- children: typeArgs
23
- })];
24
+ return [_$createIntrinsic("indent", {
25
+ get children() {
26
+ return [_$createIntrinsic("sbr", {}), type, _$createComponent(Show, {
27
+ get when() {
28
+ return Boolean(typeArgs);
29
+ },
30
+ children: typeArgs
31
+ })];
32
+ }
33
+ }), _$createIntrinsic("sbr", {})];
24
34
  }
25
- }), _$createIntrinsic("sbr", {})];
35
+ });
26
36
  }
27
37
  });
28
38
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Show","TypeArguments","TypeReference","props","type","refkey","name","typeArgs","length","_$createComponent","args","undefined","_$createIntrinsic","children","when","Boolean"],"sources":["../../../src/components/TypeReference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAA2BA,IAAI,QAAQ,gBAAgB;AACvD,SAASC,aAAa,QAAQ,oBAAoB;AAWlD;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,IAAI,GAAGD,KAAK,CAACE,MAAM,GAAGF,KAAK,CAACE,MAAM,GAAGF,KAAK,CAACG,IAAI;EACrD,MAAMC,QAAQ,GACZJ,KAAK,CAACI,QAAQ,IAAIJ,KAAK,CAACI,QAAQ,CAACC,MAAM,GAAAC,iBAAA,CACpCR,aAAa;IAAA,IAACS,IAAIA,CAAA;MAAA,OAAEP,KAAK,CAACI,QAAQ;IAAA;EAAA,KACnCI,SAAS;EAEb,OAAAC,iBAAA;IAAA,IAAAC,SAAA;MAAA,QAAAD,iBAAA;QAAA,IAAAC,SAAA;UAAA,QAAAD,iBAAA,aAIOR,IAAI,EAAAK,iBAAA,CACJT,IAAI;YAAA,IAACc,IAAIA,CAAA;cAAA,OAAEC,OAAO,CAACR,QAAQ,CAAC;YAAA;YAAAM,QAAA,EAAGN;UAAQ;QAAA;MAAA,IAAAK,iBAAA;IAAA;EAAA;AAKhD","ignoreList":[]}
1
+ {"version":3,"names":["Show","TypeArguments","TypeRefContext","TypeReference","props","type","refkey","name","typeArgs","length","_$createComponent","args","undefined","children","_$createIntrinsic","when","Boolean"],"sources":["../../../src/components/TypeReference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAA2BA,IAAI,QAAQ,gBAAgB;AACvD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,cAAc,QAAQ,qBAAqB;AAWpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,IAAI,GAAGD,KAAK,CAACE,MAAM,GAAGF,KAAK,CAACE,MAAM,GAAGF,KAAK,CAACG,IAAI;EACrD,MAAMC,QAAQ,GACZJ,KAAK,CAACI,QAAQ,IAAIJ,KAAK,CAACI,QAAQ,CAACC,MAAM,GAAAC,iBAAA,CACpCT,aAAa;IAAA,IAACU,IAAIA,CAAA;MAAA,OAAEP,KAAK,CAACI,QAAQ;IAAA;EAAA,KACnCI,SAAS;EAEb,OAAAF,iBAAA,CACGR,cAAc;IAAA,IAAAW,SAAA;MAAA,OAAAC,iBAAA;QAAA,IAAAD,SAAA;UAAA,QAAAC,iBAAA;YAAA,IAAAD,SAAA;cAAA,QAAAC,iBAAA,aAIRT,IAAI,EAAAK,iBAAA,CACJV,IAAI;gBAAA,IAACe,IAAIA,CAAA;kBAAA,OAAEC,OAAO,CAACR,QAAQ,CAAC;gBAAA;gBAAAK,QAAA,EAAGL;cAAQ;YAAA;UAAA,IAAAM,iBAAA;QAAA;MAAA;IAAA;EAAA;AAMlD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"VariableDeclaration.d.ts","sourceRoot":"","sources":["../../../src/components/VariableDeclaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,YA6ElE"}
1
+ {"version":3,"file":"VariableDeclaration.d.ts","sourceRoot":"","sources":["../../../src/components/VariableDeclaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIzD,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,YAgFlE"}
@@ -3,6 +3,7 @@ import { Declaration as CoreDeclaration, Name, Show, createSymbolSlot, memo } fr
3
3
  import { createPythonSymbol } from "../symbol-creation.js";
4
4
  import { Atom } from "./Atom.js";
5
5
  import { SimpleCommentBlock } from "./PyDoc.js";
6
+ import { TypeRefContext } from "./TypeRefContext.js";
6
7
  /**
7
8
  * A variable declaration component for Python.
8
9
  *
@@ -52,9 +53,13 @@ export function VariableDeclaration(props) {
52
53
  // Handle optional type annotation
53
54
  const type = memo(() => {
54
55
  if (!props.type || props.callStatementVar) return undefined;
55
- return [": ", _$createComponent(TypeSymbolSlot, {
56
+ return [":", " ", _$createComponent(TypeRefContext, {
56
57
  get children() {
57
- return props.type;
58
+ return _$createComponent(TypeSymbolSlot, {
59
+ get children() {
60
+ return props.type;
61
+ }
62
+ });
58
63
  }
59
64
  })];
60
65
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Declaration","CoreDeclaration","Name","Show","createSymbolSlot","memo","createPythonSymbol","Atom","SimpleCommentBlock","VariableDeclaration","props","TypeSymbolSlot","ValueTypeSymbolSlot","sym","name","instance","instanceVariable","refkeys","refkey","type","firstSymbol","undefined","moveMembersTo","callStatementVar","_$createComponent","children","value","initializer","assignmentOperator","getRightSide","omitNone","renderRightSideOperator","jsValue","rightSide","when","Boolean","doc","_$createIntrinsic","symbol","_$memo"],"sources":["../../../src/components/VariableDeclaration.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Declaration","CoreDeclaration","Name","Show","createSymbolSlot","memo","createPythonSymbol","Atom","SimpleCommentBlock","TypeRefContext","VariableDeclaration","props","TypeSymbolSlot","ValueTypeSymbolSlot","sym","name","instance","instanceVariable","refkeys","refkey","type","firstSymbol","undefined","moveMembersTo","callStatementVar","_$createComponent","children","value","initializer","assignmentOperator","getRightSide","omitNone","renderRightSideOperator","jsValue","rightSide","when","Boolean","doc","_$createIntrinsic","symbol","_$memo"],"sources":["../../../src/components/VariableDeclaration.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,6 @@ export type { CommonFunctionProps } from "./FunctionBase.js";
13
13
  export * from "./FunctionCallExpression.js";
14
14
  export * from "./FunctionDeclaration.js";
15
15
  export * from "./FutureStatement.js";
16
- export * from "./ImportStatement.js";
17
16
  export * from "./LexicalScope.js";
18
17
  export * from "./MemberExpression.js";
19
18
  export * from "./MemberScope.jsx";
@@ -27,6 +26,7 @@ export * from "./SourceFile.js";
27
26
  export * from "./StatementList.js";
28
27
  export * from "./StaticMethodDeclaration.js";
29
28
  export * from "./TypeArguments.js";
29
+ export * from "./TypeRefContext.js";
30
30
  export * from "./TypeReference.js";
31
31
  export * from "./UnionTypeExpression.js";
32
32
  export * from "./VariableDeclaration.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
@@ -12,7 +12,6 @@ export * from "./EnumMember.js";
12
12
  export * from "./FunctionCallExpression.js";
13
13
  export * from "./FunctionDeclaration.js";
14
14
  export * from "./FutureStatement.js";
15
- export * from "./ImportStatement.js";
16
15
  export * from "./LexicalScope.js";
17
16
  export * from "./MemberExpression.js";
18
17
  export * from "./MemberScope.js";
@@ -25,6 +24,7 @@ export * from "./SourceFile.js";
25
24
  export * from "./StatementList.js";
26
25
  export * from "./StaticMethodDeclaration.js";
27
26
  export * from "./TypeArguments.js";
27
+ export * from "./TypeRefContext.js";
28
28
  export * from "./TypeReference.js";
29
29
  export * from "./UnionTypeExpression.js";
30
30
  export * from "./VariableDeclaration.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,yBAAyB;AACvC,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,8BAA8B;AAC5C,cAAc,sBAAsB;AACpC,cAAc,iBAAiB;AAE/B,cAAc,6BAA6B;AAC3C,cAAc,0BAA0B;AACxC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC;AAEA,cAAc,wBAAwB;AACtC,cAAc,0BAA0B;AACxC,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AAAC","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,yBAAyB;AACvC,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,8BAA8B;AAC5C,cAAc,sBAAsB;AACpC,cAAc,iBAAiB;AAE/B,cAAc,6BAA6B;AAC3C,cAAc,0BAA0B;AACxC,cAAc,sBAAsB;AACpC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC;AAEA,cAAc,wBAAwB;AACtC,cAAc,0BAA0B;AACxC,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./type-ref-context.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./type-ref-context.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/context/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,uBAAuB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { ComponentContext } from "@alloy-js/core";
2
+ /**
3
+ * Context for tracking whether we are in a type annotation position.
4
+ * Used to determine if imports should be guarded with TYPE_CHECKING.
5
+ *
6
+ * @internal Use the TypeRefContext component instead.
7
+ */
8
+ export declare const TypeRefContextDef: ComponentContext<true>;
9
+ /**
10
+ * @returns 'true' if in a type context, 'false' if in a value context.
11
+ */
12
+ export declare function isTypeRefContext(): boolean;
13
+ //# sourceMappingURL=type-ref-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-ref-context.d.ts","sourceRoot":"","sources":["../../../src/context/type-ref-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6B,MAAM,gBAAgB,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAyB,CAAC;AAE/E;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -0,0 +1,17 @@
1
+ import { createContext, useContext } from "@alloy-js/core";
2
+
3
+ /**
4
+ * Context for tracking whether we are in a type annotation position.
5
+ * Used to determine if imports should be guarded with TYPE_CHECKING.
6
+ *
7
+ * @internal Use the TypeRefContext component instead.
8
+ */
9
+ export const TypeRefContextDef = createContext();
10
+
11
+ /**
12
+ * @returns 'true' if in a type context, 'false' if in a value context.
13
+ */
14
+ export function isTypeRefContext() {
15
+ return useContext(TypeRefContextDef) === true;
16
+ }
17
+ //# sourceMappingURL=type-ref-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","TypeRefContextDef","isTypeRefContext"],"sources":["../../../src/context/type-ref-context.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAA2BA,aAAa,EAAEC,UAAU,QAAQ,gBAAgB;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAyC,GAAGF,aAAa,CAAO,CAAC;;AAE9E;AACA;AACA;AACA,OAAO,SAASG,gBAAgBA,CAAA,EAAY;EAC1C,OAAOF,UAAU,CAACC,iBAAiB,CAAC,KAAK,IAAI;AAC/C","ignoreList":[]}
@@ -11,11 +11,23 @@ export interface ImportRecordProps {
11
11
  }
12
12
  export declare class ImportRecords extends Map<PythonModuleScope, ImportRecordProps> {
13
13
  }
14
+ export interface AddImportOptions {
15
+ /**
16
+ * If true, this import is only used in type annotation contexts.
17
+ * Such imports will be guarded with `if TYPE_CHECKING:`.
18
+ */
19
+ type?: boolean;
20
+ }
14
21
  export declare class PythonModuleScope extends PythonLexicalScope {
15
22
  #private;
16
23
  get importedSymbols(): Map<PythonOutputSymbol, PythonOutputSymbol>;
17
24
  get importedModules(): ImportRecords;
18
- addImport(targetSymbol: PythonOutputSymbol, targetModule: PythonModuleScope): PythonOutputSymbol;
25
+ addImport(targetSymbol: PythonOutputSymbol, targetModule: PythonModuleScope, options?: AddImportOptions): PythonOutputSymbol;
26
+ /**
27
+ * Add TYPE_CHECKING import from the typing module.
28
+ * Returns the local symbol for use in the if block opener.
29
+ */
30
+ addTypeImport(): PythonOutputSymbol;
19
31
  get debugInfo(): Record<string, unknown>;
20
32
  }
21
33
  //# sourceMappingURL=python-module-scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"python-module-scope.d.ts","sourceRoot":"","sources":["../../../src/symbols/python-module-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBAAa,cAAc;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;gBAEf,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;IAKjE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;CAGlE;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC9B;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;CAAG;AAE/E,qBAAa,iBAAkB,SAAQ,kBAAkB;;IAGvD,IAAI,eAAe,gDAElB;IAGD,IAAI,eAAe,kBAElB;IAED,SAAS,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB;IA4B3E,IAAa,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMhD;CACF"}
1
+ {"version":3,"file":"python-module-scope.d.ts","sourceRoot":"","sources":["../../../src/symbols/python-module-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA0B/D,qBAAa,cAAc;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;gBAEf,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;IAKjE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;CAGlE;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC9B;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;CAAG;AAE/E,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;;IAGvD,IAAI,eAAe,gDAElB;IAGD,IAAI,eAAe,kBAElB;IAED,SAAS,CACP,YAAY,EAAE,kBAAkB,EAChC,YAAY,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,gBAAgB;IAqC5B;;;OAGG;IACH,aAAa,IAAI,kBAAkB;IAKnC,IAAa,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMhD;CACF"}
@@ -1,6 +1,26 @@
1
1
  import { createSymbol, reactive, shallowReactive } from "@alloy-js/core";
2
2
  import { PythonLexicalScope } from "./python-lexical-scope.js";
3
3
  import { PythonOutputSymbol } from "./python-output-symbol.js";
4
+
5
+ // Internal typing module for TYPE_CHECKING imports
6
+ let _typingModuleScope;
7
+ let _typeCheckingSymbol;
8
+
9
+ /**
10
+ * Get the internal typing module scope and TYPE_CHECKING symbol.
11
+ * Used by addTypeImport() to add TYPE_CHECKING imports without
12
+ * going through the binder's refkey resolution.
13
+ */
14
+ function getTypingModuleInternal() {
15
+ if (!_typingModuleScope) {
16
+ _typingModuleScope = new PythonModuleScope("typing", undefined);
17
+ _typeCheckingSymbol = new PythonOutputSymbol("TYPE_CHECKING", _typingModuleScope.symbols, {});
18
+ }
19
+ return {
20
+ scope: _typingModuleScope,
21
+ TYPE_CHECKING: _typeCheckingSymbol
22
+ };
23
+ }
4
24
  export class ImportedSymbol {
5
25
  constructor(target, local) {
6
26
  this.target = target;
@@ -20,9 +40,13 @@ export class PythonModuleScope extends PythonLexicalScope {
20
40
  get importedModules() {
21
41
  return this.#importedModules;
22
42
  }
23
- addImport(targetSymbol, targetModule) {
43
+ addImport(targetSymbol, targetModule, options) {
24
44
  const existing = this.importedSymbols.get(targetSymbol);
25
45
  if (existing) {
46
+ // If existing is type-only but now used as value, upgrade it
47
+ if (!options?.type && existing.isTypeOnly) {
48
+ existing.markAsValue();
49
+ }
26
50
  return existing;
27
51
  }
28
52
  if (!this.importedModules.has(targetModule)) {
@@ -32,7 +56,8 @@ export class PythonModuleScope extends PythonLexicalScope {
32
56
  }
33
57
  const localSymbol = createSymbol(PythonOutputSymbol, targetSymbol.name, this.symbols, {
34
58
  binder: this.binder,
35
- aliasTarget: targetSymbol
59
+ aliasTarget: targetSymbol,
60
+ typeOnly: options?.type
36
61
  });
37
62
  this.importedSymbols.set(targetSymbol, localSymbol);
38
63
  this.importedModules.get(targetModule).symbols?.add({
@@ -41,6 +66,15 @@ export class PythonModuleScope extends PythonLexicalScope {
41
66
  });
42
67
  return localSymbol;
43
68
  }
69
+
70
+ /**
71
+ * Add TYPE_CHECKING import from the typing module.
72
+ * Returns the local symbol for use in the if block opener.
73
+ */
74
+ addTypeImport() {
75
+ const typing = getTypingModuleInternal();
76
+ return this.addImport(typing.TYPE_CHECKING, typing.scope);
77
+ }
44
78
  get debugInfo() {
45
79
  return {
46
80
  ...super.debugInfo,
@@ -1 +1 @@
1
- {"version":3,"names":["createSymbol","reactive","shallowReactive","PythonLexicalScope","PythonOutputSymbol","ImportedSymbol","constructor","target","local","from","ImportRecords","Map","PythonModuleScope","importedSymbols","importedModules","addImport","targetSymbol","targetModule","existing","get","has","set","symbols","Set","localSymbol","name","binder","aliasTarget","add","debugInfo","importedSymbolCount","size","importedModuleCount"],"sources":["../../../src/symbols/python-module-scope.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,EAAEC,eAAe,QAAQ,gBAAgB;AACxE,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,OAAO,MAAMC,cAAc,CAAC;EAI1BC,WAAWA,CAACC,MAA0B,EAAEC,KAAyB,EAAE;IACjE,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,IAAIA,CAACF,MAA0B,EAAEC,KAAyB,EAAE;IACjE,OAAO,IAAIH,cAAc,CAACE,MAAM,EAAEC,KAAK,CAAC;EAC1C;AACF;AAMA,OAAO,MAAME,aAAa,SAASC,GAAG,CAAuC;AAE7E,OAAO,MAAMC,iBAAiB,SAAST,kBAAkB,CAAC;EACxD,CAACU,eAAe,GACdX,eAAe,CAAC,IAAIS,GAAG,CAAC,CAAC,CAAC;EAC5B,IAAIE,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAAC,CAACA,eAAe;EAC9B;EAEA,CAACC,eAAe,GAAkBb,QAAQ,CAAC,IAAIU,GAAG,CAAC,CAAC,CAAC;EACrD,IAAIG,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAAC,CAACA,eAAe;EAC9B;EAEAC,SAASA,CAACC,YAAgC,EAAEC,YAA+B,EAAE;IAC3E,MAAMC,QAAQ,GAAG,IAAI,CAACL,eAAe,CAACM,GAAG,CAACH,YAAY,CAAC;IACvD,IAAIE,QAAQ,EAAE;MACZ,OAAOA,QAAQ;IACjB;IAEA,IAAI,CAAC,IAAI,CAACJ,eAAe,CAACM,GAAG,CAACH,YAAY,CAAC,EAAE;MAC3C,IAAI,CAACH,eAAe,CAACO,GAAG,CAACJ,YAAY,EAAE;QACrCK,OAAO,EAAE,IAAIC,GAAG,CAAiB;MACnC,CAAC,CAAC;IACJ;IAEA,MAAMC,WAAW,GAAGxB,YAAY,CAC9BI,kBAAkB,EAClBY,YAAY,CAACS,IAAI,EACjB,IAAI,CAACH,OAAO,EACZ;MAAEI,MAAM,EAAE,IAAI,CAACA,MAAM;MAAEC,WAAW,EAAEX;IAAa,CACnD,CAAC;IAED,IAAI,CAACH,eAAe,CAACQ,GAAG,CAACL,YAAY,EAAEQ,WAAW,CAAC;IACnD,IAAI,CAACV,eAAe,CAACK,GAAG,CAACF,YAAY,CAAC,CAAEK,OAAO,EAAEM,GAAG,CAAC;MACnDpB,KAAK,EAAEgB,WAAW;MAClBjB,MAAM,EAAES;IACV,CAAC,CAAC;IAEF,OAAOQ,WAAW;EACpB;EAEA,IAAaK,SAASA,CAAA,EAA4B;IAChD,OAAO;MACL,GAAG,KAAK,CAACA,SAAS;MAClBC,mBAAmB,EAAE,IAAI,CAAC,CAACjB,eAAe,CAACkB,IAAI;MAC/CC,mBAAmB,EAAE,IAAI,CAAC,CAAClB,eAAe,CAACiB;IAC7C,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createSymbol","reactive","shallowReactive","PythonLexicalScope","PythonOutputSymbol","_typingModuleScope","_typeCheckingSymbol","getTypingModuleInternal","PythonModuleScope","undefined","symbols","scope","TYPE_CHECKING","ImportedSymbol","constructor","target","local","from","ImportRecords","Map","importedSymbols","importedModules","addImport","targetSymbol","targetModule","options","existing","get","type","isTypeOnly","markAsValue","has","set","Set","localSymbol","name","binder","aliasTarget","typeOnly","add","addTypeImport","typing","debugInfo","importedSymbolCount","size","importedModuleCount"],"sources":["../../../src/symbols/python-module-scope.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import { Namekey, OutputSpace, OutputSymbol, OutputSymbolOptions } from "@alloy-js/core";
2
2
  export interface PythonOutputSymbolOptions extends OutputSymbolOptions {
3
3
  module?: string;
4
+ /** Whether this symbol is only used in type annotation contexts */
5
+ typeOnly?: boolean;
4
6
  }
5
7
  export interface CreatePythonSymbolFunctionOptions extends PythonOutputSymbolOptions {
6
8
  name: string;
@@ -13,6 +15,15 @@ export declare class PythonOutputSymbol extends OutputSymbol {
13
15
  static readonly memberSpaces: readonly ["static", "instance"];
14
16
  constructor(name: string | Namekey, spaces: OutputSpace[] | OutputSpace | undefined, options: PythonOutputSymbolOptions);
15
17
  get module(): string | undefined;
18
+ /**
19
+ * Returns true if this symbol is only used in type annotation contexts.
20
+ * Such symbols can be imported inside a TYPE_CHECKING block.
21
+ */
22
+ get isTypeOnly(): boolean;
23
+ /**
24
+ * Mark this symbol as also being used as a value (not just a type).
25
+ */
26
+ markAsValue(): void;
16
27
  get staticMembers(): import("@alloy-js/core").OutputMemberSpace;
17
28
  get instanceMembers(): import("@alloy-js/core").OutputMemberSpace;
18
29
  get isStaticMemberSymbol(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"python-output-symbol.d.ts","sourceRoot":"","sources":["../../../src/symbols/python-output-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCACf,SAAQ,yBAAyB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;;IAClD,MAAM,CAAC,QAAQ,CAAC,YAAY,kCAAmC;gBAG7D,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,EAC/C,OAAO,EAAE,yBAAyB;IASpC,IAAI,MAAM,uBAET;IAED,IAAI,aAAa,+CAEhB;IAED,IAAI,eAAe,+CAElB;IAED,IAAI,oBAAoB,YAEvB;IAED,IAAI,sBAAsB,YAEzB;IAED,IAAa,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOhD;IAED,IAAI;CAaL"}
1
+ {"version":3,"file":"python-output-symbol.d.ts","sourceRoot":"","sources":["../../../src/symbols/python-output-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,mBAAmB,EAKpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iCACf,SAAQ,yBAAyB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;;IAClD,MAAM,CAAC,QAAQ,CAAC,YAAY,kCAAmC;gBAG7D,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,EAC/C,OAAO,EAAE,yBAAyB;IAUpC,IAAI,MAAM,uBAET;IAID;;;OAGG;IACH,IAAI,UAAU,YAGb;IAED;;OAEG;IACH,WAAW;IASX,IAAI,aAAa,+CAEhB;IAED,IAAI,eAAe,+CAElB;IAED,IAAI,oBAAoB,YAEvB;IAED,IAAI,sBAAsB,YAEzB;IAED,IAAa,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOhD;IAED,IAAI;CAcL"}
@@ -1,4 +1,4 @@
1
- import { OutputSymbol, createSymbol } from "@alloy-js/core";
1
+ import { createSymbol, OutputSymbol, track, TrackOpTypes, trigger, TriggerOpTypes } from "@alloy-js/core";
2
2
  /**
3
3
  * Represents an 'exported' symbol from a .py file. Class, enum, interface etc.
4
4
  */
@@ -7,6 +7,7 @@ export class PythonOutputSymbol extends OutputSymbol {
7
7
  constructor(name, spaces, options) {
8
8
  super(name, spaces, options);
9
9
  this.#module = options.module ?? undefined;
10
+ this.#typeOnly = options.typeOnly ?? false;
10
11
  }
11
12
 
12
13
  // The module in which the symbol is defined
@@ -14,6 +15,28 @@ export class PythonOutputSymbol extends OutputSymbol {
14
15
  get module() {
15
16
  return this.#module;
16
17
  }
18
+ #typeOnly;
19
+
20
+ /**
21
+ * Returns true if this symbol is only used in type annotation contexts.
22
+ * Such symbols can be imported inside a TYPE_CHECKING block.
23
+ */
24
+ get isTypeOnly() {
25
+ track(this, TrackOpTypes.GET, "typeOnly");
26
+ return this.#typeOnly;
27
+ }
28
+
29
+ /**
30
+ * Mark this symbol as also being used as a value (not just a type).
31
+ */
32
+ markAsValue() {
33
+ if (!this.#typeOnly) {
34
+ return;
35
+ }
36
+ const oldValue = this.#typeOnly;
37
+ this.#typeOnly = false;
38
+ trigger(this, TriggerOpTypes.SET, "typeOnly", false, oldValue);
39
+ }
17
40
  get staticMembers() {
18
41
  return this.memberSpaceFor("static");
19
42
  }
@@ -40,7 +63,8 @@ export class PythonOutputSymbol extends OutputSymbol {
40
63
  binder,
41
64
  aliasTarget: this.aliasTarget,
42
65
  module: this.module,
43
- metadata: this.metadata
66
+ metadata: this.metadata,
67
+ typeOnly: this.isTypeOnly
44
68
  });
45
69
  this.initializeCopy(copy);
46
70
  return copy;
@@ -1 +1 @@
1
- {"version":3,"names":["OutputSymbol","createSymbol","PythonOutputSymbol","memberSpaces","constructor","name","spaces","options","module","undefined","staticMembers","memberSpaceFor","instanceMembers","isStaticMemberSymbol","isInstanceMemberSymbol","some","s","key","debugInfo","copy","binder","aliasTarget","metadata","initializeCopy"],"sources":["../../../src/symbols/python-output-symbol.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,YAAY,EAEZC,YAAY,QACP,gBAAgB;AAWvB;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,SAASF,YAAY,CAAC;EACnD,OAAgBG,YAAY,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;EAErDC,WAAWA,CACTC,IAAsB,EACtBC,MAA+C,EAC/CC,OAAkC,EAClC;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAIC,SAAS;EAC5C;;EAEA;EACA,CAACD,MAAM;EAEP,IAAIA,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAAC,CAACA,MAAM;EACrB;EAEA,IAAIE,aAAaA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACC,cAAc,CAAC,QAAQ,CAAC;EACtC;EAEA,IAAIC,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACD,cAAc,CAAC,UAAU,CAAC;EACxC;EAEA,IAAIE,oBAAoBA,CAAA,EAAG;IACzB,OAAO,CAAC,IAAI,CAACC,sBAAsB;EACrC;EAEA,IAAIA,sBAAsBA,CAAA,EAAG;IAC3B,OAAO,IAAI,CAACR,MAAM,CAACS,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAK,UAAU,CAAC;EACtD;EAEA,IAAaC,SAASA,CAAA,EAA4B;IAChD,OAAO;MACL,GAAG,KAAK,CAACA,SAAS;MAClBV,MAAM,EAAE,IAAI,CAAC,CAACA,MAAM;MACpBK,oBAAoB,EAAE,IAAI,CAACA,oBAAoB;MAC/CC,sBAAsB,EAAE,IAAI,CAACA;IAC/B,CAAC;EACH;EAEAK,IAAIA,CAAA,EAAG;IACL,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM;IAC1B,MAAMD,IAAI,GAAGlB,YAAY,CAACC,kBAAkB,EAAE,IAAI,CAACG,IAAI,EAAEI,SAAS,EAAE;MAClEW,MAAM;MACNC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7Bb,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBc,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;IAEF,IAAI,CAACC,cAAc,CAACJ,IAAI,CAAC;IAEzB,OAAOA,IAAI;EACb;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createSymbol","OutputSymbol","track","TrackOpTypes","trigger","TriggerOpTypes","PythonOutputSymbol","memberSpaces","constructor","name","spaces","options","module","undefined","typeOnly","isTypeOnly","GET","markAsValue","oldValue","SET","staticMembers","memberSpaceFor","instanceMembers","isStaticMemberSymbol","isInstanceMemberSymbol","some","s","key","debugInfo","copy","binder","aliasTarget","metadata","initializeCopy"],"sources":["../../../src/symbols/python-output-symbol.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EAGZC,YAAY,EAEZC,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,QACT,gBAAgB;AAavB;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,SAASL,YAAY,CAAC;EACnD,OAAgBM,YAAY,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;EAErDC,WAAWA,CACTC,IAAsB,EACtBC,MAA+C,EAC/CC,OAAkC,EAClC;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAIC,SAAS;IAC1C,IAAI,CAAC,CAACC,QAAQ,GAAGH,OAAO,CAACG,QAAQ,IAAI,KAAK;EAC5C;;EAEA;EACA,CAACF,MAAM;EAEP,IAAIA,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAAC,CAACA,MAAM;EACrB;EAEA,CAACE,QAAQ;;EAET;AACF;AACA;AACA;EACE,IAAIC,UAAUA,CAAA,EAAG;IACfb,KAAK,CAAC,IAAI,EAAEC,YAAY,CAACa,GAAG,EAAE,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,CAACF,QAAQ;EACvB;;EAEA;AACF;AACA;EACEG,WAAWA,CAAA,EAAG;IACZ,IAAI,CAAC,IAAI,CAAC,CAACH,QAAQ,EAAE;MACnB;IACF;IACA,MAAMI,QAAQ,GAAG,IAAI,CAAC,CAACJ,QAAQ;IAC/B,IAAI,CAAC,CAACA,QAAQ,GAAG,KAAK;IACtBV,OAAO,CAAC,IAAI,EAAEC,cAAc,CAACc,GAAG,EAAE,UAAU,EAAE,KAAK,EAAED,QAAQ,CAAC;EAChE;EAEA,IAAIE,aAAaA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACC,cAAc,CAAC,QAAQ,CAAC;EACtC;EAEA,IAAIC,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACD,cAAc,CAAC,UAAU,CAAC;EACxC;EAEA,IAAIE,oBAAoBA,CAAA,EAAG;IACzB,OAAO,CAAC,IAAI,CAACC,sBAAsB;EACrC;EAEA,IAAIA,sBAAsBA,CAAA,EAAG;IAC3B,OAAO,IAAI,CAACd,MAAM,CAACe,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAK,UAAU,CAAC;EACtD;EAEA,IAAaC,SAASA,CAAA,EAA4B;IAChD,OAAO;MACL,GAAG,KAAK,CAACA,SAAS;MAClBhB,MAAM,EAAE,IAAI,CAAC,CAACA,MAAM;MACpBW,oBAAoB,EAAE,IAAI,CAACA,oBAAoB;MAC/CC,sBAAsB,EAAE,IAAI,CAACA;IAC/B,CAAC;EACH;EAEAK,IAAIA,CAAA,EAAG;IACL,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM;IAC1B,MAAMD,IAAI,GAAG7B,YAAY,CAACM,kBAAkB,EAAE,IAAI,CAACG,IAAI,EAAEI,SAAS,EAAE;MAClEiB,MAAM;MACNC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BnB,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBoB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBlB,QAAQ,EAAE,IAAI,CAACC;IACjB,CAAC,CAAC;IAEF,IAAI,CAACkB,cAAc,CAACJ,IAAI,CAAC;IAEzB,OAAOA,IAAI;EACb;AACF","ignoreList":[]}
@@ -1,4 +1,11 @@
1
1
  import { Children, Refkey } from "@alloy-js/core";
2
2
  import { PythonOutputSymbol } from "./python-output-symbol.js";
3
- export declare function ref(refkey: Refkey): () => [Children, PythonOutputSymbol | undefined];
3
+ export interface RefOptions {
4
+ /**
5
+ * If true, this reference is only used in a type annotation context.
6
+ * The import will be guarded with `if TYPE_CHECKING:`.
7
+ */
8
+ type?: boolean;
9
+ }
10
+ export declare function ref(refkey: Refkey, options?: RefOptions): () => [Children, PythonOutputSymbol | undefined];
4
11
  //# sourceMappingURL=reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/symbols/reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,MAAM,EAKP,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAmDlD"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/symbols/reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,MAAM,EAKP,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAoDlD"}
@@ -3,7 +3,7 @@ import { memo, resolve, unresolvedRefkey, untrack, useContext } from "@alloy-js/
3
3
  import { MemberExpression } from "../components/MemberExpression.js";
4
4
  import { PythonSourceFileContext } from "../components/SourceFile.js";
5
5
  import { PythonModuleScope } from "./python-module-scope.js";
6
- export function ref(refkey) {
6
+ export function ref(refkey, options) {
7
7
  const sourceFile = useContext(PythonSourceFileContext);
8
8
  const resolveResult = resolve(refkey);
9
9
  return memo(() => {
@@ -24,7 +24,9 @@ export function ref(refkey) {
24
24
  const targetLocation = pathDown[0] instanceof PythonModuleScope ? "module" : "local";
25
25
  let localSymbol;
26
26
  if (targetLocation === "module") {
27
- localSymbol = untrack(() => sourceFile.scope.addImport(lexicalDeclaration, pathDown[0]));
27
+ localSymbol = untrack(() => sourceFile.scope.addImport(lexicalDeclaration, pathDown[0], {
28
+ type: options?.type
29
+ }));
28
30
  }
29
31
  const parts = [];
30
32
  if (commonScope && commonScope.isMemberScope) {
@@ -1 +1 @@
1
- {"version":3,"names":["memo","resolve","unresolvedRefkey","untrack","useContext","MemberExpression","PythonSourceFileContext","PythonModuleScope","ref","refkey","sourceFile","resolveResult","value","undefined","commonScope","lexicalDeclaration","symbol","pathDown","memberPath","targetLocation","localSymbol","scope","addImport","parts","isMemberScope","isInstanceMemberSymbol","push","_$createComponent","Part","id","ownerSymbol","part","children"],"sources":["../../../src/symbols/reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EAEJC,OAAO,EACPC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,gBAAgB;AACvB,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,SAASC,iBAAiB,QAAQ,0BAA0B;AAI5D,OAAO,SAASC,GAAGA,CACjBC,MAAc,EACoC;EAClD,MAAMC,UAAU,GAAGN,UAAU,CAACE,uBAAuB,CAAC;EACtD,MAAMK,aAAa,GAAGV,OAAO,CAC3BQ,MACF,CAAC;EAED,OAAOT,IAAI,CAAC,MAAM;IAChB,IAAIW,aAAa,CAACC,KAAK,KAAKC,SAAS,EAAE;MACrC,OAAO,CAACX,gBAAgB,CAACO,MAAM,CAAC,EAAEI,SAAS,CAAC;IAC9C;IAEA,MAAM;MAAEC,WAAW;MAAEC,kBAAkB;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GACrEP,aAAa,CAACC,KAAK;;IAErB;IACA;IACA;IACA,MAAMO,cAAc,GAClBF,QAAQ,CAAC,CAAC,CAAC,YAAYV,iBAAiB,GAAG,QAAQ,GAAG,OAAO;IAC/D,IAAIa,WAA2C;IAE/C,IAAID,cAAc,KAAK,QAAQ,EAAE;MAC/BC,WAAW,GAAGjB,OAAO,CAAC,MACpBO,UAAU,CAAEW,KAAK,CAACC,SAAS,CACzBP,kBAAkB,EAClBE,QAAQ,CAAC,CAAC,CACZ,CACF,CAAC;IACH;IAEA,MAAMM,KAAK,GAAG,EAAE;IAEhB,IAAIT,WAAW,IAAIA,WAAW,CAACU,aAAa,EAAE;MAC5C;MACA,IAAIT,kBAAkB,CAACU,sBAAsB,EAAE;QAC7CF,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;UAACC,EAAE;QAAA,EAAU,CAAC;MACjD,CAAC,MAAM;QACLN,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;UAAA,IAACZ,MAAMA,CAAA;YAAA,OAAEF,WAAW,CAACgB,WAAW;UAAA;QAAA,EAAI,CAAC;MACxE;MACAP,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;QAACZ,MAAM,EAAED;MAAkB,EAAI,CAAC;IACnE,CAAC,MAAM;MACLQ,KAAK,CAACG,IAAI,CAAAC,iBAAA,CACPtB,gBAAgB,CAACuB,IAAI;QAACZ,MAAM,EAAEI,WAAW,IAAIL;MAAkB,EAClE,CAAC;IACH;IACA,KAAK,MAAMgB,IAAI,IAAIb,UAAU,EAAE;MAC7BK,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;QAACZ,MAAM,EAAEe;MAAI,EAAI,CAAC;IACrD;IAEA,OAAO,CAAAJ,iBAAA,CAAEtB,gBAAgB;MAAC2B,QAAQ,EAAET;IAAK,IAAMH,WAAW,IAAIJ,MAAM,CAAC;EACvE,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["memo","resolve","unresolvedRefkey","untrack","useContext","MemberExpression","PythonSourceFileContext","PythonModuleScope","ref","refkey","options","sourceFile","resolveResult","value","undefined","commonScope","lexicalDeclaration","symbol","pathDown","memberPath","targetLocation","localSymbol","scope","addImport","type","parts","isMemberScope","isInstanceMemberSymbol","push","_$createComponent","Part","id","ownerSymbol","part","children"],"sources":["../../../src/symbols/reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EAEJC,OAAO,EACPC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,gBAAgB;AACvB,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,SAASC,iBAAiB,QAAQ,0BAA0B;AAY5D,OAAO,SAASC,GAAGA,CACjBC,MAAc,EACdC,OAAoB,EAC8B;EAClD,MAAMC,UAAU,GAAGP,UAAU,CAACE,uBAAuB,CAAC;EACtD,MAAMM,aAAa,GAAGX,OAAO,CAC3BQ,MACF,CAAC;EAED,OAAOT,IAAI,CAAC,MAAM;IAChB,IAAIY,aAAa,CAACC,KAAK,KAAKC,SAAS,EAAE;MACrC,OAAO,CAACZ,gBAAgB,CAACO,MAAM,CAAC,EAAEK,SAAS,CAAC;IAC9C;IAEA,MAAM;MAAEC,WAAW;MAAEC,kBAAkB;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GACrEP,aAAa,CAACC,KAAK;;IAErB;IACA;IACA;IACA,MAAMO,cAAc,GAClBF,QAAQ,CAAC,CAAC,CAAC,YAAYX,iBAAiB,GAAG,QAAQ,GAAG,OAAO;IAC/D,IAAIc,WAA2C;IAE/C,IAAID,cAAc,KAAK,QAAQ,EAAE;MAC/BC,WAAW,GAAGlB,OAAO,CAAC,MACpBQ,UAAU,CAAEW,KAAK,CAACC,SAAS,CACzBP,kBAAkB,EAClBE,QAAQ,CAAC,CAAC,CAAC,EACX;QAAEM,IAAI,EAAEd,OAAO,EAAEc;MAAK,CACxB,CACF,CAAC;IACH;IAEA,MAAMC,KAAK,GAAG,EAAE;IAEhB,IAAIV,WAAW,IAAIA,WAAW,CAACW,aAAa,EAAE;MAC5C;MACA,IAAIV,kBAAkB,CAACW,sBAAsB,EAAE;QAC7CF,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAExB,gBAAgB,CAACyB,IAAI;UAACC,EAAE;QAAA,EAAU,CAAC;MACjD,CAAC,MAAM;QACLN,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAExB,gBAAgB,CAACyB,IAAI;UAAA,IAACb,MAAMA,CAAA;YAAA,OAAEF,WAAW,CAACiB,WAAW;UAAA;QAAA,EAAI,CAAC;MACxE;MACAP,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAExB,gBAAgB,CAACyB,IAAI;QAACb,MAAM,EAAED;MAAkB,EAAI,CAAC;IACnE,CAAC,MAAM;MACLS,KAAK,CAACG,IAAI,CAAAC,iBAAA,CACPxB,gBAAgB,CAACyB,IAAI;QAACb,MAAM,EAAEI,WAAW,IAAIL;MAAkB,EAClE,CAAC;IACH;IACA,KAAK,MAAMiB,IAAI,IAAId,UAAU,EAAE;MAC7BM,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAExB,gBAAgB,CAACyB,IAAI;QAACb,MAAM,EAAEgB;MAAI,EAAI,CAAC;IACrD;IAEA,OAAO,CAAAJ,iBAAA,CAAExB,gBAAgB;MAAC6B,QAAQ,EAAET;IAAK,IAAMJ,WAAW,IAAIJ,MAAM,CAAC;EACvE,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -77,7 +77,10 @@ describe("DataclassDeclaration", () => {
77
77
  });
78
78
  expect(res).toRenderTo(d`
79
79
  from dataclasses import dataclass
80
- from dataclasses import KW_ONLY
80
+ from typing import TYPE_CHECKING
81
+
82
+ if TYPE_CHECKING:
83
+ from dataclasses import KW_ONLY
81
84
 
82
85
 
83
86
  @dataclass
@@ -672,7 +675,7 @@ describe("DataclassDeclaration", () => {
672
675
  type: userRefkey,
673
676
  get initializer() {
674
677
  return _$createComponent(py.ClassInstantiation, {
675
- target: "User",
678
+ target: userRefkey,
676
679
  args: ["1", '"Alice"']
677
680
  });
678
681
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Prose","namekey","refkey","d","describe","expect","it","dataclassesModule","py","assertFileContents","toSourceText","toSourceTextMultiple","doc","_$createComponent","ClassDoc","description","children","res","SourceFile","path","DataclassDeclaration","name","externals","toRenderTo","VariableDeclaration","instanceVariable","omitNone","type","ignoreNamePolicy","KW_ONLY","initializer","frozen","slots","kwOnly","init","repr","eq","order","unsafeHash","matchArgs","weakrefSlot","toThrowError","DunderMethodDeclaration","Wrapper","bases","not","toThrow","userRefkey","FunctionDeclaration","returnType","ClassInstantiation","target","args","_$createIntrinsic"],"sources":["../../test/dataclassdeclarations.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Prose","namekey","refkey","d","describe","expect","it","dataclassesModule","py","assertFileContents","toSourceText","toSourceTextMultiple","doc","_$createComponent","ClassDoc","description","children","res","SourceFile","path","DataclassDeclaration","name","externals","toRenderTo","VariableDeclaration","instanceVariable","omitNone","type","ignoreNamePolicy","KW_ONLY","initializer","frozen","slots","kwOnly","init","repr","eq","order","unsafeHash","matchArgs","weakrefSlot","toThrowError","DunderMethodDeclaration","Wrapper","bases","not","toThrow","userRefkey","FunctionDeclaration","returnType","ClassInstantiation","target","args","_$createIntrinsic"],"sources":["../../test/dataclassdeclarations.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -100,7 +100,10 @@ it("uses import from external library in multiple functions", () => {
100
100
  const expected = d`
101
101
  from requests import get
102
102
  from requests import post
103
- from requests.models import Response
103
+ from typing import TYPE_CHECKING
104
+
105
+ if TYPE_CHECKING:
106
+ from requests.models import Response
104
107
 
105
108
 
106
109
  def get_user(user_id: int) -> Response:
@@ -200,7 +203,10 @@ it("uses import from external library in multiple class methods", () => {
200
203
  const expected = d`
201
204
  from requests import get
202
205
  from requests import post
203
- from requests.models import Response
206
+ from typing import TYPE_CHECKING
207
+
208
+ if TYPE_CHECKING:
209
+ from requests.models import Response
204
210
 
205
211
 
206
212
  class UserClient: