@alloy-js/csharp 0.21.0-dev.1 → 0.21.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 (131) hide show
  1. package/dist/src/components/enum/declaration.d.ts +2 -2
  2. package/dist/src/components/enum/declaration.d.ts.map +1 -1
  3. package/dist/src/components/enum/declaration.js +3 -3
  4. package/dist/src/components/enum/declaration.js.map +1 -1
  5. package/dist/src/components/enum/declaration.ref.test.js +1 -1
  6. package/dist/src/components/enum/declaration.test.js +15 -1
  7. package/dist/src/components/enum/declaration.test.js.map +1 -1
  8. package/dist/src/components/enum/member.d.ts +2 -2
  9. package/dist/src/components/enum/member.d.ts.map +1 -1
  10. package/dist/src/components/enum/member.js +3 -3
  11. package/dist/src/components/enum/member.js.map +1 -1
  12. package/dist/src/components/enum/member.test.js +24 -1
  13. package/dist/src/components/enum/member.test.js.map +1 -1
  14. package/dist/src/components/field/field.d.ts +2 -2
  15. package/dist/src/components/field/field.d.ts.map +1 -1
  16. package/dist/src/components/field/field.js.map +1 -1
  17. package/dist/src/components/field/field.test.js +19 -1
  18. package/dist/src/components/field/field.test.js.map +1 -1
  19. package/dist/src/components/index.d.ts +1 -1
  20. package/dist/src/components/index.d.ts.map +1 -1
  21. package/dist/src/components/index.js +1 -2
  22. package/dist/src/components/index.js.map +1 -1
  23. package/dist/src/components/interface/declaration.d.ts +1 -1
  24. package/dist/src/components/interface/declaration.d.ts.map +1 -1
  25. package/dist/src/components/interface/declaration.js +3 -3
  26. package/dist/src/components/interface/declaration.js.map +1 -1
  27. package/dist/src/components/interface/declaration.test.js +14 -1
  28. package/dist/src/components/interface/declaration.test.js.map +1 -1
  29. package/dist/src/components/interface/method.d.ts +2 -2
  30. package/dist/src/components/interface/method.d.ts.map +1 -1
  31. package/dist/src/components/interface/method.js.map +1 -1
  32. package/dist/src/components/interface/method.test.js +17 -1
  33. package/dist/src/components/interface/method.test.js.map +1 -1
  34. package/dist/src/components/interface/property.d.ts +2 -2
  35. package/dist/src/components/interface/property.d.ts.map +1 -1
  36. package/dist/src/components/interface/property.js.map +1 -1
  37. package/dist/src/components/interface/property.test.js +19 -0
  38. package/dist/src/components/interface/property.test.js.map +1 -1
  39. package/dist/src/components/namespace/namespace-name.d.ts +10 -0
  40. package/dist/src/components/namespace/namespace-name.d.ts.map +1 -0
  41. package/dist/src/components/namespace/namespace-name.js +20 -0
  42. package/dist/src/components/namespace/namespace-name.js.map +1 -0
  43. package/dist/src/components/{namespace.d.ts → namespace/namespace.d.ts} +3 -1
  44. package/dist/src/components/namespace/namespace.d.ts.map +1 -0
  45. package/dist/src/components/{namespace.js → namespace/namespace.js} +12 -13
  46. package/dist/src/components/namespace/namespace.js.map +1 -0
  47. package/dist/src/components/namespace/namespace.test.d.ts.map +1 -0
  48. package/dist/src/components/namespace/namespace.test.js +207 -0
  49. package/dist/src/components/namespace/namespace.test.js.map +1 -0
  50. package/dist/src/components/namespace.ref.test.js +42 -10
  51. package/dist/src/components/namespace.ref.test.js.map +1 -1
  52. package/dist/src/components/record/declaration.d.ts +1 -1
  53. package/dist/src/components/record/declaration.d.ts.map +1 -1
  54. package/dist/src/components/record/declaration.js +3 -4
  55. package/dist/src/components/record/declaration.js.map +1 -1
  56. package/dist/src/components/record/declaration.test.js +14 -1
  57. package/dist/src/components/record/declaration.test.js.map +1 -1
  58. package/dist/src/components/source-file/source-file.d.ts.map +1 -1
  59. package/dist/src/components/source-file/source-file.js +4 -2
  60. package/dist/src/components/source-file/source-file.js.map +1 -1
  61. package/dist/src/components/source-file/source-file.test.js +1 -1
  62. package/dist/src/components/source-file/using.test.js +1 -1
  63. package/dist/src/components/struct/declaration.d.ts +1 -1
  64. package/dist/src/components/struct/declaration.d.ts.map +1 -1
  65. package/dist/src/components/struct/declaration.js +3 -3
  66. package/dist/src/components/struct/declaration.js.map +1 -1
  67. package/dist/src/components/struct/declaration.test.js +14 -1
  68. package/dist/src/components/struct/declaration.test.js.map +1 -1
  69. package/dist/src/components/type-parameters/type-parameter.d.ts +2 -2
  70. package/dist/src/components/type-parameters/type-parameter.d.ts.map +1 -1
  71. package/dist/src/components/type-parameters/type-parameter.js.map +1 -1
  72. package/dist/src/components/type-parameters/type-parameters.test.js +14 -0
  73. package/dist/src/components/type-parameters/type-parameters.test.js.map +1 -1
  74. package/dist/src/components/var/declaration.d.ts +2 -2
  75. package/dist/src/components/var/declaration.d.ts.map +1 -1
  76. package/dist/src/components/var/declaration.js.map +1 -1
  77. package/dist/src/components/var/declaration.test.js +22 -1
  78. package/dist/src/components/var/declaration.test.js.map +1 -1
  79. package/dist/src/name-policy.d.ts +1 -1
  80. package/dist/src/name-policy.d.ts.map +1 -1
  81. package/dist/src/name-policy.js +1 -0
  82. package/dist/src/name-policy.js.map +1 -1
  83. package/dist/src/symbols/factories.d.ts +1 -1
  84. package/dist/src/symbols/factories.d.ts.map +1 -1
  85. package/dist/src/symbols/factories.js +27 -7
  86. package/dist/src/symbols/factories.js.map +1 -1
  87. package/dist/src/symbols/namespace.d.ts +2 -2
  88. package/dist/src/symbols/namespace.d.ts.map +1 -1
  89. package/dist/src/symbols/namespace.js.map +1 -1
  90. package/dist/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +2 -2
  92. package/src/components/enum/declaration.ref.test.tsx +1 -1
  93. package/src/components/enum/declaration.test.tsx +14 -1
  94. package/src/components/enum/declaration.tsx +4 -3
  95. package/src/components/enum/member.test.tsx +22 -1
  96. package/src/components/enum/member.tsx +4 -4
  97. package/src/components/field/field.test.tsx +14 -1
  98. package/src/components/field/field.tsx +2 -2
  99. package/src/components/index.ts +1 -1
  100. package/src/components/interface/declaration.test.tsx +11 -1
  101. package/src/components/interface/declaration.tsx +3 -4
  102. package/src/components/interface/method.test.tsx +14 -1
  103. package/src/components/interface/method.tsx +2 -1
  104. package/src/components/interface/property.test.tsx +13 -0
  105. package/src/components/interface/property.tsx +2 -1
  106. package/src/components/namespace/namespace-name.tsx +31 -0
  107. package/src/components/namespace/namespace.test.tsx +145 -0
  108. package/src/components/{namespace.tsx → namespace/namespace.tsx} +12 -15
  109. package/src/components/namespace.ref.test.tsx +34 -9
  110. package/src/components/record/declaration.test.tsx +11 -1
  111. package/src/components/record/declaration.tsx +3 -4
  112. package/src/components/source-file/source-file.test.tsx +1 -1
  113. package/src/components/source-file/source-file.tsx +2 -2
  114. package/src/components/source-file/using.test.tsx +1 -1
  115. package/src/components/struct/declaration.test.tsx +11 -1
  116. package/src/components/struct/declaration.tsx +3 -4
  117. package/src/components/type-parameters/type-parameter.tsx +2 -1
  118. package/src/components/type-parameters/type-parameters.test.tsx +9 -0
  119. package/src/components/var/declaration.test.tsx +16 -1
  120. package/src/components/var/declaration.tsx +2 -1
  121. package/src/name-policy.ts +3 -1
  122. package/src/symbols/factories.ts +47 -10
  123. package/src/symbols/namespace.ts +2 -2
  124. package/temp/api.json +184 -35
  125. package/dist/src/components/namespace.d.ts.map +0 -1
  126. package/dist/src/components/namespace.js.map +0 -1
  127. package/dist/src/components/namespace.test.d.ts.map +0 -1
  128. package/dist/src/components/namespace.test.js +0 -79
  129. package/dist/src/components/namespace.test.js.map +0 -1
  130. package/src/components/namespace.test.tsx +0 -52
  131. /package/dist/src/components/{namespace.test.d.ts → namespace/namespace.test.d.ts} +0 -0
