@alloy-js/go 0.2.1-dev.0 → 0.3.0-dev.3

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 (151) hide show
  1. package/dist/dev/src/builtins/fmt/fmt.js +148 -0
  2. package/dist/dev/src/builtins/fmt/fmt.js.map +1 -0
  3. package/dist/dev/src/builtins/index.js +11 -0
  4. package/dist/dev/src/builtins/index.js.map +1 -0
  5. package/dist/dev/src/builtins/io/io.js +650 -0
  6. package/dist/dev/src/builtins/io/io.js.map +1 -0
  7. package/dist/dev/src/builtins/net/net.js +1212 -0
  8. package/dist/dev/src/builtins/net/net.js.map +1 -0
  9. package/dist/dev/src/builtins/time/time.js +464 -0
  10. package/dist/dev/src/builtins/time/time.js.map +1 -0
  11. package/dist/dev/src/components/ImportStatement.js +114 -0
  12. package/dist/dev/src/components/ImportStatement.js.map +1 -0
  13. package/dist/dev/src/components/ModuleDirectory.js +28 -0
  14. package/dist/dev/src/components/ModuleDirectory.js.map +1 -0
  15. package/dist/dev/src/components/Name.js +12 -0
  16. package/dist/dev/src/components/Name.js.map +1 -0
  17. package/dist/dev/src/components/Reference.js +15 -0
  18. package/dist/dev/src/components/Reference.js.map +1 -0
  19. package/dist/dev/src/components/SourceDirectory.js +38 -0
  20. package/dist/dev/src/components/SourceDirectory.js.map +1 -0
  21. package/dist/dev/src/components/SourceFile.js +119 -0
  22. package/dist/dev/src/components/SourceFile.js.map +1 -0
  23. package/dist/dev/src/components/doc/comment.js +46 -0
  24. package/dist/dev/src/components/doc/comment.js.map +1 -0
  25. package/dist/dev/src/components/doc/comment.test.js +371 -0
  26. package/dist/dev/src/components/doc/comment.test.js.map +1 -0
  27. package/dist/dev/src/components/function/function.js +250 -0
  28. package/dist/dev/src/components/function/function.js.map +1 -0
  29. package/dist/dev/src/components/function/function.test.js +630 -0
  30. package/dist/dev/src/components/function/function.test.js.map +1 -0
  31. package/dist/dev/src/components/index.js +16 -0
  32. package/dist/dev/src/components/index.js.map +1 -0
  33. package/dist/dev/src/components/interface/declaration.js +245 -0
  34. package/dist/dev/src/components/interface/declaration.js.map +1 -0
  35. package/dist/dev/src/components/interface/interface.test.js +853 -0
  36. package/dist/dev/src/components/interface/interface.test.js.map +1 -0
  37. package/dist/dev/src/components/package.test.js +137 -0
  38. package/dist/dev/src/components/package.test.js.map +1 -0
  39. package/dist/dev/src/components/parameters/parameters.js +102 -0
  40. package/dist/dev/src/components/parameters/parameters.js.map +1 -0
  41. package/dist/dev/src/components/parameters/typeparameters.js +93 -0
  42. package/dist/dev/src/components/parameters/typeparameters.js.map +1 -0
  43. package/dist/dev/src/components/pointer/pointer.js +8 -0
  44. package/dist/dev/src/components/pointer/pointer.js.map +1 -0
  45. package/dist/dev/src/components/stc/index.js +27 -0
  46. package/dist/dev/src/components/stc/index.js.map +1 -0
  47. package/dist/dev/src/components/struct/declaration.js +213 -0
  48. package/dist/dev/src/components/struct/declaration.js.map +1 -0
  49. package/dist/dev/src/components/struct/struct.test.js +1261 -0
  50. package/dist/dev/src/components/struct/struct.test.js.map +1 -0
  51. package/dist/dev/src/components/type/declaration.js +112 -0
  52. package/dist/dev/src/components/type/declaration.js.map +1 -0
  53. package/dist/dev/src/components/var/declaration.js +136 -0
  54. package/dist/dev/src/components/var/declaration.js.map +1 -0
  55. package/dist/dev/src/components/var/var-declaration.test.js +564 -0
  56. package/dist/dev/src/components/var/var-declaration.test.js.map +1 -0
  57. package/dist/dev/src/context/package.js +6 -0
  58. package/dist/dev/src/context/package.js.map +1 -0
  59. package/dist/dev/src/create-module.js +157 -0
  60. package/dist/dev/src/create-module.js.map +1 -0
  61. package/dist/dev/src/create-module.test.js +175 -0
  62. package/dist/dev/src/create-module.test.js.map +1 -0
  63. package/dist/dev/src/index.js +7 -0
  64. package/dist/dev/src/index.js.map +1 -0
  65. package/dist/dev/src/name-policy.js +27 -0
  66. package/dist/dev/src/name-policy.js.map +1 -0
  67. package/dist/dev/src/scopes/contexts.js +34 -0
  68. package/dist/dev/src/scopes/contexts.js.map +1 -0
  69. package/dist/dev/src/scopes/factories.js +17 -0
  70. package/dist/dev/src/scopes/factories.js.map +1 -0
  71. package/dist/dev/src/scopes/function.js +14 -0
  72. package/dist/dev/src/scopes/function.js.map +1 -0
  73. package/dist/dev/src/scopes/go.js +12 -0
  74. package/dist/dev/src/scopes/go.js.map +1 -0
  75. package/dist/dev/src/scopes/index.js +10 -0
  76. package/dist/dev/src/scopes/index.js.map +1 -0
  77. package/dist/dev/src/scopes/lexical.js +11 -0
  78. package/dist/dev/src/scopes/lexical.js.map +1 -0
  79. package/dist/dev/src/scopes/module.js +31 -0
  80. package/dist/dev/src/scopes/module.js.map +1 -0
  81. package/dist/dev/src/scopes/named-type.js +33 -0
  82. package/dist/dev/src/scopes/named-type.js.map +1 -0
  83. package/dist/dev/src/scopes/package.js +39 -0
  84. package/dist/dev/src/scopes/package.js.map +1 -0
  85. package/dist/dev/src/scopes/source-file.js +43 -0
  86. package/dist/dev/src/scopes/source-file.js.map +1 -0
  87. package/dist/dev/src/symbols/factories.js +165 -0
  88. package/dist/dev/src/symbols/factories.js.map +1 -0
  89. package/dist/dev/src/symbols/function.js +24 -0
  90. package/dist/dev/src/symbols/function.js.map +1 -0
  91. package/dist/dev/src/symbols/go.js +60 -0
  92. package/dist/dev/src/symbols/go.js.map +1 -0
  93. package/dist/dev/src/symbols/index.js +7 -0
  94. package/dist/dev/src/symbols/index.js.map +1 -0
  95. package/dist/dev/src/symbols/named-type.js +42 -0
  96. package/dist/dev/src/symbols/named-type.js.map +1 -0
  97. package/dist/dev/src/symbols/package.js +39 -0
  98. package/dist/dev/src/symbols/package.js.map +1 -0
  99. package/dist/dev/src/symbols/reference.js +76 -0
  100. package/dist/dev/src/symbols/reference.js.map +1 -0
  101. package/dist/dev/src/symbols/type-parameter.js +16 -0
  102. package/dist/dev/src/symbols/type-parameter.js.map +1 -0
  103. package/dist/dev/test/utils.js +92 -0
  104. package/dist/dev/test/utils.js.map +1 -0
  105. package/dist/dev/test/vitest.setup.js +2 -0
  106. package/dist/dev/test/vitest.setup.js.map +1 -0
  107. package/dist/src/components/SourceFile.d.ts.map +1 -1
  108. package/dist/src/components/SourceFile.js +2 -2
  109. package/dist/src/components/SourceFile.js.map +1 -1
  110. package/dist/src/components/type/declaration.d.ts.map +1 -1
  111. package/dist/src/components/type/declaration.js +2 -2
  112. package/dist/src/components/type/declaration.js.map +1 -1
  113. package/dist/src/create-module.d.ts.map +1 -1
  114. package/dist/src/create-module.js +8 -9
  115. package/dist/src/create-module.js.map +1 -1
  116. package/dist/src/scopes/factories.d.ts.map +1 -1
  117. package/dist/src/scopes/factories.js +3 -2
  118. package/dist/src/scopes/factories.js.map +1 -1
  119. package/dist/src/scopes/module.js +2 -2
  120. package/dist/src/scopes/module.js.map +1 -1
  121. package/dist/src/scopes/package.js +2 -2
  122. package/dist/src/scopes/package.js.map +1 -1
  123. package/dist/src/scopes/source-file.d.ts.map +1 -1
  124. package/dist/src/scopes/source-file.js +4 -3
  125. package/dist/src/scopes/source-file.js.map +1 -1
  126. package/dist/src/symbols/factories.d.ts.map +1 -1
  127. package/dist/src/symbols/factories.js +67 -16
  128. package/dist/src/symbols/factories.js.map +1 -1
  129. package/dist/src/symbols/go.d.ts.map +1 -1
  130. package/dist/src/symbols/go.js +6 -2
  131. package/dist/src/symbols/go.js.map +1 -1
  132. package/dist/src/symbols/named-type.d.ts.map +1 -1
  133. package/dist/src/symbols/named-type.js +2 -2
  134. package/dist/src/symbols/named-type.js.map +1 -1
  135. package/dist/src/symbols/package.d.ts.map +1 -1
  136. package/dist/src/symbols/package.js +2 -1
  137. package/dist/src/symbols/package.js.map +1 -1
  138. package/dist/tsconfig.tsbuildinfo +1 -1
  139. package/package.json +13 -6
  140. package/src/components/SourceFile.tsx +2 -1
  141. package/src/components/type/declaration.tsx +10 -4
  142. package/src/create-module.ts +11 -8
  143. package/src/scopes/factories.ts +3 -3
  144. package/src/scopes/module.ts +2 -2
  145. package/src/scopes/package.ts +2 -2
  146. package/src/scopes/source-file.ts +3 -1
  147. package/src/symbols/factories.ts +82 -47
  148. package/src/symbols/go.ts +6 -1
  149. package/src/symbols/named-type.ts +3 -1
  150. package/src/symbols/package.ts +2 -2
  151. package/vitest.config.ts +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Scope","SourceDirectory","createGoModuleScope","ModuleDirectory","props","moduleScope","name","_$createComponent","path","children","value","fileName","import","meta","url","lineNumber","columnNumber"],"sources":["../../../../src/components/ModuleDirectory.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAAmBA,KAAK,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,SAASC,mBAAmB,QAAQ,qBAAqB;AAQzD,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,WAAW,GAAGH,mBAAmB,CAACE,KAAK,CAACE,IAAI,CAAC;EAEnD,OAAAC,iBAAA,CACGN,eAAe;IAAA,IAACO,IAAIA,CAAA;MAAA,OAAEJ,KAAK,CAACI,IAAI,IAAI,GAAG;IAAA;IAAA,IAAAC,SAAA;MAAA,OAAAF,iBAAA,CACrCP,KAAK;QAACU,KAAK,EAAEL,WAAW;QAAA,IAAAI,SAAA;UAAA,OAAGL,KAAK,CAACK,QAAQ;QAAA;MAAA;QAAAE,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;IAAAL,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA;AAGhD","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { DeclarationContext, useContext } from "@alloy-js/core";
