@typespec/compiler 0.66.0-dev.2 → 0.66.0-dev.3
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/define-kit.d.ts +1 -0
- package/dist/src/experimental/typekit/define-kit.d.ts.map +1 -1
- package/dist/src/experimental/typekit/define-kit.js +14 -1
- package/dist/src/experimental/typekit/define-kit.js.map +1 -1
- package/dist/src/experimental/typekit/index.d.ts.map +1 -1
- package/dist/src/experimental/typekit/index.js +9 -3
- package/dist/src/experimental/typekit/index.js.map +1 -1
- package/dist/src/experimental/typekit/kits/array.d.ts +28 -0
- package/dist/src/experimental/typekit/kits/array.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/array.js +26 -0
- package/dist/src/experimental/typekit/kits/array.js.map +1 -0
- package/dist/src/experimental/typekit/kits/builtin.d.ts +117 -0
- package/dist/src/experimental/typekit/kits/builtin.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/builtin.js +81 -0
- package/dist/src/experimental/typekit/kits/builtin.js.map +1 -0
- package/dist/src/experimental/typekit/kits/enum-member.d.ts +52 -0
- package/dist/src/experimental/typekit/kits/enum-member.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/enum-member.js +22 -0
- package/dist/src/experimental/typekit/kits/enum-member.js.map +1 -0
- package/dist/src/experimental/typekit/kits/enum.d.ts +54 -0
- package/dist/src/experimental/typekit/kits/enum.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/enum.js +47 -0
- package/dist/src/experimental/typekit/kits/enum.js.map +1 -0
- package/dist/src/experimental/typekit/kits/index.d.ts +7 -0
- package/dist/src/experimental/typekit/kits/index.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/index.js +7 -0
- package/dist/src/experimental/typekit/kits/index.js.map +1 -1
- package/dist/src/experimental/typekit/kits/model-property.d.ts +29 -1
- package/dist/src/experimental/typekit/kits/model-property.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/model-property.js +11 -0
- package/dist/src/experimental/typekit/kits/model-property.js.map +1 -1
- package/dist/src/experimental/typekit/kits/model.d.ts +29 -4
- package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/model.js +49 -2
- package/dist/src/experimental/typekit/kits/model.js.map +1 -1
- package/dist/src/experimental/typekit/kits/operation.d.ts +49 -0
- package/dist/src/experimental/typekit/kits/operation.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/operation.js +28 -0
- package/dist/src/experimental/typekit/kits/operation.js.map +1 -0
- package/dist/src/experimental/typekit/kits/record.d.ts +33 -0
- package/dist/src/experimental/typekit/kits/record.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/record.js +26 -0
- package/dist/src/experimental/typekit/kits/record.js.map +1 -0
- package/dist/src/experimental/typekit/kits/type.d.ts +93 -1
- package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/type.js +67 -0
- package/dist/src/experimental/typekit/kits/type.js.map +1 -1
- package/dist/src/experimental/typekit/kits/union-variant.d.ts +5 -1
- package/dist/src/experimental/typekit/kits/union-variant.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/union-variant.js.map +1 -1
- package/dist/src/experimental/typekit/kits/union.d.ts +15 -1
- package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/union.js +7 -0
- package/dist/src/experimental/typekit/kits/union.js.map +1 -1
- package/dist/src/experimental/typekit/kits/value.d.ts +84 -0
- package/dist/src/experimental/typekit/kits/value.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/value.js +81 -0
- package/dist/src/experimental/typekit/kits/value.js.map +1 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.d.ts +7 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.d.ts.map +1 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.js +17 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.js.map +1 -0
- package/dist/src/experimental/typekit/utils/index.d.ts +2 -0
- package/dist/src/experimental/typekit/utils/index.d.ts.map +1 -0
- package/dist/src/experimental/typekit/utils/index.js +2 -0
- package/dist/src/experimental/typekit/utils/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { Type, Union, UnionVariant } from "../../../core/types.js";
|
|
2
2
|
import { DecoratorArgs } from "../utils.js";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* A descriptor for a union type.
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface UnionDescriptor {
|
|
4
8
|
/**
|
|
5
9
|
* The name of the union. If name is provided, it is a union declaration.
|
|
6
10
|
* Otherwise, it is a union expression.
|
|
@@ -21,6 +25,11 @@ interface UnionDescriptor {
|
|
|
21
25
|
* @experimental
|
|
22
26
|
*/
|
|
23
27
|
export interface UnionKit {
|
|
28
|
+
/**
|
|
29
|
+
* Creates a union type with filtered variants.
|
|
30
|
+
* @param filterFn Function to filter the union variants
|
|
31
|
+
*/
|
|
32
|
+
filter(union: Union, filterFn: (variant: UnionVariant) => boolean): Union;
|
|
24
33
|
/**
|
|
25
34
|
* Create a union type.
|
|
26
35
|
*
|
|
@@ -48,6 +57,11 @@ export interface UnionKit {
|
|
|
48
57
|
* @param type The union to check.
|
|
49
58
|
*/
|
|
50
59
|
isExtensible(type: Union): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Checks if an union is an expression (anonymous) or declared.
|
|
62
|
+
* @param type Uniton to check if it is an expression
|
|
63
|
+
*/
|
|
64
|
+
isExpression(type: Union): boolean;
|
|
51
65
|
}
|
|
52
66
|
interface TypekitExtension {
|
|
53
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGxE,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;IAErC;;;;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;CACpC;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,MAsFnB,CAAC"}
|
|
@@ -4,6 +4,10 @@ import { defineKit } from "../define-kit.js";
|
|
|
4
4
|
import { decoratorApplication } from "../utils.js";
|
|
5
5
|
export const UnionKit = defineKit({
|
|
6
6
|
union: {
|
|
7
|
+
filter(union, filterFn) {
|
|
8
|
+
const variants = Array.from(union.variants.values()).filter(filterFn);
|
|
9
|
+
return this.union.create({ variants });
|
|
10
|
+
},
|
|
7
11
|
create(desc) {
|
|
8
12
|
const union = this.program.checker.createType({
|
|
9
13
|
kind: "Union",
|
|
@@ -64,6 +68,9 @@ export const UnionKit = defineKit({
|
|
|
64
68
|
}
|
|
65
69
|
return false;
|
|
66
70
|
},
|
|
71
|
+
isExpression(type) {
|
|
72
|
+
return type.name === undefined || type.name === "";
|
|
73
|
+
},
|
|
67
74
|
},
|
|
68
75
|
});
|
|
69
76
|
//# sourceMappingURL=union.js.map
|
|
@@ -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;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,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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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { ArrayValue, BooleanValue, EnumValue, NullValue, NumericValue, ObjectValue, ScalarValue, StringValue, Value } from "../../../core/types.js";
|
|
2
|
+
/** @experimental */
|
|
3
|
+
export interface ValueKit {
|
|
4
|
+
/**
|
|
5
|
+
* Create a Value type from a JavaScript value.
|
|
6
|
+
*
|
|
7
|
+
* @param value The JavaScript value to turn into a TypeSpec Value type.
|
|
8
|
+
*/
|
|
9
|
+
create(value: string | number | boolean): Value;
|
|
10
|
+
/**
|
|
11
|
+
* Create a string Value type from a JavaScript string value.
|
|
12
|
+
*
|
|
13
|
+
* @param value The string value.
|
|
14
|
+
*/
|
|
15
|
+
createString(value: string): StringValue;
|
|
16
|
+
/**
|
|
17
|
+
* Create a numeric Value type from a JavaScript number value.
|
|
18
|
+
*
|
|
19
|
+
* @param value The numeric value.
|
|
20
|
+
*/
|
|
21
|
+
createNumeric(value: number): NumericValue;
|
|
22
|
+
/**
|
|
23
|
+
* Create a boolean Value type from a JavaScript boolean value.
|
|
24
|
+
*
|
|
25
|
+
* @param value The boolean value.
|
|
26
|
+
*/
|
|
27
|
+
createBoolean(value: boolean): BooleanValue;
|
|
28
|
+
/**
|
|
29
|
+
* Check if `type` is a string Value type.
|
|
30
|
+
*
|
|
31
|
+
* @param type The type to check.
|
|
32
|
+
*/
|
|
33
|
+
isString(type: Value): type is StringValue;
|
|
34
|
+
/**
|
|
35
|
+
* Check if `type` is a numeric Value type.
|
|
36
|
+
*
|
|
37
|
+
* @param type The type to check.
|
|
38
|
+
*/
|
|
39
|
+
isNumeric(type: Value): type is NumericValue;
|
|
40
|
+
/**
|
|
41
|
+
* Check if `type` is a scalar value type
|
|
42
|
+
* @param type The type to check.
|
|
43
|
+
*/
|
|
44
|
+
isScalar(type: Value): type is ScalarValue;
|
|
45
|
+
/**
|
|
46
|
+
* Check if `type` is an object value type
|
|
47
|
+
* @param type The type to check.
|
|
48
|
+
*/
|
|
49
|
+
isObject(type: Value): type is ObjectValue;
|
|
50
|
+
/**
|
|
51
|
+
* Check if `type` is an array value type
|
|
52
|
+
* @param type The type to check.
|
|
53
|
+
*/
|
|
54
|
+
isArray(type: Value): type is ArrayValue;
|
|
55
|
+
/**
|
|
56
|
+
* Check if `type` is an enum value type
|
|
57
|
+
* @param type The type to check.
|
|
58
|
+
*/
|
|
59
|
+
isEnum(type: Value): type is EnumValue;
|
|
60
|
+
/**
|
|
61
|
+
* Check if `type` is a null value Type.
|
|
62
|
+
* @param type The type to check.
|
|
63
|
+
*/
|
|
64
|
+
isNull(type: Value): type is NullValue;
|
|
65
|
+
/**
|
|
66
|
+
* Check if `type` is a boolean Value type.
|
|
67
|
+
*
|
|
68
|
+
* @param type The type to check.
|
|
69
|
+
*/
|
|
70
|
+
isBoolean(type: Value): type is BooleanValue;
|
|
71
|
+
is(type: {
|
|
72
|
+
valueKind: string;
|
|
73
|
+
}): type is Value;
|
|
74
|
+
}
|
|
75
|
+
interface TypekitExtension {
|
|
76
|
+
/** @experimental */
|
|
77
|
+
value: ValueKit;
|
|
78
|
+
}
|
|
79
|
+
declare module "../define-kit.js" {
|
|
80
|
+
interface Typekit extends TypekitExtension {
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/value.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,KAAK,EACN,MAAM,wBAAwB,CAAC;AAGhC,oBAAoB;AACpB,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAEhD;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;IAEzC;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAE3C;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,WAAW,CAAC;IAE3C;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,YAAY,CAAC;IAE7C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,WAAW,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,WAAW,CAAC;IAE3C;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,UAAU,CAAC;IAEzC;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,SAAS,CAAC;IAEvC;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,SAAS,CAAC;IAEvC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,YAAY,CAAC;IAE7C,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,IAAI,KAAK,CAAC;CAChD;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Numeric } from "../../../core/numeric.js";
|
|
2
|
+
import { defineKit } from "../define-kit.js";
|
|
3
|
+
defineKit({
|
|
4
|
+
value: {
|
|
5
|
+
is(value) {
|
|
6
|
+
const type = value;
|
|
7
|
+
return (this.value.isString(type) ||
|
|
8
|
+
this.value.isNumeric(type) ||
|
|
9
|
+
this.value.isBoolean(type) ||
|
|
10
|
+
this.value.isArray(type) ||
|
|
11
|
+
this.value.isObject(type) ||
|
|
12
|
+
this.value.isEnum(type) ||
|
|
13
|
+
this.value.isNull(type) ||
|
|
14
|
+
this.value.isScalar(type));
|
|
15
|
+
},
|
|
16
|
+
create(value) {
|
|
17
|
+
if (typeof value === "string") {
|
|
18
|
+
return this.value.createString(value);
|
|
19
|
+
}
|
|
20
|
+
else if (typeof value === "number") {
|
|
21
|
+
return this.value.createNumeric(value);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return this.value.createBoolean(value);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
createString(value) {
|
|
28
|
+
return {
|
|
29
|
+
entityKind: "Value",
|
|
30
|
+
value: value,
|
|
31
|
+
valueKind: "StringValue",
|
|
32
|
+
type: this.literal.createString(value),
|
|
33
|
+
scalar: undefined,
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
createNumeric(value) {
|
|
37
|
+
const valueAsString = String(value);
|
|
38
|
+
return {
|
|
39
|
+
entityKind: "Value",
|
|
40
|
+
value: Numeric(valueAsString),
|
|
41
|
+
valueKind: "NumericValue",
|
|
42
|
+
type: this.literal.createNumeric(value),
|
|
43
|
+
scalar: undefined,
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
createBoolean(value) {
|
|
47
|
+
return {
|
|
48
|
+
entityKind: "Value",
|
|
49
|
+
value: value,
|
|
50
|
+
valueKind: "BooleanValue",
|
|
51
|
+
type: this.literal.createBoolean(value),
|
|
52
|
+
scalar: undefined,
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
isBoolean(type) {
|
|
56
|
+
return type.valueKind === "BooleanValue";
|
|
57
|
+
},
|
|
58
|
+
isString(type) {
|
|
59
|
+
return type.valueKind === "StringValue";
|
|
60
|
+
},
|
|
61
|
+
isNumeric(type) {
|
|
62
|
+
return type.valueKind === "NumericValue";
|
|
63
|
+
},
|
|
64
|
+
isArray(type) {
|
|
65
|
+
return type.valueKind === "ArrayValue";
|
|
66
|
+
},
|
|
67
|
+
isObject(type) {
|
|
68
|
+
return type.valueKind === "ObjectValue";
|
|
69
|
+
},
|
|
70
|
+
isEnum(type) {
|
|
71
|
+
return type.valueKind === "EnumValue";
|
|
72
|
+
},
|
|
73
|
+
isNull(type) {
|
|
74
|
+
return type.valueKind === "NullValue";
|
|
75
|
+
},
|
|
76
|
+
isScalar(type) {
|
|
77
|
+
return type.valueKind === "ScalarValue";
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/value.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Enum, Interface, Model, Scalar, Union } from "../../../core/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get a plausible name for the given type.
|
|
4
|
+
* @experimental
|
|
5
|
+
*/
|
|
6
|
+
export declare function getPlausibleName(type: Model | Union | Enum | Scalar | Interface): string;
|
|
7
|
+
//# sourceMappingURL=get-plausible-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-plausible-name.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/utils/get-plausible-name.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,UAa/E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isTemplateInstance } from "../../../core/type-utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get a plausible name for the given type.
|
|
4
|
+
* @experimental
|
|
5
|
+
*/
|
|
6
|
+
export function getPlausibleName(type) {
|
|
7
|
+
let name = type.name;
|
|
8
|
+
if (!name) {
|
|
9
|
+
name = "TypeExpression"; // TODO: Implement automatic name generation based on the type context
|
|
10
|
+
}
|
|
11
|
+
if (isTemplateInstance(type)) {
|
|
12
|
+
const namePrefix = type.templateMapper.args.map((a) => ("name" in a && a.name) || "").join("_");
|
|
13
|
+
name = `${namePrefix}${name}`;
|
|
14
|
+
}
|
|
15
|
+
return name;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=get-plausible-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-plausible-name.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/utils/get-plausible-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA+C;IAC9E,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAErB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,gBAAgB,CAAC,CAAC,sEAAsE;IACjG,CAAC;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChG,IAAI,GAAG,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|