@alloy-js/csharp 0.21.0-dev.14 → 0.21.0-dev.16

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.
@@ -1,6 +1,6 @@
1
1
  import { Children, DeclarationProps, Namekey, Refkey } from "@alloy-js/core";
2
2
  /** Props for {@link VarDeclaration} component */
3
- export interface VarDeclarationProps extends Omit<DeclarationProps, "nameKind"> {
3
+ export interface VarDeclarationProps extends Omit<DeclarationProps, "nameKind">, VarModifiers {
4
4
  /** Variable name */
5
5
  name: string | Namekey;
6
6
  /** Type of the variable declaration. If not specified, defaults to "var" */
@@ -9,8 +9,12 @@ export interface VarDeclarationProps extends Omit<DeclarationProps, "nameKind">
9
9
  refkey?: Refkey;
10
10
  /** Variable value */
11
11
  children?: Children;
12
+ }
13
+ export interface VarModifiers {
12
14
  /** Constant variable. Add the const modifier. */
13
- const?: boolean;
15
+ readonly const?: boolean;
16
+ /** Disposable variable. Add the using modifier. */
17
+ readonly using?: boolean;
14
18
  }
15
19
  /**
16
20
  * Render a variable declaration
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/var/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,gBAAgB,EAEhB,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAGxB,iDAAiD;AACjD,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC1C,oBAAoB;IACpB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,YAmBxD"}
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/var/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,gBAAgB,EAEhB,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAIxB,iDAAiD;AACjD,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACxC,YAAY;IACd,oBAAoB;IACpB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEzB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,YAmBxD"}
@@ -1,9 +1,12 @@
1
1
  import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { createSymbolSlot, Declaration, Name } from "@alloy-js/core";
3
+ import { computeModifiersPrefix, makeModifiers } from "../../modifiers.js";
3
4
  import { createVariableSymbol } from "../../symbols/factories.js";
4
5
 
5
6
  /** Props for {@link VarDeclaration} component */
6
7
 
8
+ const getModifiers = makeModifiers(["const", "using"]);
9
+
7
10
  /**
8
11
  * Render a variable declaration
9
12
  *
@@ -38,7 +41,7 @@ export function VarDeclaration(props) {
38
41
  return _$createComponent(Declaration, {
39
42
  symbol: sym,
40
43
  get children() {
41
- return [_$memo(() => props.const ? "const " : ""), _$createComponent(TypeSlot, {
44
+ return [_$memo(() => computeModifiersPrefix([getModifiers(props)])), _$createComponent(TypeSlot, {
42
45
  get children() {
43
46
  return props.type ?? "var";
44
47
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createSymbolSlot","Declaration","Name","createVariableSymbol","VarDeclaration","props","TypeSlot","ValueSlot","sym","name","refkeys","refkey","type","firstSymbol","const","Error","_$createComponent","symbol","children","_$memo"],"sources":["../../../../src/components/var/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,gBAAgB,EAChBC,WAAW,EAEXC,IAAI,QAGC,gBAAgB;AACvB,SAASC,oBAAoB,QAAQ,4BAA4B;;AAEjE;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,KAA0B,EAAE;EACzD,MAAMC,QAAQ,GAAGN,gBAAgB,CAAC,CAAC;EACnC,MAAMO,SAAS,GAAGP,gBAAgB,CAAC,CAAC;EAEpC,MAAMQ,GAAG,GAAGL,oBAAoB,CAACE,KAAK,CAACI,IAAI,EAAE;IAC3CC,OAAO,EAAEL,KAAK,CAACM,MAAM;IACrBC,IAAI,EAAEP,KAAK,CAACO,IAAI,GAAGN,QAAQ,CAACO,WAAW,GAAGN,SAAS,CAACM;EACtD,CAAC,CAAC;EAEF,IAAIR,KAAK,CAACS,KAAK,IAAI,CAACT,KAAK,CAACO,IAAI,EAAE;IAC9B,MAAM,IAAIG,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,OAAAC,iBAAA,CACGf,WAAW;IAACgB,MAAM,EAAET,GAAG;IAAA,IAAAU,SAAA;MAAA,QAAAC,MAAA,OACrBd,KAAK,CAACS,KAAK,GAAG,QAAQ,GAAG,EAAE,GAAAE,iBAAA,CAC3BV,QAAQ;QAAA,IAAAY,SAAA;UAAA,OAAEb,KAAK,CAACO,IAAI,IAAI,KAAK;QAAA;MAAA,SAAAI,iBAAA,CAAcd,IAAI,aAAM,GAAG,EAAAc,iBAAA,CACxDT,SAAS;QAAA,IAAAW,SAAA;UAAA,OAAEb,KAAK,CAACa,QAAQ;QAAA;MAAA;IAAA;EAAA;AAGhC","ignoreList":[]}
1
+ {"version":3,"names":["createSymbolSlot","Declaration","Name","computeModifiersPrefix","makeModifiers","createVariableSymbol","getModifiers","VarDeclaration","props","TypeSlot","ValueSlot","sym","name","refkeys","refkey","type","firstSymbol","const","Error","_$createComponent","symbol","children","_$memo"],"sources":["../../../../src/components/var/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,gBAAgB,EAChBC,WAAW,EAEXC,IAAI,QAGC,gBAAgB;AACvB,SAASC,sBAAsB,EAAEC,aAAa,QAAQ,oBAAoB;AAC1E,SAASC,oBAAoB,QAAQ,4BAA4B;;AAEjE;;AAsBA,MAAMC,YAAY,GAAGF,aAAa,CAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,cAAcA,CAACC,KAA0B,EAAE;EACzD,MAAMC,QAAQ,GAAGT,gBAAgB,CAAC,CAAC;EACnC,MAAMU,SAAS,GAAGV,gBAAgB,CAAC,CAAC;EAEpC,MAAMW,GAAG,GAAGN,oBAAoB,CAACG,KAAK,CAACI,IAAI,EAAE;IAC3CC,OAAO,EAAEL,KAAK,CAACM,MAAM;IACrBC,IAAI,EAAEP,KAAK,CAACO,IAAI,GAAGN,QAAQ,CAACO,WAAW,GAAGN,SAAS,CAACM;EACtD,CAAC,CAAC;EAEF,IAAIR,KAAK,CAACS,KAAK,IAAI,CAACT,KAAK,CAACO,IAAI,EAAE;IAC9B,MAAM,IAAIG,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,OAAAC,iBAAA,CACGlB,WAAW;IAACmB,MAAM,EAAET,GAAG;IAAA,IAAAU,SAAA;MAAA,QAAAC,MAAA,OACrBnB,sBAAsB,CAAC,CAACG,YAAY,CAACE,KAAK,CAAC,CAAC,CAAC,GAAAW,iBAAA,CAC7CV,QAAQ;QAAA,IAAAY,SAAA;UAAA,OAAEb,KAAK,CAACO,IAAI,IAAI,KAAK;QAAA;MAAA,SAAAI,iBAAA,CAAcjB,IAAI,aAAM,GAAG,EAAAiB,iBAAA,CACxDT,SAAS;QAAA,IAAAW,SAAA;UAAA,OAAEb,KAAK,CAACa,QAAQ;QAAA;MAAA;IAAA;EAAA;AAGhC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
1
+ import { createComponent as _$createComponent, mergeProps as _$mergeProps } from "@alloy-js/core/jsx-runtime";
2
2
  import { List, namekey, refkey } from "@alloy-js/core";
3
- import { expect, it } from "vitest";
3
+ import { describe, expect, it } from "vitest";
4
4
  import { TestNamespace } from "../../../test/utils.js";
5
5
  import { VarDeclaration } from "./declaration.js";
6
6
  it("declares var without type", () => {
@@ -83,4 +83,21 @@ it("links namekey", () => {
83
83
  var testVar2 = testVar;
84
84
  `);
85
85
  });
86
+ describe("modifiers", () => {
87
+ it.each(["const", "using"])("%s", mod => {
88
+ expect(_$createComponent(TestNamespace, {
89
+ get children() {
90
+ return _$createComponent(VarDeclaration, _$mergeProps({
91
+ [mod]: true
92
+ }, {
93
+ name: "test",
94
+ type: "object",
95
+ children: "a"
96
+ }));
97
+ }
98
+ })).toRenderTo(`
99
+ ${mod} object test = a;
100
+ `);
101
+ });
102
+ });
86
103
  //# sourceMappingURL=declaration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["List","namekey","refkey","expect","it","TestNamespace","VarDeclaration","_$createComponent","children","name","toRenderTo","type","key"],"sources":["../../../../src/components/var/declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,IAAI,EAAEC,OAAO,EAAEC,MAAM,QAAQ,gBAAgB;AACtD,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,aAAa;AACtB,SAASC,cAAc;AAEvBF,EAAE,CAAC,2BAA2B,EAAE,MAAM;EACpCD,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXD,cAAc;QAACG,IAAI;QAAAD,QAAA;MAAA;IAAA;EAAA,EAExB,CAAC,CAACE,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,wBAAwB,EAAE,MAAM;EACjCD,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXD,cAAc;QAACG,IAAI;QAAWE,IAAI;QAAAH,QAAA;MAAA;IAAA;EAAA,EAIvC,CAAC,CAACE,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,2BAA2B,EAAE,MAAM;EACpCD,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXD,cAAc;QAACG,IAAI;QAAAD,QAAA;MAAA;IAAA;EAAA,EAExB,CAAC,CAACE,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMQ,GAAG,GAAGV,MAAM,CAAC,CAAC;EACpBC,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXP,IAAI;QAAA,IAAAQ,SAAA;UAAA,QAAAD,iBAAA,CACFD,cAAc;YAACG,IAAI;YAAWP,MAAM,EAAEU,GAAG;YAAAJ,QAAA;UAAA,IAAAD,iBAAA,CAGzCD,cAAc;YAACG,IAAI;YAAAD,QAAA,EAAaI;UAAG;QAAA;MAAA;IAAA;EAAA,EAG1C,CAAC,CAACF,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,eAAe,EAAE,MAAM;EACxB,MAAMQ,GAAG,GAAGX,OAAO,CAAC,UAAU,CAAC;EAC/BE,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXP,IAAI;QAAA,IAAAQ,SAAA;UAAA,QAAAD,iBAAA,CACFD,cAAc;YAACG,IAAI,EAAEG,GAAG;YAAAJ,QAAA;UAAA,IAAAD,iBAAA,CACxBD,cAAc;YAACG,IAAI;YAAAD,QAAA,EAAaI;UAAG;QAAA;MAAA;IAAA;EAAA,EAG1C,CAAC,CAACF,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["List","namekey","refkey","describe","expect","it","TestNamespace","VarDeclaration","_$createComponent","children","name","toRenderTo","type","key","each","mod","_$mergeProps"],"sources":["../../../../src/components/var/declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,IAAI,EAAEC,OAAO,EAAEC,MAAM,QAAQ,gBAAgB;AACtD,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,aAAa;AACtB,SAASC,cAAc;AAEvBF,EAAE,CAAC,2BAA2B,EAAE,MAAM;EACpCD,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXD,cAAc;QAACG,IAAI;QAAAD,QAAA;MAAA;IAAA;EAAA,EAExB,CAAC,CAACE,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,wBAAwB,EAAE,MAAM;EACjCD,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXD,cAAc;QAACG,IAAI;QAAWE,IAAI;QAAAH,QAAA;MAAA;IAAA;EAAA,EAIvC,CAAC,CAACE,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,2BAA2B,EAAE,MAAM;EACpCD,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXD,cAAc;QAACG,IAAI;QAAAD,QAAA;MAAA;IAAA;EAAA,EAExB,CAAC,CAACE,UAAU,CAAC;AACf;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMQ,GAAG,GAAGX,MAAM,CAAC,CAAC;EACpBE,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXR,IAAI;QAAA,IAAAS,SAAA;UAAA,QAAAD,iBAAA,CACFD,cAAc;YAACG,IAAI;YAAWR,MAAM,EAAEW,GAAG;YAAAJ,QAAA;UAAA,IAAAD,iBAAA,CAGzCD,cAAc;YAACG,IAAI;YAAAD,QAAA,EAAaI;UAAG;QAAA;MAAA;IAAA;EAAA,EAG1C,CAAC,CAACF,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFN,EAAE,CAAC,eAAe,EAAE,MAAM;EACxB,MAAMQ,GAAG,GAAGZ,OAAO,CAAC,UAAU,CAAC;EAC/BG,MAAM,CAAAI,iBAAA,CACHF,aAAa;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACXR,IAAI;QAAA,IAAAS,SAAA;UAAA,QAAAD,iBAAA,CACFD,cAAc;YAACG,IAAI,EAAEG,GAAG;YAAAJ,QAAA;UAAA,IAAAD,iBAAA,CACxBD,cAAc;YAACG,IAAI;YAAAD,QAAA,EAAaI;UAAG;QAAA;MAAA;IAAA;EAAA,EAG1C,CAAC,CAACF,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFR,QAAQ,CAAC,WAAW,EAAE,MAAM;EAC1BE,EAAE,CAACS,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAGC,GAAG,IAAK;IACzCX,MAAM,CAAAI,iBAAA,CACHF,aAAa;MAAA,IAAAG,SAAA;QAAA,OAAAD,iBAAA,CACXD,cAAc,EAAAS,YAAA,CAAK;UAAE,CAACD,GAAG,GAAG;QAAK,CAAC;UAAEL,IAAI;UAAQE,IAAI;UAAAH,QAAA;QAAA;MAAA;IAAA,EAIzD,CAAC,CAACE,UAAU,CAAC;AACjB,UAAUI,GAAG;AACb,KAAK,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}