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

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,4 +1,4 @@
1
- import { Children } from "@alloy-js/core";
1
+ import { Children, Refkey } from "@alloy-js/core";
2
2
  export interface AttributeItem {
3
3
  name: string;
4
4
  args?: string[];
@@ -16,7 +16,7 @@ export interface AttributeListProps {
16
16
  export declare function AttributeList(props: AttributeListProps): Children;
17
17
  export interface AttributeProps {
18
18
  /** Attribute name */
19
- name: Children;
19
+ name: string | Refkey;
20
20
  /** Argument */
21
21
  args?: Children[];
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../src/components/attributes/attributes.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKT,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,YAiBtD;AAYD,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,IAAI,EAAE,QAAQ,CAAC;IAEf,eAAe;IACf,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAGD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,gIAqBrB,CAAC"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../src/components/attributes/attributes.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIR,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,YAiBtD;AAYD,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB,eAAe;IACf,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAGD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,gIAqBrB,CAAC"}
@@ -44,7 +44,7 @@ const AttributeTag = Symbol("AttributeTag");
44
44
  export const Attribute = taggedComponent(AttributeTag, props => {
45
45
  return _$createIntrinsic("group", {
46
46
  get children() {
47
- return ["[", _$memo(() => props.name), _$memo(() => _$memo(() => !!(props.args && props.args.length > 0))() && ["(", _$createComponent(Indent, {
47
+ return ["[", _$memo(() => normalizeAttributeName(props.name)), _$memo(() => _$memo(() => !!(props.args && props.args.length > 0))() && ["(", _$createComponent(Indent, {
48
48
  softline: true,
49
49
  get children() {
50
50
  return _$createComponent(For, {
@@ -60,4 +60,11 @@ export const Attribute = taggedComponent(AttributeTag, props => {
60
60
  }
61
61
  });
62
62
  });
63
+ function normalizeAttributeName(name) {
64
+ const nameStr = typeof name === "string" ? name : typeof name === "object" && "name" in name ? name.name : undefined;
65
+ if (nameStr !== undefined && nameStr.endsWith("Attribute")) {
66
+ return nameStr.substring(0, nameStr.length - "Attribute".length);
67
+ }
68
+ return name;
69
+ }
63
70
  //# sourceMappingURL=attributes.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["findKeyedChildren","For","Indent","taggedComponent","AttributeList","props","attributes","children","Attribute","tag","_$createComponent","each","line","arg","renderAttribute","_$memo","endline","length","_$createIntrinsic","attr","name","AttributeTag","Symbol","args","softline","comma"],"sources":["../../../../src/components/attributes/attributes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,iBAAiB,EACjBC,GAAG,EACHC,MAAM,EACNC,eAAe,QACV,gBAAgB;AAgBvB;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,UAAU,GACdD,KAAK,CAACC,UAAU,KACfD,KAAK,CAACE,QAAQ,IAAIP,iBAAiB,CAACK,KAAK,CAACE,QAAQ,EAAEC,SAAS,CAACC,GAAG,CAAC,CAAC;EAEtE,IAAI,CAACH,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,QAAAI,iBAAA,CAEKT,GAAG;IAACU,IAAI,EAAEL,UAAU;IAAEM,IAAI;IAAAL,QAAA,EACvBM,GAAG,IAAKC,eAAe,CAACD,GAAG;EAAC,IAAAE,MAAA,OAE/BA,MAAA,UAAAV,KAAK,CAACW,OAAO,IAAIV,UAAU,CAACW,MAAM,GAAG,CAAC,QAAAC,iBAAA,WAAW;AAGxD;AAEA,SAASJ,eAAeA,CAACK,IAAwC,EAAY;EAC3E,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAAT,iBAAA,CAAQF,SAAS;MAACY,IAAI,EAAED;IAAI;EAC9B,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,IAAI,MAAM,IAAIA,IAAI,EAAE;IAC7D,OAAAT,iBAAA,CAAQF,SAAS,EAAKW,IAAI;EAC5B,CAAC,MAAM;IACL,OAAOA,IAAI;EACb;AACF;AAUA,MAAME,YAAY,GAAGC,MAAM,CAAC,cAAc,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMd,SAAS,GAAGL,eAAe,CACtCkB,YAAY,EACXhB,KAAqB,IAAK;EACzB,OAAAa,iBAAA;IAAA,IAAAX,SAAA;MAAA,aAAAQ,MAAA,OAEMV,KAAK,CAACe,IAAI,GAAAL,MAAA,OACXA,MAAA,UAAAV,KAAK,CAACkB,IAAI,IAAIlB,KAAK,CAACkB,IAAI,CAACN,MAAM,GAAG,CAAC,cAAAP,iBAAA,CAG/BR,MAAM;QAACsB,QAAQ;QAAA,IAAAjB,SAAA;UAAA,OAAAG,iBAAA,CACbT,GAAG;YAAA,IAACU,IAAIA,CAAA;cAAA,OAAEN,KAAK,CAACkB,IAAI,IAAI,EAAE;YAAA;YAAEE,KAAK;YAACb,IAAI;YAAAL,QAAA,EACnCM,GAAG,IAAKA;UAAG;QAAA;MAAA,QAKpB;IAAA;EAAA;AAIP,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["findKeyedChildren","For","Indent","taggedComponent","AttributeList","props","attributes","children","Attribute","tag","_$createComponent","each","line","arg","renderAttribute","_$memo","endline","length","_$createIntrinsic","attr","name","AttributeTag","Symbol","normalizeAttributeName","args","softline","comma","nameStr","undefined","endsWith","substring"],"sources":["../../../../src/components/attributes/attributes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,iBAAiB,EACjBC,GAAG,EACHC,MAAM,EAENC,eAAe,QACV,gBAAgB;AAgBvB;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,UAAU,GACdD,KAAK,CAACC,UAAU,KACfD,KAAK,CAACE,QAAQ,IAAIP,iBAAiB,CAACK,KAAK,CAACE,QAAQ,EAAEC,SAAS,CAACC,GAAG,CAAC,CAAC;EAEtE,IAAI,CAACH,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,QAAAI,iBAAA,CAEKT,GAAG;IAACU,IAAI,EAAEL,UAAU;IAAEM,IAAI;IAAAL,QAAA,EACvBM,GAAG,IAAKC,eAAe,CAACD,GAAG;EAAC,IAAAE,MAAA,OAE/BA,MAAA,UAAAV,KAAK,CAACW,OAAO,IAAIV,UAAU,CAACW,MAAM,GAAG,CAAC,QAAAC,iBAAA,WAAW;AAGxD;AAEA,SAASJ,eAAeA,CAACK,IAAwC,EAAY;EAC3E,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAAT,iBAAA,CAAQF,SAAS;MAACY,IAAI,EAAED;IAAI;EAC9B,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,IAAI,MAAM,IAAIA,IAAI,EAAE;IAC7D,OAAAT,iBAAA,CAAQF,SAAS,EAAKW,IAAI;EAC5B,CAAC,MAAM;IACL,OAAOA,IAAI;EACb;AACF;AAUA,MAAME,YAAY,GAAGC,MAAM,CAAC,cAAc,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMd,SAAS,GAAGL,eAAe,CACtCkB,YAAY,EACXhB,KAAqB,IAAK;EACzB,OAAAa,iBAAA;IAAA,IAAAX,SAAA;MAAA,aAAAQ,MAAA,OAEMQ,sBAAsB,CAAClB,KAAK,CAACe,IAAI,CAAC,GAAAL,MAAA,OACnCA,MAAA,UAAAV,KAAK,CAACmB,IAAI,IAAInB,KAAK,CAACmB,IAAI,CAACP,MAAM,GAAG,CAAC,cAAAP,iBAAA,CAG/BR,MAAM;QAACuB,QAAQ;QAAA,IAAAlB,SAAA;UAAA,OAAAG,iBAAA,CACbT,GAAG;YAAA,IAACU,IAAIA,CAAA;cAAA,OAAEN,KAAK,CAACmB,IAAI,IAAI,EAAE;YAAA;YAAEE,KAAK;YAACd,IAAI;YAAAL,QAAA,EACnCM,GAAG,IAAKA;UAAG;QAAA;MAAA,QAKpB;IAAA;EAAA;AAIP,CACF,CAAC;AAED,SAASU,sBAAsBA,CAACH,IAAqB,EAAE;EACrD,MAAMO,OAAO,GACX,OAAOP,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAC7B,OAAOA,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAIA,IAAI,GAAGA,IAAI,CAACA,IAAI,GACtDQ,SAAS;EAEb,IAAID,OAAO,KAAKC,SAAS,IAAID,OAAO,CAACE,QAAQ,CAAC,WAAW,CAAC,EAAE;IAC1D,OAAOF,OAAO,CAACG,SAAS,CAAC,CAAC,EAAEH,OAAO,CAACV,MAAM,GAAG,WAAW,CAACA,MAAM,CAAC;EAClE;EACA,OAAOG,IAAI;AACb","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { namekey } from "@alloy-js/core";
2
3
  import { expect, it } from "vitest";
3
4
  import { Attribute, AttributeList } from "./attributes.js";
4
5
  it("define attribute", () => {
@@ -8,6 +9,20 @@ it("define attribute", () => {
8
9
  [Test]
9
10
  `);
10
11
  });
12
+ it("define attribute whose name ending with 'Attribute'", () => {
13
+ expect(_$createComponent(Attribute, {
14
+ name: "TestAttribute"
15
+ })).toRenderTo(`
16
+ [Test]
17
+ `);
18
+ expect(_$createComponent(Attribute, {
19
+ get name() {
20
+ return namekey("TestAttribute");
21
+ }
22
+ })).toRenderTo(`
23
+ [Test]
24
+ `);
25
+ });
11
26
  it("define attribute with single arg", () => {
12
27
  expect(_$createComponent(Attribute, {
13
28
  name: "Test",
@@ -1 +1 @@
1
- {"version":3,"names":["expect","it","Attribute","AttributeList","_$createComponent","name","toRenderTo","args","attributes","children"],"sources":["../../../../src/components/attributes/attributes.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,SAAS,EAAEC,aAAa;AAEjCF,EAAE,CAAC,kBAAkB,EAAE,MAAM;EAC3BD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;EAAA,EAAU,CAAC,CAACC,UAAU,CAAC;AAC/C;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,kCAAkC,EAAE,MAAM;EAC3CD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;IAAQE,IAAI,EAAE,CAAC,OAAO;EAAC,EAAI,CAAC,CAACD,UAAU,CAAC;AAChE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,oCAAoC,EAAE,MAAM;EAC7CD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;IAAQE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO;EAAC,EAAI,CAAC,CAACD,UAAU,CAAC;AACzE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,iDAAiD,EAAE,MAAM;EAC1DD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IAAA,IACZK,UAAUA,CAAA;MAAA,OAAE,CAAAJ,iBAAA,CAAEF,SAAS;QAACG,IAAI;MAAA,IAAAD,iBAAA,CAAcF,SAAS;QAACG,IAAI;MAAA,GAAY;IAAA;EAAA,EAExE,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrDD,MAAM,CAAAI,iBAAA,CAAED,aAAa;IAACK,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO;EAAC,EAAI,CAAC,CAACF,UAAU,CAAC;AACvE;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrDD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IACZK,UAAU,EAAE,CAAC;MAAEH,IAAI,EAAE;IAAQ,CAAC,EAAE;MAAEA,IAAI,EAAE,OAAO;MAAEE,IAAI,EAAE,CAAC,QAAQ;IAAE,CAAC;EAAC,EAExE,CAAC,CAACD,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,qCAAqC,EAAE,MAAM;EAC9CD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IAAA,IAAAM,SAAA;MAAA,QAAAL,iBAAA,CACXF,SAAS;QAACG,IAAI;MAAA,IAAAD,iBAAA,CACdF,SAAS;QAACG,IAAI;MAAA;IAAA;EAAA,EAEnB,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["namekey","expect","it","Attribute","AttributeList","_$createComponent","name","toRenderTo","args","attributes","children"],"sources":["../../../../src/components/attributes/attributes.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,OAAO,QAAQ,gBAAgB;AACxC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,SAAS,EAAEC,aAAa;AAEjCF,EAAE,CAAC,kBAAkB,EAAE,MAAM;EAC3BD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;EAAA,EAAU,CAAC,CAACC,UAAU,CAAC;AAC/C;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,qDAAqD,EAAE,MAAM;EAC9DD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;EAAA,EAAmB,CAAC,CAACC,UAAU,CAAC;AACxD;AACA,GAAG,CAAC;EACFN,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAAA,IAACG,IAAIA,CAAA;MAAA,OAAEN,OAAO,CAAC,eAAe,CAAC;IAAA;EAAA,EAAI,CAAC,CAACO,UAAU,CAAC;AACnE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,kCAAkC,EAAE,MAAM;EAC3CD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;IAAQE,IAAI,EAAE,CAAC,OAAO;EAAC,EAAI,CAAC,CAACD,UAAU,CAAC;AAChE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,oCAAoC,EAAE,MAAM;EAC7CD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;IAAQE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO;EAAC,EAAI,CAAC,CAACD,UAAU,CAAC;AACzE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,iDAAiD,EAAE,MAAM;EAC1DD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IAAA,IACZK,UAAUA,CAAA;MAAA,OAAE,CAAAJ,iBAAA,CAAEF,SAAS;QAACG,IAAI;MAAA,IAAAD,iBAAA,CAAcF,SAAS;QAACG,IAAI;MAAA,GAAY;IAAA;EAAA,EAExE,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrDD,MAAM,CAAAI,iBAAA,CAAED,aAAa;IAACK,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO;EAAC,EAAI,CAAC,CAACF,UAAU,CAAC;AACvE;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrDD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IACZK,UAAU,EAAE,CAAC;MAAEH,IAAI,EAAE;IAAQ,CAAC,EAAE;MAAEA,IAAI,EAAE,OAAO;MAAEE,IAAI,EAAE,CAAC,QAAQ;IAAE,CAAC;EAAC,EAExE,CAAC,CAACD,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,qCAAqC,EAAE,MAAM;EAC9CD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IAAA,IAAAM,SAAA;MAAA,QAAAL,iBAAA,CACXF,SAAS;QAACG,IAAI;MAAA,IAAAD,iBAAA,CACdF,SAAS;QAACG,IAAI;MAAA;IAAA;EAAA,EAEnB,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -8,6 +8,26 @@ export interface ParameterProps {
8
8
  /** Default value for the parameter */
9
9
  default?: Children;
10
10
  refkey?: Refkey;
11
+ /**
12
+ * Parameter modifier: The argument must be initialized before calling the method. The method can't assign a new value to the parameter. The compiler might create a temporary variable to hold a copy of the argument to in parameters.
13
+ * @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/method-parameters#in-parameter-modifier
14
+ * */
15
+ in?: boolean;
16
+ /**
17
+ * Parameter modifier: The calling method isn't required to initialize the argument before calling the method. The method must assign a value to the parameter.
18
+ * @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/method-parameters#out-parameter-modifier
19
+ * */
20
+ out?: boolean;
21
+ /**
22
+ * Parameter modifier: The argument must be initialized before calling the method. The method can assign a new value to the parameter, but isn't required to do so.
23
+ * @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/method-parameters#ref-parameter-modifier
24
+ */
25
+ ref?: boolean;
26
+ /**
27
+ * Parameter modifier: The argument must be initialized before calling the method. The method can't assign a new value to the parameter.
28
+ * @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/method-parameters#ref-readonly-modifier
29
+ */
30
+ refReadonly?: boolean;
11
31
  /**
12
32
  * Define attributes to attach
13
33
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../../src/components/parameters/parameters.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG7E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YAiB9C;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAoBhD"}
1
+ {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../../src/components/parameters/parameters.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG7E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;SAGK;IACL,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;;SAGK;IACL,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YAkC9C;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAoBhD"}
@@ -11,6 +11,13 @@ export function Parameter(props) {
11
11
  type: TypeSlot.firstSymbol,
12
12
  isNullable: props.optional
13
13
  });
14
+
15
+ // Only one of in, out, ref, ref readonly can be specified
16
+ const modifiers = ["in", "out", "ref", "refReadonly"].filter(k => props[k]);
17
+ if (modifiers.length > 1) {
18
+ throw new Error(`Only one of 'in', 'out', 'ref', 'ref readonly' can be specified for parameter '${typeof props.name === "string" ? props.name : props.name.name}'`);
19
+ }
20
+ const modifier = modifiers.length === 0 ? "" : modifiers[0] === "refReadonly" ? "ref readonly " : modifiers[0] + " ";
14
21
  return _$createComponent(Declaration, {
15
22
  symbol: memberSymbol,
16
23
  get children() {
@@ -19,7 +26,7 @@ export function Parameter(props) {
19
26
  return props.attributes;
20
27
  },
21
28
  endline: true
22
- }), _$createComponent(TypeSlot, {
29
+ }), [modifier], _$createComponent(TypeSlot, {
23
30
  get children() {
24
31
  return props.type;
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["code","createSymbolSlot","Declaration","For","Indent","createParameterSymbol","AttributeList","Name","Parameter","props","TypeSlot","memberSymbol","name","refkeys","refkey","type","firstSymbol","isNullable","optional","_$createComponent","symbol","children","attributes","endline","_$memo","default","Parameters","_$createIntrinsic","parameters","nobreak","each","joiner","param"],"sources":["../../../../src/components/parameters/parameters.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EACJC,gBAAgB,EAChBC,WAAW,EACXC,GAAG,EACHC,MAAM,QAGD,gBAAgB;AACvB,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,aAAa;AACtB,SAASC,IAAI;AA4Bb;AACA,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,QAAQ,GAAGT,gBAAgB,CAAC,CAAC;EAEnC,MAAMU,YAAY,GAAGN,qBAAqB,CAACI,KAAK,CAACG,IAAI,EAAE;IACrDC,OAAO,EAAEJ,KAAK,CAACK,MAAM;IACrBC,IAAI,EAAEL,QAAQ,CAACM,WAAW;IAC1BC,UAAU,EAAER,KAAK,CAACS;EACpB,CAAC,CAAC;EAEF,OAAAC,iBAAA,CACGjB,WAAW;IAACkB,MAAM,EAAET,YAAY;IAAA,IAAAU,SAAA;MAAA,QAAAF,iBAAA,CAC9Bb,aAAa;QAAA,IAACgB,UAAUA,CAAA;UAAA,OAAEb,KAAK,CAACa,UAAU;QAAA;QAAEC,OAAO;MAAA,IAAAJ,iBAAA,CACnDT,QAAQ;QAAA,IAAAW,SAAA;UAAA,OAAEZ,KAAK,CAACM,IAAI;QAAA;MAAA,IAAAS,MAAA,OACpBf,KAAK,CAACS,QAAQ,GAAG,GAAG,GAAG,EAAE,QAAAC,iBAAA,CAAGZ,IAAI,OAAAiB,MAAA,OAChCf,KAAK,CAACgB,OAAO,GAAGzB,IAAI,MAAMS,KAAK,CAACgB,OAAO,EAAE,GAAG,EAAE;IAAA;EAAA;AAGrD;AAMA;AACA,OAAO,SAASC,UAAUA,CAACjB,KAAsB,EAAE;EACjD,OAAAkB,iBAAA;IAAA,IAAAN,SAAA;MAAA,QAEK,GAAG,EAAAG,MAAA,OACHA,MAAA,SAAAf,KAAK,CAACmB,UAAU,OAAAT,iBAAA,CACdf,MAAM;QAACyB,OAAO;QAAA,IAAAR,SAAA;UAAA,OAAAF,iBAAA,CACZhB,GAAG;YAAA,IAAC2B,IAAIA,CAAA;cAAA,OAAErB,KAAK,CAACmB,UAAU;YAAA;YAAEG,MAAM,EAAE,IAAI;YAAAV,QAAA,EACrCW,KAAK,KAAAL,iBAAA,kBAAAR,iBAAA,CAGFX,SAAS,EAAKwB,KAAK;UAEvB;QAAA;MAAA,EAGN,GAAAL,iBAAA,kBAEA,GAAG;IAAA;EAAA;AAGV","ignoreList":[]}
1
+ {"version":3,"names":["code","createSymbolSlot","Declaration","For","Indent","createParameterSymbol","AttributeList","Name","Parameter","props","TypeSlot","memberSymbol","name","refkeys","refkey","type","firstSymbol","isNullable","optional","modifiers","filter","k","length","Error","modifier","_$createComponent","symbol","children","attributes","endline","_$memo","default","Parameters","_$createIntrinsic","parameters","nobreak","each","joiner","param"],"sources":["../../../../src/components/parameters/parameters.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EACJC,gBAAgB,EAChBC,WAAW,EACXC,GAAG,EACHC,MAAM,QAGD,gBAAgB;AACvB,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,aAAa;AACtB,SAASC,IAAI;AAiDb;AACA,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,QAAQ,GAAGT,gBAAgB,CAAC,CAAC;EAEnC,MAAMU,YAAY,GAAGN,qBAAqB,CAACI,KAAK,CAACG,IAAI,EAAE;IACrDC,OAAO,EAAEJ,KAAK,CAACK,MAAM;IACrBC,IAAI,EAAEL,QAAQ,CAACM,WAAW;IAC1BC,UAAU,EAAER,KAAK,CAACS;EACpB,CAAC,CAAC;;EAEF;EACA,MAAMC,SAAmC,GACvC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CACnCC,MAAM,CAAEC,CAAC,IAAKZ,KAAK,CAACY,CAAC,CAAC,CAAC;EAEzB,IAAIF,SAAS,CAACG,MAAM,GAAG,CAAC,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,kFACE,OAAOd,KAAK,CAACG,IAAI,KAAK,QAAQ,GAAGH,KAAK,CAACG,IAAI,GAAGH,KAAK,CAACG,IAAI,CAACA,IAAI,GAEjE,CAAC;EACH;EACA,MAAMY,QAAQ,GACZL,SAAS,CAACG,MAAM,KAAK,CAAC,GAAG,EAAE,GACzBH,SAAS,CAAC,CAAC,CAAC,KAAK,aAAa,GAAG,eAAe,GAChDA,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG;EACtB,OAAAM,iBAAA,CACGvB,WAAW;IAACwB,MAAM,EAAEf,YAAY;IAAA,IAAAgB,SAAA;MAAA,QAAAF,iBAAA,CAC9BnB,aAAa;QAAA,IAACsB,UAAUA,CAAA;UAAA,OAAEnB,KAAK,CAACmB,UAAU;QAAA;QAAEC,OAAO;MAAA,KACjDL,QAAQ,GAAAC,iBAAA,CACVf,QAAQ;QAAA,IAAAiB,SAAA;UAAA,OAAElB,KAAK,CAACM,IAAI;QAAA;MAAA,IAAAe,MAAA,OACpBrB,KAAK,CAACS,QAAQ,GAAG,GAAG,GAAG,EAAE,QAAAO,iBAAA,CAAGlB,IAAI,OAAAuB,MAAA,OAChCrB,KAAK,CAACsB,OAAO,GAAG/B,IAAI,MAAMS,KAAK,CAACsB,OAAO,EAAE,GAAG,EAAE;IAAA;EAAA;AAGrD;AAMA;AACA,OAAO,SAASC,UAAUA,CAACvB,KAAsB,EAAE;EACjD,OAAAwB,iBAAA;IAAA,IAAAN,SAAA;MAAA,QAEK,GAAG,EAAAG,MAAA,OACHA,MAAA,SAAArB,KAAK,CAACyB,UAAU,OAAAT,iBAAA,CACdrB,MAAM;QAAC+B,OAAO;QAAA,IAAAR,SAAA;UAAA,OAAAF,iBAAA,CACZtB,GAAG;YAAA,IAACiC,IAAIA,CAAA;cAAA,OAAE3B,KAAK,CAACyB,UAAU;YAAA;YAAEG,MAAM,EAAE,IAAI;YAAAV,QAAA,EACrCW,KAAK,KAAAL,iBAAA,kBAAAR,iBAAA,CAGFjB,SAAS,EAAK8B,KAAK;UAEvB;QAAA;MAAA,EAGN,GAAAL,iBAAA,kBAEA,GAAG;IAAA;EAAA;AAGV","ignoreList":[]}
@@ -187,4 +187,35 @@ it("can attach attributes", () => {
187
187
  }
188
188
  `);
189
189
  });
190
+ it("can add modifiers: in | out | ref", () => {
191
+ expect(_$createComponent(Wrapper, {
192
+ get children() {
193
+ return _$createComponent(Method, {
194
+ name: "MethodOne",
195
+ parameters: [{
196
+ name: "param1",
197
+ type: "T1",
198
+ ref: true
199
+ }, {
200
+ name: "param2",
201
+ type: "T2",
202
+ in: true
203
+ }, {
204
+ name: "param3",
205
+ type: "T3",
206
+ out: true
207
+ }, {
208
+ name: "param4",
209
+ type: "T4",
210
+ refReadonly: true
211
+ }]
212
+ });
213
+ }
214
+ })).toRenderTo(`
215
+ public class TestClass
216
+ {
217
+ void MethodOne(ref T1 param1, in T2 param2, out T3 param3, ref readonly T4 param4) {}
218
+ }
219
+ `);
220
+ });
190
221
  //# sourceMappingURL=parameters.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Attribute","ClassDeclaration","Method","Property","List","memberRefkey","namekey","expect","it","TestNamespace","Wrapper","props","_$createComponent","children","name","param1Key","param2Key","parameters","type","toRenderTo","classKey","methodKey","_$memo","propTypeKey","propTypePropKey","propKey","nullable","optional","attributes","args"],"sources":["../../../../src/components/parameters/parameters.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Attribute","ClassDeclaration","Method","Property","List","memberRefkey","namekey","expect","it","TestNamespace","Wrapper","props","_$createComponent","children","name","param1Key","param2Key","parameters","type","toRenderTo","classKey","methodKey","_$memo","propTypeKey","propTypePropKey","propKey","nullable","optional","attributes","args","ref","in","out","refReadonly"],"sources":["../../../../src/components/parameters/parameters.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"create-library.d.ts","sourceRoot":"","sources":["../../src/create-library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-library.d.ts","sourceRoot":"","sources":["../../src/create-library.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAMvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAgB,MAAM,YAAY,CAAC;AAKvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,sBAAsB,GAAG,CAAC,MAAM,sBAAsB,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAChE,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACpE,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACjE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACjE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,CAAC,GAAG,CAAC,GACxB,eAAe,CAAC,GAAG,CAAC,GACpB,mBAAmB,CAAC,GAAG,CAAC,GACxB,cAAc,CAAC,GAAG,CAAC,GACnB,gBAAgB,CAAC,GAAG,CAAC,GACrB,gBAAgB,CAAC,GAAG,CAAC,GACrB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC7B,CAAC,SAAS,mBAAmB,CAAC,MAAM,CAAC,CAAC,GACpC,sBAAsB,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACpE,sBAAsB,CAAC;AAE3B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACxC,GAAG,sBAAsB,CAAC;AAM3B,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAChE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,GACP,WAAW,CAAC,CAAC,CAAC,CAiChB"}
@@ -1,54 +1,45 @@
1
- import { refkey, REFKEYABLE, TO_SYMBOL, useBinder } from "@alloy-js/core";
1
+ import { namekey, refkey, REFKEYABLE, TO_SYMBOL, useBinder } from "@alloy-js/core";
2
2
  import { getGlobalNamespace } from "./contexts/global-namespace.js";
3
3
  import { MethodSymbol } from "./index.js";
4
4
  import { CSharpSymbol } from "./symbols/csharp.js";
5
5
  import { NamedTypeSymbol } from "./symbols/named-type.js";
6
6
  import { NamespaceSymbol } from "./symbols/namespace.js";
7
7
  export function createLibrary(rootNs, props) {
8
- let binder = undefined;
9
- let ownerSymbol = undefined;
8
+ const ownerSymbolPerBinder = new WeakMap();
10
9
  const namespaceNames = rootNs.split(".");
11
10
  return createSymbolEntry(namespaceNames.at(-1), {
12
11
  kind: "namespace",
13
12
  members: props
14
13
  }, {
15
- binder() {
16
- if (!binder) {
17
- binder = useBinder();
18
- }
19
- return binder;
20
- },
21
- ownerSymbol() {
22
- if (ownerSymbol) {
23
- return ownerSymbol;
24
- }
25
- const binder = this.binder();
26
- ownerSymbol = getGlobalNamespace(binder);
27
- for (const name of namespaceNames.slice(0, -1)) {
28
- if (ownerSymbol.members.symbolNames.has(name)) {
29
- ownerSymbol = ownerSymbol.members.symbolNames.get(name);
30
- } else {
31
- ownerSymbol = new NamespaceSymbol(name, ownerSymbol, {
32
- binder,
33
- refkeys: refkey()
34
- });
14
+ ownerSymbol(binder) {
15
+ return mapGet(ownerSymbolPerBinder, binder, () => {
16
+ let ownerSymbol = getGlobalNamespace(binder);
17
+ for (const name of namespaceNames.slice(0, -1)) {
18
+ if (ownerSymbol.members.symbolNames.has(name)) {
19
+ ownerSymbol = ownerSymbol.members.symbolNames.get(name);
20
+ } else {
21
+ ownerSymbol = new NamespaceSymbol(namekey(name), ownerSymbol, {
22
+ binder,
23
+ refkeys: refkey()
24
+ });
25
+ }
35
26
  }
36
- }
37
- return ownerSymbol;
27
+ return ownerSymbol;
28
+ });
38
29
  }
39
30
  });
40
31
  }
41
32
  function createSymbolEntry(name, descriptor, context) {
42
- let symbol = undefined;
43
- function getSymbol() {
44
- if (symbol) return symbol;
45
- symbol = createSymbolFromDescriptor(name, descriptor, context, initializeMembers);
46
- return symbol;
33
+ const symbols = new WeakMap();
34
+ function getSymbol(binder) {
35
+ // We cache symbols per binder to ensure we only create one symbol. We also
36
+ // track an unbound symbol for cases where there is no binder (mostly
37
+ // tests).
38
+ return mapGet(symbols, binder, () => createSymbolFromDescriptor(name, binder, descriptor, context, initializeMembers));
47
39
  }
48
40
  const newContext = {
49
- binder: context.binder,
50
- ownerSymbol() {
51
- return getSymbol();
41
+ ownerSymbol(binder) {
42
+ return getSymbol(binder);
52
43
  }
53
44
  };
54
45
  function initializeMembers() {
@@ -59,10 +50,10 @@ function createSymbolEntry(name, descriptor, context) {
59
50
  }
60
51
  const obj = {
61
52
  [REFKEYABLE]() {
62
- return getSymbol().refkeys[0];
53
+ return getSymbol(useBinder()).refkeys[0];
63
54
  },
64
55
  [TO_SYMBOL]() {
65
- return getSymbol();
56
+ return getSymbol(useBinder());
66
57
  }
67
58
  };
68
59
  switch (descriptor.kind) {
@@ -79,15 +70,14 @@ function createSymbolEntry(name, descriptor, context) {
79
70
  }
80
71
  return obj;
81
72
  }
82
- function createSymbolFromDescriptor(name, descriptor, context, lazyMemberInitializer) {
83
- const ownerSymbol = context.ownerSymbol();
84
- const binder = context.binder();
73
+ function createSymbolFromDescriptor(name, binder, descriptor, context, lazyMemberInitializer) {
74
+ const ownerSymbol = context.ownerSymbol(binder);
85
75
  switch (descriptor.kind) {
86
76
  case "namespace":
87
77
  if (ownerSymbol.members.symbolNames.has(name)) {
88
78
  return ownerSymbol.members.symbolNames.get(name);
89
79
  }
90
- return new NamespaceSymbol(name, ownerSymbol, {
80
+ return new NamespaceSymbol(namekey(name), ownerSymbol, {
91
81
  binder,
92
82
  refkeys: refkey(),
93
83
  lazyMemberInitializer
@@ -97,19 +87,19 @@ function createSymbolFromDescriptor(name, descriptor, context, lazyMemberInitial
97
87
  case "interface":
98
88
  case "struct":
99
89
  case "record":
100
- return new NamedTypeSymbol(name, ownerSymbol.members, descriptor.kind, {
90
+ return new NamedTypeSymbol(namekey(name), ownerSymbol.members, descriptor.kind, {
101
91
  binder,
102
92
  refkeys: refkey(),
103
93
  lazyMemberInitializer
104
94
  });
105
95
  case "method":
106
- return new MethodSymbol(name, ownerSymbol.members, descriptor.methodKind, {
96
+ return new MethodSymbol(namekey(name), ownerSymbol.members, descriptor.methodKind, {
107
97
  binder,
108
98
  refkeys: refkey()
109
99
  });
110
100
  case "field":
111
101
  case "property":
112
- return new CSharpSymbol(name, ownerSymbol.members, {
102
+ return new CSharpSymbol(namekey(name), ownerSymbol.members, {
113
103
  binder,
114
104
  refkeys: refkey(),
115
105
  type: descriptor.type === undefined ? undefined : typeof descriptor.type === "function" ? descriptor.type()[TO_SYMBOL]() : descriptor.type[TO_SYMBOL](),
@@ -117,7 +107,7 @@ function createSymbolFromDescriptor(name, descriptor, context, lazyMemberInitial
117
107
  lazyMemberInitializer
118
108
  });
119
109
  case "generic":
120
- return new CSharpSymbol(name, ownerSymbol.members, {
110
+ return new CSharpSymbol(namekey(name), ownerSymbol.members, {
121
111
  binder,
122
112
  refkeys: refkey()
123
113
  });
@@ -125,4 +115,22 @@ function createSymbolFromDescriptor(name, descriptor, context, lazyMemberInitial
125
115
  throw "Unsupported";
126
116
  }
127
117
  }
118
+ const defaultsPerMap = new WeakMap();
119
+ function mapGet(map, key, init) {
120
+ if (key === undefined) {
121
+ // Use a per-map default store when callers request a value for an undefined key.
122
+ let value = defaultsPerMap.get(map);
123
+ if (value === undefined && init) {
124
+ value = init();
125
+ defaultsPerMap.set(map, value);
126
+ }
127
+ return value;
128
+ }
129
+ let value = map.get(key);
130
+ if (value === undefined && init) {
131
+ value = init();
132
+ map.set(key, value);
133
+ }
134
+ return value;
135
+ }
128
136
  //# sourceMappingURL=create-library.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["refkey","REFKEYABLE","TO_SYMBOL","useBinder","getGlobalNamespace","MethodSymbol","CSharpSymbol","NamedTypeSymbol","NamespaceSymbol","createLibrary","rootNs","props","binder","undefined","ownerSymbol","namespaceNames","split","createSymbolEntry","at","kind","members","name","slice","symbolNames","has","get","refkeys","descriptor","context","symbol","getSymbol","createSymbolFromDescriptor","initializeMembers","newContext","key","Object","keys","obj","memberName","memberDesc","entries","lazyMemberInitializer","methodKind","type","isNullable"],"sources":["../../src/create-library.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["namekey","refkey","REFKEYABLE","TO_SYMBOL","useBinder","getGlobalNamespace","MethodSymbol","CSharpSymbol","NamedTypeSymbol","NamespaceSymbol","createLibrary","rootNs","props","ownerSymbolPerBinder","WeakMap","namespaceNames","split","createSymbolEntry","at","kind","members","ownerSymbol","binder","mapGet","name","slice","symbolNames","has","get","refkeys","descriptor","context","symbols","getSymbol","createSymbolFromDescriptor","initializeMembers","newContext","key","Object","keys","obj","memberName","memberDesc","entries","lazyMemberInitializer","methodKind","type","undefined","isNullable","defaultsPerMap","map","init","value","set"],"sources":["../../src/create-library.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -208,4 +208,30 @@ it("has built-ins available", () => {
208
208
  var directoryName = info.DirectoryName?.Length;
209
209
  `);
210
210
  });
211
+ it("can render multiple times", () => {
212
+ const System = createLibrary("System", {
213
+ String: {
214
+ kind: "class",
215
+ members: {}
216
+ }
217
+ });
218
+ expect(_$createComponent(TestNamespace, {
219
+ get children() {
220
+ return System.String;
221
+ }
222
+ })).toRenderTo(`
223
+ using System;
224
+
225
+ String
226
+ `);
227
+ expect(_$createComponent(TestNamespace, {
228
+ get children() {
229
+ return System.String;
230
+ }
231
+ })).toRenderTo(`
232
+ using System;
233
+
234
+ String
235
+ `);
236
+ });
211
237
  //# sourceMappingURL=create-library.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VarDeclaration","InvocationExpression","TestNamespace","List","memberRefkey","namekey","toRefkey","beforeEach","expect","it","IO","getGlobalNamespace","resetGlobalNamespace","createLibrary","System","String","kind","members","Special","BeSpecial","Substring","Length","Empty","isStatic","globalNamespace","undefined","systemNs","symbolNames","get","toBeUndefined","_","systemNs2","toBeDefined","type","SomeNs","SomeType","someNs","BinaryReader","BinaryWriter","Collections","ArrayList","_refkeys","ioNs","collectionsNs","_$createComponent","children","target","toRenderTo","ioKey","brKey","ReadString","reader","name","_$createIntrinsic","info","template","_$memo","FileInfo"],"sources":["../../src/create-library.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,cAAc,QAAQ,sBAAsB;AACrD,SAASC,oBAAoB;AAC7B,SAASC,aAAa;AACtB,SAASC,IAAI,EAAEC,YAAY,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,gBAAgB;AACtE,SAASC,UAAU,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC/C,SAASC,EAAE,QAAQ,4BAA4B;AAC/C,SACEC,kBAAkB,EAClBC,oBAAoB,QACf,gCAAgC;AACvC,SAASC,aAAa,QAAQ,qBAAqB;AAGnDN,UAAU,CAAC,MAAM;EACfK,oBAAoB,CAAC,CAAC;AACxB,CAAC,CAAC;AAEFH,EAAE,CAAC,2BAA2B,EAAE,MAAM;EACpC,MAAMK,MAAM,GAAGD,aAAa,CAAC,QAAQ,EAAE;IACrCE,MAAM,EAAE;MACNC,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACPC,OAAO,EAAE;UAAEF,IAAI,EAAE,OAAO;UAAEC,OAAO,EAAE;YAAEE,SAAS,EAAE;cAAEH,IAAI,EAAE;YAAQ;UAAE;QAAE,CAAC;QACrEI,SAAS,EAAE;UAAEJ,IAAI,EAAE;QAAS,CAAC;QAC7BK,MAAM,EAAE;UAAEL,IAAI,EAAE;QAAQ,CAAC;QACzBM,KAAK,EAAE;UAAEN,IAAI,EAAE,OAAO;UAAEO,QAAQ,EAAE;QAAK;MACzC;IACF;EACF,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAGb,kBAAkB,CAACc,SAAS,CAAC;EACrD,MAAMC,QAAQ,GAAGF,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,QAAQ,CAAE;EACnEpB,MAAM,CAACkB,QAAQ,CAAC,CAACG,aAAa,CAAC,CAAC;EAChC,MAAMC,CAAC,GAAGxB,QAAQ,CAACQ,MAAM,CAAC;EAC1B,MAAMiB,SAAS,GAAGP,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,QAAQ,CAAE;EACpEpB,MAAM,CAACuB,SAAS,CAAC,CAACC,WAAW,CAAC,CAAC;AACjC,CAAC,CAAC;AAEFvB,EAAE,CAAC,oDAAoD,EAAE,MAAM;EAC7D,MAAMK,MAAM,GAAGD,aAAa,CAAC,QAAQ,EAAE;IACrCE,MAAM,EAAE;MACNC,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACPC,OAAO,EAAE;UAAEF,IAAI,EAAE,UAAU;UAAEiB,IAAI,EAAEA,CAAA,KAAMC,MAAM,CAACC;QAAS;MAC3D;IACF;EACF,CAAC,CAAC;EAEF,MAAMD,MAAM,GAAGrB,aAAa,CAAC,QAAQ,EAAE;IACrCsB,QAAQ,EAAE;MACRnB,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,CAAC;IACZ;EACF,CAAC,CAAC;EAEF,MAAMO,eAAe,GAAGb,kBAAkB,CAACc,SAAS,CAAC;EACrD,MAAMK,CAAC,GAAGxB,QAAQ,CAACQ,MAAM,CAACC,MAAM,CAACG,OAAO,CAAC;EACzC,MAAMa,SAAS,GAAGP,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,QAAQ,CAAE;EACpEpB,MAAM,CAACuB,SAAS,CAAC,CAACC,WAAW,CAAC,CAAC;EAC/B,MAAMI,MAAM,GAAGZ,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,QAAQ,CAAE;EACjEpB,MAAM,CAAC4B,MAAM,CAAC,CAACJ,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEFvB,EAAE,CAAC,8BAA8B,EAAE,MAAM;EACvC,MAAMC,EAAE,GAAGG,aAAa,CAAC,WAAW,EAAE;IACpCwB,YAAY,EAAE;MACZrB,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,CAAC;IACZ;EACF,CAAC,CAAC;EAEF,MAAMO,eAAe,GAAGb,kBAAkB,CAACc,SAAS,CAAC;EACrD,MAAMC,QAAQ,GAAGF,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,QAAQ,CAAE;EACnEpB,MAAM,CAACkB,QAAQ,CAAC,CAACG,aAAa,CAAC,CAAC;EAChC,MAAMC,CAAC,GAAGxB,QAAQ,CAACI,EAAE,CAAC2B,YAAY,CAAC;EACnC,MAAMN,SAAS,GAAGP,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,QAAQ,CAAE;EACpEpB,MAAM,CAACuB,SAAS,CAAC,CAACC,WAAW,CAAC,CAAC;AACjC,CAAC,CAAC;AAEFvB,EAAE,CAAC,qCAAqC,EAAE,MAAM;EAC9C,MAAMC,EAAE,GAAGG,aAAa,CAAC,WAAW,EAAE;IACpCwB,YAAY,EAAE;MAAErB,IAAI,EAAE,OAAO;MAAEC,OAAO,EAAE,CAAC;IAAE,CAAC;IAC5CqB,YAAY,EAAE;MAAEtB,IAAI,EAAE,OAAO;MAAEC,OAAO,EAAE,CAAC;IAAE;EAC7C,CAAC,CAAC;EAEF,MAAMsB,WAAW,GAAG1B,aAAa,CAAC,oBAAoB,EAAE;IACtD2B,SAAS,EAAE;MAAExB,IAAI,EAAE,OAAO;MAAEC,OAAO,EAAE,CAAC;IAAE;EAC1C,CAAC,CAAC;EAEF,MAAMwB,QAAQ,GAAG,CACfnC,QAAQ,CAACI,EAAE,CAAC2B,YAAY,CAAC,EACzB/B,QAAQ,CAACI,EAAE,CAAC4B,YAAY,CAAC,EACzBhC,QAAQ,CAACiC,WAAW,CAACC,SAAS,CAAC,CAChC;EAED,MAAMhB,eAAe,GAAGb,kBAAkB,CAACc,SAAS,CAAC;EACrD,MAAMC,QAAQ,GAAGF,eAAe,CAACP,OAAO,CAACU,WAAW,CAACC,GAAG,CACtD,QACF,CAAqB;EACrBpB,MAAM,CAACkB,QAAQ,CAAC,CAACM,WAAW,CAAC,CAAC;EAC9B,MAAMU,IAAI,GAAGhB,QAAQ,CAACT,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,IAAI,CAAE;EACpDpB,MAAM,CAACkC,IAAI,CAAC,CAACV,WAAW,CAAC,CAAC;EAC1B,MAAMW,aAAa,GAAGjB,QAAQ,CAACT,OAAO,CAACU,WAAW,CAACC,GAAG,CAAC,aAAa,CAAE;EACtEpB,MAAM,CAACmC,aAAa,CAAC,CAACX,WAAW,CAAC,CAAC;AACrC,CAAC,CAAC;AAEFvB,EAAE,CAAC,qBAAqB,EAAE,MAAM;EAC9B,MAAMC,EAAE,GAAGG,aAAa,CAAC,WAAW,EAAE;IACpCwB,YAAY,EAAE;MACZrB,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,CAAC;IACZ;EACF,CAAC,CAAC;EAEFT,MAAM,CAAAoC,iBAAA,CACH1C,aAAa;IAAA,IAAA2C,SAAA;MAAA,gBAAAD,iBAAA,CACP3C,oBAAoB;QAAA,IAAC6C,MAAMA,CAAA;UAAA,OAAEpC,EAAE,CAAC2B,YAAY;QAAA;MAAA;IAAA;EAAA,EAErD,CAAC,CAACU,UAAU,CAAC;AACf;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFtC,EAAE,CAAC,qBAAqB,EAAE,MAAM;EAC9B,MAAMC,EAAE,GAAGG,aAAa,CAAC,WAAW,EAAE;IACpCwB,YAAY,EAAE;MACZrB,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,CAAC;IACZ;EACF,CAAC,CAAC;EAEF,MAAM+B,KAAK,GAAG1C,QAAQ,CAACI,EAAE,CAAC;EAC1BF,MAAM,CAACwC,KAAK,CAAC,CAAChB,WAAW,CAAC,CAAC;EAC3B,MAAMiB,KAAK,GAAG3C,QAAQ,CAACI,EAAE,CAAC2B,YAAY,CAAC;EACvC7B,MAAM,CAACyC,KAAK,CAAC,CAACjB,WAAW,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEFvB,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAMC,EAAE,GAAGG,aAAa,CAAC,WAAW,EAAE;IACpCwB,YAAY,EAAE;MACZrB,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACPiC,UAAU,EAAE;UAAElC,IAAI,EAAE;QAAS;MAC/B;IACF;EACF,CAAC,CAAC;EAEF,MAAMmC,MAAM,GAAG9C,OAAO,CAAC,QAAQ,CAAC;EAEhCG,MAAM,CAAAoC,iBAAA,CACH1C,aAAa;IAAA,IAAA2C,SAAA;MAAA,QAAAD,iBAAA,CACX5C,cAAc;QAACoD,IAAI,EAAED,MAAM;QAAA,IAAElB,IAAIA,CAAA;UAAA,OAAEvB,EAAE,CAAC2B,YAAY;QAAA;QAAA,IAAAQ,SAAA;UAAA,gBAAAD,iBAAA,CAC5C3C,oBAAoB;YAAA,IAAC6C,MAAMA,CAAA;cAAA,OAAEpC,EAAE,CAAC2B,YAAY;YAAA;UAAA;QAAA;MAAA,IAAAgB,iBAAA,aAAAT,iBAAA,CAGlD3C,oBAAoB;QAAA,IACnB6C,MAAMA,CAAA;UAAA,OAAE1C,YAAY,CAAC+C,MAAM,EAAEzC,EAAE,CAAC2B,YAAY,CAACa,UAAU,CAAC;QAAA;MAAA;IAAA;EAAA,EAI9D,CAAC,CAACH,UAAU,CAAC;AACf;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFtC,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAM6C,IAAI,GAAGjD,OAAO,CAAC,MAAM,CAAC;EAE5B,MAAMkD,QAAQ,GAAAX,iBAAA,CACX1C,aAAa;IAAA,IAAA2C,SAAA;MAAA,OAAAD,iBAAA,CACXzC,IAAI;QAAA,IAAA0C,SAAA;UAAA,QAAAD,iBAAA,CACF5C,cAAc;YAACoD,IAAI,EAAEE,IAAI;YAAA,IAAAT,SAAA;cAAA,gBAAAW,MAAA,OACnB9C,EAAE,CAAC+C,QAAQ;YAAA;UAAA,IAAAb,iBAAA,CAEjB5C,cAAc;YAACoD,IAAI;YAAA,IAAAP,SAAA;cAAA,OACjBzC,YAAY,CAACkD,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA,EAIrD;EAED9C,MAAM,CAAC+C,QAAQ,CAAC,CAACR,UAAU,CAAC;AAC9B;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["VarDeclaration","InvocationExpression","TestNamespace","List","memberRefkey","namekey","toRefkey","beforeEach","expect","it","IO","getGlobalNamespace","resetGlobalNamespace","createLibrary","System","String","kind","members","Special","BeSpecial","Substring","Length","Empty","isStatic","globalNamespace","undefined","systemNs","symbolNames","get","toBeUndefined","_","systemNs2","toBeDefined","type","SomeNs","SomeType","someNs","BinaryReader","BinaryWriter","Collections","ArrayList","_refkeys","ioNs","collectionsNs","_$createComponent","children","target","toRenderTo","ioKey","brKey","ReadString","reader","name","_$createIntrinsic","info","template","_$memo","FileInfo"],"sources":["../../src/create-library.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}