@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,10 +1,89 @@
1
1
  import { createIntrinsic as _$createIntrinsic, memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { childrenArray, computed, For, isComponentCreator, List, reactive, ref, Show, takeSymbols, useBinder } from "@alloy-js/core";
3
- const MEMBER_ACCESS_TYPES = {
4
- ATTRIBUTE: "attribute",
5
- SUBSCRIPTION: "subscription",
6
- CALL: "call"
7
- };
2
+ import { computed, createAccessExpression, For, List, Show } from "@alloy-js/core";
3
+ const exclusiveParts = ["args", "refkey", "symbol", "id", "key", "keys", "slice"];
4
+ const {
5
+ Expression,
6
+ Part,
7
+ registerOuterComponent
8
+ } = createAccessExpression({
9
+ createDescriptor(partProps, sym, first) {
10
+ const foundProps = exclusiveParts.filter(key => key in partProps);
11
+ if (foundProps.length > 1) {
12
+ throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
13
+ }
14
+
15
+ // Validate slice syntax
16
+ if (partProps.slice) {
17
+ const {
18
+ start,
19
+ stop,
20
+ step
21
+ } = partProps.slice;
22
+ if (!start && !stop && !step) {
23
+ throw new Error("MemberExpression.Part: slice object cannot be empty");
24
+ }
25
+ }
26
+
27
+ // Validate keys array
28
+ if (partProps.keys?.length === 0) {
29
+ throw new Error("MemberExpression.Part: keys array cannot be empty");
30
+ }
31
+ if (partProps.args !== undefined) {
32
+ return {
33
+ type: "call",
34
+ name: undefined,
35
+ expression: undefined,
36
+ quoted: false,
37
+ args: partProps.args === true ? [] : partProps.args
38
+ };
39
+ } else if (partProps.key !== undefined || partProps.keys !== undefined || partProps.slice !== undefined) {
40
+ return {
41
+ type: "subscription",
42
+ name: undefined,
43
+ expression: getSubscriptionValue(partProps),
44
+ quoted: partProps.key !== undefined && typeof partProps.key === "string",
45
+ args: undefined
46
+ };
47
+ } else {
48
+ let name;
49
+ if (first && partProps.refkey) {
50
+ name = partProps.refkey;
51
+ } else if (partProps.id !== undefined) {
52
+ if (!isValidIdentifier(partProps.id)) {
53
+ throw new Error(`Invalid identifier: ${partProps.id}`);
54
+ }
55
+ name = partProps.id;
56
+ } else if (sym) {
57
+ name = sym.name;
58
+ } else {
59
+ name = "<unresolved symbol>";
60
+ }
61
+ return {
62
+ type: "attribute",
63
+ name,
64
+ expression: undefined,
65
+ quoted: false,
66
+ args: undefined
67
+ };
68
+ }
69
+ },
70
+ getBase(part) {
71
+ if (part.type !== "attribute") {
72
+ throw new Error("The first part of a MemberExpression must be an id or refkey");
73
+ }
74
+ return part.name;
75
+ },
76
+ formatPart(part, _prevPart, _inCallChain) {
77
+ if (part.type === "call") {
78
+ return formatCallOutput(part);
79
+ } else if (part.type === "attribute") {
80
+ return formatAttributeOutput(part);
81
+ } else {
82
+ return formatSubscriptionOutput(part);
83
+ }
84
+ }
85
+ });
86
+
8
87
  /**
9
88
  * Create a member expression from parts. Each part can provide one of
10
89
  * the following:
@@ -35,162 +114,22 @@ const MEMBER_ACCESS_TYPES = {
35
114
  * ```
36
115
  */
37
116
  export function MemberExpression(props) {
38
- const children = childrenArray(() => props.children);
39
- const parts = childrenToPartDescriptors(children);
40
- // any symbols emitted from the children won't be relevant to
41
- // parent scopes. TODO: emit the proper symbol if we know it?
42
- takeSymbols();
43
- if (parts.length === 0) {
44
- return [];
45
- }
46
- return computed(() => {
47
- return formatChain(parts);
48
- });
117
+ return Expression(props);
49
118
  }
50
119
 
51
120
  /**
52
- * Build part descriptors from the children of a MemberExpression.
53
- */
54
- function childrenToPartDescriptors(children) {
55
- const parts = [];
56
- for (const child of children) {
57
- if (!isComponentCreator(child, MemberExpression.Part)) {
58
- // we ignore non-parts
59
- continue;
60
- }
61
- parts.push(createPartDescriptorFromProps(child.props, child === children[0]));
62
- }
63
- return parts;
64
- }
65
- const exclusiveParts = ["args", "refkey", "symbol", "id", "key", "keys", "slice"];
66
- /**
67
- * Creates a reactive part descriptor from the given part props.
121
+ * A part of a member expression. Each part can provide one of the following
122
+ * props:
68
123
  *
69
- * @param partProps The props for the part.
70
- * @param first Whether this is the first part in the expression. Refkeys are
71
- * handled specially for the first part.
72
- */
73
- function createPartDescriptorFromProps(partProps, first) {
74
- const foundProps = exclusiveParts.filter(key => {
75
- return key in partProps;
76
- });
77
- if (foundProps.length > 1) {
78
- throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
79
- }
80
-
81
- // Validate slice syntax
82
- if (partProps.slice) {
83
- const {
84
- start,
85
- stop,
86
- step
87
- } = partProps.slice;
88
- if (!start && !stop && !step) {
89
- throw new Error("MemberExpression.Part: slice object cannot be empty");
90
- }
91
- }
92
-
93
- // Validate keys array
94
- if (partProps.keys?.length === 0) {
95
- throw new Error("MemberExpression.Part: keys array cannot be empty");
96
- }
97
- const symbolSource = computed(() => {
98
- if (partProps.refkey) {
99
- return getSymbolForRefkey(partProps.refkey).value;
100
- } else if (partProps.symbol) {
101
- return partProps.symbol;
102
- } else {
103
- return undefined;
104
- }
105
- });
106
-
107
- // Return different descriptor types based on what props are provided
108
- let part;
109
- if (partProps.args !== undefined) {
110
- // CallDescriptor
111
- part = {
112
- type: computed(() => {
113
- return "call";
114
- }),
115
- args: ref(partProps.args === true ? [] : partProps.args)
116
- };
117
- } else if (partProps.key !== undefined || partProps.keys !== undefined || partProps.slice !== undefined) {
118
- // SubscriptionDescriptor
119
- part = {
120
- type: computed(() => {
121
- return "subscription";
122
- }),
123
- expression: computed(() => {
124
- return getSubscriptionValue(partProps);
125
- }),
126
- quoted: computed(() => {
127
- return partProps.key !== undefined && typeof partProps.key === "string";
128
- })
129
- };
130
- } else {
131
- // IdentifierDescriptor
132
- part = {
133
- type: computed(() => {
134
- return "attribute";
135
- }),
136
- name: computed(() => {
137
- if (first && partProps.refkey) {
138
- return partProps.refkey;
139
- } else if (partProps.id !== undefined) {
140
- if (!isValidIdentifier(partProps.id)) {
141
- throw new Error(`Invalid identifier: ${partProps.id}`);
142
- }
143
- return partProps.id;
144
- } else if (symbolSource.value) {
145
- return symbolSource.value.name;
146
- } else {
147
- return "<unresolved symbol>";
148
- }
149
- })
150
- };
151
- }
152
- return reactive(part);
153
- }
154
-
155
- /**
156
- * Convert a refkey to a symbol ref using the current binder.
157
- */
158
- function getSymbolForRefkey(refkey) {
159
- const binder = useBinder();
160
- return binder.getSymbolForRefkey(refkey);
161
- }
162
-
163
- /**
164
- * Format a chain of parts into a MemberExpression.
124
+ * * **id**: The identifier for the member expression part
125
+ * * **refkey**: A refkey for a symbol whose name becomes the identifier
126
+ * * **symbol**: a symbol whose name becomes the identifier part
127
+ * * **args**: create a method call with the given args
165
128
  */
166
- function formatChain(parts) {
167
- return computed(() => {
168
- const expression = [];
169
- for (let i = 0; i < parts.length; i++) {
170
- const part = parts[i];
171
- if (i === 0) {
172
- if (!isAttributeDescriptor(part)) {
173
- throw new Error("The first part of a MemberExpression must be an id or refkey");
174
- }
175
- expression.push(part.name);
176
- } else {
177
- if (isCallDescriptor(part)) {
178
- expression.push(formatCallOutput(part));
179
- } else if (isAttributeDescriptor(part)) {
180
- expression.push(formatAttributeOutput(part));
181
- } else if (isSubscriptionDescriptor(part)) {
182
- expression.push(formatSubscriptionOutput(part));
183
- }
184
- }
185
- }
186
- return expression;
187
- });
188
- }
129
+ MemberExpression.Part = Part;
130
+ registerOuterComponent(MemberExpression);
131
+ // --- Formatting helpers ---
189
132
 
190
- /**
191
- * Format a part of a member expression that is an array access.
192
- * This is used for parts like `foo[0]` or `foo["bar"]`.
193
- */
194
133
  function formatSubscriptionOutput(part) {
195
134
  return _$createIntrinsic("group", {
196
135
  get children() {
@@ -248,36 +187,15 @@ function formatCallOutput(part) {
248
187
  }
249
188
  });
250
189
  }
251
- /**
252
- * A part of a member expression. Each part can provide one of the following
253
- * props:
254
- *
255
- * * **id**: The identifier for the member expression part
256
- * * **refkey**: A refkey for a symbol whose name becomes the identifier
257
- * * **symbol**: a symbol whose name becomes the identifier part
258
- * * **args**: create a method call with the given args
259
- */
260
- MemberExpression.Part = function (props) {
261
- /**
262
- * This component does nothing except hold props which are retrieved by
263
- * the `MemberExpression` component.
264
- */
265
- };
190
+
191
+ // --- Utilities ---
192
+
266
193
  function isValidIdentifier(id) {
267
194
  if (typeof id === "string" && id.includes('"')) {
268
195
  return false;
269
196
  }
270
197
  return true;
271
198
  }
272
- function isCallDescriptor(part) {
273
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.CALL;
274
- }
275
- function isAttributeDescriptor(part) {
276
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.ATTRIBUTE;
277
- }
278
- function isSubscriptionDescriptor(part) {
279
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.SUBSCRIPTION;
280
- }
281
199
  function getSubscriptionValue(partProps) {
282
200
  // Handle tuple keys: obj[a, b] → (a, b)
283
201
  if (partProps.keys?.length) {
@@ -1 +1 @@
1
- {"version":3,"names":["childrenArray","computed","For","isComponentCreator","List","reactive","ref","Show","takeSymbols","useBinder","MEMBER_ACCESS_TYPES","ATTRIBUTE","SUBSCRIPTION","CALL","MemberExpression","props","children","parts","childrenToPartDescriptors","length","formatChain","child","Part","push","createPartDescriptorFromProps","exclusiveParts","partProps","first","foundProps","filter","key","Error","join","slice","start","stop","step","keys","symbolSource","refkey","getSymbolForRefkey","value","symbol","undefined","part","args","type","expression","getSubscriptionValue","quoted","name","id","isValidIdentifier","binder","i","isAttributeDescriptor","isCallDescriptor","formatCallOutput","formatAttributeOutput","isSubscriptionDescriptor","formatSubscriptionOutput","_$createIntrinsic","_$memo","_$createComponent","when","each","comma","line","arg","includes","Object"],"sources":["../../../src/components/MemberExpression.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["computed","createAccessExpression","For","List","Show","exclusiveParts","Expression","Part","registerOuterComponent","createDescriptor","partProps","sym","first","foundProps","filter","key","length","Error","join","slice","start","stop","step","keys","args","undefined","type","name","expression","quoted","getSubscriptionValue","refkey","id","isValidIdentifier","getBase","part","formatPart","_prevPart","_inCallChain","formatCallOutput","formatAttributeOutput","formatSubscriptionOutput","MemberExpression","props","_$createIntrinsic","children","_$memo","_$createComponent","when","value","each","comma","line","arg","includes","Object","parts","push"],"sources":["../../../src/components/MemberExpression.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/components/Reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG9D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,qCAMnD"}
1
+ {"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/components/Reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI9D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,qCAOnD"}
@@ -1,5 +1,6 @@
1
1
  import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
2
  import { computed, emitSymbol } from "@alloy-js/core";
3
+ import { isTypeRefContext } from "../context/type-ref-context.js";
3
4
  import { ref } from "../symbols/index.js";
4
5
  /**
5
6
  * A Python reference to a symbol, such as a variable, function, or class.
@@ -11,7 +12,10 @@ import { ref } from "../symbols/index.js";
11
12
  export function Reference({
12
13
  refkey
13
14
  }) {
14
- const reference = ref(refkey);
15
+ const inTypeRef = isTypeRefContext();
16
+ const reference = ref(refkey, {
17
+ type: inTypeRef
18
+ });
15
19
  const symbolRef = computed(() => reference()[1]);
16
20
  emitSymbol(symbolRef);
17
21
  return [_$memo(() => reference()[0])];
@@ -1 +1 @@
1
- {"version":3,"names":["computed","emitSymbol","ref","Reference","refkey","reference","symbolRef","_$memo"],"sources":["../../../src/components/Reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAgB,gBAAgB;AAC7D,SAASC,GAAG,QAAQ,qBAAqB;AAMzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC;AAAuB,CAAC,EAAE;EACpD,MAAMC,SAAS,GAAGH,GAAG,CAACE,MAAM,CAAC;EAC7B,MAAME,SAAS,GAAGN,QAAQ,CAAC,MAAMK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAEhDJ,UAAU,CAACK,SAAS,CAAC;EACrB,QAAAC,MAAA,OAAUF,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B","ignoreList":[]}
1
+ {"version":3,"names":["computed","emitSymbol","isTypeRefContext","ref","Reference","refkey","inTypeRef","reference","type","symbolRef","_$memo"],"sources":["../../../src/components/Reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAgB,gBAAgB;AAC7D,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,GAAG,QAAQ,qBAAqB;AAMzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC;AAAuB,CAAC,EAAE;EACpD,MAAMC,SAAS,GAAGJ,gBAAgB,CAAC,CAAC;EACpC,MAAMK,SAAS,GAAGJ,GAAG,CAACE,MAAM,EAAE;IAAEG,IAAI,EAAEF;EAAU,CAAC,CAAC;EAClD,MAAMG,SAAS,GAAGT,QAAQ,CAAC,MAAMO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAEhDN,UAAU,CAACQ,SAAS,CAAC;EACrB,QAAAC,MAAA,OAAUH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B","ignoreList":[]}
@@ -33,7 +33,7 @@ export interface SourceFileProps {
33
33
  /**
34
34
  * __future__ imports to render after the docstring but before regular imports.
35
35
  */
36
- futureImports?: Children;
36
+ futureImports?: Children[];
37
37
  }
38
38
  /**
39
39
  * A Python source file component that represents a Python file in the source directory.
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAUhB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA+CxD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,uBAAuB,CAC3B,CAAC;AAEpD,wBAAgB,aAAa,4BAE5B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAqGhD"}
1
+ {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAWhB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAmDxD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,uBAAuB,CAC3B,CAAC;AAEpD,wBAAgB,aAAa,4BAE5B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAoIhD"}
@@ -1,9 +1,10 @@
1
1
  import { memo as _$memo, createIntrinsic as _$createIntrinsic, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { childrenArray, SourceFile as CoreSourceFile, createNamedContext, createScope, isComponentCreator, List, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
2
+ import { childrenArray, computed, SourceFile as CoreSourceFile, createNamedContext, createScope, isComponentCreator, List, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
3
3
  import { join } from "pathe";
4
4
  import { PythonModuleScope } from "../symbols/index.js";
5
- import { ImportStatements } from "./ImportStatement.js";
5
+ import { categorizeImportRecords, ImportStatements } from "./ImportStatement.js";
6
6
  import { SimpleCommentBlock } from "./PyDoc.js";
7
+ import { PythonBlock } from "./PythonBlock.js";
7
8
  import { Reference } from "./Reference.js";
8
9
 
9
10
  // Non top-level definitions
@@ -100,6 +101,24 @@ export function SourceFile(props) {
100
101
 
101
102
  // Check if there's any preamble content (header, doc, imports, etc.)
102
103
  const hasPreamble = props.header !== undefined || props.headerComment !== undefined || props.doc !== undefined || props.futureImports !== undefined;
104
+ const imports = computed(() => {
105
+ // Quick scan for any type-only imports
106
+ const hasTypeImports = [...scope.importedModules.values()].some(props => props.symbols && [...props.symbols].some(s => s.local.isTypeOnly));
107
+
108
+ // Add TYPE_CHECKING before categorizing so it's naturally included
109
+ const typeImportSymbol = hasTypeImports ? scope.addTypeImport() : undefined;
110
+
111
+ // Single categorize - TYPE_CHECKING is already in scope.importedModules
112
+ const {
113
+ valueImports,
114
+ typeImports
115
+ } = categorizeImportRecords(scope.importedModules);
116
+ return {
117
+ valueImports,
118
+ typeImports,
119
+ typeImportSymbol
120
+ };
121
+ });
103
122
  return _$createComponent(CoreSourceFile, {
104
123
  get path() {
105
124
  return props.path;
@@ -170,20 +189,40 @@ export function SourceFile(props) {
170
189
  }
171
190
  }), _$createComponent(Show, {
172
191
  get when() {
173
- return scope.importedModules.size > 0;
192
+ return imports.value.valueImports.size > 0;
174
193
  },
175
194
  get children() {
176
195
  return [_$createComponent(ImportStatements, {
177
196
  get records() {
178
- return scope.importedModules;
197
+ return imports.value.valueImports;
179
198
  }
180
- }), _$createComponent(Show, {
181
- when: hasChildren,
199
+ }), _$createIntrinsic("hbr", {})];
200
+ }
201
+ }), _$createComponent(Show, {
202
+ get when() {
203
+ return imports.value.typeImports.size > 0;
204
+ },
205
+ get children() {
206
+ return [_$createIntrinsic("hbr", {}), _$createComponent(PythonBlock, {
207
+ get opener() {
208
+ return `if ${imports.value.typeImportSymbol.name}:`;
209
+ },
182
210
  get children() {
183
- return [_$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})];
211
+ return _$createComponent(ImportStatements, {
212
+ get records() {
213
+ return imports.value.typeImports;
214
+ }
215
+ });
184
216
  }
185
217
  })];
186
218
  }
219
+ }), _$createComponent(Show, {
220
+ get when() {
221
+ return hasChildren && scope.importedModules.size > 0;
222
+ },
223
+ get children() {
224
+ return _$createIntrinsic("hbr", {});
225
+ }
187
226
  }), _$createComponent(Show, {
188
227
  get when() {
189
228
  return needsExtraSpacing && (hasPreamble || scope.importedModules.size > 0);
@@ -1 +1 @@
1
- {"version":3,"names":["childrenArray","SourceFile","CoreSourceFile","createNamedContext","createScope","isComponentCreator","List","Scope","Show","SourceDirectoryContext","useContext","join","PythonModuleScope","ImportStatements","SimpleCommentBlock","Reference","NON_DEFINITION_NAMES","Set","WRAPPER_COMPONENT_NAMES","firstChildIsDefinition","children","arr","length","first","name","component","has","props","PythonSourceFileContext","useSourceFile","directoryContext","currentDir","path","replace","scope","undefined","sfContext","module","hasChildren","needsExtraSpacing","hasPreamble","header","headerComment","doc","futureImports","_$createComponent","filetype","reference","when","_$createIntrinsic","_$memo","importedModules","size","records","Provider","value","doubleHardline"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,aAAa,EAEbC,UAAU,IAAIC,cAAc,EAC5BC,kBAAkB,EAClBC,WAAW,EACXC,kBAAkB,EAClBC,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,sBAAsB,EACtBC,UAAU,QAEL,gBAAgB;AACvB,SAASC,IAAI,QAAQ,OAAO;AAC5B,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,kBAAkB,QAAQ,YAAY;AAC/C,SAASC,SAAS,QAAQ,gBAAgB;;AAE1C;AACA,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACnC,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,CACZ,CAAC;;AAEF;AACA,MAAMC,uBAAuB,GAAG,IAAID,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,sBAAsBA,CAACC,QAA8B,EAAW;EACvE,IAAI,CAACA,QAAQ,EAAE,OAAO,KAAK;EAC3B,MAAMC,GAAG,GAAGrB,aAAa,CAAC,MAAMoB,QAAQ,CAAC;EACzC,IAAIC,GAAG,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;EAClC,MAAMC,KAAK,GAAGF,GAAG,CAAC,CAAC,CAAC;;EAEpB;EACA,IAAI,CAAChB,kBAAkB,CAACkB,KAAK,CAAC,EAAE;IAC9B,OAAO,KAAK;EACd;EAEA,MAAMC,IAAI,GAAGD,KAAK,CAACE,SAAS,CAACD,IAAI;EACjC,IAAIR,oBAAoB,CAACU,GAAG,CAACF,IAAI,CAAC,EAAE;IAClC,OAAO,KAAK;EACd;EACA;EACA,IAAIN,uBAAuB,CAACQ,GAAG,CAACF,IAAI,CAAC,IAAID,KAAK,CAACI,KAAK,EAAEP,QAAQ,EAAE;IAC9D,OAAOD,sBAAsB,CAACI,KAAK,CAACI,KAAK,CAACP,QAAoB,CAAC;EACjE;EACA;EACA,OAAO,IAAI;AACb;AAQA,OAAO,MAAMQ,uBAAkE,GAC7EzB,kBAAkB,CAAC,6BAA6B,CAAC;AAEnD,OAAO,SAAS0B,aAAaA,CAAA,EAAG;EAC9B,OAAOnB,UAAU,CAACkB,uBAAuB,CAAC;AAC5C;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS3B,UAAUA,CAAC0B,KAAsB,EAAE;EACjD,MAAMG,gBAAgB,GAAGpB,UAAU,CAACD,sBAAsB,CAAE;EAC5D,MAAMsB,UAAU,GAAGD,gBAAgB,CAACE,IAAI;EACxC;EACA,MAAMA,IAAY,GAAGrB,IAAI,CAACoB,UAAU,EAAEJ,KAAK,CAACK,IAAI,CAAC,CAC9CC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CACpBA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EACtB,MAAMC,KAAK,GAAG9B,WAAW,CAACQ,iBAAiB,EAAEoB,IAAI,EAAEG,SAAS,CAAC;EAC7D,MAAMC,SAAkC,GAAG;IACzCF,KAAK,EAAEA,KAAK;IACZG,MAAM,EAAEL;EACV,CAAC;;EAED;EACA,MAAMM,WAAW,GACfX,KAAK,CAACP,QAAQ,KAAKe,SAAS,IAC5BnC,aAAa,CAAC,MAAM2B,KAAK,CAACP,QAAQ,CAAC,CAACE,MAAM,GAAG,CAAC;;EAEhD;EACA,MAAMiB,iBAAiB,GAAGpB,sBAAsB,CAACQ,KAAK,CAACP,QAAQ,CAAC;;EAEhE;EACA,MAAMoB,WAAW,GACfb,KAAK,CAACc,MAAM,KAAKN,SAAS,IAC1BR,KAAK,CAACe,aAAa,KAAKP,SAAS,IACjCR,KAAK,CAACgB,GAAG,KAAKR,SAAS,IACvBR,KAAK,CAACiB,aAAa,KAAKT,SAAS;EAEnC,OAAAU,iBAAA,CACG3C,cAAc;IAAA,IACb8B,IAAIA,CAAA;MAAA,OAAEL,KAAK,CAACK,IAAI;IAAA;IAChBc,QAAQ;IACRC,SAAS,EAAEhC,SAAS;IAAA,IACpB0B,MAAMA,CAAA;MAAA,OAAEd,KAAK,CAACc,MAAM;IAAA;IAAA,IAAArB,SAAA;MAAA,QAAAyB,iBAAA,CAGnBrC,IAAI;QAAA,IACHwC,IAAIA,CAAA;UAAA,OACFrB,KAAK,CAACc,MAAM,KAAKN,SAAS,IAC1BR,KAAK,CAACe,aAAa,KAAKP,SAAS,KAChCR,KAAK,CAACgB,GAAG,KAAKR,SAAS,IACtBR,KAAK,CAACiB,aAAa,KAAKT,SAAS,IACjCG,WAAW,CAAC;QAAA;QAAA,IAAAlB,SAAA;UAAA,OAAA6B,iBAAA;QAAA;MAAA,IAAAJ,iBAAA,CAKjBrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAErB,KAAK,CAACe,aAAa,KAAKP,SAAS;QAAA;QAAA,IAAAf,SAAA;UAAA,QAAAyB,iBAAA,CAC1C/B,kBAAkB;YAAA,IAAAM,SAAA;cAAA,OAAEO,KAAK,CAACe,aAAa;YAAA;UAAA,IAAAG,iBAAA,CAEvCrC,IAAI;YAAA,IAACwC,IAAIA,CAAA;cAAA,OAAErB,KAAK,CAACgB,GAAG,KAAKR,SAAS;YAAA;YAAA,IAAAf,SAAA;cAAA,OAAA6B,iBAAA;YAAA;UAAA,IAAAJ,iBAAA,CAIlCrC,IAAI;YAAA,IACHwC,IAAIA,CAAA;cAAA,OACFrB,KAAK,CAACgB,GAAG,KAAKR,SAAS,KACtBR,KAAK,CAACiB,aAAa,KAAKT,SAAS,IAAIG,WAAW,CAAC;YAAA;YAAA,IAAAlB,SAAA;cAAA,QAAA6B,iBAAA,aAAAA,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAOvDrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAErB,KAAK,CAACgB,GAAG,KAAKR,SAAS;QAAA;QAAA,IAAAf,SAAA;UAAA,QAAA8B,MAAA,OAChCvB,KAAK,CAACgB,GAAG,GAAAE,iBAAA,CACTrC,IAAI;YAAA,IAACwC,IAAIA,CAAA;cAAA,OAAErB,KAAK,CAACiB,aAAa,KAAKT,SAAS,IAAIG,WAAW;YAAA;YAAA,IAAAlB,SAAA;cAAA,OAAA6B,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAI7DrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAErB,KAAK,CAACiB,aAAa,KAAKT,SAAS;QAAA;QAAA,IAAAf,SAAA;UAAA,QAAA8B,MAAA,OAC1CvB,KAAK,CAACiB,aAAa,GAAAC,iBAAA,CACnBrC,IAAI;YAACwC,IAAI,EAAEV,WAAW;YAAA,IAAAlB,SAAA;cAAA,QAAA6B,iBAAA,aAAAA,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAKxBrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAEd,KAAK,CAACiB,eAAe,CAACC,IAAI,GAAG,CAAC;QAAA;QAAA,IAAAhC,SAAA;UAAA,QAAAyB,iBAAA,CACvChC,gBAAgB;YAAA,IAACwC,OAAOA,CAAA;cAAA,OAAEnB,KAAK,CAACiB,eAAe;YAAA;UAAA,IAAAN,iBAAA,CAC/CrC,IAAI;YAACwC,IAAI,EAAEV,WAAW;YAAA,IAAAlB,SAAA;cAAA,QAAA6B,iBAAA,aAAAA,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAMxBrC,IAAI;QAAA,IACHwC,IAAIA,CAAA;UAAA,OACFT,iBAAiB,KAAKC,WAAW,IAAIN,KAAK,CAACiB,eAAe,CAACC,IAAI,GAAG,CAAC,CAAC;QAAA;QAAA,IAAAhC,SAAA;UAAA,OAAA6B,iBAAA;QAAA;MAAA,IAAAJ,iBAAA,CAKvEjB,uBAAuB,CAAC0B,QAAQ;QAACC,KAAK,EAAEnB,SAAS;QAAA,IAAAhB,SAAA;UAAA,OAAAyB,iBAAA,CAC/CtC,KAAK;YAACgD,KAAK,EAAErB,KAAK;YAAA,IAAAd,SAAA;cAAA,OAAAyB,iBAAA,CAChBrC,IAAI;gBAACwC,IAAI,EAAEV,WAAW;gBAAA,IAAAlB,SAAA;kBAAA,OAAAyB,iBAAA,CACpBvC,IAAI;oBAACkD,cAAc;oBAAA,IAAApC,SAAA;sBAAA,OAAEO,KAAK,CAACP,QAAQ;oBAAA;kBAAA;gBAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA;AAMhD","ignoreList":[]}
1
+ {"version":3,"names":["childrenArray","computed","SourceFile","CoreSourceFile","createNamedContext","createScope","isComponentCreator","List","Scope","Show","SourceDirectoryContext","useContext","join","PythonModuleScope","categorizeImportRecords","ImportStatements","SimpleCommentBlock","PythonBlock","Reference","NON_DEFINITION_NAMES","Set","WRAPPER_COMPONENT_NAMES","firstChildIsDefinition","children","arr","length","first","name","component","has","props","PythonSourceFileContext","useSourceFile","directoryContext","currentDir","path","replace","scope","undefined","sfContext","module","hasChildren","needsExtraSpacing","hasPreamble","header","headerComment","doc","futureImports","imports","hasTypeImports","importedModules","values","some","symbols","s","local","isTypeOnly","typeImportSymbol","addTypeImport","valueImports","typeImports","_$createComponent","filetype","reference","when","_$createIntrinsic","_$memo","value","size","records","opener","Provider","doubleHardline"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import type { Children } from "@alloy-js/core";
2
+ import { isTypeRefContext } from "../context/type-ref-context.js";
3
+ export { isTypeRefContext };
4
+ export interface TypeRefContextProps {
5
+ /**
6
+ * Children
7
+ */
8
+ children: Children;
9
+ }
10
+ /**
11
+ * Set the current context of reference to be type reference.
12
+ *
13
+ * @remarks
14
+ * References used inside the children of this component will be treated as
15
+ * type-only references. When a symbol is only referenced in type contexts,
16
+ * it will be imported inside a `if TYPE_CHECKING:` block.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <TypeRefContext>
21
+ * {someTypeRefkey}
22
+ * </TypeRefContext>
23
+ * ```
24
+ */
25
+ export declare const TypeRefContext: ({ children }: TypeRefContextProps) => Children;
26
+ //# sourceMappingURL=TypeRefContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeRefContext.d.ts","sourceRoot":"","sources":["../../../src/components/TypeRefContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,cAAc,mBAAmB,aAI/D,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { isTypeRefContext, TypeRefContextDef } from "../context/type-ref-context.js";
3
+
4
+ // Re-export for external use
5
+ export { isTypeRefContext };
6
+ /**
7
+ * Set the current context of reference to be type reference.
8
+ *
9
+ * @remarks
10
+ * References used inside the children of this component will be treated as
11
+ * type-only references. When a symbol is only referenced in type contexts,
12
+ * it will be imported inside a `if TYPE_CHECKING:` block.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <TypeRefContext>
17
+ * {someTypeRefkey}
18
+ * </TypeRefContext>
19
+ * ```
20
+ */
21
+ export const TypeRefContext = ({
22
+ children
23
+ }) => {
24
+ return _$createComponent(TypeRefContextDef.Provider, {
25
+ value: true,
26
+ children: children
27
+ });
28
+ };
29
+ //# sourceMappingURL=TypeRefContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isTypeRefContext","TypeRefContextDef","TypeRefContext","children","_$createComponent","Provider","value"],"sources":["../../../src/components/TypeRefContext.tsx"],"sourcesContent":[null],"mappings":";AACA,SACEA,gBAAgB,EAChBC,iBAAiB,QACZ,gCAAgC;;AAEvC;AACA,SAASD,gBAAgB;AASzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,cAAc,GAAGA,CAAC;EAAEC;AAA8B,CAAC,KAAK;EACnE,OAAAC,iBAAA,CACGH,iBAAiB,CAACI,QAAQ;IAACC,KAAK;IAAAH,QAAA,EAAEA;EAAQ;AAE/C,CAAC","ignoreList":[]}
@@ -9,6 +9,11 @@ export interface TypeReferenceProps {
9
9
  }
10
10
  /**
11
11
  * A type reference like Foo[T, P] or int.
12
+ *
13
+ * @remarks
14
+ * This component automatically wraps its content in a type reference context,
15
+ * so any symbols referenced via refkey will be imported as type-only
16
+ * (inside a `if TYPE_CHECKING:` block) unless also used as values elsewhere.
12
17
  */
13
18
  export declare function TypeReference(props: TypeReferenceProps): Children;
14
19
  //# sourceMappingURL=TypeReference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeReference.d.ts","sourceRoot":"","sources":["../../../src/components/TypeReference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,MAAM,gBAAgB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,YAiBtD"}
1
+ {"version":3,"file":"TypeReference.d.ts","sourceRoot":"","sources":["../../../src/components/TypeReference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,MAAM,gBAAgB,CAAC;AAIxD,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,YAmBtD"}