@alloy-js/go 0.0.1

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 (264) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE +7 -0
  3. package/api-extractor.json +4 -0
  4. package/dist/src/builtins/fmt/fmt.d.ts +147 -0
  5. package/dist/src/builtins/fmt/fmt.d.ts.map +1 -0
  6. package/dist/src/builtins/fmt/fmt.js +148 -0
  7. package/dist/src/builtins/fmt/fmt.js.map +1 -0
  8. package/dist/src/builtins/index.d.ts +2004 -0
  9. package/dist/src/builtins/index.d.ts.map +1 -0
  10. package/dist/src/builtins/index.js +9 -0
  11. package/dist/src/builtins/index.js.map +1 -0
  12. package/dist/src/builtins/io/io.d.ts +648 -0
  13. package/dist/src/builtins/io/io.d.ts.map +1 -0
  14. package/dist/src/builtins/io/io.js +650 -0
  15. package/dist/src/builtins/io/io.js.map +1 -0
  16. package/dist/src/builtins/net/net.d.ts +1210 -0
  17. package/dist/src/builtins/net/net.d.ts.map +1 -0
  18. package/dist/src/builtins/net/net.js +1212 -0
  19. package/dist/src/builtins/net/net.js.map +1 -0
  20. package/dist/src/components/ImportStatement.d.ts +15 -0
  21. package/dist/src/components/ImportStatement.d.ts.map +1 -0
  22. package/dist/src/components/ImportStatement.js +90 -0
  23. package/dist/src/components/ImportStatement.js.map +1 -0
  24. package/dist/src/components/ModuleDirectory.d.ts +8 -0
  25. package/dist/src/components/ModuleDirectory.d.ts.map +1 -0
  26. package/dist/src/components/ModuleDirectory.js +20 -0
  27. package/dist/src/components/ModuleDirectory.js.map +1 -0
  28. package/dist/src/components/Name.d.ts +2 -0
  29. package/dist/src/components/Name.d.ts.map +1 -0
  30. package/dist/src/components/Name.js +12 -0
  31. package/dist/src/components/Name.js.map +1 -0
  32. package/dist/src/components/Reference.d.ts +6 -0
  33. package/dist/src/components/Reference.d.ts.map +1 -0
  34. package/dist/src/components/Reference.js +15 -0
  35. package/dist/src/components/Reference.js.map +1 -0
  36. package/dist/src/components/SourceDirectory.d.ts +6 -0
  37. package/dist/src/components/SourceDirectory.d.ts.map +1 -0
  38. package/dist/src/components/SourceDirectory.js +30 -0
  39. package/dist/src/components/SourceDirectory.js.map +1 -0
  40. package/dist/src/components/SourceFile.d.ts +16 -0
  41. package/dist/src/components/SourceFile.d.ts.map +1 -0
  42. package/dist/src/components/SourceFile.js +75 -0
  43. package/dist/src/components/SourceFile.js.map +1 -0
  44. package/dist/src/components/doc/comment.d.ts +21 -0
  45. package/dist/src/components/doc/comment.d.ts.map +1 -0
  46. package/dist/src/components/doc/comment.js +30 -0
  47. package/dist/src/components/doc/comment.js.map +1 -0
  48. package/dist/src/components/doc/comment.test.d.ts +2 -0
  49. package/dist/src/components/doc/comment.test.d.ts.map +1 -0
  50. package/dist/src/components/doc/comment.test.js +215 -0
  51. package/dist/src/components/doc/comment.test.js.map +1 -0
  52. package/dist/src/components/function/function.d.ts +31 -0
  53. package/dist/src/components/function/function.d.ts.map +1 -0
  54. package/dist/src/components/function/function.js +134 -0
  55. package/dist/src/components/function/function.js.map +1 -0
  56. package/dist/src/components/function/function.test.d.ts +2 -0
  57. package/dist/src/components/function/function.test.d.ts.map +1 -0
  58. package/dist/src/components/function/function.test.js +410 -0
  59. package/dist/src/components/function/function.test.js.map +1 -0
  60. package/dist/src/components/index.d.ts +16 -0
  61. package/dist/src/components/index.d.ts.map +1 -0
  62. package/dist/src/components/index.js +16 -0
  63. package/dist/src/components/index.js.map +1 -0
  64. package/dist/src/components/interface/declaration.d.ts +68 -0
  65. package/dist/src/components/interface/declaration.d.ts.map +1 -0
  66. package/dist/src/components/interface/declaration.js +181 -0
  67. package/dist/src/components/interface/declaration.js.map +1 -0
  68. package/dist/src/components/interface/interface.test.d.ts +2 -0
  69. package/dist/src/components/interface/interface.test.d.ts.map +1 -0
  70. package/dist/src/components/interface/interface.test.js +517 -0
  71. package/dist/src/components/interface/interface.test.js.map +1 -0
  72. package/dist/src/components/package.test.d.ts +2 -0
  73. package/dist/src/components/package.test.d.ts.map +1 -0
  74. package/dist/src/components/package.test.js +89 -0
  75. package/dist/src/components/package.test.js.map +1 -0
  76. package/dist/src/components/parameters/parameters.d.ts +15 -0
  77. package/dist/src/components/parameters/parameters.d.ts.map +1 -0
  78. package/dist/src/components/parameters/parameters.js +58 -0
  79. package/dist/src/components/parameters/parameters.js.map +1 -0
  80. package/dist/src/components/parameters/typeparameters.d.ts +25 -0
  81. package/dist/src/components/parameters/typeparameters.d.ts.map +1 -0
  82. package/dist/src/components/parameters/typeparameters.js +53 -0
  83. package/dist/src/components/parameters/typeparameters.js.map +1 -0
  84. package/dist/src/components/pointer/pointer.d.ts +9 -0
  85. package/dist/src/components/pointer/pointer.d.ts.map +1 -0
  86. package/dist/src/components/pointer/pointer.js +8 -0
  87. package/dist/src/components/pointer/pointer.js.map +1 -0
  88. package/dist/src/components/stc/index.d.ts +27 -0
  89. package/dist/src/components/stc/index.d.ts.map +1 -0
  90. package/dist/src/components/stc/index.js +27 -0
  91. package/dist/src/components/stc/index.js.map +1 -0
  92. package/dist/src/components/struct/declaration.d.ts +62 -0
  93. package/dist/src/components/struct/declaration.d.ts.map +1 -0
  94. package/dist/src/components/struct/declaration.js +161 -0
  95. package/dist/src/components/struct/declaration.js.map +1 -0
  96. package/dist/src/components/struct/struct.test.d.ts +2 -0
  97. package/dist/src/components/struct/struct.test.d.ts.map +1 -0
  98. package/dist/src/components/struct/struct.test.js +741 -0
  99. package/dist/src/components/struct/struct.test.js.map +1 -0
  100. package/dist/src/components/type/declaration.d.ts +29 -0
  101. package/dist/src/components/type/declaration.d.ts.map +1 -0
  102. package/dist/src/components/type/declaration.js +63 -0
  103. package/dist/src/components/type/declaration.js.map +1 -0
  104. package/dist/src/components/var/declaration.d.ts +27 -0
  105. package/dist/src/components/var/declaration.d.ts.map +1 -0
  106. package/dist/src/components/var/declaration.js +84 -0
  107. package/dist/src/components/var/declaration.js.map +1 -0
  108. package/dist/src/components/var/var-declaration.test.d.ts +2 -0
  109. package/dist/src/components/var/var-declaration.test.d.ts.map +1 -0
  110. package/dist/src/components/var/var-declaration.test.js +340 -0
  111. package/dist/src/components/var/var-declaration.test.js.map +1 -0
  112. package/dist/src/context/package.d.ts +9 -0
  113. package/dist/src/context/package.d.ts.map +1 -0
  114. package/dist/src/context/package.js +6 -0
  115. package/dist/src/context/package.js.map +1 -0
  116. package/dist/src/create-module.d.ts +47 -0
  117. package/dist/src/create-module.d.ts.map +1 -0
  118. package/dist/src/create-module.js +158 -0
  119. package/dist/src/create-module.js.map +1 -0
  120. package/dist/src/create-module.test.d.ts +2 -0
  121. package/dist/src/create-module.test.d.ts.map +1 -0
  122. package/dist/src/create-module.test.js +147 -0
  123. package/dist/src/create-module.test.js.map +1 -0
  124. package/dist/src/index.d.ts +6 -0
  125. package/dist/src/index.d.ts.map +1 -0
  126. package/dist/src/index.js +6 -0
  127. package/dist/src/index.js.map +1 -0
  128. package/dist/src/name-policy.d.ts +5 -0
  129. package/dist/src/name-policy.d.ts.map +1 -0
  130. package/dist/src/name-policy.js +27 -0
  131. package/dist/src/name-policy.js.map +1 -0
  132. package/dist/src/scopes/contexts.d.ts +9 -0
  133. package/dist/src/scopes/contexts.d.ts.map +1 -0
  134. package/dist/src/scopes/contexts.js +34 -0
  135. package/dist/src/scopes/contexts.js.map +1 -0
  136. package/dist/src/scopes/factories.d.ts +7 -0
  137. package/dist/src/scopes/factories.d.ts.map +1 -0
  138. package/dist/src/scopes/factories.js +16 -0
  139. package/dist/src/scopes/factories.js.map +1 -0
  140. package/dist/src/scopes/function.d.ts +9 -0
  141. package/dist/src/scopes/function.d.ts.map +1 -0
  142. package/dist/src/scopes/function.js +14 -0
  143. package/dist/src/scopes/function.js.map +1 -0
  144. package/dist/src/scopes/go.d.ts +8 -0
  145. package/dist/src/scopes/go.d.ts.map +1 -0
  146. package/dist/src/scopes/go.js +12 -0
  147. package/dist/src/scopes/go.js.map +1 -0
  148. package/dist/src/scopes/index.d.ts +10 -0
  149. package/dist/src/scopes/index.d.ts.map +1 -0
  150. package/dist/src/scopes/index.js +10 -0
  151. package/dist/src/scopes/index.js.map +1 -0
  152. package/dist/src/scopes/lexical.d.ts +8 -0
  153. package/dist/src/scopes/lexical.d.ts.map +1 -0
  154. package/dist/src/scopes/lexical.js +11 -0
  155. package/dist/src/scopes/lexical.js.map +1 -0
  156. package/dist/src/scopes/module.d.ts +9 -0
  157. package/dist/src/scopes/module.d.ts.map +1 -0
  158. package/dist/src/scopes/module.js +31 -0
  159. package/dist/src/scopes/module.js.map +1 -0
  160. package/dist/src/scopes/named-type.d.ts +23 -0
  161. package/dist/src/scopes/named-type.d.ts.map +1 -0
  162. package/dist/src/scopes/named-type.js +33 -0
  163. package/dist/src/scopes/named-type.js.map +1 -0
  164. package/dist/src/scopes/package.d.ts +11 -0
  165. package/dist/src/scopes/package.d.ts.map +1 -0
  166. package/dist/src/scopes/package.js +39 -0
  167. package/dist/src/scopes/package.js.map +1 -0
  168. package/dist/src/scopes/source-file.d.ts +17 -0
  169. package/dist/src/scopes/source-file.d.ts.map +1 -0
  170. package/dist/src/scopes/source-file.js +42 -0
  171. package/dist/src/scopes/source-file.js.map +1 -0
  172. package/dist/src/symbols/factories.d.ts +25 -0
  173. package/dist/src/symbols/factories.d.ts.map +1 -0
  174. package/dist/src/symbols/factories.js +114 -0
  175. package/dist/src/symbols/factories.js.map +1 -0
  176. package/dist/src/symbols/function.d.ts +10 -0
  177. package/dist/src/symbols/function.d.ts.map +1 -0
  178. package/dist/src/symbols/function.js +12 -0
  179. package/dist/src/symbols/function.js.map +1 -0
  180. package/dist/src/symbols/go.d.ts +22 -0
  181. package/dist/src/symbols/go.d.ts.map +1 -0
  182. package/dist/src/symbols/go.js +56 -0
  183. package/dist/src/symbols/go.js.map +1 -0
  184. package/dist/src/symbols/index.d.ts +7 -0
  185. package/dist/src/symbols/index.d.ts.map +1 -0
  186. package/dist/src/symbols/index.js +7 -0
  187. package/dist/src/symbols/index.js.map +1 -0
  188. package/dist/src/symbols/named-type.d.ts +24 -0
  189. package/dist/src/symbols/named-type.d.ts.map +1 -0
  190. package/dist/src/symbols/named-type.js +53 -0
  191. package/dist/src/symbols/named-type.js.map +1 -0
  192. package/dist/src/symbols/package.d.ts +18 -0
  193. package/dist/src/symbols/package.d.ts.map +1 -0
  194. package/dist/src/symbols/package.js +38 -0
  195. package/dist/src/symbols/package.js.map +1 -0
  196. package/dist/src/symbols/reference.d.ts +3 -0
  197. package/dist/src/symbols/reference.d.ts.map +1 -0
  198. package/dist/src/symbols/reference.js +76 -0
  199. package/dist/src/symbols/reference.js.map +1 -0
  200. package/dist/test/utils.d.ts +8 -0
  201. package/dist/test/utils.d.ts.map +1 -0
  202. package/dist/test/utils.js +68 -0
  203. package/dist/test/utils.js.map +1 -0
  204. package/dist/test/vitest.setup.d.ts +2 -0
  205. package/dist/test/vitest.setup.d.ts.map +1 -0
  206. package/dist/test/vitest.setup.js +2 -0
  207. package/dist/test/vitest.setup.js.map +1 -0
  208. package/dist/tsconfig.tsbuildinfo +1 -0
  209. package/package.json +45 -0
  210. package/src/builtins/fmt/fmt.ts +78 -0
  211. package/src/builtins/index.ts +9 -0
  212. package/src/builtins/io/io.ts +355 -0
  213. package/src/builtins/net/net.ts +502 -0
  214. package/src/components/ImportStatement.tsx +115 -0
  215. package/src/components/ModuleDirectory.tsx +18 -0
  216. package/src/components/Name.tsx +11 -0
  217. package/src/components/Reference.tsx +18 -0
  218. package/src/components/SourceDirectory.tsx +32 -0
  219. package/src/components/SourceFile.tsx +74 -0
  220. package/src/components/doc/comment.test.tsx +278 -0
  221. package/src/components/doc/comment.tsx +40 -0
  222. package/src/components/function/function.test.tsx +387 -0
  223. package/src/components/function/function.tsx +194 -0
  224. package/src/components/index.ts +15 -0
  225. package/src/components/interface/declaration.tsx +250 -0
  226. package/src/components/interface/interface.test.tsx +390 -0
  227. package/src/components/package.test.tsx +63 -0
  228. package/src/components/parameters/parameters.tsx +74 -0
  229. package/src/components/parameters/typeparameters.tsx +78 -0
  230. package/src/components/pointer/pointer.tsx +12 -0
  231. package/src/components/stc/index.ts +27 -0
  232. package/src/components/struct/declaration.tsx +228 -0
  233. package/src/components/struct/struct.test.tsx +558 -0
  234. package/src/components/type/declaration.tsx +93 -0
  235. package/src/components/var/declaration.tsx +138 -0
  236. package/src/components/var/var-declaration.test.tsx +236 -0
  237. package/src/context/package.ts +13 -0
  238. package/src/create-module.test.tsx +128 -0
  239. package/src/create-module.ts +347 -0
  240. package/src/index.ts +5 -0
  241. package/src/name-policy.ts +65 -0
  242. package/src/scopes/contexts.ts +45 -0
  243. package/src/scopes/factories.ts +29 -0
  244. package/src/scopes/function.ts +22 -0
  245. package/src/scopes/go.ts +18 -0
  246. package/src/scopes/index.ts +9 -0
  247. package/src/scopes/lexical.ts +14 -0
  248. package/src/scopes/module.ts +35 -0
  249. package/src/scopes/named-type.ts +49 -0
  250. package/src/scopes/package.ts +55 -0
  251. package/src/scopes/source-file.ts +66 -0
  252. package/src/symbols/factories.ts +234 -0
  253. package/src/symbols/function.ts +17 -0
  254. package/src/symbols/go.ts +82 -0
  255. package/src/symbols/index.ts +6 -0
  256. package/src/symbols/named-type.ts +90 -0
  257. package/src/symbols/package.ts +54 -0
  258. package/src/symbols/reference.ts +87 -0
  259. package/temp/api.json +8753 -0
  260. package/test/utils.tsx +77 -0
  261. package/test/vitest.setup.ts +1 -0
  262. package/tsconfig.json +15 -0
  263. package/tsdoc-metadata.json +11 -0
  264. package/vitest.config.ts +13 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["List","Output","refkey","render","describe","expect","it","assertFileContents","TestPackage","ModuleDirectory","SourceDirectory","SourceFile","TypeConstraint","Pointer","TypeDeclaration","StructDeclaration","StructEmbed","StructMember","Wrapper","props","_$createComponent","children","name","toRenderTo","doc","type","Member1","Member2","Member3","Member4","_$createIntrinsic","tag","json","xml","yaml","TestStructEmbed","TestStruct","res","path","T","typeParameters","constraint","TestStructType","U","constraints"],"sources":["../../../../src/components/struct/struct.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import { Children, ComponentContext, Namekey, Refkey } from "@alloy-js/core";
2
+ import { NamedTypeSymbol } from "../../symbols/named-type.js";
3
+ import { TypeParameterProps } from "../parameters/typeparameters.jsx";
4
+ export interface TypeDeclarationGroupProps {
5
+ children: Children;
6
+ }
7
+ export interface TypeDeclarationGroupContext {
8
+ active: boolean;
9
+ }
10
+ export declare const TypeDeclarationGroupContext: ComponentContext<TypeDeclarationGroupContext>;
11
+ export declare function TypeDeclarationGroup(props: TypeDeclarationGroupProps): Children;
12
+ export interface TypeDeclarationProps {
13
+ /** Type name */
14
+ name: string | Namekey;
15
+ /** Type refkey */
16
+ refkey?: Refkey;
17
+ /** Type symbol */
18
+ symbol?: NamedTypeSymbol;
19
+ /** Documentation comment */
20
+ doc?: Children;
21
+ /** Whether the type is an alias */
22
+ alias?: boolean;
23
+ /** Type expression */
24
+ children?: Children;
25
+ /** Type parameters */
26
+ typeParameters?: TypeParameterProps[];
27
+ }
28
+ export declare function TypeDeclaration(props: TypeDeclarationProps): Children;
29
+ //# sourceMappingURL=declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/type/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAMhB,OAAO,EACP,MAAM,EAIP,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,CAAC,2BAA2B,CACxC,CAAC;AAE/C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,YAUpE;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YA6B1D"}
@@ -0,0 +1,63 @@
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { createContext, Declaration, Indent, List, Name, Scope, Show, useContext } from "@alloy-js/core";
3
+ import { createNamedTypeScope } from "../../scopes/factories.js";
4
+ import { createTypeSymbol } from "../../symbols/factories.js";
5
+ import { LineComment } from "../doc/comment.js";
6
+ import { TypeParameters } from "../parameters/typeparameters.js";
7
+ export const TypeDeclarationGroupContext = createContext();
8
+ export function TypeDeclarationGroup(props) {
9
+ return _$createComponent(TypeDeclarationGroupContext.Provider, {
10
+ value: {
11
+ active: true
12
+ },
13
+ get children() {
14
+ return ["type (", _$createComponent(Indent, {
15
+ trailingBreak: true,
16
+ get children() {
17
+ return _$createComponent(List, {
18
+ hardline: true,
19
+ get children() {
20
+ return props.children;
21
+ }
22
+ });
23
+ }
24
+ }), ")"];
25
+ }
26
+ });
27
+ }
28
+ export function TypeDeclaration(props) {
29
+ const typeGroup = useContext(TypeDeclarationGroupContext);
30
+ const symbol = props.symbol ?? createTypeSymbol(props.name, "type", {
31
+ refkeys: props.refkey,
32
+ typeParameters: props.typeParameters
33
+ // TODO: set aliasTarget when alias is true
34
+ });
35
+ const typeScope = createNamedTypeScope(symbol);
36
+ return [_$createComponent(Show, {
37
+ get when() {
38
+ return Boolean(props.doc);
39
+ },
40
+ get children() {
41
+ return [_$createComponent(LineComment, {
42
+ get children() {
43
+ return props.doc;
44
+ }
45
+ }), _$createIntrinsic("hbr", {})];
46
+ }
47
+ }), _$createComponent(Declaration, {
48
+ symbol: symbol,
49
+ get children() {
50
+ return [_$memo(() => typeGroup?.active ? "" : "type "), _$createComponent(Name, {}), _$createComponent(Scope, {
51
+ value: typeScope,
52
+ get children() {
53
+ return [_$createComponent(TypeParameters, {
54
+ get parameters() {
55
+ return props.typeParameters;
56
+ }
57
+ }), _$memo(() => props.alias ? " = " : " "), _$memo(() => props.children)];
58
+ }
59
+ })];
60
+ }
61
+ })];
62
+ }
63
+ //# sourceMappingURL=declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","Declaration","Indent","List","Name","Scope","Show","useContext","createNamedTypeScope","createTypeSymbol","LineComment","TypeParameters","TypeDeclarationGroupContext","TypeDeclarationGroup","props","_$createComponent","Provider","value","active","children","trailingBreak","hardline","TypeDeclaration","typeGroup","symbol","name","refkeys","refkey","typeParameters","typeScope","when","Boolean","doc","_$createIntrinsic","_$memo","parameters","alias"],"sources":["../../../../src/components/type/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAGEA,aAAa,EACbC,WAAW,EACXC,MAAM,EACNC,IAAI,EACJC,IAAI,EAGJC,KAAK,EACLC,IAAI,EACJC,UAAU,QACL,gBAAgB;AACvB,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,gBAAgB,QAAQ,4BAA4B;AAE7D,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAEEC,cAAc;AAWhB,OAAO,MAAMC,2BAA0E,GACrFZ,aAAa,CAA8B,CAAC;AAE9C,OAAO,SAASa,oBAAoBA,CAACC,KAAgC,EAAE;EACrE,OAAAC,iBAAA,CACGH,2BAA2B,CAACI,QAAQ;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAK,CAAC;IAAA,IAAAC,SAAA;MAAA,kBAAAJ,iBAAA,CAE1Db,MAAM;QAACkB,aAAa;QAAA,IAAAD,SAAA;UAAA,OAAAJ,iBAAA,CAClBZ,IAAI;YAACkB,QAAQ;YAAA,IAAAF,SAAA;cAAA,OAAEL,KAAK,CAACK,QAAQ;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA;AAKtC;AAmBA,OAAO,SAASG,eAAeA,CAACR,KAA2B,EAAE;EAC3D,MAAMS,SAAS,GAAGhB,UAAU,CAACK,2BAA2B,CAAC;EAEzD,MAAMY,MAAM,GACVV,KAAK,CAACU,MAAM,IACZf,gBAAgB,CAACK,KAAK,CAACW,IAAI,EAAE,MAAM,EAAE;IACnCC,OAAO,EAAEZ,KAAK,CAACa,MAAM;IACrBC,cAAc,EAAEd,KAAK,CAACc;IACtB;EACF,CAAC,CAAC;EACJ,MAAMC,SAAS,GAAGrB,oBAAoB,CAACgB,MAAM,CAAC;EAE9C,QAAAT,iBAAA,CAEKT,IAAI;IAAA,IAACwB,IAAIA,CAAA;MAAA,OAAEC,OAAO,CAACjB,KAAK,CAACkB,GAAG,CAAC;IAAA;IAAA,IAAAb,SAAA;MAAA,QAAAJ,iBAAA,CAC3BL,WAAW;QAAA,IAACS,QAAQA,CAAA;UAAA,OAAEL,KAAK,CAACkB,GAAG;QAAA;MAAA,IAAAC,iBAAA;IAAA;EAAA,IAAAlB,iBAAA,CAGjCd,WAAW;IAACuB,MAAM,EAAEA,MAAM;IAAA,IAAAL,SAAA;MAAA,QAAAe,MAAA,OACxBX,SAAS,EAAEL,MAAM,GAAG,EAAE,GAAG,OAAO,GAAAH,iBAAA,CAChCX,IAAI,OAAAW,iBAAA,CACJV,KAAK;QAACY,KAAK,EAAEY,SAAS;QAAA,IAAAV,SAAA;UAAA,QAAAJ,iBAAA,CACpBJ,cAAc;YAAA,IAACwB,UAAUA,CAAA;cAAA,OAAErB,KAAK,CAACc,cAAc;YAAA;UAAA,IAAAM,MAAA,OAC/CpB,KAAK,CAACsB,KAAK,GAAG,KAAK,GAAG,GAAG,GAAAF,MAAA,OACzBpB,KAAK,CAACK,QAAQ;QAAA;MAAA;IAAA;EAAA;AAKzB","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import { Children, ComponentContext, Namekey, Refkey } from "@alloy-js/core";
2
+ export interface VariableDeclarationProps {
3
+ /** Variable name */
4
+ name: string | Namekey;
5
+ /** Type of the variable declaration */
6
+ type?: Children;
7
+ /** Variable refkey */
8
+ refkey?: Refkey;
9
+ /** Documentation comment */
10
+ doc?: Children;
11
+ /** Whether this is a `const` declaration */
12
+ const?: boolean;
13
+ /** Initializer expression */
14
+ children?: Children;
15
+ }
16
+ export interface VariableDeclarationGroupProps {
17
+ const?: boolean;
18
+ children: Children;
19
+ }
20
+ export interface VariableDeclarationGroupContext {
21
+ const: boolean;
22
+ active: boolean;
23
+ }
24
+ export declare const VariableDeclarationGroupContext: ComponentContext<VariableDeclarationGroupContext>;
25
+ export declare function VariableDeclarationGroup(props: VariableDeclarationGroupProps): Children;
26
+ export declare function VariableDeclaration(props: VariableDeclarationProps): Children;
27
+ //# sourceMappingURL=declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/var/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAQhB,OAAO,EACP,MAAM,EAGP,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,wBAAwB;IACvC,oBAAoB;IACpB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,uCAAuC;IACvC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B,CAC5C,CAAC;AAEnD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,YAc5E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,YAyElE"}
@@ -0,0 +1,84 @@
1
+ import { createComponent as _$createComponent, memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { computed, createContext, Declaration, Indent, List, memo, Name, Show, useContext } from "@alloy-js/core";
3
+ import { useGoScope } from "../../scopes/contexts.js";
4
+ import { GoSourceFileScope } from "../../scopes/source-file.js";
5
+ import { createVariableSymbol } from "../../symbols/factories.js";
6
+ import { LineComment } from "../doc/comment.js";
7
+ export const VariableDeclarationGroupContext = createContext();
8
+ export function VariableDeclarationGroup(props) {
9
+ const keyword = computed(() => props.const ? "const" : "var");
10
+ return _$createComponent(VariableDeclarationGroupContext.Provider, {
11
+ get value() {
12
+ return {
13
+ active: true,
14
+ const: !!props.const
15
+ };
16
+ },
17
+ get children() {
18
+ return [keyword, " (", _$createComponent(Indent, {
19
+ trailingBreak: true,
20
+ get children() {
21
+ return _$createComponent(List, {
22
+ hardline: true,
23
+ get children() {
24
+ return props.children;
25
+ }
26
+ });
27
+ }
28
+ }), ")"];
29
+ }
30
+ });
31
+ }
32
+ export function VariableDeclaration(props) {
33
+ const isFileScope = useGoScope() instanceof GoSourceFileScope;
34
+ const declarationGroupContext = useContext(VariableDeclarationGroupContext);
35
+ const inDeclarationGroup = !!declarationGroupContext?.active;
36
+ const isConst = declarationGroupContext?.const ?? props.const;
37
+ const symbol = createVariableSymbol(props.name, {
38
+ refkeys: props.refkey
39
+ });
40
+ const content = memo(() => {
41
+ const keyword = isConst ? "const" : "var";
42
+ if (inDeclarationGroup) {
43
+ if (!props.type && !props.children) {
44
+ if (!isConst) {
45
+ throw new Error("Variable declaration must have a type or initializer.");
46
+ }
47
+ return _$createComponent(Name, {});
48
+ } else if (props.type && props.children) {
49
+ return [_$createComponent(Name, {}), " ", _$memo(() => props.type), " = ", _$memo(() => props.children)];
50
+ } else if (props.type) {
51
+ if (declarationGroupContext?.const) {
52
+ throw new Error("Const declaration must have an initializer.");
53
+ }
54
+ return [_$createComponent(Name, {}), " ", _$memo(() => props.type)];
55
+ } else if (props.children) {
56
+ return [_$createComponent(Name, {}), " = ", _$memo(() => props.children)];
57
+ }
58
+ } else {
59
+ if (!props.type && !props.children) {
60
+ throw new Error("Variable declaration must have a type or initializer.");
61
+ } else if (!props.children || isConst || props.type || isFileScope) {
62
+ return [keyword, " ", _$createComponent(Name, {}), " ", _$memo(() => props.type), _$memo(() => props.type && props.children ? " " : ""), _$memo(() => props.children ? "= " : ""), _$memo(() => props.children)];
63
+ } else {
64
+ return [_$createComponent(Name, {}), " :", _$memo(() => props.children ? "= " : ""), _$memo(() => props.children)];
65
+ }
66
+ }
67
+ });
68
+ return [_$createComponent(Show, {
69
+ get when() {
70
+ return Boolean(props.doc);
71
+ },
72
+ get children() {
73
+ return [_$createComponent(LineComment, {
74
+ get children() {
75
+ return props.doc;
76
+ }
77
+ }), _$createIntrinsic("hbr", {})];
78
+ }
79
+ }), _$createComponent(Declaration, {
80
+ symbol: symbol,
81
+ children: content
82
+ })];
83
+ }
84
+ //# sourceMappingURL=declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["computed","createContext","Declaration","Indent","List","memo","Name","Show","useContext","useGoScope","GoSourceFileScope","createVariableSymbol","LineComment","VariableDeclarationGroupContext","VariableDeclarationGroup","props","keyword","const","_$createComponent","Provider","value","active","children","trailingBreak","hardline","VariableDeclaration","isFileScope","declarationGroupContext","inDeclarationGroup","isConst","symbol","name","refkeys","refkey","content","type","Error","_$memo","when","Boolean","doc","_$createIntrinsic"],"sources":["../../../../src/components/var/declaration.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import "@alloy-js/core/testing";
2
+ //# sourceMappingURL=var-declaration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"var-declaration.test.d.ts","sourceRoot":"","sources":["../../../../src/components/var/var-declaration.test.tsx"],"names":[],"mappings":"AACA,OAAO,wBAAwB,CAAC"}
@@ -0,0 +1,340 @@
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { Output, refkey, render } from "@alloy-js/core";
3
+ import "@alloy-js/core/testing";
4
+ import { expect, it } from "vitest";
5
+ import { assertFileContents } from "../../../test/utils.js";
6
+ import * as go from "../index.js";
7
+ it("works variable", () => {
8
+ expect(_$createComponent(Output, {
9
+ get children() {
10
+ return _$createComponent(go.ModuleDirectory, {
11
+ name: "github.com/alloy-framework/alloy",
12
+ get children() {
13
+ return _$createComponent(go.SourceDirectory, {
14
+ path: ".",
15
+ get children() {
16
+ return _$createComponent(go.SourceFile, {
17
+ path: "test.go",
18
+ get children() {
19
+ return _$createComponent(go.VariableDeclaration, {
20
+ name: "hi",
21
+ children: "12"
22
+ });
23
+ }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ });
29
+ }
30
+ })).toRenderTo(`
31
+ package alloy
32
+
33
+ var hi = 12
34
+ `);
35
+ });
36
+ it("works variable group", () => {
37
+ expect(_$createComponent(Output, {
38
+ get children() {
39
+ return _$createComponent(go.ModuleDirectory, {
40
+ name: "github.com/alloy-framework/alloy",
41
+ get children() {
42
+ return _$createComponent(go.SourceDirectory, {
43
+ path: ".",
44
+ get children() {
45
+ return _$createComponent(go.SourceFile, {
46
+ path: "test.go",
47
+ get children() {
48
+ return _$createComponent(go.VariableDeclarationGroup, {
49
+ get children() {
50
+ return [_$createComponent(go.VariableDeclaration, {
51
+ name: "hi1",
52
+ children: "12"
53
+ }), _$createComponent(go.VariableDeclaration, {
54
+ name: "hi2",
55
+ type: "string",
56
+ children: "12"
57
+ }), _$createComponent(go.VariableDeclaration, {
58
+ name: "hi3",
59
+ type: "string"
60
+ })];
61
+ }
62
+ });
63
+ }
64
+ });
65
+ }
66
+ });
67
+ }
68
+ });
69
+ }
70
+ })).toRenderTo(`
71
+ package alloy
72
+
73
+ var (
74
+ hi1 = 12
75
+ hi2 string = 12
76
+ hi3 string
77
+ )
78
+ `);
79
+ });
80
+ it("works const group", () => {
81
+ expect(_$createComponent(Output, {
82
+ get children() {
83
+ return _$createComponent(go.ModuleDirectory, {
84
+ name: "github.com/alloy-framework/alloy",
85
+ get children() {
86
+ return _$createComponent(go.SourceDirectory, {
87
+ path: ".",
88
+ get children() {
89
+ return _$createComponent(go.SourceFile, {
90
+ path: "test.go",
91
+ get children() {
92
+ return _$createComponent(go.VariableDeclarationGroup, {
93
+ "const": true,
94
+ get children() {
95
+ return [_$createComponent(go.VariableDeclaration, {
96
+ name: "hi1",
97
+ children: "12"
98
+ }), _$createComponent(go.VariableDeclaration, {
99
+ name: "hi2",
100
+ type: "string",
101
+ children: "12"
102
+ })];
103
+ }
104
+ });
105
+ }
106
+ });
107
+ }
108
+ });
109
+ }
110
+ });
111
+ }
112
+ })).toRenderTo(`
113
+ package alloy
114
+
115
+ const (
116
+ hi1 = 12
117
+ hi2 string = 12
118
+ )
119
+ `);
120
+ });
121
+ it("works end-to-end", () => {
122
+ const TestType = refkey("TestType");
123
+ const res = render(_$createComponent(Output, {
124
+ get children() {
125
+ return _$createComponent(go.ModuleDirectory, {
126
+ name: "github.com/alloy-framework/alloy",
127
+ get children() {
128
+ return _$createComponent(go.SourceDirectory, {
129
+ path: ".",
130
+ get children() {
131
+ return [_$createComponent(go.SourceFile, {
132
+ path: "types.go",
133
+ get children() {
134
+ return _$createComponent(go.TypeDeclaration, {
135
+ name: "TestType",
136
+ refkey: TestType,
137
+ children: "string"
138
+ });
139
+ }
140
+ }), _$createComponent(go.SourceFile, {
141
+ path: "test.go",
142
+ get children() {
143
+ return _$createComponent(go.VariableDeclaration, {
144
+ name: "hi",
145
+ type: TestType,
146
+ children: "\"hello\""
147
+ });
148
+ }
149
+ })];
150
+ }
151
+ });
152
+ }
153
+ });
154
+ }
155
+ }));
156
+ assertFileContents(res, {
157
+ "types.go": `
158
+ package alloy
159
+
160
+ type TestType string
161
+ `,
162
+ "test.go": `
163
+ package alloy
164
+
165
+ var hi TestType = "hello"
166
+ `
167
+ });
168
+ });
169
+ it("throws end-to-end cross-package with unexported type", () => {
170
+ const TestType = refkey("TestType");
171
+ expect(() => render(_$createComponent(Output, {
172
+ get children() {
173
+ return _$createComponent(go.ModuleDirectory, {
174
+ name: "github.com/alloy-framework/alloy",
175
+ get children() {
176
+ return [_$createComponent(go.SourceDirectory, {
177
+ path: "hello",
178
+ get children() {
179
+ return _$createComponent(go.SourceFile, {
180
+ path: "types.go",
181
+ get children() {
182
+ return _$createComponent(go.TypeDeclaration, {
183
+ name: "testType",
184
+ refkey: TestType,
185
+ children: "string"
186
+ });
187
+ }
188
+ });
189
+ }
190
+ }), _$createComponent(go.SourceDirectory, {
191
+ path: "world",
192
+ get children() {
193
+ return _$createComponent(go.SourceFile, {
194
+ path: "test.go",
195
+ get children() {
196
+ return _$createComponent(go.VariableDeclaration, {
197
+ name: "hi",
198
+ type: TestType,
199
+ children: "\"hello\""
200
+ });
201
+ }
202
+ });
203
+ }
204
+ })];
205
+ }
206
+ });
207
+ }
208
+ }))).toThrowError("Can't reference non-exported symbol testType from another package.");
209
+ });
210
+ it("works end-to-end cross-package", () => {
211
+ const TestType = refkey("TestType");
212
+ const res = render(_$createComponent(Output, {
213
+ get children() {
214
+ return _$createComponent(go.ModuleDirectory, {
215
+ name: "github.com/alloy-framework/alloy",
216
+ get children() {
217
+ return [_$createComponent(go.SourceDirectory, {
218
+ path: "hello",
219
+ get children() {
220
+ return _$createComponent(go.SourceFile, {
221
+ path: "types.go",
222
+ get children() {
223
+ return _$createComponent(go.TypeDeclaration, {
224
+ name: "TestType",
225
+ refkey: TestType,
226
+ children: "string"
227
+ });
228
+ }
229
+ });
230
+ }
231
+ }), _$createComponent(go.SourceDirectory, {
232
+ path: "world",
233
+ get children() {
234
+ return _$createComponent(go.SourceFile, {
235
+ path: "test.go",
236
+ get children() {
237
+ return _$createComponent(go.VariableDeclaration, {
238
+ name: "hi",
239
+ type: TestType,
240
+ children: "\"hello\""
241
+ });
242
+ }
243
+ });
244
+ }
245
+ })];
246
+ }
247
+ });
248
+ }
249
+ }));
250
+ assertFileContents(res, {
251
+ "hello/types.go": `
252
+ package hello
253
+
254
+ type TestType string
255
+ `,
256
+ "world/test.go": `
257
+ package world
258
+
259
+ import "github.com/alloy-framework/alloy/hello"
260
+
261
+ var hi hello.TestType = "hello"
262
+ `
263
+ });
264
+ });
265
+ it("works with conflict resolution", () => {
266
+ const TestType1 = refkey("TestType1");
267
+ const TestType2 = refkey("TestType2");
268
+ const res = render(_$createComponent(Output, {
269
+ get children() {
270
+ return _$createComponent(go.ModuleDirectory, {
271
+ name: "github.com/alloy-framework/alloy",
272
+ get children() {
273
+ return [_$createComponent(go.SourceDirectory, {
274
+ path: "hello",
275
+ name: "hello",
276
+ get children() {
277
+ return _$createComponent(go.SourceFile, {
278
+ path: "types.go",
279
+ get children() {
280
+ return _$createComponent(go.TypeDeclaration, {
281
+ name: "TestType",
282
+ refkey: TestType1,
283
+ children: "string"
284
+ });
285
+ }
286
+ });
287
+ }
288
+ }), _$createComponent(go.SourceDirectory, {
289
+ path: "hello2",
290
+ name: "hello",
291
+ get children() {
292
+ return _$createComponent(go.SourceFile, {
293
+ path: "types.go",
294
+ get children() {
295
+ return _$createComponent(go.TypeDeclaration, {
296
+ name: "TestType",
297
+ refkey: TestType2,
298
+ children: "string"
299
+ });
300
+ }
301
+ });
302
+ }
303
+ }), _$createComponent(go.SourceDirectory, {
304
+ path: "world",
305
+ get children() {
306
+ return _$createComponent(go.SourceFile, {
307
+ path: "test.go",
308
+ get children() {
309
+ return [_$createComponent(go.VariableDeclaration, {
310
+ name: "hi1",
311
+ type: TestType1,
312
+ children: "\"hello\""
313
+ }), _$createIntrinsic("hbr", {}), _$createComponent(go.VariableDeclaration, {
314
+ name: "hi2",
315
+ type: TestType2,
316
+ children: "\"hello\""
317
+ })];
318
+ }
319
+ });
320
+ }
321
+ })];
322
+ }
323
+ });
324
+ }
325
+ }));
326
+ assertFileContents(res, {
327
+ "world/test.go": `
328
+ package world
329
+
330
+ import (
331
+ "github.com/alloy-framework/alloy/hello"
332
+ hello_2 "github.com/alloy-framework/alloy/hello2"
333
+ )
334
+
335
+ var hi1 hello.TestType = "hello"
336
+ var hi2 hello_2.TestType = "hello"
337
+ `
338
+ });
339
+ });
340
+ //# sourceMappingURL=var-declaration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Output","refkey","render","expect","it","assertFileContents","go","_$createComponent","children","ModuleDirectory","name","SourceDirectory","path","SourceFile","VariableDeclaration","toRenderTo","VariableDeclarationGroup","type","TestType","res","TypeDeclaration","toThrowError","TestType1","TestType2","_$createIntrinsic"],"sources":["../../../../src/components/var/var-declaration.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { ComponentContext } from "@alloy-js/core";
2
+ import { PackageSymbol } from "../symbols/package.js";
3
+ interface PackageContext {
4
+ symbol: PackageSymbol;
5
+ }
6
+ export declare const PackageContext: ComponentContext<PackageContext>;
7
+ export declare function usePackageContext(): PackageContext | undefined;
8
+ export {};
9
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/context/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6B,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,UAAU,cAAc;IACtB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,cAAc,CAC3B,CAAC;AAElC,wBAAgB,iBAAiB,+BAEhC"}
@@ -0,0 +1,6 @@
1
+ import { createContext, useContext } from "@alloy-js/core";
2
+ export const PackageContext = createContext();
3
+ export function usePackageContext() {
4
+ return useContext(PackageContext);
5
+ }
6
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","PackageContext","usePackageContext"],"sources":["../../../src/context/package.ts"],"sourcesContent":[null],"mappings":"AAAA,SAA2BA,aAAa,EAAEC,UAAU,QAAQ,gBAAgB;AAO5E,OAAO,MAAMC,cAAgD,GAC3DF,aAAa,CAAiB,CAAC;AAEjC,OAAO,SAASG,iBAAiBA,CAAA,EAAG;EAClC,OAAOF,UAAU,CAACC,cAAc,CAAC;AACnC","ignoreList":[]}