@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.
- package/dist/src/components/access-expression/access-expression.d.ts +54 -0
- package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
- package/dist/src/components/access-expression/access-expression.js +277 -0
- package/dist/src/components/access-expression/access-expression.js.map +1 -0
- package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
- package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
- package/dist/src/components/access-expression/access-expression.test.js +336 -0
- package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
- package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
- package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
- package/dist/src/components/access-expression/part-descriptors.js +99 -0
- package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
- package/dist/src/components/class/declaration.test.js +1 -1
- package/dist/src/components/enum/declaration.ref.test.js +1 -1
- package/dist/src/components/index.d.ts +2 -1
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +2 -1
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
- package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
- package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
- package/dist/src/components/namespace.ref.test.js +1 -1
- package/dist/src/components/namespace.test.js +1 -1
- package/dist/src/components/parameters/parameters.d.ts +1 -2
- package/dist/src/components/parameters/parameters.d.ts.map +1 -1
- package/dist/src/components/parameters/parameters.js +2 -1
- package/dist/src/components/parameters/parameters.js.map +1 -1
- package/dist/src/components/parameters/parameters.test.js +66 -0
- package/dist/src/components/parameters/parameters.test.js.map +1 -1
- package/dist/src/components/property/property.d.ts +2 -2
- package/dist/src/components/property/property.d.ts.map +1 -1
- package/dist/src/components/property/property.js +10 -3
- package/dist/src/components/property/property.js.map +1 -1
- package/dist/src/components/{SourceFile.d.ts → source-file/source-file.d.ts} +3 -2
- package/dist/src/components/source-file/source-file.d.ts.map +1 -0
- package/dist/src/components/{SourceFile.js → source-file/source-file.js} +18 -13
- package/dist/src/components/source-file/source-file.js.map +1 -0
- package/dist/src/components/source-file/source-file.test.d.ts +2 -0
- package/dist/src/components/source-file/source-file.test.d.ts.map +1 -0
- package/dist/src/components/source-file/source-file.test.js +136 -0
- package/dist/src/components/source-file/source-file.test.js.map +1 -0
- package/dist/src/contexts/format-options.d.ts +5 -0
- package/dist/src/contexts/format-options.d.ts.map +1 -0
- package/dist/src/contexts/format-options.js +9 -0
- package/dist/src/contexts/format-options.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/scopes/csharp.d.ts +2 -0
- package/dist/src/scopes/csharp.d.ts.map +1 -1
- package/dist/src/scopes/csharp.js +3 -0
- package/dist/src/scopes/csharp.js.map +1 -1
- package/dist/src/symbols/csharp.d.ts +11 -0
- package/dist/src/symbols/csharp.d.ts.map +1 -1
- package/dist/src/symbols/csharp.js +23 -0
- package/dist/src/symbols/csharp.js.map +1 -1
- package/dist/src/symbols/reference.d.ts +2 -2
- package/dist/src/symbols/reference.d.ts.map +1 -1
- package/dist/src/symbols/reference.js +17 -5
- package/dist/src/symbols/reference.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/components/access-expression/access-expression.test.tsx +284 -0
- package/src/components/access-expression/access-expression.tsx +375 -0
- package/src/components/access-expression/part-descriptors.ts +175 -0
- package/src/components/class/declaration.test.tsx +1 -1
- package/src/components/enum/declaration.ref.test.tsx +1 -1
- package/src/components/index.ts +2 -1
- package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
- package/src/components/invocation-expression/invocation-expression.tsx +60 -0
- package/src/components/namespace.ref.test.tsx +1 -1
- package/src/components/namespace.test.tsx +1 -1
- package/src/components/parameters/parameters.test.tsx +46 -0
- package/src/components/parameters/parameters.tsx +2 -2
- package/src/components/property/property.tsx +8 -2
- package/src/components/source-file/source-file.test.tsx +96 -0
- package/src/components/{SourceFile.tsx → source-file/source-file.tsx} +20 -10
- package/src/contexts/format-options.ts +14 -0
- package/src/index.ts +1 -0
- package/src/scopes/csharp.ts +5 -0
- package/src/symbols/csharp.ts +32 -0
- package/src/symbols/{reference.ts → reference.tsx} +11 -9
- package/temp/api.json +423 -37
- package/dist/src/components/SourceFile.d.ts.map +0 -1
- package/dist/src/components/SourceFile.js.map +0 -1
- package/dist/test/sourcefile.test.d.ts +0 -2
- package/dist/test/sourcefile.test.d.ts.map +0 -1
- package/dist/test/sourcefile.test.js +0 -47
- package/dist/test/sourcefile.test.js.map +0 -1
- 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 "../
|
|
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/
|
|
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 "./
|
|
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,
|
|
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 "./
|
|
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
|
|
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 @@
|
|
|
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 "./
|
|
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 "./
|
|
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,
|
|
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,
|
|
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","
|
|
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,
|
|
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":";AAAA,SAASA,gBAAgB;AACzB,SAASC,MAAM;AACf,SAASC,QAAQ;AACjB,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,CACXX,gBAAgB;MAAA;MAAQa,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,CACLV,MAAM;QACLY,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,CACFX,gBAAgB;YAACa,IAAI,EAAEM,QAAQ;YAAA,IAAAP,SAAA;cAAA,OAAAD,iBAAA,CAC7BV,MAAM;gBAACY,IAAI,EAAEO;cAAS;YAAA;UAAA,IAAAT,iBAAA,CAExBX,gBAAgB;YAACa,IAAI;YAAA,IAAAD,SAAA;cAAA,OAAAD,iBAAA,CACnBV,MAAM;gBACLY,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;AAEFX,EAAE,CAAC,0DAA0D,EAAE,MAAM;EACnE,MAAMe,WAAW,GAAGjB,OAAO,CAAC,UAAU,CAAC;EACvC,MAAMkB,eAAe,GAAGlB,OAAO,CAAC,OAAO,CAAC;EACxC,MAAMc,QAAQ,GAAGd,OAAO,CAAC,UAAU,CAAC;EACpC,MAAMmB,OAAO,GAAGnB,OAAO,CAAC,UAAU,CAAC;EACnC,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,CACFX,gBAAgB;YAACa,IAAI,EAAES,WAAW;YAAA,IAAAV,SAAA;cAAA,OAAAD,iBAAA,CAChCT,QAAQ;gBAACW,IAAI,EAAEU,eAAe;gBAAEN,IAAI,EAAE,QAAQ;gBAAEQ,QAAQ;cAAA;YAAA;UAAA,IAAAd,iBAAA,CAE1DX,gBAAgB;YAACa,IAAI,EAAEM,QAAQ;YAAA,IAAAP,SAAA;cAAA,OAAAD,iBAAA,CAC7BT,QAAQ;gBAACW,IAAI,EAAEW,OAAO;gBAAEP,IAAI,EAAEK,WAAW;gBAAEG,QAAQ;cAAA;YAAA;UAAA,IAAAd,iBAAA,CAErDX,gBAAgB;YAACa,IAAI;YAAA,IAAAD,SAAA;cAAA,OAAAD,iBAAA,CACnBV,MAAM;gBACLY,IAAI;gBACJG,UAAU,EAAE,CAAC;kBAAEH,IAAI,EAAEC,SAAS;kBAAEG,IAAI,EAAEE,QAAQ;kBAAEO,QAAQ,EAAE;gBAAK,CAAC,CAAC;gBAAA,IAAAd,SAAA;kBAAA,mBAAAS,MAAA,OAEzDjB,YAAY,CAACU,SAAS,EAAEU,OAAO,EAAED,eAAe,CAAC;gBAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA,EAKnE,CAAC,CAACL,UAAU,CAAC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","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;
|