3
+
4
+ // the name within the current declaration
5
+ export function Name() {
6
+ const declSymbol = useContext(DeclarationContext);
7
+ if (!declSymbol) {
8
+ throw new Error("missing declaration context");
9
+ }
10
+ return [_$memo(() => declSymbol.name, false, "declSymbol.name")];
11
+ }
12
+ //# sourceMappingURL=Name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeclarationContext","useContext","Name","declSymbol","Error","_$memo","name"],"sources":["../../../../src/components/Name.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,kBAAkB,EAAEC,UAAU,QAAQ,gBAAgB;;AAE/D;AACA,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,MAAMC,UAAU,GAAGF,UAAU,CAACD,kBAAkB,CAAC;EACjD,IAAI,CAACG,UAAU,EAAE;IACf,MAAM,IAAIC,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,QAAAC,MAAA,OAAUF,UAAU,CAACG,IAAI;AAC3B","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { computed, emitSymbol } from "@alloy-js/core";
3
+ import { ref } from "../symbols/index.js";
4
+ // used to resolve refkey references within source files
5
+ export function Reference({
6
+ refkey
7
+ }) {
8
+ const reference = ref(refkey);
9
+ const computedRef = computed(() => reference());
10
+ if (computedRef.value[1]) {
11
+ emitSymbol(computedRef.value[1]);
12
+ }
13
+ return [_$memo(() => computedRef.value[0], false, "computedRef.value[0]")];
14
+ }
15
+ //# sourceMappingURL=Reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["computed","emitSymbol","ref","Reference","refkey","reference","computedRef","value","_$memo"],"sources":["../../../../src/components/Reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAgB,gBAAgB;AAC7D,SAASC,GAAG,QAAQ,qBAAqB;AAMzC;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC;AAAuB,CAAC,EAAE;EACpD,MAAMC,SAAS,GAAGH,GAAG,CAACE,MAAM,CAAC;EAE7B,MAAME,WAAW,GAAGN,QAAQ,CAAC,MAAMK,SAAS,CAAC,CAAC,CAAC;EAC/C,IAAIC,WAAW,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;IACxBN,UAAU,CAACK,WAAW,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAClC;EAEA,QAAAC,MAAA,OAAUF,WAAW,CAACC,KAAK,CAAC,CAAC,CAAC;AAChC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { SourceDirectory as CoreSourceDirectory, Scope, SourceDirectoryContext, useContext } from "@alloy-js/core";
3
+ import { basename, join } from "pathe";
4
+ import { useModule } from "../scopes/module.js";
5
+ import { createGoPackageScope } from "../scopes/package.js";
6
+ import { createPackageSymbol } from "../symbols/factories.js";
7
+ export function SourceDirectory(props) {
8
+ const mod = useModule();
9
+ const directoryContext = useContext(SourceDirectoryContext);
10
+ const currentDir = join(directoryContext.path, props.path);
11
+ const dname = basename(currentDir);
12
+ const modName = mod ? basename(mod.name) : "main";
13
+ const packageName = props.name ?? (dname === "." ? modName : dname);
14
+ const packageSymbol = createPackageSymbol(packageName, props.path);
15
+ const packageScope = createGoPackageScope(packageSymbol);
16
+ return _$createComponent(CoreSourceDirectory, {
17
+ get path() {
18
+ return props.path;
19
+ },
20
+ get children() {
21
+ return [_$createComponent(Scope, {
22
+ value: packageScope,
23
+ get children() {
24
+ return props.children;
25
+ }
26
+ }, {
27
+ fileName: import.meta.url,
28
+ lineNumber: 29,
29
+ columnNumber: 7
30
+ }), ";"];
31
+ }
32
+ }, {
33
+ fileName: import.meta.url,
34
+ lineNumber: 28,
35
+ columnNumber: 5
36
+ });
37
+ }
38
+ //# sourceMappingURL=SourceDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SourceDirectory","CoreSourceDirectory","Scope","SourceDirectoryContext","useContext","basename","join","useModule","createGoPackageScope","createPackageSymbol","props","mod","directoryContext","currentDir","path","dname","modName","name","packageName","packageSymbol","packageScope","_$createComponent","children","value","fileName","import","meta","url","lineNumber","columnNumber"],"sources":["../../../../src/components/SourceDirectory.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,eAAe,IAAIC,mBAAmB,EAEtCC,KAAK,EACLC,sBAAsB,EACtBC,UAAU,QACL,gBAAgB;AACvB,SAASC,QAAQ,EAAEC,IAAI,QAAQ,OAAO;AACtC,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,oBAAoB,QAAQ,sBAAsB;AAC3D,SAASC,mBAAmB,QAAQ,yBAAyB;AAM7D,OAAO,SAAST,eAAeA,CAACU,KAA2B,EAAE;EAC3D,MAAMC,GAAG,GAAGJ,SAAS,CAAC,CAAC;EACvB,MAAMK,gBAAgB,GAAGR,UAAU,CAACD,sBAAsB,CAAE;EAC5D,MAAMU,UAAU,GAAGP,IAAI,CAACM,gBAAgB,CAACE,IAAI,EAAEJ,KAAK,CAACI,IAAI,CAAC;EAC1D,MAAMC,KAAK,GAAGV,QAAQ,CAACQ,UAAU,CAAC;EAClC,MAAMG,OAAO,GAAGL,GAAG,GAAGN,QAAQ,CAACM,GAAG,CAACM,IAAI,CAAC,GAAG,MAAM;EACjD,MAAMC,WAAW,GAAGR,KAAK,CAACO,IAAI,KAAKF,KAAK,KAAK,GAAG,GAAGC,OAAO,GAAGD,KAAK,CAAC;EACnE,MAAMI,aAAa,GAAGV,mBAAmB,CAACS,WAAW,EAAER,KAAK,CAACI,IAAI,CAAC;EAClE,MAAMM,YAAY,GAAGZ,oBAAoB,CAACW,aAAa,CAAC;EAExD,OAAAE,iBAAA,CACGpB,mBAAmB;IAAA,IAACa,IAAIA,CAAA;MAAA,OAAEJ,KAAK,CAACI,IAAI;IAAA;IAAA,IAAAQ,SAAA;MAAA,QAAAD,iBAAA,CAClCnB,KAAK;QAACqB,KAAK,EAAEH,YAAY;QAAA,IAAAE,SAAA;UAAA,OAAGZ,KAAK,CAACY,QAAQ;QAAA;MAAA;QAAAE,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;IAAAL,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA;AAGjD","ignoreList":[]}
@@ -0,0 +1,119 @@
1
+ import { memo as _$memo, createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { SourceFile as CoreSourceFile, createScope, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
3
+ import { join } from "pathe";
4
+ import { usePackage } from "../scopes/package.js";
5
+ import { GoSourceFileScope } from "../scopes/source-file.js";
6
+ import { ImportStatements } from "./ImportStatement.js";
7
+ import { Reference } from "./Reference.js";
8
+ import { LineComment } from "./doc/comment.js";
9
+ export function SourceFile(props) {
10
+ const pkg = usePackage();
11
+ const directoryContext = useContext(SourceDirectoryContext);
12
+ const currentDir = directoryContext.path;
13
+ const path = join(currentDir, props.path);
14
+ const scope = createScope(GoSourceFileScope, path, pkg);
15
+ const header = _$createComponent(SourceFileHeader, {
16
+ get ["package"]() {
17
+ return pkg?.ownerSymbol.name ?? "main";
18
+ },
19
+ get header() {
20
+ return props.header;
21
+ },
22
+ get headerComment() {
23
+ return props.headerComment;
24
+ }
25
+ }, {
26
+ fileName: import.meta.url,
27
+ lineNumber: 34,
28
+ columnNumber: 5
29
+ });
30
+ return _$createComponent(CoreSourceFile, {
31
+ get path() {
32
+ return props.path;
33
+ },
34
+ filetype: "go",
35
+ reference: Reference,
36
+ header: header,
37
+ get children() {
38
+ return [_$createComponent(Show, {
39
+ get when() {
40
+ return scope.imports.size > 0;
41
+ },
42
+ get children() {
43
+ return [_$createComponent(ImportStatements, {
44
+ get records() {
45
+ return scope.imports;
46
+ }
47
+ }, {
48
+ fileName: import.meta.url,
49
+ lineNumber: 49,
50
+ columnNumber: 9
51
+ }), _$createIntrinsic("hbr", {}, {
52
+ fileName: import.meta.url,
53
+ lineNumber: 50,
54
+ columnNumber: 9
55
+ }), _$createIntrinsic("hbr", {}, {
56
+ fileName: import.meta.url,
57
+ lineNumber: 51,
58
+ columnNumber: 9
59
+ })];
60
+ }
61
+ }, {
62
+ fileName: import.meta.url,
63
+ lineNumber: 48,
64
+ columnNumber: 7
65
+ }), _$createComponent(Scope, {
66
+ value: scope,
67
+ get children() {
68
+ return props.children;
69
+ }
70
+ }, {
71
+ fileName: import.meta.url,
72
+ lineNumber: 53,
73
+ columnNumber: 7
74
+ })];
75
+ }
76
+ }, {
77
+ fileName: import.meta.url,
78
+ lineNumber: 42,
79
+ columnNumber: 5
80
+ });
81
+ }
82
+ function SourceFileHeader(props) {
83
+ return [_$createComponent(Show, {
84
+ get when() {
85
+ return props.headerComment !== undefined;
86
+ },
87
+ get children() {
88
+ return _$createComponent(LineComment, {
89
+ get children() {
90
+ return props.headerComment;
91
+ }
92
+ }, {
93
+ fileName: import.meta.url,
94
+ lineNumber: 68,
95
+ columnNumber: 9
96
+ });
97
+ }
98
+ }, {
99
+ fileName: import.meta.url,
100
+ lineNumber: 67,
101
+ columnNumber: 7
102
+ }), _$createComponent(Show, {
103
+ get when() {
104
+ return props.header !== undefined;
105
+ },
106
+ get children() {
107
+ return props.header;
108
+ }
109
+ }, {
110
+ fileName: import.meta.url,
111
+ lineNumber: 70,
112
+ columnNumber: 7
113
+ }), "package ", _$memo(() => props.package, false, "props.package"), _$createIntrinsic("hbr", {}, {
114
+ fileName: import.meta.url,
115
+ lineNumber: 72,
116
+ columnNumber: 7
117
+ })];
118
+ }
119
+ //# sourceMappingURL=SourceFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SourceFile","CoreSourceFile","createScope","Scope","Show","SourceDirectoryContext","useContext","join","usePackage","GoSourceFileScope","ImportStatements","Reference","LineComment","props","pkg","directoryContext","currentDir","path","scope","header","_$createComponent","SourceFileHeader","package","ownerSymbol","name","headerComment","fileName","import","meta","url","lineNumber","columnNumber","filetype","reference","children","when","imports","size","records","_$createIntrinsic","value","undefined","_$memo"],"sources":["../../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ import { createIntrinsic as _$createIntrinsic, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { List, childrenArray } from "@alloy-js/core";
3
+ /**
4
+ * A Go block comment. In go, line comments are the norm, so consider
5
+ * using {@link LineComment} instead. The children of this component
6
+ * are joined with two hard linebreaks. This is useful for creating
7
+ * block comments with multiple paragraphs.
8
+ */
9
+ export function BlockComment(props) {
10
+ return ["/*", _$createIntrinsic("hbr", {}, {
11
+ fileName: import.meta.url,
12
+ lineNumber: 17,
13
+ columnNumber: 7
14
+ }), _$createComponent(List, {
15
+ doubleHardline: true,
16
+ get children() {
17
+ return childrenArray(() => props.children);
18
+ }
19
+ }, {
20
+ fileName: import.meta.url,
21
+ lineNumber: 18,
22
+ columnNumber: 7
23
+ }), _$createIntrinsic("hbr", {}, {
24
+ fileName: import.meta.url,
25
+ lineNumber: 19,
26
+ columnNumber: 7
27
+ }), "*/"];
28
+ }
29
+ /**
30
+ * A Go line comment block. The children of this component
31
+ * are joined with two hard linebreaks. This is useful for creating
32
+ * line comments with multiple paragraphs.
33
+ */
34
+ export function LineComment(props) {
35
+ return ["// ", _$createIntrinsic("align", {
36
+ string: "// ",
37
+ get children() {
38
+ return props.children;
39
+ }
40
+ }, {
41
+ fileName: import.meta.url,
42
+ lineNumber: 37,
43
+ columnNumber: 10
44
+ })];
45
+ }
46
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["List","childrenArray","BlockComment","props","_$createIntrinsic","fileName","import","meta","url","lineNumber","columnNumber","_$createComponent","doubleHardline","children","LineComment","string"],"sources":["../../../../../src/components/doc/comment.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,IAAI,EAAEC,aAAa,QAAuB,gBAAgB;AAMnE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAACC,KAAwB,EAAE;EACrD,cAAAC,iBAAA;IAAAC,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,IAAAC,iBAAA,CAIKX,IAAI;IAACY,cAAc;IAAA,IAAAC,SAAA;MAAA,OAAEZ,aAAa,CAAC,MAAME,KAAK,CAACU,QAAQ,CAAC;IAAA;EAAA;IAAAR,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,IAAAN,iBAAA;IAAAC,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA;AAK/D;AAMA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,WAAWA,CAACX,KAAuB,EAAE;EACnD,eAAAC,iBAAA;IAEcW,MAAM;IAAA,IAAAF,SAAA;MAAA,OAAQV,KAAK,CAACU,QAAQ;IAAA;EAAA;IAAAR,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA;AAG5C","ignoreList":[]}
@@ -0,0 +1,371 @@
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { List, Prose } from "@alloy-js/core";
3
+ import "@alloy-js/core/testing";
4
+ import { d } from "@alloy-js/core/testing";
5
+ import { describe, expect, it } from "vitest";
6
+ import { BlockComment, LineComment } from "./comment.js";
7
+ describe("GoLineComment", () => {
8
+ it("formats properly a simple comment", () => {
9
+ const template = [_$createComponent(LineComment, {
10
+ children: "Hello!"
11
+ }, {
12
+ fileName: import.meta.url,
13
+ lineNumber: 11,
14
+ columnNumber: 9
15
+ }), _$createIntrinsic("hbr", {}, {
16
+ fileName: import.meta.url,
17
+ lineNumber: 12,
18
+ columnNumber: 9
19
+ }), "Should not be part of the comment"];
20
+ expect(template).toRenderTo(d`
21
+ // Hello!
22
+ Should not be part of the comment
23
+ `, {
24
+ printWidth: 40
25
+ });
26
+ });
27
+ it("should not add extra line breaks", () => {
28
+ const template = [_$createComponent(List, {
29
+ hardline: true,
30
+ get children() {
31
+ return _$createComponent(LineComment, {
32
+ get children() {
33
+ return ["Hello!", _$createIntrinsic("hbr", {}, {
34
+ fileName: import.meta.url,
35
+ lineNumber: 32,
36
+ columnNumber: 13
37
+ }), _$createIntrinsic("hbr", {}, {
38
+ fileName: import.meta.url,
39
+ lineNumber: 33,
40
+ columnNumber: 13
41
+ }), "This is another line"];
42
+ }
43
+ }, {
44
+ fileName: import.meta.url,
45
+ lineNumber: 30,
46
+ columnNumber: 11
47
+ });
48
+ }
49
+ }, {
50
+ fileName: import.meta.url,
51
+ lineNumber: 29,
52
+ columnNumber: 9
53
+ }), _$createIntrinsic("hbr", {}, {
54
+ fileName: import.meta.url,
55
+ lineNumber: 37,
56
+ columnNumber: 9
57
+ }), "Hello"];
58
+ expect(template).toRenderTo(d`
59
+ // Hello!
60
+ //
61
+ // This is another line
62
+ Hello
63
+ `, {
64
+ printWidth: 40
65
+ });
66
+ });
67
+ it("formats properly multiple children", () => {
68
+ const template = [_$createComponent(LineComment, {
69
+ get children() {
70
+ return [_$createComponent(Prose, {
71
+ children: "Hello!"
72
+ }, {
73
+ fileName: import.meta.url,
74
+ lineNumber: 57,
75
+ columnNumber: 11
76
+ }), _$createIntrinsic("hbr", {}, {
77
+ fileName: import.meta.url,
78
+ lineNumber: 58,
79
+ columnNumber: 11
80
+ }), _$createIntrinsic("hbr", {}, {
81
+ fileName: import.meta.url,
82
+ lineNumber: 59,
83
+ columnNumber: 11
84
+ }), _$createComponent(Prose, {
85
+ children: "This is another line"
86
+ }, {
87
+ fileName: import.meta.url,
88
+ lineNumber: 60,
89
+ columnNumber: 11
90
+ })];
91
+ }
92
+ }, {
93
+ fileName: import.meta.url,
94
+ lineNumber: 56,
95
+ columnNumber: 9
96
+ }), _$createIntrinsic("hbr", {}, {
97
+ fileName: import.meta.url,
98
+ lineNumber: 62,
99
+ columnNumber: 9
100
+ }), "foo should be outside the comment"];
101
+ expect(template).toRenderTo(d`
102
+ // Hello!
103
+ //
104
+ // This is another line
105
+ foo should be outside the comment
106
+ `, {
107
+ printWidth: 40
108
+ });
109
+ });
110
+ it("It correctly do word wrapping", () => {
111
+ const template = [_$createComponent(LineComment, {
112
+ get children() {
113
+ return _$createComponent(Prose, {
114
+ children: "This is a very long line that should be broken into multiple lines. It should also be aligned properly. The line breaks in this paragraph should not be carried over into the JSDoc comment."
115
+ }, {
116
+ fileName: import.meta.url,
117
+ lineNumber: 82,
118
+ columnNumber: 11
119
+ });
120
+ }
121
+ }, {
122
+ fileName: import.meta.url,
123
+ lineNumber: 81,
124
+ columnNumber: 9
125
+ }), _$createIntrinsic("hbr", {}, {
126
+ fileName: import.meta.url,
127
+ lineNumber: 88,
128
+ columnNumber: 9
129
+ }), ["This should not be part of the comment"]];
130
+ expect(template).toRenderTo(d`
131
+ // This is a very long line that should
132
+ // be broken into multiple lines. It
133
+ // should also be aligned properly. The
134
+ // line breaks in this paragraph should
135
+ // not be carried over into the JSDoc
136
+ // comment.
137
+ This should not be part of the comment
138
+ `, {
139
+ printWidth: 40
140
+ });
141
+ });
142
+ it("formats properly", () => {
143
+ const template = _$createComponent(LineComment, {
144
+ get children() {
145
+ return [_$createComponent(Prose, {
146
+ children: "This is a long paragraph that should end up being broken into multiple paragraphs. Moreover, the line breaks in this paragraph should not be carried over into the JSDoc comment."
147
+ }, {
148
+ fileName: import.meta.url,
149
+ lineNumber: 110,
150
+ columnNumber: 9
151
+ }), _$createIntrinsic("hbr", {}, {
152
+ fileName: import.meta.url,
153
+ lineNumber: 115,
154
+ columnNumber: 9
155
+ }), _$createIntrinsic("hbr", {}, {
156
+ fileName: import.meta.url,
157
+ lineNumber: 116,
158
+ columnNumber: 9
159
+ }), _$createComponent(Prose, {
160
+ children: "This is another paragraph. There should be a couple breaks in front of it."
161
+ }, {
162
+ fileName: import.meta.url,
163
+ lineNumber: 117,
164
+ columnNumber: 9
165
+ })];
166
+ }
167
+ }, {
168
+ fileName: import.meta.url,
169
+ lineNumber: 109,
170
+ columnNumber: 7
171
+ });
172
+ expect(template).toRenderTo(d`
173
+ // This is a long paragraph that should
174
+ // end up being broken into multiple
175
+ // paragraphs. Moreover, the line breaks
176
+ // in this paragraph should not be
177
+ // carried over into the JSDoc comment.
178
+ //
179
+ // This is another paragraph. There
180
+ // should be a couple breaks in front of
181
+ // it.
182
+ `, {
183
+ printWidth: 40
184
+ });
185
+ });
186
+ });
187
+ describe("GoBlockComment", () => {
188
+ it("formats properly a simple comment", () => {
189
+ const template = [_$createComponent(BlockComment, {
190
+ children: "Hello!"
191
+ }, {
192
+ fileName: import.meta.url,
193
+ lineNumber: 145,
194
+ columnNumber: 9
195
+ }), _$createIntrinsic("hbr", {}, {
196
+ fileName: import.meta.url,
197
+ lineNumber: 146,
198
+ columnNumber: 9
199
+ }), "Should not be part of the comment"];
200
+ expect(template).toRenderTo(d`
201
+ /*
202
+ Hello!
203
+ */
204
+ Should not be part of the comment
205
+ `, {
206
+ printWidth: 40
207
+ });
208
+ });
209
+ it("should not add extra line breaks", () => {
210
+ const template = [_$createComponent(List, {
211
+ hardline: true,
212
+ get children() {
213
+ return _$createComponent(BlockComment, {
214
+ get children() {
215
+ return [_$createComponent(Prose, {
216
+ children: "Hello!"
217
+ }, {
218
+ fileName: import.meta.url,
219
+ lineNumber: 167,
220
+ columnNumber: 13
221
+ }), _$createComponent(Prose, {
222
+ children: "World!"
223
+ }, {
224
+ fileName: import.meta.url,
225
+ lineNumber: 168,
226
+ columnNumber: 13
227
+ }), _$createComponent(Prose, {
228
+ children: "This is another line"
229
+ }, {
230
+ fileName: import.meta.url,
231
+ lineNumber: 169,
232
+ columnNumber: 13
233
+ })];
234
+ }
235
+ }, {
236
+ fileName: import.meta.url,
237
+ lineNumber: 166,
238
+ columnNumber: 11
239
+ });
240
+ }
241
+ }, {
242
+ fileName: import.meta.url,
243
+ lineNumber: 165,
244
+ columnNumber: 9
245
+ }), _$createIntrinsic("hbr", {}, {
246
+ fileName: import.meta.url,
247
+ lineNumber: 172,
248
+ columnNumber: 9
249
+ }), "Hello"];
250
+ expect(template).toRenderTo(d`
251
+ /*
252
+ Hello!
253
+
254
+ World!
255
+
256
+ This is another line
257
+ */
258
+ Hello
259
+ `, {
260
+ printWidth: 40
261
+ });
262
+ });
263
+ it("formats properly multiple children", () => {
264
+ const template = [_$createComponent(BlockComment, {
265
+ get children() {
266
+ return [_$createComponent(Prose, {
267
+ children: "Hello!"
268
+ }, {
269
+ fileName: import.meta.url,
270
+ lineNumber: 196,
271
+ columnNumber: 11
272
+ }), _$createComponent(Prose, {
273
+ children: "This is another line"
274
+ }, {
275
+ fileName: import.meta.url,
276
+ lineNumber: 197,
277
+ columnNumber: 11
278
+ })];
279
+ }
280
+ }, {
281
+ fileName: import.meta.url,
282
+ lineNumber: 195,
283
+ columnNumber: 9
284
+ }), _$createIntrinsic("hbr", {}, {
285
+ fileName: import.meta.url,
286
+ lineNumber: 199,
287
+ columnNumber: 9
288
+ }), "foo should be outside the comment"];
289
+ expect(template).toRenderTo(d`
290
+ /*
291
+ Hello!
292
+
293
+ This is another line
294
+ */
295
+ foo should be outside the comment
296
+ `, {
297
+ printWidth: 40
298
+ });
299
+ });
300
+ it("It correctly do word wrapping", () => {
301
+ const template = [_$createComponent(BlockComment, {
302
+ get children() {
303
+ return _$createComponent(Prose, {
304
+ children: "This is a very long line that should be broken into multiple lines. It should also be aligned properly. The line breaks in this paragraph should not be carried over into the JSDoc comment."
305
+ }, {
306
+ fileName: import.meta.url,
307
+ lineNumber: 221,
308
+ columnNumber: 11
309
+ });
310
+ }
311
+ }, {
312
+ fileName: import.meta.url,
313
+ lineNumber: 220,
314
+ columnNumber: 9
315
+ }), _$createIntrinsic("hbr", {}, {
316
+ fileName: import.meta.url,
317
+ lineNumber: 227,
318
+ columnNumber: 9
319
+ }), ["This should not be part of the comment"]];
320
+ expect(template).toRenderTo(d`
321
+ /*
322
+ This is a very long line that should be
323
+ broken into multiple lines. It should
324
+ also be aligned properly. The line
325
+ breaks in this paragraph should not be
326
+ carried over into the JSDoc comment.
327
+ */
328
+ This should not be part of the comment
329
+ `, {
330
+ printWidth: 40
331
+ });
332
+ });
333
+ it("formats properly", () => {
334
+ const template = _$createComponent(BlockComment, {
335
+ get children() {
336
+ return [_$createComponent(Prose, {
337
+ children: "This is a long paragraph that should end up being broken into multiple paragraphs. Moreover, the line breaks in this paragraph should not be carried over into the JSDoc comment."
338
+ }, {
339
+ fileName: import.meta.url,
340
+ lineNumber: 250,
341
+ columnNumber: 9
342
+ }), _$createComponent(Prose, {
343
+ children: "This is another paragraph. There should be a couple breaks in front of it."
344
+ }, {
345
+ fileName: import.meta.url,
346
+ lineNumber: 255,
347
+ columnNumber: 9
348
+ })];
349
+ }
350
+ }, {
351
+ fileName: import.meta.url,
352
+ lineNumber: 249,
353
+ columnNumber: 7
354
+ });
355
+ expect(template).toRenderTo(d`
356
+ /*
357
+ This is a long paragraph that should end
358
+ up being broken into multiple
359
+ paragraphs. Moreover, the line breaks in
360
+ this paragraph should not be carried
361
+ over into the JSDoc comment.
362
+
363
+ This is another paragraph. There should
364
+ be a couple breaks in front of it.
365
+ */
366
+ `, {
367
+ printWidth: 40
368
+ });
369
+ });
370
+ });
371
+ //# sourceMappingURL=comment.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["List","Prose","d","describe","expect","it","BlockComment","LineComment","template","_$createComponent","children","fileName","import","meta","url","lineNumber","columnNumber","_$createIntrinsic","toRenderTo","printWidth","hardline"],"sources":["../../../../../src/components/doc/comment.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}