@@ -0,0 +1,20 @@
1
+ import { useNamespaceContext } from "../../contexts/namespace.js";
2
+ import { NamespaceSymbol } from "../../symbols/namespace.js";
3
+
4
+ /** @internal */
5
+
6
+ /** @internal */
7
+ export function NamespaceName(props) {
8
+ const names = [props.symbol.name];
9
+ const parent = props.relative ? useNamespaceContext()?.symbol : undefined;
10
+ let current = props.symbol.ownerSymbol;
11
+ while (current) {
12
+ if (current === parent || !(current instanceof NamespaceSymbol) || current.isGlobal) {
13
+ break;
14
+ }
15
+ names.unshift(current.name);
16
+ current = current.ownerSymbol;
17
+ }
18
+ return names.join(".");
19
+ }
20
+ //# sourceMappingURL=namespace-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useNamespaceContext","NamespaceSymbol","NamespaceName","props","names","symbol","name","parent","relative","undefined","current","ownerSymbol","isGlobal","unshift","join"],"sources":["../../../../src/components/namespace/namespace-name.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,eAAe,QAAQ,4BAA4B;;AAE5D;;AAQA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,KAAK,GAAG,CAACD,KAAK,CAACE,MAAM,CAACC,IAAI,CAAC;EACjC,MAAMC,MAAM,GAAGJ,KAAK,CAACK,QAAQ,GAAGR,mBAAmB,CAAC,CAAC,EAAEK,MAAM,GAAGI,SAAS;EAEzE,IAAIC,OAAO,GAAGP,KAAK,CAACE,MAAM,CAACM,WAAW;EACtC,OAAOD,OAAO,EAAE;IACd,IACEA,OAAO,KAAKH,MAAM,IAClB,EAAEG,OAAO,YAAYT,eAAe,CAAC,IACrCS,OAAO,CAACE,QAAQ,EAChB;MACA;IACF;IACAR,KAAK,CAACS,OAAO,CAACH,OAAO,CAACJ,IAAI,CAAC;IAC3BI,OAAO,GAAGA,OAAO,CAACC,WAAW;EAC/B;EAEA,OAAOP,KAAK,CAACU,IAAI,CAAC,GAAG,CAAC;AACxB","ignoreList":[]}
@@ -1,6 +1,8 @@
1
+ import { Namekey, Refkey } from "@alloy-js/core";
1
2
  import { Children } from "@alloy-js/core/jsx-runtime";
2
3
  export interface NamespaceProps {
3
- name: string;
4
+ name: string | Namekey | (string | Namekey)[];
5
+ refkey?: Refkey | Refkey[];
4
6
  children?: Children;
5
7
  }
6
8
  export declare function Namespace(props: NamespaceProps): Children;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../src/components/namespace/namespace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAOtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YA2B9C"}
@@ -1,11 +1,14 @@
1
1
  import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { Block } from "@alloy-js/core";
