@typespec/compiler 1.0.0-rc.1 → 1.0.0-rc.2-dev.1
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/manifest.js +2 -2
- package/dist/src/experimental/typekit/kits/union.d.ts +12 -1
- package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/union.js +26 -8
- package/dist/src/experimental/typekit/kits/union.js.map +1 -1
- package/package.json +5 -4
package/dist/manifest.js
CHANGED
|
@@ -38,6 +38,16 @@ export interface UnionKit {
|
|
|
38
38
|
* @param desc The descriptor of the union.
|
|
39
39
|
*/
|
|
40
40
|
create(desc: UnionDescriptor): Union;
|
|
41
|
+
/**
|
|
42
|
+
* Create an anonymous union type from an array of types.
|
|
43
|
+
*
|
|
44
|
+
* @param children The types to create a union from.
|
|
45
|
+
*
|
|
46
|
+
* Any API documentation will be rendered and preserved in the resulting union.
|
|
47
|
+
*
|
|
48
|
+
* No other decorators are copied from the enum to the union.
|
|
49
|
+
*/
|
|
50
|
+
create(children: Type[]): Union;
|
|
41
51
|
/**
|
|
42
52
|
* Creates a union type from an enum.
|
|
43
53
|
*
|
|
@@ -48,7 +58,8 @@ export interface UnionKit {
|
|
|
48
58
|
* For member without an explicit value, the member name is used as the value.
|
|
49
59
|
*
|
|
50
60
|
* Any API documentation will be rendered and preserved in the resulting union.
|
|
51
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* No other decorators are copied from the enum to the union.
|
|
52
63
|
*/
|
|
53
64
|
createFromEnum(type: Enum): Union;
|
|
54
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAEnB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;CACtE;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,GAAG,KAAK,CAAC;IAC1E;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAEnB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;CACtE;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,GAAG,KAAK,CAAC;IAC1E;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC;IACrC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEhC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;IAElC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAElC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,qBAAqB,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACrF;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C;AAED,eAAO,MAAM,QAAQ,MA2HnB,CAAC"}
|
|
@@ -11,25 +11,43 @@ export const UnionKit = defineKit({
|
|
|
11
11
|
const variants = Array.from(union.variants.values()).filter(filterFn);
|
|
12
12
|
return this.union.create({ variants });
|
|
13
13
|
},
|
|
14
|
-
create(
|
|
14
|
+
create(descOrChildren) {
|
|
15
|
+
let descriptor;
|
|
16
|
+
if (Array.isArray(descOrChildren)) {
|
|
17
|
+
// Build a descriptor from the children
|
|
18
|
+
descriptor = {
|
|
19
|
+
decorators: [],
|
|
20
|
+
variants: descOrChildren.map((child) => {
|
|
21
|
+
const memberDoc = getDoc(this.program, child);
|
|
22
|
+
return this.unionVariant.create({
|
|
23
|
+
type: child,
|
|
24
|
+
decorators: memberDoc ? [[$doc, memberDoc]] : undefined,
|
|
25
|
+
});
|
|
26
|
+
}),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Already a descriptor
|
|
31
|
+
descriptor = descOrChildren;
|
|
32
|
+
}
|
|
15
33
|
const union = this.program.checker.createType({
|
|
16
34
|
kind: "Union",
|
|
17
|
-
name:
|
|
18
|
-
decorators: decoratorApplication(this,
|
|
35
|
+
name: descriptor.name,
|
|
36
|
+
decorators: decoratorApplication(this, descriptor.decorators),
|
|
19
37
|
variants: createRekeyableMap(),
|
|
20
38
|
get options() {
|
|
21
39
|
return Array.from(this.variants.values()).map((v) => v.type);
|
|
22
40
|
},
|
|
23
|
-
expression:
|
|
41
|
+
expression: descriptor.name === undefined,
|
|
24
42
|
});
|
|
25
|
-
if (Array.isArray(
|
|
26
|
-
for (const variant of
|
|
43
|
+
if (Array.isArray(descriptor.variants)) {
|
|
44
|
+
for (const variant of descriptor.variants) {
|
|
27
45
|
union.variants.set(variant.name, variant);
|
|
28
46
|
variant.union = union;
|
|
29
47
|
}
|
|
30
48
|
}
|
|
31
|
-
else if (
|
|
32
|
-
for (const [name, value] of Object.entries(
|
|
49
|
+
else if (descriptor.variants) {
|
|
50
|
+
for (const [name, value] of Object.entries(descriptor.variants)) {
|
|
33
51
|
union.variants.set(name, this.unionVariant.create({ name, type: this.literal.create(value) }));
|
|
34
52
|
}
|
|
35
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAEL,qBAAqB,GACtB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/compiler",
|
|
3
|
-
"version": "1.0.0-rc.1",
|
|
3
|
+
"version": "1.0.0-rc.2-dev.1",
|
|
4
4
|
"description": "TypeSpec Compiler Preview",
|
|
5
5
|
"author": "Microsoft Corporation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -100,6 +100,7 @@
|
|
|
100
100
|
"@types/node": "~22.13.11",
|
|
101
101
|
"@types/semver": "^7.5.8",
|
|
102
102
|
"@types/yargs": "~17.0.33",
|
|
103
|
+
"@typespec/internal-build-utils": "^0.69.0 || >=0.70.0-dev <0.70.0",
|
|
103
104
|
"@vitest/coverage-v8": "^3.0.9",
|
|
104
105
|
"@vitest/ui": "^3.0.9",
|
|
105
106
|
"c8": "^10.1.3",
|
|
@@ -107,13 +108,13 @@
|
|
|
107
108
|
"pathe": "^2.0.3",
|
|
108
109
|
"rimraf": "~6.0.1",
|
|
109
110
|
"source-map-support": "~0.5.21",
|
|
111
|
+
"tmlanguage-generator": "^0.6.1 || >=0.7.0-dev <0.7.0",
|
|
110
112
|
"typescript": "~5.8.2",
|
|
111
113
|
"vitest": "^3.0.9",
|
|
112
114
|
"vscode-oniguruma": "~2.0.1",
|
|
113
|
-
"vscode-textmate": "~9.2.0"
|
|
114
|
-
"@typespec/internal-build-utils": "^0.69.0",
|
|
115
|
-
"tmlanguage-generator": "^0.6.1"
|
|
115
|
+
"vscode-textmate": "~9.2.0"
|
|
116
116
|
},
|
|
117
|
+
"peerDependencies": {},
|
|
117
118
|
"scripts": {
|
|
118
119
|
"clean": "rimraf ./dist ./temp",
|
|
119
120
|
"build:init-templates-index": "tsx ./.scripts/build-init-templates.ts",
|