@alloy-js/csharp 0.23.0-dev.5 → 0.23.0-dev.6
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.
- package/dist/dev/src/components/namespace/namespace.js +16 -22
- package/dist/dev/src/components/namespace/namespace.js.map +1 -1
- package/dist/dev/src/components/namespace/namespace.test.js +120 -33
- package/dist/dev/src/components/namespace/namespace.test.js.map +1 -1
- package/dist/dev/src/components/namespace-scopes.js +10 -3
- package/dist/dev/src/components/namespace-scopes.js.map +1 -1
- package/dist/dev/src/components/namespace.ref.test.js +69 -0
- package/dist/dev/src/components/namespace.ref.test.js.map +1 -1
- package/dist/src/components/namespace/namespace.d.ts.map +1 -1
- package/dist/src/components/namespace/namespace.js +11 -13
- package/dist/src/components/namespace/namespace.js.map +1 -1
- package/dist/src/components/namespace/namespace.test.js +61 -2
- package/dist/src/components/namespace/namespace.test.js.map +1 -1
- package/dist/src/components/namespace-scopes.d.ts +16 -0
- package/dist/src/components/namespace-scopes.d.ts.map +1 -1
- package/dist/src/components/namespace-scopes.js +8 -1
- package/dist/src/components/namespace-scopes.js.map +1 -1
- package/dist/src/components/namespace.ref.test.js +41 -0
- package/dist/src/components/namespace.ref.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/namespace/namespace.test.tsx +42 -1
- package/src/components/namespace/namespace.tsx +16 -8
- package/src/components/namespace-scopes.tsx +25 -1
- package/src/components/namespace.ref.test.tsx +29 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Block","NamespaceContext","useSourceFileScope","createNamespaceSymbol","
|
|
1
|
+
{"version":3,"names":["Block","NamespaceContext","useNamespaceContext","useSourceFileScope","createNamespaceSymbol","NamespaceScopes","NamespaceName","Namespace","props","namespaceSymbol","name","refkeys","refkey","sfScope","_$createComponent","Provider","value","symbol","children","nsContext","hasOuterNamespace","isGlobal","hasBlockNamespace","relative","stopAt"],"sources":["../../../../src/components/namespace/namespace.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAyB,gBAAgB;AAEvD,SACEC,gBAAgB,EAChBC,mBAAmB,QACd,6BAA6B;AACpC,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,eAAe;AACxB,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,CACGb,gBAAgB,CAACc,QAAQ;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAER;MAAgB,CAAC;MAAA,IAAAS,SAAA;QAAA,OAC1DV,KAAK,CAACU,QAAQ;MAAA;IAAA;EAGrB,CAAC,MAAM;IACL,MAAMC,SAAS,GAAGjB,mBAAmB,CAAC,CAAC;IACvC,MAAMkB,iBAAiB,GAAGD,SAAS,IAAI,CAACA,SAAS,CAACF,MAAM,CAACI,QAAQ;IAEjER,OAAO,CAACS,iBAAiB,GAAG,IAAI;IAChC,qBAEc,GAAG,EAAAR,iBAAA,CACZR,aAAa;MACZW,MAAM,EAAER,eAAe;MACvBc,QAAQ,EAAE,CAAC,CAACH;IAAiB,IAC5B,GAAG,EAAAN,iBAAA,CACLd,KAAK;MAAA,IAAAkB,SAAA;QAAA,OAAAJ,iBAAA,CACHT,eAAe;UAACY,MAAM,EAAER,eAAe;UAAA,IAAEe,MAAMA,CAAA;YAAA,OAAEL,SAAS,EAAEF,MAAM;UAAA;UAAA,IAAAC,SAAA;YAAA,OAChEV,KAAK,CAACU,QAAQ;UAAA;QAAA;MAAA;IAAA;EAKzB;AACF","ignoreList":[]}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
1
|
+
import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
|
|
2
2
|
import { TestNamespace } from "#test/utils.js";
|
|
3
|
-
import { Output } from "@alloy-js/core";
|
|
3
|
+
import { Output, refkey } from "@alloy-js/core";
|
|
4
4
|
import { d } from "@alloy-js/core/testing";
|
|
5
5
|
import { expect, it } from "vitest";
|
|
6
|
+
import { createCSharpNamePolicy } from "../../name-policy.js";
|
|
6
7
|
import { ClassDeclaration } from "../class/declaration.js";
|
|
8
|
+
import { Constructor } from "../constructor/constructor.js";
|
|
9
|
+
import { Field } from "../field/field.js";
|
|
7
10
|
import { SourceFile } from "../source-file/source-file.js";
|
|
11
|
+
import { StructDeclaration } from "../struct/declaration.js";
|
|
8
12
|
import { Namespace } from "./namespace.js";
|
|
9
13
|
it("defines multiple namespaces and source files with unique content", () => {
|
|
10
14
|
const tree = _$createComponent(Output, {
|
|
@@ -202,4 +206,59 @@ it("define nested namespace in sourcefile", () => {
|
|
|
202
206
|
}
|
|
203
207
|
`);
|
|
204
208
|
});
|
|
209
|
+
it("contains a struct with a private field initialized by a constructor", () => {
|
|
210
|
+
const fieldRefkey = refkey();
|
|
211
|
+
const paramRefkey = refkey();
|
|
212
|
+
const tree = _$createComponent(Output, {
|
|
213
|
+
get namePolicy() {
|
|
214
|
+
return createCSharpNamePolicy();
|
|
215
|
+
},
|
|
216
|
+
get children() {
|
|
217
|
+
return _$createComponent(SourceFile, {
|
|
218
|
+
path: "MyStruct.cs",
|
|
219
|
+
get children() {
|
|
220
|
+
return _$createComponent(Namespace, {
|
|
221
|
+
name: "TestNamespace.Test",
|
|
222
|
+
get children() {
|
|
223
|
+
return _$createComponent(StructDeclaration, {
|
|
224
|
+
"public": true,
|
|
225
|
+
name: "MyStruct",
|
|
226
|
+
get children() {
|
|
227
|
+
return [_$createComponent(Field, {
|
|
228
|
+
"private": true,
|
|
229
|
+
name: "value",
|
|
230
|
+
type: "int",
|
|
231
|
+
refkey: fieldRefkey
|
|
232
|
+
}), _$createIntrinsic("hbr", {}), _$createComponent(Constructor, {
|
|
233
|
+
"public": true,
|
|
234
|
+
parameters: [{
|
|
235
|
+
name: "value",
|
|
236
|
+
type: "int",
|
|
237
|
+
refkey: paramRefkey
|
|
238
|
+
}],
|
|
239
|
+
get children() {
|
|
240
|
+
return [fieldRefkey, " = ", paramRefkey, ";"];
|
|
241
|
+
}
|
|
242
|
+
})];
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
expect(tree).toRenderTo(d`
|
|
252
|
+
namespace TestNamespace.Test {
|
|
253
|
+
public struct MyStruct
|
|
254
|
+
{
|
|
255
|
+
private int _value;
|
|
256
|
+
public MyStruct(int value)
|
|
257
|
+
{
|
|
258
|
+
_value = value;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
`);
|
|
263
|
+
});
|
|
205
264
|
//# sourceMappingURL=namespace.test.js.map
|
|
@@ -1 +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":";AAAA,SAASA,aAAa;AACtB,SAASC,MAAM,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"names":["TestNamespace","Output","refkey","d","expect","it","createCSharpNamePolicy","ClassDeclaration","Constructor","Field","SourceFile","StructDeclaration","Namespace","tree","_$createComponent","children","name","path","toRenderTo","fieldRefkey","paramRefkey","namePolicy","type","_$createIntrinsic","parameters"],"sources":["../../../../src/components/namespace/namespace.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,8 +6,24 @@ export interface NamespaceScopProps {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function NamespaceScope(props: NamespaceScopProps): Children;
|
|
8
8
|
export interface NamespaceScopesProps {
|
|
9
|
+
/**
|
|
10
|
+
* Target namespace whose scope chain should be established for `children`.
|
|
11
|
+
*
|
|
12
|
+
* For dotted namespaces, this is typically the most nested segment symbol.
|
|
13
|
+
*/
|
|
9
14
|
symbol: NamespaceSymbol;
|
|
15
|
+
/**
|
|
16
|
+
* Optional ancestor namespace that is already in scope.
|
|
17
|
+
*
|
|
18
|
+
* Wrapping stops before this symbol to avoid duplicating existing namespace
|
|
19
|
+
* scopes in the reference chain.
|
|
20
|
+
*/
|
|
21
|
+
stopAt?: NamespaceSymbol;
|
|
10
22
|
children: Children;
|
|
11
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Applies `NamespaceScope` wrappers from `symbol` up through its enclosing
|
|
26
|
+
* namespaces until the root (or `stopAt`, when provided).
|
|
27
|
+
*/
|
|
12
28
|
export declare function NamespaceScopes(props: NamespaceScopesProps): Children;
|
|
13
29
|
//# sourceMappingURL=namespace-scopes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-scopes.d.ts","sourceRoot":"","sources":["../../../src/components/namespace-scopes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,YAOvD;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"namespace-scopes.d.ts","sourceRoot":"","sources":["../../../src/components/namespace-scopes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,YAOvD;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YAyB1D"}
|
|
@@ -20,13 +20,20 @@ export function NamespaceScope(props) {
|
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Applies `NamespaceScope` wrappers from `symbol` up through its enclosing
|
|
25
|
+
* namespaces until the root (or `stopAt`, when provided).
|
|
26
|
+
*/
|
|
23
27
|
export function NamespaceScopes(props) {
|
|
24
28
|
function wrapWithScope(symbol, children) {
|
|
29
|
+
if (symbol === props.stopAt) {
|
|
30
|
+
return children;
|
|
31
|
+
}
|
|
25
32
|
const scopeChildren = _$createComponent(NamespaceScope, {
|
|
26
33
|
symbol: symbol,
|
|
27
34
|
children: children
|
|
28
35
|
});
|
|
29
|
-
if (symbol.enclosingNamespace) {
|
|
36
|
+
if (symbol.enclosingNamespace && symbol.enclosingNamespace !== props.stopAt) {
|
|
30
37
|
return wrapWithScope(symbol.enclosingNamespace, scopeChildren);
|
|
31
38
|
}
|
|
32
39
|
return scopeChildren;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Scope","NamespaceContext","createCSharpNamespaceScope","NamespaceScope","props","scope","symbol","_$createComponent","Provider","value","children","NamespaceScopes","wrapWithScope","scopeChildren","enclosingNamespace"],"sources":["../../../src/components/namespace-scopes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAQ,gBAAgB;AAEtC,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,0BAA0B,QAAQ,wBAAwB;AAQnE,OAAO,SAASC,cAAcA,CAACC,KAAyB,EAAE;EACxD,MAAMC,KAAK,GAAGH,0BAA0B,CAACE,KAAK,CAACE,MAAM,CAAC;EACtD,OAAAC,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OAAAH,iBAAA,CACvDP,KAAK;QAACS,KAAK,EAAEJ,KAAK;QAAA,IAAAK,SAAA;UAAA,OAAGN,KAAK,CAACM,QAAQ;QAAA;MAAA;IAAA;EAAA;AAG1C;
|
|
1
|
+
{"version":3,"names":["Scope","NamespaceContext","createCSharpNamespaceScope","NamespaceScope","props","scope","symbol","_$createComponent","Provider","value","children","NamespaceScopes","wrapWithScope","stopAt","scopeChildren","enclosingNamespace"],"sources":["../../../src/components/namespace-scopes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAQ,gBAAgB;AAEtC,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,0BAA0B,QAAQ,wBAAwB;AAQnE,OAAO,SAASC,cAAcA,CAACC,KAAyB,EAAE;EACxD,MAAMC,KAAK,GAAGH,0BAA0B,CAACE,KAAK,CAACE,MAAM,CAAC;EACtD,OAAAC,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OAAAH,iBAAA,CACvDP,KAAK;QAACS,KAAK,EAAEJ,KAAK;QAAA,IAAAK,SAAA;UAAA,OAAGN,KAAK,CAACM,QAAQ;QAAA;MAAA;IAAA;EAAA;AAG1C;AAoBA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACP,KAA2B,EAAE;EAC3D,SAASQ,aAAaA,CAACN,MAAuB,EAAEI,QAAkB,EAAE;IAClE,IAAIJ,MAAM,KAAKF,KAAK,CAACS,MAAM,EAAE;MAC3B,OAAOH,QAAQ;IACjB;IAEA,MAAMI,aAAa,GAAAP,iBAAA,CAChBJ,cAAc;MAACG,MAAM,EAAEA,MAAM;MAAAI,QAAA,EAAGA;IAAQ,EAC1C;IAED,IACEJ,MAAM,CAACS,kBAAkB,IACzBT,MAAM,CAACS,kBAAkB,KAAKX,KAAK,CAACS,MAAM,EAC1C;MACA,OAAOD,aAAa,CAACN,MAAM,CAACS,kBAAkB,EAAED,aAAa,CAAC;IAChE;IAEA,OAAOA,aAAa;EACtB;EAEA,OAAAP,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OACvDE,aAAa,CAACR,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACM,QAAQ,CAAC;IAAA;EAAA;AAGlD","ignoreList":[]}
|
|
@@ -211,4 +211,45 @@ it("can be referenced by refkey", () => {
|
|
|
211
211
|
TestClass;
|
|
212
212
|
`);
|
|
213
213
|
});
|
|
214
|
+
it("references types across sibling namespaces under the same parent", () => {
|
|
215
|
+
const classRef = refkey();
|
|
216
|
+
const tree = _$createComponent(Output, {
|
|
217
|
+
get children() {
|
|
218
|
+
return _$createComponent(SourceFile, {
|
|
219
|
+
path: "test.cs",
|
|
220
|
+
get children() {
|
|
221
|
+
return _$createComponent(Namespace, {
|
|
222
|
+
name: "Parent",
|
|
223
|
+
get children() {
|
|
224
|
+
return [_$createComponent(Namespace, {
|
|
225
|
+
name: "Models",
|
|
226
|
+
get children() {
|
|
227
|
+
return _$createComponent(ClassDeclaration, {
|
|
228
|
+
name: "User",
|
|
229
|
+
refkey: classRef
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}), _$createIntrinsic("hbr", {}), _$createComponent(Namespace, {
|
|
233
|
+
name: "Services",
|
|
234
|
+
get children() {
|
|
235
|
+
return [classRef, ";"];
|
|
236
|
+
}
|
|
237
|
+
})];
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
expect(tree).toRenderTo(`
|
|
245
|
+
namespace Parent {
|
|
246
|
+
namespace Models {
|
|
247
|
+
class User;
|
|
248
|
+
}
|
|
249
|
+
namespace Services {
|
|
250
|
+
Models.User;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
`);
|
|
254
|
+
});
|
|
214
255
|
//# sourceMappingURL=namespace.ref.test.js.map
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
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":[]}
|