3
- import { NamespaceContext } from "../contexts/namespace.js";
4
- import { useSourceFileScope } from "../scopes/source-file.js";
5
- import { createNamespaceSymbol } from "../symbols/factories.js";
6
- import { NamespaceScope } from "./namespace-scopes.js";
3
+ import { NamespaceContext } from "../../contexts/namespace.js";
4
+ import { useSourceFileScope } from "../../scopes/source-file.js";
5
+ import { createNamespaceSymbol } from "../../symbols/factories.js";
6
+ import { NamespaceScope } from "../namespace-scopes.js";
7
+ import { NamespaceName } from "./namespace-name.js";
7
8
  export function Namespace(props) {
8
- const namespaceSymbol = createNamespaceSymbol(props.name);
9
+ const namespaceSymbol = createNamespaceSymbol(props.name, {
10
+ refkeys: props.refkey
11
+ });
9
12
  const sfScope = useSourceFileScope();
10
13
  if (!sfScope) {
11
14
  return _$createComponent(NamespaceContext.Provider, {
@@ -18,7 +21,10 @@ export function Namespace(props) {
18
21
  });
19
22
  } else {
20
23
  sfScope.hasBlockNamespace = true;
21
- return ["namespace ", _$memo(() => namespaceSymbol.name), " ", _$createComponent(Block, {
24
+ return ["namespace ", _$createComponent(NamespaceName, {
25
+ symbol: namespaceSymbol,
26
+ relative: true
27
+ }), " ", _$createComponent(Block, {
22
28
  get children() {
23
29
  return _$createComponent(NamespaceContext.Provider, {
24
30
  value: {
@@ -37,11 +43,4 @@ export function Namespace(props) {
37
43
  })];
38
44
  }
39
45
  }
40
-
41
- /*
42
- const scope = createCSharpNamespaceScope(namespaceSymbol);
43
-
44
- return <Scope value={scope}>{props.children}</Scope>;
45
- }
46
- */
47
46
  //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Block","NamespaceContext","useSourceFileScope","createNamespaceSymbol","NamespaceScope","NamespaceName","Namespace","props","namespaceSymbol","name","refkeys","refkey","sfScope","_$createComponent","Provider","value","symbol","children","hasBlockNamespace","relative"],"sources":["../../../../src/components/namespace/namespace.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAyB,gBAAgB;AAEvD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,cAAc;AACvB,SAASC,aAAa;AAQtB,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,eAAe,GAAGL,qBAAqB,CAACI,KAAK,CAACE,IAAI,EAAE;IACxDC,OAAO,EAAEH,KAAK,CAACI;EACjB,CAAC,CAAC;EACF,MAAMC,OAAO,GAAGV,kBAAkB,CAAC,CAAC;EAEpC,IAAI,CAACU,OAAO,EAAE;IACZ,OAAAC,iBAAA,CACGZ,gBAAgB,CAACa,QAAQ;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAER;MAAgB,CAAC;MAAA,IAAAS,SAAA;QAAA,OAC1DV,KAAK,CAACU,QAAQ;MAAA;IAAA;EAGrB,CAAC,MAAM;IACLL,OAAO,CAACM,iBAAiB,GAAG,IAAI;IAChC,sBAAAL,iBAAA,CAEeR,aAAa;MAACW,MAAM,EAAER,eAAe;MAAEW,QAAQ;IAAA,IAAI,GAAG,EAAAN,iBAAA,CAChEb,KAAK;MAAA,IAAAiB,SAAA;QAAA,OAAAJ,iBAAA,CACHZ,gBAAgB,CAACa,QAAQ;UAACC,KAAK,EAAE;YAAEC,MAAM,EAAER;UAAgB,CAAC;UAAA,IAAAS,SAAA;YAAA,OAAAJ,iBAAA,CAC1DT,cAAc;cAACY,MAAM,EAAER,eAAe;cAAA,IAAAS,SAAA;gBAAA,OACpCV,KAAK,CAACU,QAAQ;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA;EAM3B;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.test.d.ts","sourceRoot":"","sources":["../../../../src/components/namespace/namespace.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,207 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { TestNamespace } from "#test/utils.js";
3
+ import { Output } from "@alloy-js/core";
4
+ import { d } from "@alloy-js/core/testing";
5
+ import { expect, it } from "vitest";
6
+ import { ClassDeclaration } from "../class/declaration.js";
7
+ import { SourceFile } from "../source-file/source-file.js";
8
+ import { Namespace } from "./namespace.js";
9
+ it("defines multiple namespaces and source files with unique content", () => {
10
+ const tree = _$createComponent(Output, {
11
+ get children() {
12
+ return [_$createComponent(Namespace, {
13
+ name: "Namespace1",
14
+ get children() {
15
+ return [_$createComponent(SourceFile, {
16
+ path: "Model1.cs",
17
+ get children() {
18
+ return _$createComponent(ClassDeclaration, {
19
+ "public": true,
20
+ name: "Model1"
21
+ });
22
+ }
23
+ }), _$createComponent(SourceFile, {
24
+ path: "Model2.cs",
25
+ get children() {
26
+ return _$createComponent(ClassDeclaration, {
27
+ "public": true,
28
+ name: "Model2"
29
+ });
30
+ }
31
+ })];
32
+ }
33
+ }), _$createComponent(Namespace, {
34
+ name: "Namespace2",
35
+ get children() {
36
+ return [_$createComponent(SourceFile, {
37
+ path: "Model3.cs",
38
+ get children() {
39
+ return _$createComponent(ClassDeclaration, {
40
+ "public": true,
41
+ name: "Model3"
42
+ });
43
+ }
44
+ }), _$createComponent(SourceFile, {
45
+ path: "Model4.cs",
46
+ get children() {
47
+ return _$createComponent(ClassDeclaration, {
48
+ "public": true,
49
+ name: "Model4"
50
+ });
51
+ }
52
+ })];
53
+ }
54
+ })];
55
+ }
56
+ });
57
+ expect(tree).toRenderTo({
58
+ "Model1.cs": d`
59
+ namespace Namespace1;
60
+
61
+ public class Model1;
62
+ `,
63
+ "Model2.cs": d`
64
+ namespace Namespace1;
65
+
66
+ public class Model2;
67
+ `,
68
+ "Model3.cs": d`
69
+ namespace Namespace2;
70
+
71
+ public class Model3;
72
+ `,
73
+ "Model4.cs": d`
74
+ namespace Namespace2;
75
+
76
+ public class Model4;
77
+ `
78
+ });
79
+ });
80
+ it("nest namespaces", () => {
81
+ const tree = _$createComponent(Output, {
82
+ get children() {
83
+ return _$createComponent(Namespace, {
84
+ name: ["Namespace1"],
85
+ get children() {
86
+ return _$createComponent(Namespace, {
87
+ name: ["Namespace2"],
88
+ get children() {
89
+ return _$createComponent(SourceFile, {
90
+ path: "Model1.cs",
91
+ get children() {
92
+ return _$createComponent(ClassDeclaration, {
93
+ "public": true,
94
+ name: "Model1"
95
+ });
96
+ }
97
+ });
98
+ }
99
+ });
100
+ }
101
+ });
102
+ }
103
+ });
104
+ expect(tree).toRenderTo(`
105
+ namespace Namespace1.Namespace2;
106
+
107
+ public class Model1;
108
+ `);
109
+ });
110
+ it("define nested namespace directly with array", () => {
111
+ const tree = _$createComponent(Output, {
112
+ get children() {
113
+ return _$createComponent(Namespace, {
114
+ name: ["Namespace1", "Namespace2"],
115
+ get children() {
116
+ return _$createComponent(SourceFile, {
117
+ path: "Model1.cs",
118
+ get children() {
119
+ return _$createComponent(ClassDeclaration, {
120
+ "public": true,
121
+ name: "Model1"
122
+ });
123
+ }
124
+ });
125
+ }
126
+ });
127
+ }
128
+ });
129
+ expect(tree).toRenderTo(`
130
+ namespace Namespace1.Namespace2;
131
+
132
+ public class Model1;
133
+ `);
134
+ });
135
+ it("define nested namespace directly as dotted notation", () => {
136
+ const tree = _$createComponent(Output, {
137
+ get children() {
138
+ return _$createComponent(Namespace, {
139
+ name: "Namespace1.Namespace2",
140
+ get children() {
141
+ return _$createComponent(SourceFile, {
142
+ path: "Model1.cs",
143
+ get children() {
144
+ return _$createComponent(ClassDeclaration, {
145
+ "public": true,
146
+ name: "Model1"
147
+ });
148
+ }
149
+ });
150
+ }
151
+ });
152
+ }
153
+ });
154
+ expect(tree).toRenderTo({
155
+ "Model1.cs": d`
156
+ namespace Namespace1.Namespace2;
157
+
158
+ public class Model1;
159
+ `
160
+ });
161
+ });
162
+ it("uses a name policy", () => {
163
+ expect(_$createComponent(TestNamespace, {
164
+ get children() {
165
+ return _$createComponent(Namespace, {
166
+ name: "my-namespace"
167
+ });
168
+ }
169
+ })).toRenderTo(`
170
+ namespace MyNamespace {
171
+
172
+ }
173
+ `);
174
+ });
175
+ it("define nested namespace in sourcefile", () => {
176
+ const tree = _$createComponent(Output, {
177
+ get children() {
178
+ return _$createComponent(Namespace, {
179
+ name: "Base",
180
+ get children() {
181
+ return _$createComponent(SourceFile, {
182
+ path: "Model1.cs",
183
+ get children() {
184
+ return _$createComponent(Namespace, {
185
+ name: "Namespace1.Namespace2",
186
+ get children() {
187
+ return _$createComponent(ClassDeclaration, {
188
+ "public": true,
189
+ name: "Model1"
190
+ });
191
+ }
192
+ });
193
+ }
194
+ });
195
+ }
196
+ });
197
+ }
198
+ });
199
+ expect(tree).toRenderTo(`
200
+ namespace Base {
201
+ namespace Namespace1.Namespace2 {
202
+ public class Model1;
203
+ }
204
+ }
205
+ `);
206
+ });
207
+ //# sourceMappingURL=namespace.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TestNamespace","Output","d","expect","it","ClassDeclaration","SourceFile","Namespace","tree","_$createComponent","children","name","path","toRenderTo"],"sources":["../../../../src/components/namespace/namespace.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,8 @@
1
- import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
- import { Output, refkey } from "@alloy-js/core";
3
- import { d } from "@alloy-js/core/testing";
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { List, memberRefkey, namekey, Output, refkey } from "@alloy-js/core";
4
3
  import { expect, it } from "vitest";
5
4
  import { ClassDeclaration } from "./class/declaration.js";
6
- import { Namespace } from "./namespace.js";
5
+ import { Namespace } from "./namespace/namespace.js";
7
6
  import { SourceFile } from "./source-file/source-file.js";
8
7
  it("references types in the same namespace", () => {
9
8
  const classRef = refkey();
@@ -25,7 +24,7 @@ it("references types in the same namespace", () => {
25
24
  });
26
25
  }
27
26
  });
28
- expect(tree).toRenderTo(d`
27
+ expect(tree).toRenderTo(`
29
28
  namespace Test;
30
29
 
31
30
  class TestClass;
@@ -57,7 +56,7 @@ it("references types in a parent namespace", () => {
57
56
  });
58
57
  }
59
58
  });
60
- expect(tree).toRenderTo(d`
59
+ expect(tree).toRenderTo(`
61
60
  namespace Test {
62
61
  class TestClass;
63
62
  namespace Nested {
@@ -91,7 +90,7 @@ it("references types in a child namespace", () => {
91
90
  });
92
91
  }
93
92
  });
94
- expect(tree).toRenderTo(d`
93
+ expect(tree).toRenderTo(`
95
94
  namespace Test {
96
95
  Nested.TestClass;
97
96
  namespace Nested {
@@ -123,7 +122,7 @@ it("references types in a different top-level namespace declared in the same fil
123
122
  });
124
123
  }
125
124
  });
126
- expect(tree).toRenderTo(d`
125
+ expect(tree).toRenderTo(`
127
126
  using TestCode2;
128
127
 
129
128
  namespace TestCode1 {
@@ -165,18 +164,51 @@ it("references types in a different top-level namespace declared in a different
165
164
  }
166
165
  });
167
166
  expect(tree).toRenderTo({
168
- "test.cs": d`
167
+ "test.cs": `
169
168
  using TestCode2;
170
169
 
171
170
  namespace TestCode1 {
172
171
  TestClass;
173
172
  }
174
173
  `,
175
- "other.cs": d`
174
+ "other.cs": `
176
175
  namespace TestCode2 {
177
176
  class TestClass;
178
177
  }
179
178
  `
180
179
  });
181
180
  });
181
+ it("can be referenced by refkey", () => {
182
+ const classRef = namekey("TestClass");
183
+ const nsRef = namekey("TestCode2");
184
+ const tree = _$createComponent(Output, {
185
+ get children() {
186
+ return _$createComponent(SourceFile, {
187
+ path: "other.cs",
188
+ get children() {
189
+ return _$createComponent(List, {
190
+ get children() {
191
+ return [_$createComponent(Namespace, {
192
+ name: nsRef,
193
+ get children() {
194
+ return _$createComponent(ClassDeclaration, {
195
+ name: classRef
196
+ });
197
+ }
198
+ }), [_$memo(() => memberRefkey(nsRef, classRef)), ";"]];
199
+ }
200
+ });
201
+ }
202
+ });
203
+ }
204
+ });
205
+ expect(tree).toRenderTo(`
206
+ using TestCode2;
207
+
208
+ namespace TestCode2 {
209
+ class TestClass;
210
+ }
211
+ TestClass;
212
+ `);
213
+ });
182
214
  //# sourceMappingURL=namespace.ref.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Output","refkey","d","expect","it","ClassDeclaration","Namespace","SourceFile","classRef","tree","_$createComponent","children","name","path","_$createIntrinsic","toRenderTo"],"sources":["../../../src/components/namespace.ref.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["List","memberRefkey","namekey","Output","refkey","expect","it","ClassDeclaration","Namespace","SourceFile","classRef","tree","_$createComponent","children","name","path","_$createIntrinsic","toRenderTo","nsRef","_$memo"],"sources":["../../../src/components/namespace.ref.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ export interface RecordModifiers {
6
6
  }
7
7
  /** Props to use the {@link RecordDeclaration} component */
8
8
  export interface RecordDeclarationProps extends Omit<core.DeclarationProps, "nameKind">, AccessModifiers, RecordModifiers {
9
- name: string;
9
+ name: string | core.Namekey;
10
10
  /** Doc comment */
11
11
  doc?: core.Children;
12
12
  refkey?: core.Refkey;
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/record/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,cAAc,EAAc,MAAM,8BAA8B,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID,2DAA2D;AAC3D,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC7C,eAAe,EACf,eAAe;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,iBAyD9D"}
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/record/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,cAAc,EAAc,MAAM,8BAA8B,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID,2DAA2D;AAC3D,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC7C,eAAe,EACf,eAAe;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAE5B,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,iBAwD9D"}
@@ -32,12 +32,11 @@ const getRecordModifiers = makeModifiers(["partial"]);
32
32
  * ```
33
33
  */
34
34
  export function RecordDeclaration(props) {
35
- const name = useCSharpNamePolicy().getName(props.name, "record");
36
-
37
35
  // records don't have their own type kind but instead use class or struct
38
36
  // depending on what kind of record we have.
39
- const thisRecordSymbol = createNamedTypeSymbol(name, "record", {
40
- refkeys: props.refkey
37
+ const thisRecordSymbol = createNamedTypeSymbol(props.name, "record", {
38
+ refkeys: props.refkey,
39
+ namePolicy: useCSharpNamePolicy().for("record")
41
40
  });
42
41
  const thisRecordScope = createClassScope(thisRecordSymbol);
43
42
  let typeParams;
@@ -1 +1 @@
1
- {"version":3,"names":["core","computeModifiersPrefix","getAccessModifier","makeModifiers","useCSharpNamePolicy","createClassScope","createNamedTypeSymbol","createTypeParameterSymbol","DocWhen","Name","Parameters","getRecordModifiers","RecordDeclaration","props","name","getName","thisRecordSymbol","refkeys","refkey","thisRecordScope","typeParams","typeParameters","typeParamNames","Array","entry","Object","entries","push","scope","_$createIntrinsic","children","_$createComponent","For","each","comma","line","modifiers","Declaration","symbol","doc","_$memo","primaryConstructor","Scope","value","parameters","Block","newline"],"sources":["../../../../src/components/record/declaration.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["core","computeModifiersPrefix","getAccessModifier","makeModifiers","useCSharpNamePolicy","createClassScope","createNamedTypeSymbol","createTypeParameterSymbol","DocWhen","Name","Parameters","getRecordModifiers","RecordDeclaration","props","thisRecordSymbol","name","refkeys","refkey","namePolicy","for","thisRecordScope","typeParams","typeParameters","typeParamNames","Array","entry","Object","entries","push","getName","scope","_$createIntrinsic","children","_$createComponent","For","each","comma","line","modifiers","Declaration","symbol","doc","_$memo","primaryConstructor","Scope","value","parameters","Block","newline"],"sources":["../../../../src/components/record/declaration.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { createComponent as _$createComponent, mergeProps as _$mergeProps } from "@alloy-js/core/jsx-runtime";
2
- import { code, refkey } from "@alloy-js/core";
2
+ import { code, namekey, refkey } from "@alloy-js/core";
3
3
  import { describe, expect, it } from "vitest";
4
4
  import { TestNamespace } from "../../../test/utils.js";
5
5
  import { Property } from "../property/property.js";
@@ -24,6 +24,19 @@ it("declares record with no members", () => {
24
24
  record TestRecord;
25
25
  `);
26
26
  });
