@typespec/compiler 0.66.0-dev.1 → 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/core/compiler-code-fixes/triple-quote-indent.codefix.d.ts +3 -0
- package/dist/src/core/compiler-code-fixes/triple-quote-indent.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/triple-quote-indent.codefix.js +49 -0
- package/dist/src/core/compiler-code-fixes/triple-quote-indent.codefix.js.map +1 -0
- package/dist/src/core/helpers/syntax-utils.d.ts +1 -0
- package/dist/src/core/helpers/syntax-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/syntax-utils.js +28 -0
- package/dist/src/core/helpers/syntax-utils.js.map +1 -1
- package/dist/src/core/messages.d.ts +2 -2
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +1 -1
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/scanner.d.ts.map +1 -1
- package/dist/src/core/scanner.js +13 -6
- package/dist/src/core/scanner.js.map +1 -1
- 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/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +1 -29
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/package.json +1 -1
- package/templates/scaffolding.json +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Discriminator } from "../../../core/intrinsic-type-state.js";
|
|
2
|
+
import { Enum, Model, Scalar, Union, type Type } from "../../../core/types.js";
|
|
2
3
|
/** @experimental */
|
|
3
4
|
export interface TypeTypekit {
|
|
4
5
|
/**
|
|
@@ -10,6 +11,97 @@ export interface TypeTypekit {
|
|
|
10
11
|
* Finishes a type, applying all the decorators.
|
|
11
12
|
*/
|
|
12
13
|
finishType(type: Type): void;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if a type is decorated with @error
|
|
16
|
+
* @param type The type to check.
|
|
17
|
+
*/
|
|
18
|
+
isError(type: Type): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Get the name of this type in the specified encoding.
|
|
21
|
+
*/
|
|
22
|
+
getEncodedName(type: Type & {
|
|
23
|
+
name: string;
|
|
24
|
+
}, encoding: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Get the summary of this type as specified by the `@summary` decorator.
|
|
27
|
+
*
|
|
28
|
+
* @param type The type to get the summary for.
|
|
29
|
+
*/
|
|
30
|
+
getSummary(type: Type): string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Get the documentation of this type as specified by the `@doc` decorator or
|
|
33
|
+
* the JSDoc comment.
|
|
34
|
+
*
|
|
35
|
+
* @param type The type to get the documentation for.
|
|
36
|
+
*/
|
|
37
|
+
getDoc(type: Type): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Get the plausible name of a type. If the type has a name, it will use it otherwise it will try generate a name based on the context.
|
|
40
|
+
* If the type can't get a name, it will return an empty string.
|
|
41
|
+
* If the type is a TemplateInstance, it will prefix the name with the template arguments.
|
|
42
|
+
* @param type The scalar to get the name of.z
|
|
43
|
+
*/
|
|
44
|
+
getPlausibleName(type: Model | Union | Enum | Scalar): string;
|
|
45
|
+
/**
|
|
46
|
+
* Resolves a discriminated union for the given model or union.
|
|
47
|
+
* @param type Model or Union to resolve the discriminated union for.
|
|
48
|
+
*/
|
|
49
|
+
getDiscriminatedUnion(type: Model | Union): Union | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Resolves the discriminator for a discriminated union. Returns undefined if the type is not a discriminated union.
|
|
52
|
+
* @param type
|
|
53
|
+
*/
|
|
54
|
+
getDiscriminator(type: Model | Union): Discriminator | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the maximum value for a numeric or model property type.
|
|
57
|
+
* @param type type to get the maximum value for
|
|
58
|
+
*/
|
|
59
|
+
maxValue(type: Type): number | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Gets the minimum value for a numeric or model property type.
|
|
62
|
+
* @param type type to get the minimum value for
|
|
63
|
+
*/
|
|
64
|
+
minValue(type: Type): number | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Gets the maximum value this numeric type should be, exclusive of the given value.
|
|
67
|
+
* @param type
|
|
68
|
+
*/
|
|
69
|
+
maxValueExclusive(type: Type): number | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the minimum value this numeric type should be, exclusive of the given value.
|
|
72
|
+
* @param type type to get the minimum value for
|
|
73
|
+
*/
|
|
74
|
+
minValueExclusive(type: Type): number | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Gets the maximum length for a string type.
|
|
77
|
+
* @param type type to get the maximum length for
|
|
78
|
+
*/
|
|
79
|
+
maxLength(type: Type): number | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Gets the minimum length for a string type.
|
|
82
|
+
* @param type type to get the minimum length for
|
|
83
|
+
*/
|
|
84
|
+
minLength(type: Type): number | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Gets the maximum number of items for an array type.
|
|
87
|
+
* @param type type to get the maximum number of items for
|
|
88
|
+
*/
|
|
89
|
+
maxItems(type: Type): number | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Gets the minimum number of items for an array type.
|
|
92
|
+
* @param type type to get the minimum number of items for
|
|
93
|
+
*/
|
|
94
|
+
minItems(type: Type): number | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Checks if the given type is a never type.
|
|
97
|
+
*/
|
|
98
|
+
isNever(type: Type): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Checks if the given type is a user defined type. Non-user defined types are defined in the compiler or other libraries imported by the spec.
|
|
101
|
+
* @param type The type to check.
|
|
102
|
+
* @returns True if the type is a user defined type, false otherwise.
|
|
103
|
+
*/
|
|
104
|
+
isUserDefined(type: Type): boolean;
|
|
13
105
|
}
|
|
14
106
|
interface TypekitExtension {
|
|
15
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/type.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAUd,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAO/E,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC7B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9D;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAC9D;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAElD;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAElD;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;CACpC;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
import { getDiscriminatedUnion } from "../../../core/helpers/discriminator-utils.js";
|
|
2
|
+
import { getLocationContext } from "../../../core/index.js";
|
|
3
|
+
import { getDiscriminator, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, } from "../../../core/intrinsic-type-state.js";
|
|
4
|
+
import { isErrorType, isNeverType } from "../../../core/type-utils.js";
|
|
5
|
+
import { getDoc, getSummary } from "../../../lib/decorators.js";
|
|
6
|
+
import { resolveEncodedName } from "../../../lib/encoded-names.js";
|
|
1
7
|
import { defineKit } from "../define-kit.js";
|
|
2
8
|
import { copyMap } from "../utils.js";
|
|
9
|
+
import { getPlausibleName } from "../utils/get-plausible-name.js";
|
|
3
10
|
defineKit({
|
|
4
11
|
type: {
|
|
5
12
|
finishType(type) {
|
|
@@ -79,6 +86,66 @@ defineKit({
|
|
|
79
86
|
this.realm.addType(clone);
|
|
80
87
|
return clone;
|
|
81
88
|
},
|
|
89
|
+
isError(type) {
|
|
90
|
+
return isErrorType(type);
|
|
91
|
+
},
|
|
92
|
+
getEncodedName(type, encoding) {
|
|
93
|
+
return resolveEncodedName(this.program, type, encoding);
|
|
94
|
+
},
|
|
95
|
+
getSummary(type) {
|
|
96
|
+
return getSummary(this.program, type);
|
|
97
|
+
},
|
|
98
|
+
getDoc(type) {
|
|
99
|
+
return getDoc(this.program, type);
|
|
100
|
+
},
|
|
101
|
+
getPlausibleName(type) {
|
|
102
|
+
return getPlausibleName(type);
|
|
103
|
+
},
|
|
104
|
+
getDiscriminator(type) {
|
|
105
|
+
return getDiscriminator(this.program, type);
|
|
106
|
+
},
|
|
107
|
+
getDiscriminatedUnion(type) {
|
|
108
|
+
const discriminator = getDiscriminator(this.program, type);
|
|
109
|
+
if (!discriminator) {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
const [union] = getDiscriminatedUnion(type, discriminator);
|
|
113
|
+
const variants = Array.from(union.variants.entries()).map(([k, v]) => this.unionVariant.create({ name: k, type: v }));
|
|
114
|
+
return this.union.create({
|
|
115
|
+
name: union.propertyName,
|
|
116
|
+
variants,
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
maxValue(type) {
|
|
120
|
+
return getMaxValue(this.program, type);
|
|
121
|
+
},
|
|
122
|
+
minValue(type) {
|
|
123
|
+
return getMinValue(this.program, type);
|
|
124
|
+
},
|
|
125
|
+
maxLength(type) {
|
|
126
|
+
return getMaxLength(this.program, type);
|
|
127
|
+
},
|
|
128
|
+
minLength(type) {
|
|
129
|
+
return getMinLength(this.program, type);
|
|
130
|
+
},
|
|
131
|
+
maxItems(type) {
|
|
132
|
+
return getMaxItems(this.program, type);
|
|
133
|
+
},
|
|
134
|
+
maxValueExclusive(type) {
|
|
135
|
+
return getMaxValueExclusive(this.program, type);
|
|
136
|
+
},
|
|
137
|
+
minValueExclusive(type) {
|
|
138
|
+
return getMinValueExclusive(this.program, type);
|
|
139
|
+
},
|
|
140
|
+
minItems(type) {
|
|
141
|
+
return getMinItems(this.program, type);
|
|
142
|
+
},
|
|
143
|
+
isNever(type) {
|
|
144
|
+
return isNeverType(type);
|
|
145
|
+
},
|
|
146
|
+
isUserDefined(type) {
|
|
147
|
+
return getLocationContext(this.program, type).type === "project";
|
|
148
|
+
},
|
|
82
149
|
},
|
|
83
150
|
});
|
|
84
151
|
//# sourceMappingURL=type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 variant.
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface UnionVariantDescriptor {
|
|
4
8
|
/**
|
|
5
9
|
* The name of the union variant.
|
|
6
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-variant.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,
|
|
1
|
+
{"version":3,"file":"union-variant.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAAC;IAEnD;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,YAAY,CAAC;CACtC;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-variant.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union-variant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"union-variant.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union-variant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AAiElE,SAAS,CAAmB;IAC1B,YAAY,EAAE;QACZ,MAAM,CAAC,IAAI;YACT,MAAM,OAAO,GAAiB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC5D,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;gBACjC,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBACvD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,SAAgB;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAY;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;QACtC,CAAC;KACF;CACF,CAAC,CAAC"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../../src/formatter/print/printer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../../src/formatter/print/printer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { builders } from "prettier/doc";
|
|
2
2
|
import { compilerAssert } from "../../core/diagnostics.js";
|
|
3
|
-
import { printIdentifier as printIdentifierString } from "../../core/helpers/syntax-utils.js";
|
|
3
|
+
import { printIdentifier as printIdentifierString, splitLines, } from "../../core/helpers/syntax-utils.js";
|
|
4
4
|
import { SyntaxKind, } from "../../core/types.js";
|
|
5
5
|
import { commentHandler } from "./comment-handler.js";
|
|
6
6
|
import { needsParens } from "./needs-parens.js";
|
|
@@ -1192,34 +1192,6 @@ export function printStringTemplateExpression(path, options, print) {
|
|
|
1192
1192
|
return content;
|
|
1193
1193
|
}
|
|
1194
1194
|
}
|
|
1195
|
-
function splitLines(text) {
|
|
1196
|
-
const lines = [];
|
|
1197
|
-
let start = 0;
|
|
1198
|
-
let pos = 0;
|
|
1199
|
-
while (pos < text.length) {
|
|
1200
|
-
const ch = text.charCodeAt(pos);
|
|
1201
|
-
switch (ch) {
|
|
1202
|
-
case 13 /* CharCode.CarriageReturn */:
|
|
1203
|
-
if (text.charCodeAt(pos + 1) === 10 /* CharCode.LineFeed */) {
|
|
1204
|
-
lines.push(text.slice(start, pos));
|
|
1205
|
-
start = pos;
|
|
1206
|
-
pos++;
|
|
1207
|
-
}
|
|
1208
|
-
else {
|
|
1209
|
-
lines.push(text.slice(start, pos));
|
|
1210
|
-
start = pos;
|
|
1211
|
-
}
|
|
1212
|
-
break;
|
|
1213
|
-
case 10 /* CharCode.LineFeed */:
|
|
1214
|
-
lines.push(text.slice(start, pos));
|
|
1215
|
-
start = pos;
|
|
1216
|
-
break;
|
|
1217
|
-
}
|
|
1218
|
-
pos++;
|
|
1219
|
-
}
|
|
1220
|
-
lines.push(text.slice(start));
|
|
1221
|
-
return lines;
|
|
1222
|
-
}
|
|
1223
1195
|
function trimMultilineString(lines, whitespaceIndent) {
|
|
1224
1196
|
const newLines = [];
|
|
1225
1197
|
for (let i = 0; i < lines.length; i++) {
|