@alloy-js/csharp 0.20.0-dev.6 → 0.20.0-dev.9

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 (96) hide show
  1. package/dist/src/components/access-expression/access-expression.d.ts +54 -0
  2. package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
  3. package/dist/src/components/access-expression/access-expression.js +277 -0
  4. package/dist/src/components/access-expression/access-expression.js.map +1 -0
  5. package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
  6. package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
  7. package/dist/src/components/access-expression/access-expression.test.js +336 -0
  8. package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
  9. package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
  10. package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
  11. package/dist/src/components/access-expression/part-descriptors.js +99 -0
  12. package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
  13. package/dist/src/components/class/declaration.test.js +1 -1
  14. package/dist/src/components/enum/declaration.ref.test.js +1 -1
  15. package/dist/src/components/index.d.ts +2 -1
  16. package/dist/src/components/index.d.ts.map +1 -1
  17. package/dist/src/components/index.js +2 -1
  18. package/dist/src/components/index.js.map +1 -1
  19. package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
  20. package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
  21. package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
  22. package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
  23. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
  24. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
  25. package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
  26. package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  27. package/dist/src/components/namespace.ref.test.js +1 -1
  28. package/dist/src/components/namespace.test.js +1 -1
  29. package/dist/src/components/parameters/parameters.d.ts +1 -2
  30. package/dist/src/components/parameters/parameters.d.ts.map +1 -1
  31. package/dist/src/components/parameters/parameters.js +2 -1
  32. package/dist/src/components/parameters/parameters.js.map +1 -1
  33. package/dist/src/components/parameters/parameters.test.js +66 -0
  34. package/dist/src/components/parameters/parameters.test.js.map +1 -1
  35. package/dist/src/components/property/property.d.ts +2 -2
  36. package/dist/src/components/property/property.d.ts.map +1 -1
  37. package/dist/src/components/property/property.js +10 -3
  38. package/dist/src/components/property/property.js.map +1 -1
  39. package/dist/src/components/{SourceFile.d.ts → source-file/source-file.d.ts} +3 -2
  40. package/dist/src/components/source-file/source-file.d.ts.map +1 -0
  41. package/dist/src/components/{SourceFile.js → source-file/source-file.js} +18 -13
  42. package/dist/src/components/source-file/source-file.js.map +1 -0
  43. package/dist/src/components/source-file/source-file.test.d.ts +2 -0
  44. package/dist/src/components/source-file/source-file.test.d.ts.map +1 -0
  45. package/dist/src/components/source-file/source-file.test.js +136 -0
  46. package/dist/src/components/source-file/source-file.test.js.map +1 -0
  47. package/dist/src/contexts/format-options.d.ts +5 -0
  48. package/dist/src/contexts/format-options.d.ts.map +1 -0
  49. package/dist/src/contexts/format-options.js +9 -0
  50. package/dist/src/contexts/format-options.js.map +1 -0
  51. package/dist/src/index.d.ts +1 -0
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +1 -0
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/scopes/csharp.d.ts +2 -0
  56. package/dist/src/scopes/csharp.d.ts.map +1 -1
  57. package/dist/src/scopes/csharp.js +3 -0
  58. package/dist/src/scopes/csharp.js.map +1 -1
  59. package/dist/src/symbols/csharp.d.ts +11 -0
  60. package/dist/src/symbols/csharp.d.ts.map +1 -1
  61. package/dist/src/symbols/csharp.js +23 -0
  62. package/dist/src/symbols/csharp.js.map +1 -1
  63. package/dist/src/symbols/reference.d.ts +2 -2
  64. package/dist/src/symbols/reference.d.ts.map +1 -1
  65. package/dist/src/symbols/reference.js +17 -5
  66. package/dist/src/symbols/reference.js.map +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +2 -2
  69. package/src/components/access-expression/access-expression.test.tsx +284 -0
  70. package/src/components/access-expression/access-expression.tsx +375 -0
  71. package/src/components/access-expression/part-descriptors.ts +175 -0
  72. package/src/components/class/declaration.test.tsx +1 -1
  73. package/src/components/enum/declaration.ref.test.tsx +1 -1
  74. package/src/components/index.ts +2 -1
  75. package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
  76. package/src/components/invocation-expression/invocation-expression.tsx +60 -0
  77. package/src/components/namespace.ref.test.tsx +1 -1
  78. package/src/components/namespace.test.tsx +1 -1
  79. package/src/components/parameters/parameters.test.tsx +46 -0
  80. package/src/components/parameters/parameters.tsx +2 -2
  81. package/src/components/property/property.tsx +8 -2
  82. package/src/components/source-file/source-file.test.tsx +96 -0
  83. package/src/components/{SourceFile.tsx → source-file/source-file.tsx} +20 -10
  84. package/src/contexts/format-options.ts +14 -0
  85. package/src/index.ts +1 -0
  86. package/src/scopes/csharp.ts +5 -0
  87. package/src/symbols/csharp.ts +32 -0
  88. package/src/symbols/{reference.ts → reference.tsx} +11 -9
  89. package/temp/api.json +423 -37
  90. package/dist/src/components/SourceFile.d.ts.map +0 -1
  91. package/dist/src/components/SourceFile.js.map +0 -1
  92. package/dist/test/sourcefile.test.d.ts +0 -2
  93. package/dist/test/sourcefile.test.d.ts.map +0 -1
  94. package/dist/test/sourcefile.test.js +0 -47
  95. package/dist/test/sourcefile.test.js.map +0 -1
  96. package/test/sourcefile.test.tsx +0 -33
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClassDeclaration","Method","TestNamespace","List","namekey","printTree","renderTree","describe","expect","it","CSharpSymbol","AccessExpression","template","_$createComponent","children","Part","id","toRenderTo","index","args","symbol","undefined","tree","toEqual","name","methodKey","refkey","typeArgs","indexerArgs","nullable","conditional","isNullable","typeSymbol","typedSymbol","type","printWidth"],"sources":["../../../../src/components/access-expression/access-expression.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import { Children } from "@alloy-js/core";
2
+ export interface PartDescriptorWithId extends PartDescriptorBase {
3
+ /**
4
+ * The identifier of the access expression part. Will use member access, so must be a valid
5
+ * C# identifier.
6
+ */
7
+ id: Children;
8
+ conditional: boolean;
9
+ typeArgs?: Children[];
10
+ }
11
+ export declare function isIdPart(part: PartDescriptor): part is PartDescriptorWithId;
12
+ export interface PartDescriptorWithIndex extends PartDescriptorBase {
13
+ /**
14
+ * The index of the access expression part. Will use element access.
15
+ */
16
+ indexerArgs: Children[];
17
+ conditional: boolean;
18
+ }
19
+ export declare function isIndexPart(part: PartDescriptor): part is PartDescriptorWithIndex;
20
+ export interface PartDescriptorWithArgs extends PartDescriptorBase {
21
+ args: Children[];
22
+ }
23
+ export declare function isArgsPart(part: PartDescriptor): part is PartDescriptorWithArgs;
24
+ export interface PartDescriptorBase {
25
+ nullable: boolean;
26
+ }
27
+ export type PartDescriptor = PartDescriptorWithId | PartDescriptorWithIndex | PartDescriptorWithArgs;
28
+ /**
29
+ * Build part descriptors from the children of a MemberExpression.
30
+ */
31
+ export declare function childrenToPartDescriptors(children: Children[]): PartDescriptor[];
32
+ //# sourceMappingURL=part-descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"part-descriptors.d.ts","sourceRoot":"","sources":["../../../../src/components/access-expression/part-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAOT,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D;;;OAGG;IACH,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,IAAI,oBAAoB,CAE3E;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE;;OAEG;IACH,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,cAAc,GACnB,IAAI,IAAI,uBAAuB,CAEjC;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,cAAc,GACnB,IAAI,IAAI,sBAAsB,CAEhC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GACtB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAAE,GACnB,cAAc,EAAE,CAclB"}
@@ -0,0 +1,99 @@
1
+ import { computed, isComponentCreator, reactive, ref, symbolForRefkey } from "@alloy-js/core";
2
+ import { AccessExpression } from "./access-expression.js";
3
+ export function isIdPart(part) {
4
+ return "id" in part && part.id !== undefined;
5
+ }
6
+ export function isIndexPart(part) {
7
+ return "indexerArgs" in part && part.indexerArgs !== undefined;
8
+ }
9
+ export function isArgsPart(part) {
10
+ return "args" in part && part.args !== undefined;
11
+ }
12
+ /**
13
+ * Build part descriptors from the children of a MemberExpression.
14
+ */
15
+ export function childrenToPartDescriptors(children) {
16
+ const parts = [];
17
+ for (const child of children) {
18
+ if (!isComponentCreator(child, AccessExpression.Part)) {
19
+ // we ignore non-parts
20
+ continue;
21
+ }
22
+ parts.push(createPartDescriptorFromProps(child.props, child === children[0]));
23
+ }
24
+ return parts;
25
+ }
26
+ const exclusiveParts = ["children", "args", "refkey", "symbol", "id"];
27
+ /**
28
+ * Creates a reactive part descriptor from the given part props.
29
+ *
30
+ * @param partProps The props for the part.
31
+ * @param first Whether this is the first part in the expression. Refkeys are
32
+ * handled specially for the first part.
33
+ */
34
+ function createPartDescriptorFromProps(partProps, first) {
35
+ const foundProps = exclusiveParts.filter(key => {
36
+ return key in partProps;
37
+ });
38
+ if (foundProps.length > 1) {
39
+ throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
40
+ }
41
+ const symbolSource = computed(() => {
42
+ if (partProps.refkey) {
43
+ return symbolForRefkey(partProps.refkey).value;
44
+ } else if (partProps.symbol) {
45
+ return partProps.symbol;
46
+ } else {
47
+ return undefined;
48
+ }
49
+ });
50
+ const part = {
51
+ id: computed(() => {
52
+ if (partProps.args || partProps.index || partProps.indexerArgs) {
53
+ return undefined;
54
+ } else if (partProps.children !== undefined) {
55
+ return partProps.children;
56
+ } else if (first && partProps.refkey) {
57
+ return partProps.refkey;
58
+ } else if (partProps.id !== undefined) {
59
+ return partProps.id;
60
+ } else if (symbolSource.value) {
61
+ return escapeId(symbolSource.value.name);
62
+ } else {
63
+ return "<unresolved symbol>";
64
+ }
65
+ }),
66
+ indexerArgs: computed(() => {
67
+ if (partProps.indexerArgs) {
68
+ return partProps.indexerArgs;
69
+ }
70
+ if (partProps.index !== undefined) {
71
+ return [partProps.index];
72
+ }
73
+ return [];
74
+ }),
75
+ conditional: computed(() => {
76
+ return !!partProps.conditional;
77
+ }),
78
+ nullable: computed(() => {
79
+ if (partProps.nullable) {
80
+ return true;
81
+ }
82
+ if (symbolSource.value) {
83
+ return symbolSource.value.isNullable;
84
+ }
85
+ return false;
86
+ }),
87
+ args: ref(partProps.args === true ? [] : partProps.args),
88
+ typeArgs: ref(partProps.typeArgs)
89
+ };
90
+ return reactive(part);
91
+ }
92
+
93
+ /**
94
+ * replaces quotes with escaped quotes
95
+ */
96
+ function escapeId(id) {
97
+ return id.replace(/"/g, '\\"');
98
+ }
99
+ //# sourceMappingURL=part-descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["computed","isComponentCreator","reactive","ref","symbolForRefkey","AccessExpression","isIdPart","part","id","undefined","isIndexPart","indexerArgs","isArgsPart","args","childrenToPartDescriptors","children","parts","child","Part","push","createPartDescriptorFromProps","props","exclusiveParts","partProps","first","foundProps","filter","key","length","Error","join","symbolSource","refkey","value","symbol","index","escapeId","name","conditional","nullable","isNullable","typeArgs","replace"],"sources":["../../../../src/components/access-expression/part-descriptors.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ import { Attribute } from "../attributes/attributes.js";
11
11
  import { Field } from "../field/field.js";
12
12
  import { Method } from "../method/method.js";
13
13
  import { Property } from "../property/property.js";
14
- import { SourceFile } from "../SourceFile.js";
14
+ import { SourceFile } from "../source-file/source-file.js";
15
15
  import { ClassDeclaration } from "./declaration.js";
16
16
  function Wrapper({
17
17
  children
@@ -1,6 +1,6 @@
1
1
  import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
2
  import { Namespace } from "#components/namespace.js";
3
- import { SourceFile } from "#components/SourceFile.js";
3
+ import { SourceFile } from "#components/source-file/source-file.js";
4
4
  import { Output, refkey } from "@alloy-js/core";
5
5
  import { d } from "@alloy-js/core/testing";
6
6
  import { expect, it } from "vitest";
@@ -10,6 +10,7 @@ export * from "./field/field.jsx";
10
10
  export * from "./interface/declaration.js";
11
11
  export * from "./interface/method.js";
12
12
  export * from "./interface/property.js";
13
+ export * from "./invocation-expression/invocation-expression.jsx";
13
14
  export * from "./lexical-scope.jsx";
14
15
  export * from "./method-scope.jsx";
15
16
  export * from "./method/method.jsx";
@@ -20,7 +21,7 @@ export * from "./ProjectDirectory.js";
20
21
  export * from "./property/property.jsx";
21
22
  export * from "./record/declaration.js";
22
23
  export * from "./Reference.js";
23
- export * from "./SourceFile.js";
24
+ export * from "./source-file/source-file.jsx";
24
25
  export * from "./struct/declaration.jsx";
25
26
  export type { TypeParameterProps } from "./type-parameters/type-parameter.jsx";
26
27
  export * from "./UsingDirective.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mDAAmD,CAAC;AAClE,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -10,6 +10,7 @@ export * from "./field/field.js";
10
10
  export * from "./interface/declaration.js";
11
11
  export * from "./interface/method.js";
12
12
  export * from "./interface/property.js";
13
+ export * from "./invocation-expression/invocation-expression.js";
13
14
  export * from "./lexical-scope.js";
14
15
  export * from "./method-scope.js";
15
16
  export * from "./method/method.js";
@@ -20,7 +21,7 @@ export * from "./ProjectDirectory.js";
20
21
  export * from "./property/property.js";
21
22
  export * from "./record/declaration.js";
22
23
  export * from "./Reference.js";
23
- export * from "./SourceFile.js";
24
+ export * from "./source-file/source-file.js";
24
25
  export * from "./struct/declaration.js";
25
26
  export * from "./UsingDirective.js";
26
27
  export * from "./var/declaration.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C,cAAc,uBAAuB;AACrC,cAAc,yBAAyB;AACvC;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,gBAAgB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA,cAAc,yBAAyB;AACvC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B;AAEA,cAAc,qBAAqB;AACnC;AAAsC","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C,cAAc,uBAAuB;AACrC,cAAc,yBAAyB;AACvC;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,gBAAgB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA,cAAc,yBAAyB;AACvC,cAAc,gBAAgB;AAC9B;AACA;AAEA,cAAc,qBAAqB;AACnC;AAAsC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import { Children } from "@alloy-js/core";
2
+ export interface InvocationExpressionProps {
3
+ target: Children;
4
+ /**
5
+ * Arguments to pass to the invocation.
6
+ */
7
+ args?: Children[];
8
+ /**
9
+ * Generic type arguments for the invocation.
10
+ */
11
+ typeArgs?: Children[];
12
+ }
13
+ /**
14
+ * A call to a function or method.
15
+ *
16
+ * @example
17
+ *
18
+ * ```jsx
19
+ * <InvocationExpression target="Foo" typeArgs={["T"]} args={["x"]} />
20
+ * ```
21
+ *
22
+ * Renders to:
23
+ *
24
+ * ```csharp
25
+ * Foo<T>("x");
26
+ * ```
27
+ */
28
+ export declare function InvocationExpression(props: InvocationExpressionProps): Children;
29
+ //# sourceMappingURL=invocation-expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-expression.d.ts","sourceRoot":"","sources":["../../../../src/components/invocation-expression/invocation-expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2B,MAAM,gBAAgB,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,YA8BpE"}
@@ -0,0 +1,70 @@
1
+ import { memo as _$memo, createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { For, Indent, Show, Wrap } from "@alloy-js/core";
3
+ /**
4
+ * A call to a function or method.
5
+ *
6
+ * @example
7
+ *
8
+ * ```jsx
9
+ * <InvocationExpression target="Foo" typeArgs={["T"]} args={["x"]} />
10
+ * ```
11
+ *
12
+ * Renders to:
13
+ *
14
+ * ```csharp
15
+ * Foo<T>("x");
16
+ * ```
17
+ */
18
+ export function InvocationExpression(props) {
19
+ return _$createIntrinsic("group", {
20
+ get children() {
21
+ return [_$memo(() => props.target), _$createComponent(Show, {
22
+ get when() {
23
+ return !!props.typeArgs && props.typeArgs.length > 0;
24
+ },
25
+ get children() {
26
+ return ["<", _$createComponent(Wrap, {
27
+ get when() {
28
+ return props.typeArgs.length > 1;
29
+ },
30
+ "with": Indent,
31
+ props: {
32
+ softline: true,
33
+ trailingBreak: true
34
+ },
35
+ get children() {
36
+ return _$createComponent(For, {
37
+ get each() {
38
+ return props.typeArgs ?? [];
39
+ },
40
+ comma: true,
41
+ line: true,
42
+ children: typeArg => typeArg
43
+ });
44
+ }
45
+ }), ">"];
46
+ }
47
+ }), "(", _$createComponent(Wrap, {
48
+ get when() {
49
+ return !!props.args && props.args.length > 1;
50
+ },
51
+ "with": Indent,
52
+ props: {
53
+ softline: true,
54
+ trailingBreak: true
55
+ },
56
+ get children() {
57
+ return _$createComponent(For, {
58
+ get each() {
59
+ return props.args ?? [];
60
+ },
61
+ comma: true,
62
+ line: true,
63
+ children: arg => arg
64
+ });
65
+ }
66
+ }), ")"];
67
+ }
68
+ });
69
+ }
70
+ //# sourceMappingURL=invocation-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["For","Indent","Show","Wrap","InvocationExpression","props","_$createIntrinsic","children","_$memo","target","_$createComponent","when","typeArgs","length","softline","trailingBreak","each","comma","line","typeArg","args","arg"],"sources":["../../../../src/components/invocation-expression/invocation-expression.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAAmBA,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAEC,IAAI,QAAQ,gBAAgB;AAclE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,KAAgC,EAAE;EACrE,OAAAC,iBAAA;IAAA,IAAAC,SAAA;MAAA,QAAAC,MAAA,OAEKH,KAAK,CAACI,MAAM,GAAAC,iBAAA,CACZR,IAAI;QAAA,IAACS,IAAIA,CAAA;UAAA,OAAE,CAAC,CAACN,KAAK,CAACO,QAAQ,IAAIP,KAAK,CAACO,QAAQ,CAACC,MAAM,GAAG,CAAC;QAAA;QAAA,IAAAN,SAAA;UAAA,QACtD,GAAG,EAAAG,iBAAA,CACHP,IAAI;YAAA,IACHQ,IAAIA,CAAA;cAAA,OAAEN,KAAK,CAACO,QAAQ,CAAEC,MAAM,GAAG,CAAC;YAAA;YAAA,QAC1BZ,MAAM;YACZI,KAAK,EAAE;cAAES,QAAQ,EAAE,IAAI;cAAEC,aAAa,EAAE;YAAK,CAAC;YAAA,IAAAR,SAAA;cAAA,OAAAG,iBAAA,CAE7CV,GAAG;gBAAA,IAACgB,IAAIA,CAAA;kBAAA,OAAEX,KAAK,CAACO,QAAQ,IAAI,EAAE;gBAAA;gBAAEK,KAAK;gBAACC,IAAI;gBAAAX,QAAA,EACvCY,OAAO,IAAKA;cAAO;YAAA;UAAA,IAGxB,GAAG;QAAA;MAAA,SAAAT,iBAAA,CAGLP,IAAI;QAAA,IACHQ,IAAIA,CAAA;UAAA,OAAE,CAAC,CAACN,KAAK,CAACe,IAAI,IAAIf,KAAK,CAACe,IAAI,CAACP,MAAM,GAAG,CAAC;QAAA;QAAA,QACrCZ,MAAM;QACZI,KAAK,EAAE;UAAES,QAAQ,EAAE,IAAI;UAAEC,aAAa,EAAE;QAAK,CAAC;QAAA,IAAAR,SAAA;UAAA,OAAAG,iBAAA,CAE7CV,GAAG;YAAA,IAACgB,IAAIA,CAAA;cAAA,OAAEX,KAAK,CAACe,IAAI,IAAI,EAAE;YAAA;YAAEH,KAAK;YAACC,IAAI;YAAAX,QAAA,EACnCc,GAAG,IAAKA;UAAG;QAAA;MAAA;IAAA;EAAA;AAMvB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=invocation-expression.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-expression.test.d.ts","sourceRoot":"","sources":["../../../../src/components/invocation-expression/invocation-expression.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { ClassDeclaration } from "#components/class/declaration.js";
3
+ import { Method } from "#components/method/method.js";
4
+ import { TestNamespace } from "#test/utils.js";
5
+ import { namekey } from "@alloy-js/core";
6
+ import { describe, expect, it } from "vitest";
7
+ import { InvocationExpression } from "./invocation-expression.js";
8
+ it("makes a call with no arguments", () => {
9
+ const template = _$createComponent(InvocationExpression, {
10
+ target: "Foo"
11
+ });
12
+ expect(template).toRenderTo(`Foo()`);
13
+ });
14
+ it("makes a call with arguments", () => {
15
+ const template = _$createComponent(InvocationExpression, {
16
+ target: "Foo",
17
+ args: ["42", `"string"`]
18
+ });
19
+ expect(template).toRenderTo(`Foo(42, "string")`);
20
+ });
21
+ it("makes a call with type parameters", () => {
22
+ const template = _$createComponent(InvocationExpression, {
23
+ target: "Foo",
24
+ typeArgs: ["Bar", "Baz"]
25
+ });
26
+ expect(template).toRenderTo(`Foo<Bar, Baz>()`);
27
+ });
28
+ it("makes a call to a method", () => {
29
+ const cls = namekey("TestClass");
30
+ const method = namekey("Method");
31
+ const template = _$createComponent(TestNamespace, {
32
+ get children() {
33
+ return [_$createComponent(ClassDeclaration, {
34
+ name: cls,
35
+ get children() {
36
+ return _$createComponent(Method, {
37
+ name: method,
38
+ children: "return 1;"
39
+ });
40
+ }
41
+ }), _$createIntrinsic("hbr", {}), _$createComponent(InvocationExpression, {
42
+ target: method
43
+ }), ";"];
44
+ }
45
+ });
46
+ expect(template).toRenderTo(`
47
+ class TestClass
48
+ {
49
+ void Method()
50
+ {
51
+ return 1;
52
+ }
53
+ }
54
+ TestClass.Method();
55
+ `);
56
+ });
57
+ describe("formatting", () => {
58
+ it("doesn't break one long argument", () => {
59
+ const template = _$createComponent(InvocationExpression, {
60
+ target: "Foo",
61
+ args: ["oneLongArgument"]
62
+ });
63
+ expect(template).toRenderTo(`Foo(oneLongArgument)`, {
64
+ printWidth: 10
65
+ });
66
+ });
67
+ it("breaks multiple arguments", () => {
68
+ const template = _$createComponent(InvocationExpression, {
69
+ target: "Foo",
70
+ args: ["oneLongArgument", "anotherLongArgument"]
71
+ });
72
+ expect(template).toRenderTo(`
73
+ Foo(
74
+ oneLongArgument,
75
+ anotherLongArgument
76
+ )
77
+ `, {
78
+ printWidth: 10
79
+ });
80
+ });
81
+ it("doesn't break one long type argument", () => {
82
+ const template = _$createComponent(InvocationExpression, {
83
+ target: "Foo",
84
+ typeArgs: ["oneLongArgument"]
85
+ });
86
+ expect(template).toRenderTo(`Foo<oneLongArgument>()`, {
87
+ printWidth: 10
88
+ });
89
+ });
90
+ it("breaks multiple type arguments", () => {
91
+ const template = _$createComponent(InvocationExpression, {
92
+ target: "Foo",
93
+ typeArgs: ["oneLongArgument", "anotherLongArgument"]
94
+ });
95
+ expect(template).toRenderTo(`
96
+ Foo<
97
+ oneLongArgument,
98
+ anotherLongArgument
99
+ >()
100
+ `, {
101
+ printWidth: 10
102
+ });
103
+ });
104
+ });
105
+ //# sourceMappingURL=invocation-expression.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClassDeclaration","Method","TestNamespace","namekey","describe","expect","it","InvocationExpression","template","_$createComponent","target","toRenderTo","args","typeArgs","cls","method","children","name","_$createIntrinsic","printWidth"],"sources":["../../../../src/components/invocation-expression/invocation-expression.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { d } from "@alloy-js/core/testing";
4
4
  import { expect, it } from "vitest";
5
5
  import { ClassDeclaration } from "./class/declaration.js";
6
6
  import { Namespace } from "./namespace.js";
7
- import { SourceFile } from "./SourceFile.js";
7
+ import { SourceFile } from "./source-file/source-file.js";
8
8
  it("references types in the same namespace", () => {
9
9
  const classRef = refkey();
10
10
  const tree = _$createComponent(Output, {
@@ -4,7 +4,7 @@ import { d } from "@alloy-js/core/testing";
4
4
  import { expect, it } from "vitest";
5
5
  import { ClassDeclaration } from "./class/declaration.js";
6
6
  import { Namespace } from "./namespace.js";
7
- import { SourceFile } from "./SourceFile.js";
7
+ import { SourceFile } from "./source-file/source-file.js";
8
8
  it("defines multiple namespaces and source files with unique content", () => {
9
9
  const tree = _$createComponent(Output, {
10
10
  get children() {
@@ -1,4 +1,4 @@
1
- import { Children, Namekey, OutputSymbol, Refkey } from "@alloy-js/core";
1
+ import { Children, Namekey, Refkey } from "@alloy-js/core";
2
2
  export interface ParameterProps {
3
3
  name: string | Namekey;
4
4
  type: Children;
@@ -7,7 +7,6 @@ export interface ParameterProps {
7
7
  /** Default value for the parameter */
8
8
  default?: Children;
9
9
  refkey?: Refkey;
10
- symbol?: OutputSymbol;
11
10
  }
12
11
  /** Define a parameter to be used in class or interface method. */
13
12
  export declare function Parameter(props: ParameterProps): Children;
@@ -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,YAAY,EACZ,MAAM,EACP,MAAM,gBAAgB,CAAC;AAIxB,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;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YAe9C;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAehD"}
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;AAIxB,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;CACjB;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YAgB9C;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAehD"}
@@ -7,7 +7,8 @@ export function Parameter(props) {
7
7
  const TypeSlot = createSymbolSlot();
8
8
  const memberSymbol = createParameterSymbol(props.name, {
9
9
  refkeys: props.refkey,
10
- type: TypeSlot.firstSymbol
10
+ type: TypeSlot.firstSymbol,
11
+ isNullable: props.optional
11
12
  });
12
13
  return _$createComponent(Declaration, {
13
14
  symbol: memberSymbol,
@@ -1 +1 @@
1
- {"version":3,"names":["code","createSymbolSlot","Declaration","For","Indent","createParameterSymbol","Name","Parameter","props","TypeSlot","memberSymbol","name","refkeys","refkey","type","firstSymbol","_$createComponent","symbol","children","_$memo","optional","default","Parameters","_$createIntrinsic","parameters","softline","each","joiner","param"],"sources":["../../../../src/components/parameters/parameters.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EACJC,gBAAgB,EAChBC,WAAW,EACXC,GAAG,EACHC,MAAM,QAID,gBAAgB;AACvB,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,IAAI;AAab;AACA,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,QAAQ,GAAGR,gBAAgB,CAAC,CAAC;EAEnC,MAAMS,YAAY,GAAGL,qBAAqB,CAACG,KAAK,CAACG,IAAI,EAAE;IACrDC,OAAO,EAAEJ,KAAK,CAACK,MAAM;IACrBC,IAAI,EAAEL,QAAQ,CAACM;EACjB,CAAC,CAAC;EAEF,OAAAC,iBAAA,CACGd,WAAW;IAACe,MAAM,EAAEP,YAAY;IAAA,IAAAQ,SAAA;MAAA,QAAAF,iBAAA,CAC9BP,QAAQ;QAAA,IAAAS,SAAA;UAAA,OAAEV,KAAK,CAACM,IAAI;QAAA;MAAA,IAAAK,MAAA,OACpBX,KAAK,CAACY,QAAQ,GAAG,GAAG,GAAG,EAAE,QAAAJ,iBAAA,CAAGV,IAAI,OAAAa,MAAA,OAChCX,KAAK,CAACa,OAAO,GAAGrB,IAAI,MAAMQ,KAAK,CAACa,OAAO,EAAE,GAAG,EAAE;IAAA;EAAA;AAGrD;AAMA;AACA,OAAO,SAASC,UAAUA,CAACd,KAAsB,EAAE;EACjD,OAAAe,iBAAA;IAAA,IAAAL,SAAA;MAAA,QAEK,GAAG,EAAAC,MAAA,OACHA,MAAA,SAAAX,KAAK,CAACgB,UAAU,OAAAR,iBAAA,CACdZ,MAAM;QAACqB,QAAQ;QAAA,IAAAP,SAAA;UAAA,OAAAF,iBAAA,CACbb,GAAG;YAAA,IAACuB,IAAIA,CAAA;cAAA,OAAElB,KAAK,CAACgB,UAAU;YAAA;YAAEG,MAAM,EAAE,IAAI;YAAAT,QAAA,EACrCU,KAAK,IAAAZ,iBAAA,CAAMT,SAAS,EAAKqB,KAAK;UAAI;QAAA;MAAA,EAGzC,GAAAL,iBAAA,kBAEA,GAAG;IAAA;EAAA;AAGV","ignoreList":[]}
1
+ {"version":3,"names":["code","createSymbolSlot","Declaration","For","Indent","createParameterSymbol","Name","Parameter","props","TypeSlot","memberSymbol","name","refkeys","refkey","type","firstSymbol","isNullable","optional","_$createComponent","symbol","children","_$memo","default","Parameters","_$createIntrinsic","parameters","softline","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,IAAI;AAab;AACA,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,QAAQ,GAAGR,gBAAgB,CAAC,CAAC;EAEnC,MAAMS,YAAY,GAAGL,qBAAqB,CAACG,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,CACGhB,WAAW;IAACiB,MAAM,EAAET,YAAY;IAAA,IAAAU,SAAA;MAAA,QAAAF,iBAAA,CAC9BT,QAAQ;QAAA,IAAAW,SAAA;UAAA,OAAEZ,KAAK,CAACM,IAAI;QAAA;MAAA,IAAAO,MAAA,OACpBb,KAAK,CAACS,QAAQ,GAAG,GAAG,GAAG,EAAE,QAAAC,iBAAA,CAAGZ,IAAI,OAAAe,MAAA,OAChCb,KAAK,CAACc,OAAO,GAAGtB,IAAI,MAAMQ,KAAK,CAACc,OAAO,EAAE,GAAG,EAAE;IAAA;EAAA;AAGrD;AAMA;AACA,OAAO,SAASC,UAAUA,CAACf,KAAsB,EAAE;EACjD,OAAAgB,iBAAA;IAAA,IAAAJ,SAAA;MAAA,QAEK,GAAG,EAAAC,MAAA,OACHA,MAAA,SAAAb,KAAK,CAACiB,UAAU,OAAAP,iBAAA,CACdd,MAAM;QAACsB,QAAQ;QAAA,IAAAN,SAAA;UAAA,OAAAF,iBAAA,CACbf,GAAG;YAAA,IAACwB,IAAIA,CAAA;cAAA,OAAEnB,KAAK,CAACiB,UAAU;YAAA;YAAEG,MAAM,EAAE,IAAI;YAAAR,QAAA,EACrCS,KAAK,IAAAX,iBAAA,CAAMX,SAAS,EAAKsB,KAAK;UAAI;QAAA;MAAA,EAGzC,GAAAL,iBAAA,kBAEA,GAAG;IAAA;EAAA;AAGV","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { ClassDeclaration } from "#components/class/declaration.js";
3
3
  import { Method } from "#components/method/method.js";
4
+ import { Property } from "#components/property/property.js";
4
5
  import { List, memberRefkey, namekey } from "@alloy-js/core";
5
6
  import { expect, it } from "vitest";
6
7
  import { TestNamespace } from "../../../test/utils.js";
@@ -85,4 +86,69 @@ it("members can be referenced", () => {
85
86
  }
86
87
  `);
87
88
  });
89
+ it("members can be referenced when the parameter is nullable", () => {
90
+ const propTypeKey = namekey("PropType");
91
+ const propTypePropKey = namekey("Field");
92
+ const classKey = namekey("TestType");
93
+ const propKey = namekey("TestProp");
94
+ const param1Key = namekey("param1");
95
+ expect(_$createComponent(TestNamespace, {
96
+ get children() {
97
+ return _$createComponent(List, {
98
+ get children() {
99
+ return [_$createComponent(ClassDeclaration, {
100
+ name: propTypeKey,
101
+ get children() {
102
+ return _$createComponent(Property, {
103
+ name: propTypePropKey,
104
+ type: "string",
105
+ nullable: true
106
+ });
107
+ }
108
+ }), _$createComponent(ClassDeclaration, {
109
+ name: classKey,
110
+ get children() {
111
+ return _$createComponent(Property, {
112
+ name: propKey,
113
+ type: propTypeKey,
114
+ nullable: true
115
+ });
116
+ }
117
+ }), _$createComponent(ClassDeclaration, {
118
+ name: "Test",
119
+ get children() {
120
+ return _$createComponent(Method, {
121
+ name: "Test",
122
+ parameters: [{
123
+ name: param1Key,
124
+ type: classKey,
125
+ optional: true
126
+ }],
127
+ get children() {
128
+ return ["return ", _$memo(() => memberRefkey(param1Key, propKey, propTypePropKey)), ";"];
129
+ }
130
+ });
131
+ }
132
+ })];
133
+ }
134
+ });
135
+ }
136
+ })).toRenderTo(`
137
+ class PropType
138
+ {
139
+ string? Field { }
140
+ }
141
+ class TestType
142
+ {
143
+ PropType? TestProp { }
144
+ }
145
+ class Test
146
+ {
147
+ void Test(TestType? param1)
148
+ {
149
+ return param1?.TestProp?.Field;
150
+ }
151
+ }
152
+ `);
153
+ });
88
154
  //# sourceMappingURL=parameters.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ClassDeclaration","Method","List","memberRefkey","namekey","expect","it","TestNamespace","Wrapper","props","_$createComponent","children","name","param1Key","param2Key","parameters","type","toRenderTo","classKey","methodKey","_$memo"],"sources":["../../../../src/components/parameters/parameters.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,gBAAgB;AACzB,SAASC,MAAM;AACf,SAASC,IAAI,EAAEC,YAAY,EAAEC,OAAO,QAAQ,gBAAgB;AAE5D,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,aAAa;AAEtB,MAAMC,OAAO,GAAIC,KAA6B,IAAAC,iBAAA,CAC3CH,aAAa;EAAA,IAAAI,SAAA;IAAA,OAAAD,iBAAA,CACXV,gBAAgB;MAAA;MAAQY,IAAI;MAAA,IAAAD,SAAA;QAAA,OAC1BF,KAAK,CAACE,QAAQ;MAAA;IAAA;EAAA;AAAA,EAGpB;AAEDL,EAAE,CAAC,mBAAmB,EAAE,MAAM;EAC5B,MAAMO,SAAS,GAAGT,OAAO,CAAC,QAAQ,CAAC;EACnC,MAAMU,SAAS,GAAGV,OAAO,CAAC,QAAQ,CAAC;EACnCC,MAAM,CAAAK,iBAAA,CACHF,OAAO;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACLT,MAAM;QACLW,IAAI;QACJG,UAAU,EAAE,CACV;UAAEH,IAAI,EAAEC,SAAS;UAAEG,IAAI,EAAE;QAAK,CAAC,EAC/B;UAAEJ,IAAI,EAAEE,SAAS;UAAEE,IAAI,EAAE;QAAK,CAAC;MAChC;IAAA;EAAA,EAGP,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFX,EAAE,CAAC,2BAA2B,EAAE,MAAM;EACpC,MAAMY,QAAQ,GAAGd,OAAO,CAAC,UAAU,CAAC;EACpC,MAAMe,SAAS,GAAGf,OAAO,CAAC,YAAY,CAAC;EACvC,MAAMS,SAAS,GAAGT,OAAO,CAAC,QAAQ,CAAC;EAEnCC,MAAM,CAAAK,iBAAA,CACHH,aAAa;IAAA,IAAAI,SAAA;MAAA,OAAAD,iBAAA,CACXR,IAAI;QAAA,IAAAS,SAAA;UAAA,QAAAD,iBAAA,CACFV,gBAAgB;YAACY,IAAI,EAAEM,QAAQ;YAAA,IAAAP,SAAA;cAAA,OAAAD,iBAAA,CAC7BT,MAAM;gBAACW,IAAI,EAAEO;cAAS;YAAA;UAAA,IAAAT,iBAAA,CAExBV,gBAAgB;YAACY,IAAI;YAAA,IAAAD,SAAA;cAAA,OAAAD,iBAAA,CACnBT,MAAM;gBACLW,IAAI;gBACJG,UAAU,EAAE,CAAC;kBAAEH,IAAI,EAAEC,SAAS;kBAAEG,IAAI,EAAEE;gBAAS,CAAC,CAAC;gBAAA,IAAAP,SAAA;kBAAA,mBAAAS,MAAA,OAEzCjB,YAAY,CAACU,SAAS,EAAEM,SAAS,CAAC;gBAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA,EAKpD,CAAC,CAACF,UAAU,CAAC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["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"],"sources":["../../../../src/components/parameters/parameters.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Children, Refkey } from "@alloy-js/core";
1
+ import { Children, Namekey, Refkey } from "@alloy-js/core";
2
2
  import { AccessModifiers } from "../../modifiers.js";
3
3
  import { AttributesProp } from "../attributes/attributes.jsx";
4
4
  /** Property modifiers. */
@@ -19,7 +19,7 @@ export interface PropertyModifiers {
19
19
  }
20
20
  /** Properties for {@link Property} component */
21
21
  export interface PropertyProps extends AccessModifiers, PropertyModifiers {
22
- name: string;
22
+ name: Namekey | string;
23
23
  refkey?: Refkey;
24
24
  /** Property type */
25
25
  type: Children;