27
+ it("takes a namekey", () => {
28
+ expect(_$createComponent(TestNamespace, {
29
+ get children() {
30
+ return _$createComponent(RecordDeclaration, {
31
+ get name() {
32
+ return namekey("my-record");
33
+ }
34
+ });
35
+ }
36
+ })).toRenderTo(`
37
+ record MyRecord;
38
+ `);
39
+ });
27
40
  describe("modifiers", () => {
28
41
  it.each(["public", "private", "internal"])("%s", mod => {
29
42
  expect(_$createComponent(TestNamespace, {
@@ -1 +1 @@
1
- {"version":3,"names":["code","refkey","describe","expect","it","TestNamespace","Property","RecordDeclaration","Wrapper","children","_$createComponent","name","toRenderTo","each","mod","_$mergeProps","partial","doc","get","set","type","paramNameRefkey","paramSizeRefkey","ctorParams","primaryConstructor","initializer"],"sources":["../../../../src/components/record/declaration.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["code","namekey","refkey","describe","expect","it","TestNamespace","Property","RecordDeclaration","Wrapper","children","_$createComponent","name","toRenderTo","each","mod","_$mergeProps","partial","doc","get","set","type","paramNameRefkey","paramSizeRefkey","ctorParams","primaryConstructor","initializer"],"sources":["../../../../src/components/record/declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAAmBA,IAAI,EAAEC,OAAO,EAAEC,MAAM,QAAQ,gBAAgB;AAChE,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,aAAa;AACtB,SAASC,QAAQ;AACjB,SAASC,iBAAiB;;AAE1B;AACA,SAASC,OAAOA,CAAC;EAAEC;AAAiC,CAAC,EAAE;EACrD,OAAAC,iBAAA,CAAQL,aAAa;IAAAI,QAAA,EAAEA;EAAQ;AACjC;AAEAL,EAAE,CAAC,iCAAiC,EAAE,MAAM;EAC1CD,MAAM,CAAAO,iBAAA,CACHL,aAAa;IAAA,IAAAI,SAAA;MAAA,OAAAC,iBAAA,CACXH,iBAAiB;QAACI,IAAI;MAAA;IAAA;EAAA,EAE3B,CAAC,CAACC,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFR,EAAE,CAAC,iBAAiB,EAAE,MAAM;EAC1BD,MAAM,CAAAO,iBAAA,CACHL,aAAa;IAAA,IAAAI,SAAA;MAAA,OAAAC,iBAAA,CACXH,iBAAiB;QAAA,IAACI,IAAIA,CAAA;UAAA,OAAEX,OAAO,CAAC,WAAW,CAAC;QAAA;MAAA;IAAA;EAAA,EAEjD,CAAC,CAACY,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFV,QAAQ,CAAC,WAAW,EAAE,MAAM;EAC1BE,EAAE,CAACS,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAGC,GAAG,IAAK;IACxDX,MAAM,CAAAO,iBAAA,CACHL,aAAa;MAAA,IAAAI,SAAA;QAAA,OAAAC,iBAAA,CACXH,iBAAiB,EAAAQ,YAAA,CAAK;UAAE,CAACD,GAAG,GAAG;QAAK,CAAC;UAAEH,IAAI;QAAA;MAAA;IAAA,EAEhD,CAAC,CAACC,UAAU,CAAC;AACjB,UAAUE,GAAG;AACb,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFV,EAAE,CAACS,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAGC,GAAG,IAAK;IAClCX,MAAM,CAAAO,iBAAA,CACHL,aAAa;MAAA,IAAAI,SAAA;QAAA,OAAAC,iBAAA,CACXH,iBAAiB,EAAAQ,YAAA,CAAK;UAAE,CAACD,GAAG,GAAG;QAAK,CAAC;UAAEH,IAAI;QAAA;MAAA;IAAA,EAEhD,CAAC,CAACC,UAAU,CAAC;AACjB,UAAUE,GAAG;AACb,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFV,EAAE,CAAC,oBAAoB,EAAE,MAAM;IAC7BD,MAAM,CAAAO,iBAAA,CACHL,aAAa;MAAA,IAAAI,SAAA;QAAA,OAAAC,iBAAA,CACXH,iBAAiB;UAAA;UAAQS,OAAO;UAACL,IAAI;QAAA;MAAA;IAAA,EAE1C,CAAC,CAACC,UAAU,CAAC;AACjB;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFR,EAAE,CAAC,qBAAqB,EAAE,MAAM;EAC9BD,MAAM,CAAAO,iBAAA,CACHL,aAAa;IAAA,IAAAI,SAAA;MAAA,OAAAC,iBAAA,CACXH,iBAAiB;QAACI,IAAI;QAAcM,GAAG;MAAA;IAAA;EAAA,EAE5C,CAAC,CAACL,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFR,EAAE,CAAC,gCAAgC,EAAE,MAAM;EACzCD,MAAM,CAAAO,iBAAA,CACHL,aAAa;IAAA,IAAAI,SAAA;MAAA,OAAAC,iBAAA,CACXH,iBAAiB;QAACI,IAAI;QAAcM,GAAG;QAAA,IAAAR,SAAA;UAAA,OAAAC,iBAAA,CACrCJ,QAAQ;YAACK,IAAI;YAAQO,GAAG;YAACC,GAAG;YAACC,IAAI;UAAA;QAAA;MAAA;IAAA;EAAA,EAGxC,CAAC,CAACR,UAAU,CAAC;AACf;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFV,QAAQ,CAAC,aAAa,EAAE,MAAM;EAC5BE,EAAE,CAAC,wCAAwC,EAAE,MAAM;IACjD,MAAMiB,eAAe,GAAGpB,MAAM,CAAC,CAAC;IAChC,MAAMqB,eAAe,GAAGrB,MAAM,CAAC,CAAC;IAEhC,MAAMsB,UAAU,GAAG,CACjB;MACEZ,IAAI,EAAE,MAAM;MACZS,IAAI,EAAE,QAAQ;MACdnB,MAAM,EAAEoB;IACV,CAAC,EACD;MACEV,IAAI,EAAE,MAAM;MACZS,IAAI,EAAE,KAAK;MACXnB,MAAM,EAAEqB;IACV,CAAC,CACF;IAEDnB,MAAM,CAAAO,iBAAA,CACHF,OAAO;MAAA,IAAAC,SAAA;QAAA,OAAAC,iBAAA,CACLH,iBAAiB;UAAA;UAAQI,IAAI;UAAQa,kBAAkB,EAAED,UAAU;UAAA,IAAAd,SAAA;YAAA,OAAAC,iBAAA,CACjEJ,QAAQ;cACPK,IAAI;cACJS,IAAI;cACJF,GAAG;cACHO,WAAW,EAAE1B,IAAI,MAAMsB,eAAe,MAAMC,eAAe;YAAI;UAAA;QAAA;MAAA;IAAA,EAIvE,CAAC,CAACV,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA,GAAG,CAAC;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"source-file.d.ts","sourceRoot":"","sources":["../../../../src/components/source-file/source-file.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,QAAQ,EAKT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,kCAAkC,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA2DhD"}
1
+ {"version":3,"file":"source-file.d.ts","sourceRoot":"","sources":["../../../../src/components/source-file/source-file.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,QAAQ,EAKT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,kCAAkC,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA0DhD"}
@@ -1,5 +1,6 @@
1
1
  import { createComponent as _$createComponent, memo as _$memo, mergeProps as _$mergeProps, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
2
  import { NamespaceScopes } from "#components/namespace-scopes.js";
3
+ import { NamespaceName } from "#components/namespace/namespace-name.js";
3
4
  import { Reference } from "#components/Reference.js";
4
5
  import { Usings } from "#components/using/using.js";
5
6
  import { Block, computed, SourceFile as CoreSourceFile, Scope, useBinder } from "@alloy-js/core";
@@ -18,7 +19,6 @@ export function SourceFile(props) {
18
19
  const nsContext = useNamespaceContext();
19
20
  const globalNs = getGlobalNamespace(useBinder());
20
21
  const nsSymbol = nsContext ? nsContext.symbol : globalNs;
21
- const nsRef = nsContext ? nsContext.symbol.name : undefined;
22
22
  const usings = computed(() => {
23
23
  return Array.from(sourceFileScope.usings).concat(props.using ?? []);
24
24
  });
@@ -48,7 +48,9 @@ export function SourceFile(props) {
48
48
  get namespaces() {
49
49
  return usings.value;
50
50
  }
51
- }), _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})]), _$memo(() => nsSymbol === globalNs ? content : ["namespace ", nsRef, _$memo(() => _$memo(() => !!sourceFileScope.hasBlockNamespace)() ? [" ", _$createComponent(Block, {
51
+ }), _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})]), _$memo(() => nsSymbol === globalNs ? content : ["namespace ", _$createComponent(NamespaceName, {
52
+ symbol: nsSymbol
53
+ }), _$memo(() => _$memo(() => !!sourceFileScope.hasBlockNamespace)() ? [" ", _$createComponent(Block, {
52
54
  children: content
53
55
  })] : [";", _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {}), content])])];
54
56
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NamespaceScopes","Reference","Usings","Block","computed","SourceFile","CoreSourceFile","Scope","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","nsRef","name","undefined","usings","Array","from","concat","using","content","_$createComponent","children","opts","printWidth","tabWidth","useTabs","_$mergeProps","filetype","reference","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace"],"sources":["../../../../src/components/source-file/source-file.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,eAAe;AACxB,SAASC,SAAS;AAClB,SAASC,MAAM;AACf,SACEC,KAAK,EAELC,QAAQ,EACRC,UAAU,IAAIC,cAAc,EAC5BC,KAAK,EACLC,SAAS,QACJ,gBAAgB;AACvB,SAEEC,sBAAsB,QACjB,kCAAkC;AACzC,SAASC,kBAAkB,QAAQ,oCAAoC;AACvE,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,qBAAqB,QAAQ,6BAA6B;;AAGnE;AACA;AACA;;AAeA;AACA,OAAO,SAASP,UAAUA,CAACQ,KAAsB,EAAE;EACjD,MAAMC,eAAe,GAAG,IAAIF,qBAAqB,CAACC,KAAK,CAACE,IAAI,CAAC;EAE7D,MAAMC,SAAS,GAAGL,mBAAmB,CAAC,CAAC;EACvC,MAAMM,QAAQ,GAAGP,kBAAkB,CAACF,SAAS,CAAC,CAAC,CAAC;EAChD,MAAMU,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAACG,MAAM,GAAGF,QAAQ;EACxD,MAAMG,KAAK,GAAGJ,SAAS,GAAGA,SAAS,CAACG,MAAM,CAACE,IAAI,GAAGC,SAAS;EAC3D,MAAMC,MAAM,GAAGnB,QAAQ,CAAC,MAAM;IAC5B,OACEoB,KAAK,CAACC,IAAI,CAACX,eAAe,CAACS,MAAM,CAAC,CAClCG,MAAM,CAACb,KAAK,CAACc,KAAK,IAAI,EAAE,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGxB,QAAQ,CAAC,MAAAyB,iBAAA,CACtB7B,eAAe;IAACmB,MAAM,EAAED,QAAQ;IAAA,IAAAY,SAAA;MAAA,OAAGjB,KAAK,CAACiB,QAAQ;IAAA;EAAA,EACnD,CAAC;EAEF,MAAMC,IAAI,GAAGtB,sBAAsB,CAAC;IAClCuB,UAAU,EAAEnB,KAAK,CAACmB,UAAU;IAC5BC,QAAQ,EAAEpB,KAAK,CAACoB,QAAQ;IACxBC,OAAO,EAAErB,KAAK,CAACqB;EACjB,CAAC,CAAC;EAEF,OAAAL,iBAAA,CACGvB,cAAc,EAAA6B,YAAA;IAAA,IACbpB,IAAIA,CAAA;MAAA,OAAEF,KAAK,CAACE,IAAI;IAAA;IAChBqB,QAAQ;IACRC,SAAS,EAAEpC;EAAS,GAChB8B,IAAI;IAAA,IAAAD,SAAA;MAAA,OAAAD,iBAAA,CAEPtB,KAAK;QAAC+B,KAAK,EAAExB,eAAe;QAAA,IAAAgB,SAAA;UAAA,QAAAS,MAAA,OAC1BA,MAAA,UAACzB,eAAe,CAACS,MAAM,CAACiB,IAAI,GAAG,CAAC,IAC9B3B,KAAK,CAACc,KAAK,IAAId,KAAK,CAACc,KAAK,CAACc,MAAM,GAAG,CAAE,SAAAZ,iBAAA,CAEpC3B,MAAM;YAAA,IAACwC,UAAUA,CAAA;cAAA,OAAEnB,MAAM,CAACe,KAAK;YAAA;UAAA,IAAAK,iBAAA,aAAAA,iBAAA,YAInC,GAAAJ,MAAA,OACArB,QAAQ,KAAKD,QAAQ,GACpBW,OAAO,kBAEMR,KAAK,EAAAmB,MAAA,OACfA,MAAA,SAAAzB,eAAe,CAAC8B,iBAAiB,OAE7B,GAAG,EAAAf,iBAAA,CACH1B,KAAK;YAAA2B,QAAA,EAAEF;UAAO,YAAAe,iBAAA,aAAAA,iBAAA,aAKdf,OAAO,CACP,EAEJ;QAAA;MAAA;IAAA;EAAA;AAKb","ignoreList":[]}
1
+ {"version":3,"names":["NamespaceScopes","NamespaceName","Reference","Usings","Block","computed","SourceFile","CoreSourceFile","Scope","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","usings","Array","from","concat","using","content","_$createComponent","children","opts","printWidth","tabWidth","useTabs","_$mergeProps","filetype","reference","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace"],"sources":["../../../../src/components/source-file/source-file.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,eAAe;AACxB,SAASC,aAAa;AACtB,SAASC,SAAS;AAClB,SAASC,MAAM;AACf,SACEC,KAAK,EAELC,QAAQ,EACRC,UAAU,IAAIC,cAAc,EAC5BC,KAAK,EACLC,SAAS,QACJ,gBAAgB;AACvB,SAEEC,sBAAsB,QACjB,kCAAkC;AACzC,SAASC,kBAAkB,QAAQ,oCAAoC;AACvE,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,qBAAqB,QAAQ,6BAA6B;;AAGnE;AACA;AACA;;AAeA;AACA,OAAO,SAASP,UAAUA,CAACQ,KAAsB,EAAE;EACjD,MAAMC,eAAe,GAAG,IAAIF,qBAAqB,CAACC,KAAK,CAACE,IAAI,CAAC;EAE7D,MAAMC,SAAS,GAAGL,mBAAmB,CAAC,CAAC;EACvC,MAAMM,QAAQ,GAAGP,kBAAkB,CAACF,SAAS,CAAC,CAAC,CAAC;EAChD,MAAMU,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAACG,MAAM,GAAGF,QAAQ;EACxD,MAAMG,MAAM,GAAGhB,QAAQ,CAAC,MAAM;IAC5B,OACEiB,KAAK,CAACC,IAAI,CAACR,eAAe,CAACM,MAAM,CAAC,CAClCG,MAAM,CAACV,KAAK,CAACW,KAAK,IAAI,EAAE,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGrB,QAAQ,CAAC,MAAAsB,iBAAA,CACtB3B,eAAe;IAACoB,MAAM,EAAED,QAAQ;IAAA,IAAAS,SAAA;MAAA,OAAGd,KAAK,CAACc,QAAQ;IAAA;EAAA,EACnD,CAAC;EAEF,MAAMC,IAAI,GAAGnB,sBAAsB,CAAC;IAClCoB,UAAU,EAAEhB,KAAK,CAACgB,UAAU;IAC5BC,QAAQ,EAAEjB,KAAK,CAACiB,QAAQ;IACxBC,OAAO,EAAElB,KAAK,CAACkB;EACjB,CAAC,CAAC;EAEF,OAAAL,iBAAA,CACGpB,cAAc,EAAA0B,YAAA;IAAA,IACbjB,IAAIA,CAAA;MAAA,OAAEF,KAAK,CAACE,IAAI;IAAA;IAChBkB,QAAQ;IACRC,SAAS,EAAEjC;EAAS,GAChB2B,IAAI;IAAA,IAAAD,SAAA;MAAA,OAAAD,iBAAA,CAEPnB,KAAK;QAAC4B,KAAK,EAAErB,eAAe;QAAA,IAAAa,SAAA;UAAA,QAAAS,MAAA,OAC1BA,MAAA,UAACtB,eAAe,CAACM,MAAM,CAACiB,IAAI,GAAG,CAAC,IAC9BxB,KAAK,CAACW,KAAK,IAAIX,KAAK,CAACW,KAAK,CAACc,MAAM,GAAG,CAAE,SAAAZ,iBAAA,CAEpCxB,MAAM;YAAA,IAACqC,UAAUA,CAAA;cAAA,OAAEnB,MAAM,CAACe,KAAK;YAAA;UAAA,IAAAK,iBAAA,aAAAA,iBAAA,YAInC,GAAAJ,MAAA,OACAlB,QAAQ,KAAKD,QAAQ,GACpBQ,OAAO,kBAAAC,iBAAA,CAEM1B,aAAa;YAACmB,MAAM,EAAED;UAAQ,IAAAkB,MAAA,OACxCA,MAAA,SAAAtB,eAAe,CAAC2B,iBAAiB,OAE7B,GAAG,EAAAf,iBAAA,CACHvB,KAAK;YAAAwB,QAAA,EAAEF;UAAO,YAAAe,iBAAA,aAAAA,iBAAA,aAKdf,OAAO,CACP,EAEJ;QAAA;MAAA;IAAA;EAAA;AAKb","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { ClassDeclaration } from "#components/class/declaration.js";
3
- import { Namespace } from "#components/namespace.js";
3
+ import { Namespace } from "#components/namespace/namespace.js";
4
4
  import { FormatOptions, Indent, Output, Prose } from "@alloy-js/core";
5
5
  import { describe, expect, it } from "vitest";
6
6
  import { CSharpFormatOptions } from "../../contexts/format-options.js";
@@ -3,7 +3,7 @@ import { ClassDeclaration } from "#components/class/declaration.js";
3
3
  import { EnumDeclaration } from "#components/enum/declaration.js";
4
4
  import { EnumMember } from "#components/enum/member.js";
5
5
  import { Method } from "#components/method/method.js";
6
- import { Namespace } from "#components/namespace.js";
6
+ import { Namespace } from "#components/namespace/namespace.js";
7
7
  import { SourceFile } from "#components/source-file/source-file.js";
8
8
  import { Output, refkey } from "@alloy-js/core";
9
9
  import * as coretest from "@alloy-js/core/testing";
@@ -9,7 +9,7 @@ export interface StructModifiers {
9
9
  readonly partial?: boolean;
10
10
  }
11
11
  export interface StructDeclarationProps extends Omit<core.DeclarationProps, "nameKind">, AccessModifiers, StructModifiers {
12
- name: string;
12
+ name: string | core.Namekey;
13
13
  /** Doc comment */
14
14
  doc?: core.Children;
15
15
  refkey?: core.Refkey;
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/struct/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAUD,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC7C,eAAe,EACf,eAAe;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAErB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC;IAEjD;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B,wCAAwC;IACxC,cAAc,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,iBAsC9D"}
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/struct/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAUD,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC7C,eAAe,EACf,eAAe;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAE5B,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAErB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC;IAEjD;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B,wCAAwC;IACxC,cAAc,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,iBAqC9D"}
@@ -35,9 +35,9 @@ const getStructModifiers = makeModifiers(["new", "readonly", "ref", "partial"]);
35
35
  * ```
36
36
  */
37
37
  export function StructDeclaration(props) {
38
- const name = useCSharpNamePolicy().getName(props.name, "struct");
39
- const thisStructSymbol = createNamedTypeSymbol(name, "struct", {
40
- refkeys: props.refkey
38
+ const thisStructSymbol = createNamedTypeSymbol(props.name, "struct", {
39
+ refkeys: props.refkey,
40
+ namePolicy: useCSharpNamePolicy().for("struct")
41
41
  });
42
42
  const thisStructScope = createNamedTypeScope(thisStructSymbol);
43
43
  const modifiers = computeModifiersPrefix([getAccessModifier(props), getStructModifiers(props)]);