@typespec/compiler 0.61.0-dev.3 → 0.61.0-dev.4
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/index.d.ts +2 -0
- package/dist/src/experimental/index.d.ts.map +1 -0
- package/dist/src/experimental/index.js +2 -0
- package/dist/src/experimental/index.js.map +1 -0
- package/dist/src/experimental/state-accessor.d.ts +13 -0
- package/dist/src/experimental/state-accessor.d.ts.map +1 -0
- package/dist/src/experimental/state-accessor.js +14 -0
- package/dist/src/experimental/state-accessor.js.map +1 -0
- package/dist/src/lib/decorators.d.ts +34 -18
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +67 -86
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/encoded-names.js +6 -8
- package/dist/src/lib/encoded-names.js.map +1 -1
- package/dist/src/lib/service.d.ts +3 -1
- package/dist/src/lib/service.d.ts.map +1 -1
- package/dist/src/lib/service.js +5 -8
- package/dist/src/lib/service.js.map +1 -1
- package/dist/src/lib/utils.d.ts +4 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +11 -0
- package/dist/src/lib/utils.js.map +1 -0
- package/package.json +5 -1
package/dist/manifest.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Program } from "../core/program.js";
|
|
2
|
+
import type { Type } from "../core/types.js";
|
|
3
|
+
type StateMapGetter<K extends Type, V> = (program: Program, type: K) => V | undefined;
|
|
4
|
+
type StateMapSetter<K extends Type, V> = (program: Program, type: K, value: V) => void;
|
|
5
|
+
type StateMapMapGetter<K extends Type, V> = (program: Program) => Map<K, V>;
|
|
6
|
+
/** @experimental */
|
|
7
|
+
export declare function unsafe_useStateMap<K extends Type, V>(key: symbol): [StateMapGetter<K, V>, StateMapSetter<K, V>, StateMapMapGetter<K, V>];
|
|
8
|
+
type StateSetGetter<K extends Type> = (program: Program, type: K) => boolean;
|
|
9
|
+
type StateSetSetter<K extends Type> = (program: Program, type: K) => void;
|
|
10
|
+
/** @experimental */
|
|
11
|
+
export declare function unsafe_useStateSet<K extends Type>(key: symbol): [StateSetGetter<K>, StateSetSetter<K>];
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=state-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-accessor.d.ts","sourceRoot":"","sources":["../../../src/experimental/state-accessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AACtF,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AACvF,KAAK,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAClD,GAAG,EAAE,MAAM,GACV,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAMvE;AAED,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;AAC7E,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1E,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,EAC/C,GAAG,EAAE,MAAM,GACV,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAKxC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** @experimental */
|
|
2
|
+
export function unsafe_useStateMap(key) {
|
|
3
|
+
const getter = (program, target) => program.stateMap(key).get(target);
|
|
4
|
+
const setter = (program, target, value) => program.stateMap(key).set(target, value);
|
|
5
|
+
const mapGetter = (program) => program.stateMap(key);
|
|
6
|
+
return [getter, setter, mapGetter];
|
|
7
|
+
}
|
|
8
|
+
/** @experimental */
|
|
9
|
+
export function unsafe_useStateSet(key) {
|
|
10
|
+
const getter = (program, target) => program.stateSet(key).has(target);
|
|
11
|
+
const setter = (program, target) => program.stateSet(key).add(target);
|
|
12
|
+
return [getter, setter];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=state-accessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-accessor.js","sourceRoot":"","sources":["../../../src/experimental/state-accessor.ts"],"names":[],"mappings":"AAOA,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAChC,GAAW;IAEX,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,KAAQ,EAAE,EAAE,CACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAgB,CAAC,CAAC;AAC5C,CAAC;AAKD,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAChC,GAAW;IAEX,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -7,6 +7,7 @@ export { serializeValueAsJson } from "./examples.js";
|
|
|
7
7
|
export * from "./service.js";
|
|
8
8
|
export { ExampleOptions };
|
|
9
9
|
export declare const namespace = "TypeSpec";
|
|
10
|
+
declare const getSummary: (program: Program, type: Type) => string | undefined;
|
|
10
11
|
/**
|
|
11
12
|
* @summary attaches a documentation string. It is typically used to give a short, single-line
|
|
12
13
|
* description, and can be used in combination with or instead of @doc.
|
|
@@ -17,7 +18,7 @@ export declare const namespace = "TypeSpec";
|
|
|
17
18
|
* @summary can be specified on any language element -- a model, an operation, a namespace, etc.
|
|
18
19
|
*/
|
|
19
20
|
export declare const $summary: SummaryDecorator;
|
|
20
|
-
export
|
|
21
|
+
export { getSummary };
|
|
21
22
|
/**
|
|
22
23
|
* @doc attaches a documentation string. Works great with multi-line string literals.
|
|
23
24
|
*
|
|
@@ -77,6 +78,7 @@ export declare const $error: ErrorDecorator;
|
|
|
77
78
|
* Check if the type is an error model or a descendant of an error model.
|
|
78
79
|
*/
|
|
79
80
|
export declare function isErrorModel(program: Program, target: Type): boolean;
|
|
81
|
+
declare const getFormat: (program: Program, type: Type) => string | undefined;
|
|
80
82
|
/**
|
|
81
83
|
* `@format` - specify the data format hint for a string type
|
|
82
84
|
*
|
|
@@ -91,7 +93,8 @@ export declare function isErrorModel(program: Program, target: Type): boolean;
|
|
|
91
93
|
* `@format` can be specified on a type that extends from `string` or a `string`-typed model property.
|
|
92
94
|
*/
|
|
93
95
|
export declare const $format: FormatDecorator;
|
|
94
|
-
export
|
|
96
|
+
export { getFormat };
|
|
97
|
+
declare const getPatternData: (program: Program, type: Type) => PatternData | undefined;
|
|
95
98
|
export interface PatternData {
|
|
96
99
|
readonly pattern: string;
|
|
97
100
|
readonly validationMessage?: string;
|
|
@@ -107,6 +110,7 @@ export declare const $pattern: PatternDecorator;
|
|
|
107
110
|
* @returns the pattern string, if one was set
|
|
108
111
|
*/
|
|
109
112
|
export declare function getPattern(program: Program, target: Type): string | undefined;
|
|
113
|
+
export {
|
|
110
114
|
/**
|
|
111
115
|
* Gets the associated pattern data, including the pattern regular expression and optional validation message, if any
|
|
112
116
|
* has been set.
|
|
@@ -115,7 +119,7 @@ export declare function getPattern(program: Program, target: Type): string | und
|
|
|
115
119
|
* @param target - the type to get the pattern data for
|
|
116
120
|
* @returns the pattern data, if any was set
|
|
117
121
|
*/
|
|
118
|
-
|
|
122
|
+
getPatternData, };
|
|
119
123
|
export declare const $minLength: MinLengthDecorator;
|
|
120
124
|
export declare const $maxLength: MaxLengthDecorator;
|
|
121
125
|
export declare const $minItems: MinItemsDecorator;
|
|
@@ -124,13 +128,14 @@ export declare const $minValue: MinValueDecorator;
|
|
|
124
128
|
export declare const $maxValue: MaxValueDecorator;
|
|
125
129
|
export declare const $minValueExclusive: MinValueExclusiveDecorator;
|
|
126
130
|
export declare const $maxValueExclusive: MaxValueExclusiveDecorator;
|
|
131
|
+
declare const isSecret: (program: Program, type: Type) => boolean;
|
|
127
132
|
/**
|
|
128
133
|
* Mark a string as a secret value that should be treated carefully to avoid exposure
|
|
129
134
|
* @param context Decorator context
|
|
130
135
|
* @param target Decorator target, either a string model or a property with type string.
|
|
131
136
|
*/
|
|
132
137
|
export declare const $secret: SecretDecorator;
|
|
133
|
-
export
|
|
138
|
+
export { isSecret };
|
|
134
139
|
export type DateTimeKnownEncoding = "rfc3339" | "rfc7231" | "unixTimestamp";
|
|
135
140
|
export type DurationKnownEncoding = "ISO8601" | "seconds";
|
|
136
141
|
export type BytesKnownEncoding = "base64" | "base64url";
|
|
@@ -142,10 +147,12 @@ export interface EncodeData {
|
|
|
142
147
|
encoding?: DateTimeKnownEncoding | DurationKnownEncoding | BytesKnownEncoding | string;
|
|
143
148
|
type: Scalar;
|
|
144
149
|
}
|
|
150
|
+
declare const getEncode: (program: Program, type: ModelProperty | Scalar) => EncodeData | undefined;
|
|
145
151
|
export declare const $encode: EncodeDecorator;
|
|
146
|
-
export
|
|
152
|
+
export { getEncode };
|
|
153
|
+
declare const getVisibility: (program: Program, type: Type) => string[] | undefined;
|
|
147
154
|
export declare const $visibility: VisibilityDecorator;
|
|
148
|
-
export
|
|
155
|
+
export { getVisibility };
|
|
149
156
|
export declare const $withVisibility: WithVisibilityDecorator;
|
|
150
157
|
export declare function isVisible(program: Program, property: ModelProperty, visibilities: readonly string[]): boolean;
|
|
151
158
|
export declare const $withOptionalProperties: WithOptionalPropertiesDecorator;
|
|
@@ -168,8 +175,10 @@ export declare function isListOperation(program: Program, target: Operation): bo
|
|
|
168
175
|
export declare const $tag: TagDecorator;
|
|
169
176
|
export declare function getTags(program: Program, target: Type): string[];
|
|
170
177
|
export declare function getAllTags(program: Program, target: Namespace | Interface | Operation): string[] | undefined;
|
|
178
|
+
declare const getFriendlyName: (program: Program, type: Type) => string | undefined;
|
|
171
179
|
export declare const $friendlyName: FriendlyNameDecorator;
|
|
172
|
-
export
|
|
180
|
+
export { getFriendlyName };
|
|
181
|
+
declare const getKnownValues: (program: Program, type: Type) => Enum | undefined;
|
|
173
182
|
/**
|
|
174
183
|
* `@knownValues` marks a string type with an enum that contains all known values
|
|
175
184
|
*
|
|
@@ -182,7 +191,7 @@ export declare function getFriendlyName(program: Program, target: Type): string;
|
|
|
182
191
|
* @param knownValues Must be an enum.
|
|
183
192
|
*/
|
|
184
193
|
export declare const $knownValues: (context: DecoratorContext, target: Scalar | ModelProperty, knownValues: Enum) => void;
|
|
185
|
-
export
|
|
194
|
+
export { getKnownValues };
|
|
186
195
|
/**
|
|
187
196
|
* `@key` - mark a model property as the key to identify instances of that type
|
|
188
197
|
*
|
|
@@ -213,6 +222,8 @@ export declare const $deprecated: DeprecatedDecorator;
|
|
|
213
222
|
* @param type Type
|
|
214
223
|
*/
|
|
215
224
|
export declare function getDeprecated(program: Program, type: Type): string | undefined;
|
|
225
|
+
declare const getOverloads: (program: Program, type: Operation) => Operation[] | undefined;
|
|
226
|
+
declare const getOverloadedOperation: (program: Program, type: Operation) => Operation | undefined;
|
|
216
227
|
/**
|
|
217
228
|
* `@overload` - Indicate that the target overloads (specializes) the overloads type.
|
|
218
229
|
* @param context DecoratorContext
|
|
@@ -220,20 +231,21 @@ export declare function getDeprecated(program: Program, type: Type): string | un
|
|
|
220
231
|
* @param overloadBase The operation to be overloaded.
|
|
221
232
|
*/
|
|
222
233
|
export declare const $overload: OverloadDecorator;
|
|
223
|
-
|
|
224
|
-
* Get all operations that are marked as overloads of the given operation
|
|
225
|
-
* @param program Program
|
|
226
|
-
* @param operation Operation
|
|
227
|
-
* @returns An array of operations that overload the given operation.
|
|
228
|
-
*/
|
|
229
|
-
export declare function getOverloads(program: Program, operation: Operation): Operation[] | undefined;
|
|
234
|
+
export {
|
|
230
235
|
/**
|
|
231
236
|
* If the given operation overloads another operation, return that operation.
|
|
232
237
|
* @param program Program
|
|
233
238
|
* @param operation The operation to check for an overload target.
|
|
234
239
|
* @returns The operation this operation overloads, if any.
|
|
235
240
|
*/
|
|
236
|
-
|
|
241
|
+
getOverloadedOperation,
|
|
242
|
+
/**
|
|
243
|
+
* Get all operations that are marked as overloads of the given operation
|
|
244
|
+
* @param program Program
|
|
245
|
+
* @param operation Operation
|
|
246
|
+
* @returns An array of operations that overload the given operation.
|
|
247
|
+
*/
|
|
248
|
+
getOverloads, };
|
|
237
249
|
/**
|
|
238
250
|
* `@projectedName` - Indicate that this entity should be renamed according to the given projection.
|
|
239
251
|
* @param context DecoratorContext
|
|
@@ -263,20 +275,24 @@ export declare function getProjectedName(program: Program, target: Type, project
|
|
|
263
275
|
*/
|
|
264
276
|
export declare function hasProjectedName(program: Program, target: Type, projectionName: string): boolean;
|
|
265
277
|
export declare const $discriminator: DiscriminatorDecorator;
|
|
278
|
+
declare const getParameterVisibility: (program: Program, type: Type) => string[] | undefined;
|
|
266
279
|
export declare const $parameterVisibility: ParameterVisibilityDecorator;
|
|
280
|
+
export {
|
|
267
281
|
/**
|
|
268
282
|
* Returns the visibilities of the parameters of the given operation, if provided with `@parameterVisibility`.
|
|
269
283
|
*
|
|
270
284
|
* @see {@link $parameterVisibility}
|
|
271
285
|
*/
|
|
272
|
-
|
|
286
|
+
getParameterVisibility, };
|
|
287
|
+
declare const getReturnTypeVisibility: (program: Program, type: Type) => string[] | undefined;
|
|
273
288
|
export declare const $returnTypeVisibility: ReturnTypeVisibilityDecorator;
|
|
289
|
+
export {
|
|
274
290
|
/**
|
|
275
291
|
* Returns the visibilities of the return type of the given operation, if provided with `@returnTypeVisibility`.
|
|
276
292
|
*
|
|
277
293
|
* @see {@link $returnTypeVisibility}
|
|
278
294
|
*/
|
|
279
|
-
|
|
295
|
+
getReturnTypeVisibility, };
|
|
280
296
|
export interface Example extends ExampleOptions {
|
|
281
297
|
readonly value: Value;
|
|
282
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,6BAA6B,EAC7B,iCAAiC,EAClC,MAAM,kCAAkC,CAAC;AAoB1C,OAAO,EAEL,OAAO,EAoBR,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAEL,gBAAgB,EAGhB,IAAI,EAGJ,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EAGT,SAAS,EACT,MAAM,EAEN,IAAI,EACJ,KAAK,EAEL,KAAK,EACN,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { compilerAssert, getDiscriminatedUnion, getTypeName, ignoreDiagnostics,
|
|
|
4
4
|
import { getDocDataInternal, getMaxItemsAsNumeric, getMaxLengthAsNumeric, getMaxValueAsNumeric, getMaxValueExclusiveAsNumeric, getMinItemsAsNumeric, getMinLengthAsNumeric, getMinValueAsNumeric, getMinValueExclusiveAsNumeric, setDiscriminator, setDocData, setMaxItems, setMaxLength, setMaxValue, setMaxValueExclusive, setMinItems, setMinLength, setMinValue, setMinValueExclusive, } from "../core/intrinsic-type-state.js";
|
|
5
5
|
import { createDiagnostic, reportDiagnostic } from "../core/messages.js";
|
|
6
6
|
import { SyntaxKind, } from "../core/types.js";
|
|
7
|
+
import { useStateMap, useStateSet } from "./utils.js";
|
|
7
8
|
export { $encodedName, resolveEncodedName } from "./encoded-names.js";
|
|
8
9
|
export { serializeValueAsJson } from "./examples.js";
|
|
9
10
|
export * from "./service.js";
|
|
@@ -20,7 +21,7 @@ function replaceTemplatedStringFromProperties(formatString, sourceObject) {
|
|
|
20
21
|
function createStateSymbol(name) {
|
|
21
22
|
return Symbol.for(`TypeSpec.${name}`);
|
|
22
23
|
}
|
|
23
|
-
const
|
|
24
|
+
const [getSummary, setSummary] = useStateMap("summary");
|
|
24
25
|
/**
|
|
25
26
|
* @summary attaches a documentation string. It is typically used to give a short, single-line
|
|
26
27
|
* description, and can be used in combination with or instead of @doc.
|
|
@@ -34,11 +35,9 @@ export const $summary = (context, target, text, sourceObject) => {
|
|
|
34
35
|
if (sourceObject) {
|
|
35
36
|
text = replaceTemplatedStringFromProperties(text, sourceObject);
|
|
36
37
|
}
|
|
37
|
-
context.program
|
|
38
|
+
setSummary(context.program, target, text);
|
|
38
39
|
};
|
|
39
|
-
export
|
|
40
|
-
return program.stateMap(summaryKey).get(type);
|
|
41
|
-
}
|
|
40
|
+
export { getSummary };
|
|
42
41
|
/**
|
|
43
42
|
* @doc attaches a documentation string. Works great with multi-line string literals.
|
|
44
43
|
*
|
|
@@ -175,14 +174,14 @@ function validateTargetingAString(context, target, decoratorName) {
|
|
|
175
174
|
return valid;
|
|
176
175
|
}
|
|
177
176
|
// -- @error decorator ----------------------
|
|
178
|
-
const
|
|
177
|
+
const [getErrorState, setErrorState] = useStateSet("error");
|
|
179
178
|
/**
|
|
180
179
|
* `@error` decorator marks a model as an error type.
|
|
181
180
|
* Any derived models (using extends) will also be seen as error types.
|
|
182
181
|
*/
|
|
183
182
|
export const $error = (context, entity) => {
|
|
184
183
|
validateDecoratorUniqueOnNode(context, entity, $error);
|
|
185
|
-
context.program
|
|
184
|
+
setErrorState(context.program, entity);
|
|
186
185
|
};
|
|
187
186
|
/**
|
|
188
187
|
* Check if the type is an error model or a descendant of an error model.
|
|
@@ -193,7 +192,7 @@ export function isErrorModel(program, target) {
|
|
|
193
192
|
}
|
|
194
193
|
let current = target;
|
|
195
194
|
while (current) {
|
|
196
|
-
if (program
|
|
195
|
+
if (getErrorState(program, current)) {
|
|
197
196
|
return true;
|
|
198
197
|
}
|
|
199
198
|
current = current.baseModel;
|
|
@@ -201,7 +200,7 @@ export function isErrorModel(program, target) {
|
|
|
201
200
|
return false;
|
|
202
201
|
}
|
|
203
202
|
// -- @format decorator ---------------------
|
|
204
|
-
const
|
|
203
|
+
const [getFormat, setFormat] = useStateMap("format");
|
|
205
204
|
/**
|
|
206
205
|
* `@format` - specify the data format hint for a string type
|
|
207
206
|
*
|
|
@@ -224,13 +223,11 @@ export const $format = (context, target, format) => {
|
|
|
224
223
|
if (targetType.kind === "Scalar" && isIntrinsicType(context.program, targetType, "bytes")) {
|
|
225
224
|
reportDeprecated(context.program, "Using `@format` on a bytes scalar is deprecated. Use `@encode` instead. https://github.com/microsoft/typespec/issues/1873", target);
|
|
226
225
|
}
|
|
227
|
-
context.program
|
|
226
|
+
setFormat(context.program, target, format);
|
|
228
227
|
};
|
|
229
|
-
export
|
|
230
|
-
return program.stateMap(formatValuesKey).get(target);
|
|
231
|
-
}
|
|
228
|
+
export { getFormat };
|
|
232
229
|
// -- @pattern decorator ---------------------
|
|
233
|
-
const
|
|
230
|
+
const [getPatternData, setPatternData] = useStateMap("patternValues");
|
|
234
231
|
export const $pattern = (context, target, pattern, validationMessage) => {
|
|
235
232
|
validateDecoratorUniqueOnNode(context, target, $pattern);
|
|
236
233
|
if (!validateTargetingAString(context, target, "@pattern")) {
|
|
@@ -240,7 +237,7 @@ export const $pattern = (context, target, pattern, validationMessage) => {
|
|
|
240
237
|
pattern,
|
|
241
238
|
validationMessage,
|
|
242
239
|
};
|
|
243
|
-
context.program
|
|
240
|
+
setPatternData(context.program, target, patternData);
|
|
244
241
|
};
|
|
245
242
|
/**
|
|
246
243
|
* Gets the pattern regular expression associated with a given type, if one has been set.
|
|
@@ -254,6 +251,7 @@ export const $pattern = (context, target, pattern, validationMessage) => {
|
|
|
254
251
|
export function getPattern(program, target) {
|
|
255
252
|
return getPatternData(program, target)?.pattern;
|
|
256
253
|
}
|
|
254
|
+
export {
|
|
257
255
|
/**
|
|
258
256
|
* Gets the associated pattern data, including the pattern regular expression and optional validation message, if any
|
|
259
257
|
* has been set.
|
|
@@ -262,9 +260,7 @@ export function getPattern(program, target) {
|
|
|
262
260
|
* @param target - the type to get the pattern data for
|
|
263
261
|
* @returns the pattern data, if any was set
|
|
264
262
|
*/
|
|
265
|
-
|
|
266
|
-
return program.stateMap(patternValuesKey).get(target);
|
|
267
|
-
}
|
|
263
|
+
getPatternData, };
|
|
268
264
|
// -- @minLength decorator ---------------------
|
|
269
265
|
export const $minLength = (context, target, minLength) => {
|
|
270
266
|
validateDecoratorUniqueOnNode(context, target, $minLength);
|
|
@@ -376,7 +372,7 @@ export const $maxValueExclusive = (context, target, maxValueExclusive) => {
|
|
|
376
372
|
setMaxValueExclusive(program, target, maxValueExclusive);
|
|
377
373
|
};
|
|
378
374
|
// -- @secret decorator ---------------------
|
|
379
|
-
const
|
|
375
|
+
const [isSecret, markSecret] = useStateSet("secretTypes");
|
|
380
376
|
/**
|
|
381
377
|
* Mark a string as a secret value that should be treated carefully to avoid exposure
|
|
382
378
|
* @param context Decorator context
|
|
@@ -387,12 +383,10 @@ export const $secret = (context, target) => {
|
|
|
387
383
|
if (!validateTargetingAString(context, target, "@secret")) {
|
|
388
384
|
return;
|
|
389
385
|
}
|
|
390
|
-
context.program
|
|
386
|
+
markSecret(context.program, target);
|
|
391
387
|
};
|
|
392
|
-
export
|
|
393
|
-
|
|
394
|
-
}
|
|
395
|
-
const encodeKey = createStateSymbol("encode");
|
|
388
|
+
export { isSecret };
|
|
389
|
+
const [getEncode, setEncodeData] = useStateMap("encode");
|
|
396
390
|
export const $encode = (context, target, encoding, encodeAs) => {
|
|
397
391
|
validateDecoratorUniqueOnNode(context, target, $encode);
|
|
398
392
|
const encodeData = computeEncoding(context.program, encoding, encodeAs);
|
|
@@ -401,7 +395,7 @@ export const $encode = (context, target, encoding, encodeAs) => {
|
|
|
401
395
|
}
|
|
402
396
|
const targetType = getPropertyType(target);
|
|
403
397
|
validateEncodeData(context, targetType, encodeData);
|
|
404
|
-
context.program
|
|
398
|
+
setEncodeData(context.program, target, encodeData);
|
|
405
399
|
};
|
|
406
400
|
function computeEncoding(program, encodingOrEncodeAs, encodeAs) {
|
|
407
401
|
const strType = program.checker.getStdType("string");
|
|
@@ -486,20 +480,16 @@ function validateEncodeData(context, target, encodeData) {
|
|
|
486
480
|
return check(["numeric"], ["string"]);
|
|
487
481
|
}
|
|
488
482
|
}
|
|
489
|
-
export
|
|
490
|
-
return program.stateMap(encodeKey).get(target);
|
|
491
|
-
}
|
|
483
|
+
export { getEncode };
|
|
492
484
|
// -- @visibility decorator ---------------------
|
|
493
|
-
const
|
|
485
|
+
const [getVisibility, setVisibility, getVisibilityStateMap] = useStateMap("visibilitySettings");
|
|
494
486
|
export const $visibility = (context, target, ...visibilities) => {
|
|
495
487
|
validateDecoratorUniqueOnNode(context, target, $visibility);
|
|
496
|
-
context.program
|
|
488
|
+
setVisibility(context.program, target, visibilities);
|
|
497
489
|
};
|
|
498
|
-
export
|
|
499
|
-
return program.stateMap(visibilitySettingsKey).get(target);
|
|
500
|
-
}
|
|
490
|
+
export { getVisibility };
|
|
501
491
|
function clearVisibilities(program, target) {
|
|
502
|
-
program
|
|
492
|
+
getVisibilityStateMap(program).delete(target);
|
|
503
493
|
}
|
|
504
494
|
export const $withVisibility = (context, target, ...visibilities) => {
|
|
505
495
|
filterModelPropertiesInPlace(target, (p) => isVisible(context.program, p, visibilities));
|
|
@@ -604,21 +594,21 @@ export function isListOperation(program, target) {
|
|
|
604
594
|
return program.stateMap(listPropertiesKey).has(target);
|
|
605
595
|
}
|
|
606
596
|
// -- @tag decorator ---------------------
|
|
607
|
-
const
|
|
597
|
+
const [getTagsState, setTags] = useStateMap("tagProperties");
|
|
608
598
|
// Set a tag on an operation, interface, or namespace. There can be multiple tags on an
|
|
609
599
|
// operation, interface, or namespace.
|
|
610
600
|
export const $tag = (context, target, tag) => {
|
|
611
|
-
const tags = context.program
|
|
601
|
+
const tags = getTagsState(context.program, target);
|
|
612
602
|
if (tags) {
|
|
613
603
|
tags.push(tag);
|
|
614
604
|
}
|
|
615
605
|
else {
|
|
616
|
-
context.program
|
|
606
|
+
setTags(context.program, target, [tag]);
|
|
617
607
|
}
|
|
618
608
|
};
|
|
619
609
|
// Return the tags set on an operation or namespace
|
|
620
610
|
export function getTags(program, target) {
|
|
621
|
-
return program
|
|
611
|
+
return getTagsState(program, target) || [];
|
|
622
612
|
}
|
|
623
613
|
// Merge the tags for a operation with the tags that are on the namespace or
|
|
624
614
|
// interface it resides within.
|
|
@@ -641,7 +631,7 @@ export function getAllTags(program, target) {
|
|
|
641
631
|
return tags.size > 0 ? Array.from(tags).reverse() : undefined;
|
|
642
632
|
}
|
|
643
633
|
// -- @friendlyName decorator ---------------------
|
|
644
|
-
const
|
|
634
|
+
const [getFriendlyName, setFriendlyName] = useStateMap("friendlyNames");
|
|
645
635
|
export const $friendlyName = (context, target, friendlyName, sourceObject) => {
|
|
646
636
|
// workaround for current lack of functionality in compiler
|
|
647
637
|
// https://github.com/microsoft/typespec/issues/2717
|
|
@@ -661,12 +651,10 @@ export const $friendlyName = (context, target, friendlyName, sourceObject) => {
|
|
|
661
651
|
if (sourceObject) {
|
|
662
652
|
friendlyName = replaceTemplatedStringFromProperties(friendlyName, sourceObject);
|
|
663
653
|
}
|
|
664
|
-
context.program
|
|
654
|
+
setFriendlyName(context.program, target, friendlyName);
|
|
665
655
|
};
|
|
666
|
-
export
|
|
667
|
-
|
|
668
|
-
}
|
|
669
|
-
const knownValuesKey = createStateSymbol("knownValues");
|
|
656
|
+
export { getFriendlyName };
|
|
657
|
+
const [getKnownValues, setKnownValues] = useStateMap("knownValues");
|
|
670
658
|
/**
|
|
671
659
|
* `@knownValues` marks a string type with an enum that contains all known values
|
|
672
660
|
*
|
|
@@ -702,7 +690,7 @@ export const $knownValues = (context, target, knownValues) => {
|
|
|
702
690
|
return;
|
|
703
691
|
}
|
|
704
692
|
}
|
|
705
|
-
context.program
|
|
693
|
+
setKnownValues(context.program, target, knownValues);
|
|
706
694
|
};
|
|
707
695
|
function isEnumMemberAssignableToType(program, typeName, member) {
|
|
708
696
|
const memberType = member.value !== undefined ? typeof member.value : "string";
|
|
@@ -715,10 +703,8 @@ function isEnumMemberAssignableToType(program, typeName, member) {
|
|
|
715
703
|
return false;
|
|
716
704
|
}
|
|
717
705
|
}
|
|
718
|
-
export
|
|
719
|
-
|
|
720
|
-
}
|
|
721
|
-
const keyKey = createStateSymbol("key");
|
|
706
|
+
export { getKnownValues };
|
|
707
|
+
const [getKey, setKey] = useStateMap("key");
|
|
722
708
|
/**
|
|
723
709
|
* `@key` - mark a model property as the key to identify instances of that type
|
|
724
710
|
*
|
|
@@ -738,13 +724,13 @@ export const $key = (context, entity, altName) => {
|
|
|
738
724
|
return;
|
|
739
725
|
}
|
|
740
726
|
// Register the key property
|
|
741
|
-
context.program
|
|
727
|
+
setKey(context.program, entity, altName || entity.name);
|
|
742
728
|
};
|
|
743
729
|
export function isKey(program, property) {
|
|
744
|
-
return program
|
|
730
|
+
return getKey(program, property) !== undefined;
|
|
745
731
|
}
|
|
746
732
|
export function getKeyName(program, property) {
|
|
747
|
-
return program
|
|
733
|
+
return getKey(program, property) || property.name;
|
|
748
734
|
}
|
|
749
735
|
export const $withDefaultKeyVisibility = (context, entity, visibility) => {
|
|
750
736
|
const keyProperties = [];
|
|
@@ -792,8 +778,8 @@ export const $deprecated = (context, target, message) => {
|
|
|
792
778
|
export function getDeprecated(program, type) {
|
|
793
779
|
return getDeprecationDetails(program, type)?.message;
|
|
794
780
|
}
|
|
795
|
-
const
|
|
796
|
-
const
|
|
781
|
+
const [getOverloads, setOverloads] = useStateMap("overloadedByKey");
|
|
782
|
+
const [getOverloadedOperation, setOverloadBase] = useStateMap("overloadsOperation");
|
|
797
783
|
/**
|
|
798
784
|
* `@overload` - Indicate that the target overloads (specializes) the overloads type.
|
|
799
785
|
* @param context DecoratorContext
|
|
@@ -815,9 +801,9 @@ export const $overload = (context, target, overloadBase) => {
|
|
|
815
801
|
});
|
|
816
802
|
}
|
|
817
803
|
// Save the information about the overloaded operation
|
|
818
|
-
context.program
|
|
804
|
+
setOverloadBase(context.program, target, overloadBase);
|
|
819
805
|
const existingOverloads = getOverloads(context.program, overloadBase) || new Array();
|
|
820
|
-
context.program
|
|
806
|
+
setOverloads(context.program, overloadBase, existingOverloads.concat(target));
|
|
821
807
|
};
|
|
822
808
|
function areOperationsInSameContainer(op1, op2) {
|
|
823
809
|
return op1.interface || op2.interface
|
|
@@ -838,24 +824,21 @@ function getBaseInterface(int1) {
|
|
|
838
824
|
? int1
|
|
839
825
|
: getBaseInterface(int1.projectionSource);
|
|
840
826
|
}
|
|
841
|
-
|
|
842
|
-
* Get all operations that are marked as overloads of the given operation
|
|
843
|
-
* @param program Program
|
|
844
|
-
* @param operation Operation
|
|
845
|
-
* @returns An array of operations that overload the given operation.
|
|
846
|
-
*/
|
|
847
|
-
export function getOverloads(program, operation) {
|
|
848
|
-
return program.stateMap(overloadedByKey).get(operation);
|
|
849
|
-
}
|
|
827
|
+
export {
|
|
850
828
|
/**
|
|
851
829
|
* If the given operation overloads another operation, return that operation.
|
|
852
830
|
* @param program Program
|
|
853
831
|
* @param operation The operation to check for an overload target.
|
|
854
832
|
* @returns The operation this operation overloads, if any.
|
|
855
833
|
*/
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
834
|
+
getOverloadedOperation,
|
|
835
|
+
/**
|
|
836
|
+
* Get all operations that are marked as overloads of the given operation
|
|
837
|
+
* @param program Program
|
|
838
|
+
* @param operation Operation
|
|
839
|
+
* @returns An array of operations that overload the given operation.
|
|
840
|
+
*/
|
|
841
|
+
getOverloads, };
|
|
859
842
|
const projectedNameKey = createStateSymbol("projectedNameKey");
|
|
860
843
|
/**
|
|
861
844
|
* `@projectedName` - Indicate that this entity should be renamed according to the given projection.
|
|
@@ -924,33 +907,31 @@ export const $discriminator = (context, entity, propertyName) => {
|
|
|
924
907
|
}
|
|
925
908
|
setDiscriminator(context.program, entity, discriminator);
|
|
926
909
|
};
|
|
927
|
-
const
|
|
910
|
+
const [getParameterVisibility, setParameterVisibility] = useStateMap("parameterVisibility");
|
|
928
911
|
export const $parameterVisibility = (context, entity, ...visibilities) => {
|
|
929
912
|
validateDecoratorUniqueOnNode(context, entity, $parameterVisibility);
|
|
930
|
-
context.program
|
|
913
|
+
setParameterVisibility(context.program, entity, visibilities);
|
|
931
914
|
};
|
|
915
|
+
export {
|
|
932
916
|
/**
|
|
933
917
|
* Returns the visibilities of the parameters of the given operation, if provided with `@parameterVisibility`.
|
|
934
918
|
*
|
|
935
919
|
* @see {@link $parameterVisibility}
|
|
936
920
|
*/
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
}
|
|
940
|
-
const returnTypeVisibilityKey = createStateSymbol("returnTypeVisibility");
|
|
921
|
+
getParameterVisibility, };
|
|
922
|
+
const [getReturnTypeVisibility, setReturnTypeVisibility] = useStateMap("returnTypeVisibility");
|
|
941
923
|
export const $returnTypeVisibility = (context, entity, ...visibilities) => {
|
|
942
924
|
validateDecoratorUniqueOnNode(context, entity, $returnTypeVisibility);
|
|
943
|
-
context.program
|
|
925
|
+
setReturnTypeVisibility(context.program, entity, visibilities);
|
|
944
926
|
};
|
|
927
|
+
export {
|
|
945
928
|
/**
|
|
946
929
|
* Returns the visibilities of the return type of the given operation, if provided with `@returnTypeVisibility`.
|
|
947
930
|
*
|
|
948
931
|
* @see {@link $returnTypeVisibility}
|
|
949
932
|
*/
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
}
|
|
953
|
-
const exampleKey = createStateSymbol("examples");
|
|
933
|
+
getReturnTypeVisibility, };
|
|
934
|
+
const [getExamplesState, setExamples] = useStateMap("examples");
|
|
954
935
|
export const $example = (context, target, _example, options) => {
|
|
955
936
|
const decorator = target.decorators.find((d) => d.decorator === $example && d.node === context.decoratorTarget);
|
|
956
937
|
compilerAssert(decorator, `Couldn't find @example decorator`, context.decoratorTarget);
|
|
@@ -961,17 +942,17 @@ export const $example = (context, target, _example, options) => {
|
|
|
961
942
|
return;
|
|
962
943
|
}
|
|
963
944
|
}
|
|
964
|
-
let list = context.program
|
|
945
|
+
let list = getExamplesState(context.program, target);
|
|
965
946
|
if (list === undefined) {
|
|
966
947
|
list = [];
|
|
967
|
-
context.program
|
|
948
|
+
setExamples(context.program, target, list);
|
|
968
949
|
}
|
|
969
950
|
list.push({ value: rawExample, ...options });
|
|
970
951
|
};
|
|
971
952
|
export function getExamples(program, target) {
|
|
972
|
-
return program
|
|
953
|
+
return getExamplesState(program, target) ?? [];
|
|
973
954
|
}
|
|
974
|
-
const
|
|
955
|
+
const [getOpExamplesState, setOpExamples] = useStateMap("opExamples");
|
|
975
956
|
export const $opExample = (context, target, _example, options) => {
|
|
976
957
|
const decorator = target.decorators.find((d) => d.decorator === $opExample && d.node === context.decoratorTarget);
|
|
977
958
|
compilerAssert(decorator, `Couldn't find @opExample decorator`, context.decoratorTarget);
|
|
@@ -989,10 +970,10 @@ export const $opExample = (context, target, _example, options) => {
|
|
|
989
970
|
return;
|
|
990
971
|
}
|
|
991
972
|
}
|
|
992
|
-
let list = context.program
|
|
973
|
+
let list = getOpExamplesState(context.program, target);
|
|
993
974
|
if (list === undefined) {
|
|
994
975
|
list = [];
|
|
995
|
-
context.program
|
|
976
|
+
setOpExamples(context.program, target, list);
|
|
996
977
|
}
|
|
997
978
|
list.push({ parameters, returnType, ...options });
|
|
998
979
|
};
|
|
@@ -1005,6 +986,6 @@ function checkExampleValid(program, value, target, diagnosticTarget) {
|
|
|
1005
986
|
return assignable;
|
|
1006
987
|
}
|
|
1007
988
|
export function getOpExamples(program, target) {
|
|
1008
|
-
return program
|
|
989
|
+
return getOpExamplesState(program, target) ?? [];
|
|
1009
990
|
}
|
|
1010
991
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { reportDiagnostic } from "../core/messages.js";
|
|
2
2
|
import { parseMimeType } from "../core/mime-type.js";
|
|
3
3
|
import { DuplicateTracker } from "../utils/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
const encodedNameKey = createStateSymbol("encodedName");
|
|
4
|
+
import { useStateMap } from "./utils.js";
|
|
5
|
+
const [getEncodedNamesMap, setEncodedNamesMap, getEncodedNamesStateMap] = useStateMap("encodedName");
|
|
8
6
|
export function $encodedName(context, target, mimeType, name) {
|
|
9
|
-
let existing = context.program
|
|
7
|
+
let existing = getEncodedNamesMap(context.program, target);
|
|
10
8
|
if (existing === undefined) {
|
|
11
9
|
existing = new Map();
|
|
12
|
-
context.program
|
|
10
|
+
setEncodedNamesMap(context.program, target, existing);
|
|
13
11
|
}
|
|
14
12
|
const mimeTypeObj = parseMimeType(mimeType);
|
|
15
13
|
if (mimeTypeObj === undefined) {
|
|
@@ -36,7 +34,7 @@ function getEncodedName(program, target, mimeType) {
|
|
|
36
34
|
const resolvedMimeType = mimeTypeObj?.suffix
|
|
37
35
|
? `${mimeTypeObj.type}/${mimeTypeObj.suffix}`
|
|
38
36
|
: mimeType;
|
|
39
|
-
return program
|
|
37
|
+
return getEncodedNamesMap(program, target)?.get(resolvedMimeType);
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
42
40
|
* Resolve the encoded name for the given type when serialized to the given mime type.
|
|
@@ -83,7 +81,7 @@ export function validateEncodedNamesConflicts(program) {
|
|
|
83
81
|
}
|
|
84
82
|
return tracker;
|
|
85
83
|
}
|
|
86
|
-
for (const [target, map] of program
|
|
84
|
+
for (const [target, map] of getEncodedNamesStateMap(program).entries()) {
|
|
87
85
|
const scope = getScope(target);
|
|
88
86
|
if (scope === undefined) {
|
|
89
87
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoded-names.js","sourceRoot":"","sources":["../../../src/lib/encoded-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"encoded-names.js","sourceRoot":"","sources":["../../../src/lib/encoded-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,GAAG,WAAW,CAGnF,aAAa,CAAC,CAAC;AAEjB,MAAM,UAAU,YAAY,CAC1B,OAAyB,EACzB,MAAY,EACZ,QAAgB,EAChB,IAAY;IAEZ,IAAI,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,EAAE,QAAQ,EAAE;YACpB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;SACtC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAC9B,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE;YAChD,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;SACtC,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,MAAY,EAAE,QAAgB;IACtE,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GAAG,WAAW,EAAE,MAAM;QAC1C,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE;QAC7C,CAAC,CAAC,QAAQ,CAAC;IACb,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,MAA+B,EAC/B,QAAgB;IAEhB,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoD,CAAC;IAEtF,SAAS,2BAA2B,CAAC,IAAU,EAAE,QAAgB;QAC/D,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACjC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7E,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,KAAK,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,uBAAuB;wBAC7B,SAAS,EAAE,WAAW;wBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE;wBACzC,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAMD,SAAS,QAAQ,CAAC,IAAU;IAC1B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9E,KAAK,YAAY;YACf,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3D,KAAK,cAAc;YACjB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9D;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -9,19 +9,21 @@ export interface ServiceDetails {
|
|
|
9
9
|
export interface Service extends ServiceDetails {
|
|
10
10
|
type: Namespace;
|
|
11
11
|
}
|
|
12
|
+
declare const getService: (program: Program, type: Namespace) => Service | undefined;
|
|
12
13
|
/**
|
|
13
14
|
* List all the services defined in the TypeSpec program
|
|
14
15
|
* @param program Program
|
|
15
16
|
* @returns List of service.
|
|
16
17
|
*/
|
|
17
18
|
export declare function listServices(program: Program): Service[];
|
|
19
|
+
export {
|
|
18
20
|
/**
|
|
19
21
|
* Get the service information for the given namespace.
|
|
20
22
|
* @param program Program
|
|
21
23
|
* @param namespace Service namespace
|
|
22
24
|
* @returns Service information or undefined if namespace is not a service namespace.
|
|
23
25
|
*/
|
|
24
|
-
|
|
26
|
+
getService, };
|
|
25
27
|
/**
|
|
26
28
|
* Check if the namespace is defined as a service.
|
|
27
29
|
* @param program Program
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/D,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6NAA6N;IAC7N,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,QAAA,MAAO,UAAU,4DAEhB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAExD;AAED,OAAO;AACL;;;;;GAKG;AACH,UAAU,GACX,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAIN;AAED,eAAO,MAAM,QAAQ,EAAE,gBAiDtB,CAAC"}
|
package/dist/src/lib/service.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { validateDecoratorUniqueOnNode } from "../core/decorator-utils.js";
|
|
2
2
|
import { getTypeName, reportDeprecated } from "../core/index.js";
|
|
3
3
|
import { reportDiagnostic } from "../core/messages.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return program.stateMap(serviceDetailsKey);
|
|
7
|
-
}
|
|
4
|
+
import { useStateMap } from "./utils.js";
|
|
5
|
+
const [getService, setService, getServiceMap] = useStateMap("@typespec/compiler.services");
|
|
8
6
|
/**
|
|
9
7
|
* List all the services defined in the TypeSpec program
|
|
10
8
|
* @param program Program
|
|
@@ -13,15 +11,14 @@ function getServiceMap(program) {
|
|
|
13
11
|
export function listServices(program) {
|
|
14
12
|
return [...getServiceMap(program).values()];
|
|
15
13
|
}
|
|
14
|
+
export {
|
|
16
15
|
/**
|
|
17
16
|
* Get the service information for the given namespace.
|
|
18
17
|
* @param program Program
|
|
19
18
|
* @param namespace Service namespace
|
|
20
19
|
* @returns Service information or undefined if namespace is not a service namespace.
|
|
21
20
|
*/
|
|
22
|
-
|
|
23
|
-
return getServiceMap(program).get(namespace);
|
|
24
|
-
}
|
|
21
|
+
getService, };
|
|
25
22
|
/**
|
|
26
23
|
* Check if the namespace is defined as a service.
|
|
27
24
|
* @param program Program
|
|
@@ -40,7 +37,7 @@ export function isService(program, namespace) {
|
|
|
40
37
|
export function addService(program, namespace, details = {}) {
|
|
41
38
|
const serviceMap = getServiceMap(program);
|
|
42
39
|
const existing = serviceMap.get(namespace) ?? {};
|
|
43
|
-
|
|
40
|
+
setService(program, namespace, { ...existing, ...details, type: namespace });
|
|
44
41
|
}
|
|
45
42
|
export const $service = (context, target, options) => {
|
|
46
43
|
validateDecoratorUniqueOnNode(context, target, $service);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAQ,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Type } from "../core/types.js";
|
|
2
|
+
export declare function useStateMap<K extends Type, V>(key: string): [(program: import("../index.js").Program, type: K) => V | undefined, (program: import("../index.js").Program, type: K, value: V) => void, (program: import("../index.js").Program) => Map<K, V>];
|
|
3
|
+
export declare function useStateSet<K extends Type>(key: string): [(program: import("../index.js").Program, type: K) => boolean, (program: import("../index.js").Program, type: K) => void];
|
|
4
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,wBAAgB,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,oMAEzD;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,GAAG,EAAE,MAAM,6HAEtD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { unsafe_useStateMap, unsafe_useStateSet } from "../experimental/state-accessor.js";
|
|
2
|
+
function createStateSymbol(name) {
|
|
3
|
+
return Symbol.for(`TypeSpec.${name}`);
|
|
4
|
+
}
|
|
5
|
+
export function useStateMap(key) {
|
|
6
|
+
return unsafe_useStateMap(createStateSymbol(key));
|
|
7
|
+
}
|
|
8
|
+
export function useStateSet(key) {
|
|
9
|
+
return unsafe_useStateSet(createStateSymbol(key));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,WAAW,CAAoB,GAAW;IACxD,OAAO,kBAAkB,CAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAiB,GAAW;IACrD,OAAO,kBAAkB,CAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/compiler",
|
|
3
|
-
"version": "0.61.0-dev.
|
|
3
|
+
"version": "0.61.0-dev.4",
|
|
4
4
|
"description": "TypeSpec Compiler Preview",
|
|
5
5
|
"author": "Microsoft Corporation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,6 +40,10 @@
|
|
|
40
40
|
"./emitter-framework": {
|
|
41
41
|
"types": "./dist/src/emitter-framework/index.d.ts",
|
|
42
42
|
"default": "./dist/src/emitter-framework/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./experimental": {
|
|
45
|
+
"types": "./dist/src/experimental/index.d.ts",
|
|
46
|
+
"default": "./dist/src/experimental/index.js"
|
|
43
47
|
}
|
|
44
48
|
},
|
|
45
49
|
"browser": {
|