@typespec/openapi3 0.49.0-dev.9 → 0.50.0-dev.0
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/README.md +1 -1
- package/dist/src/decorators.d.ts +1 -1
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +7 -1
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/lib.d.ts +35 -9
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +13 -2
- package/dist/src/lib.js.map +1 -1
- package/dist/src/openapi.d.ts.map +1 -1
- package/dist/src/openapi.js +151 -100
- package/dist/src/openapi.js.map +1 -1
- package/dist/src/types.d.ts +3 -2
- package/dist/src/types.d.ts.map +1 -1
- package/lib/decorators.tsp +1 -1
- package/package.json +18 -18
package/README.md
CHANGED
package/dist/src/decorators.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DecoratorContext, Model, ModelProperty, Program, Type, Union } from "@typespec/compiler";
|
|
2
2
|
export declare function $useRef(context: DecoratorContext, entity: Model | ModelProperty, refUrl: string): void;
|
|
3
3
|
export declare function getRef(program: Program, entity: Type): string | undefined;
|
|
4
|
-
export declare function $oneOf(context: DecoratorContext, entity: Union): void;
|
|
4
|
+
export declare function $oneOf(context: DecoratorContext, entity: Union | ModelProperty): void;
|
|
5
5
|
export declare function getOneOf(program: Program, entity: Type): boolean;
|
|
6
6
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIlG,wBAAgB,OAAO,CACrB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,MAAM,EAAE,MAAM,GACb,IAAI,CAEN;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEzE;AAGD,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIlG,wBAAgB,OAAO,CACrB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,MAAM,EAAE,MAAM,GACb,IAAI,CAEN;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEzE;AAGD,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,GAAG,aAAa,QAQ9E;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAEhE"}
|
package/dist/src/decorators.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createStateSymbol } from "./lib.js";
|
|
1
|
+
import { createStateSymbol, reportDiagnostic } from "./lib.js";
|
|
2
2
|
const refTargetsKey = createStateSymbol("refs");
|
|
3
3
|
export function $useRef(context, entity, refUrl) {
|
|
4
4
|
context.program.stateMap(refTargetsKey).set(entity, refUrl);
|
|
@@ -8,6 +8,12 @@ export function getRef(program, entity) {
|
|
|
8
8
|
}
|
|
9
9
|
const oneOfKey = createStateSymbol("oneOf");
|
|
10
10
|
export function $oneOf(context, entity) {
|
|
11
|
+
if (entity.kind === "ModelProperty" && entity.type.kind !== "Union") {
|
|
12
|
+
reportDiagnostic(context.program, {
|
|
13
|
+
code: "oneof-union",
|
|
14
|
+
target: context.decoratorTarget,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
11
17
|
context.program.stateMap(oneOfKey).set(entity, true);
|
|
12
18
|
}
|
|
13
19
|
export function getOneOf(program, entity) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,UAAU,OAAO,CACrB,OAAyB,EACzB,MAA6B,EAC7B,MAAc;IAEd,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAY;IACnD,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC5C,MAAM,UAAU,MAAM,CAAC,OAAyB,EAAE,MAA6B;IAC7E,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACnE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAY;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -52,6 +52,12 @@ export interface OpenAPI3EmitterOptions {
|
|
|
52
52
|
export declare const libDef: {
|
|
53
53
|
readonly name: "@typespec/openapi3";
|
|
54
54
|
readonly diagnostics: {
|
|
55
|
+
readonly "oneof-union": {
|
|
56
|
+
readonly severity: "error";
|
|
57
|
+
readonly messages: {
|
|
58
|
+
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
55
61
|
readonly "inconsistent-shared-route-request-visibility": {
|
|
56
62
|
readonly severity: "error";
|
|
57
63
|
readonly messages: {
|
|
@@ -67,8 +73,7 @@ export declare const libDef: {
|
|
|
67
73
|
readonly "invalid-format": {
|
|
68
74
|
readonly severity: "warning";
|
|
69
75
|
readonly messages: {
|
|
70
|
-
readonly
|
|
71
|
-
readonly formHeader: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
76
|
+
readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
|
|
72
77
|
};
|
|
73
78
|
};
|
|
74
79
|
readonly "resource-namespace": {
|
|
@@ -143,12 +148,21 @@ export declare const libDef: {
|
|
|
143
148
|
readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
|
|
144
149
|
};
|
|
145
150
|
};
|
|
151
|
+
readonly "unsupported-status-code-range": {
|
|
152
|
+
readonly severity: "error";
|
|
153
|
+
readonly messages: {
|
|
154
|
+
readonly default: import("@typespec/compiler").CallableMessage<["start", "end"]>;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
146
157
|
};
|
|
147
158
|
readonly emitter: {
|
|
148
159
|
readonly options: JSONSchemaType<OpenAPI3EmitterOptions>;
|
|
149
160
|
};
|
|
150
161
|
};
|
|
151
162
|
export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
163
|
+
"oneof-union": {
|
|
164
|
+
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
165
|
+
};
|
|
152
166
|
"inconsistent-shared-route-request-visibility": {
|
|
153
167
|
readonly default: "All operations with `@sharedRoutes` must have the same `@requestVisibility`.";
|
|
154
168
|
};
|
|
@@ -156,8 +170,7 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
156
170
|
readonly default: import("@typespec/compiler").CallableMessage<["propName"]>;
|
|
157
171
|
};
|
|
158
172
|
"invalid-format": {
|
|
159
|
-
readonly
|
|
160
|
-
readonly formHeader: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
173
|
+
readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
|
|
161
174
|
};
|
|
162
175
|
"resource-namespace": {
|
|
163
176
|
readonly default: "Resource goes on namespace";
|
|
@@ -195,8 +208,14 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
195
208
|
"inline-cycle": {
|
|
196
209
|
readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
|
|
197
210
|
};
|
|
211
|
+
"unsupported-status-code-range": {
|
|
212
|
+
readonly default: import("@typespec/compiler").CallableMessage<["start", "end"]>;
|
|
213
|
+
};
|
|
198
214
|
}, OpenAPI3EmitterOptions>;
|
|
199
|
-
export declare const reportDiagnostic: <C extends "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "resource-namespace" | "path-query" | "duplicate-body" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "invalid-default" | "inline-cycle", M extends keyof {
|
|
215
|
+
export declare const reportDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "resource-namespace" | "path-query" | "duplicate-body" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "invalid-default" | "inline-cycle" | "unsupported-status-code-range", M extends keyof {
|
|
216
|
+
"oneof-union": {
|
|
217
|
+
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
218
|
+
};
|
|
200
219
|
"inconsistent-shared-route-request-visibility": {
|
|
201
220
|
readonly default: "All operations with `@sharedRoutes` must have the same `@requestVisibility`.";
|
|
202
221
|
};
|
|
@@ -204,8 +223,7 @@ export declare const reportDiagnostic: <C extends "inconsistent-shared-route-req
|
|
|
204
223
|
readonly default: import("@typespec/compiler").CallableMessage<["propName"]>;
|
|
205
224
|
};
|
|
206
225
|
"invalid-format": {
|
|
207
|
-
readonly
|
|
208
|
-
readonly formHeader: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
226
|
+
readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
|
|
209
227
|
};
|
|
210
228
|
"resource-namespace": {
|
|
211
229
|
readonly default: "Resource goes on namespace";
|
|
@@ -243,7 +261,13 @@ export declare const reportDiagnostic: <C extends "inconsistent-shared-route-req
|
|
|
243
261
|
"inline-cycle": {
|
|
244
262
|
readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
|
|
245
263
|
};
|
|
264
|
+
"unsupported-status-code-range": {
|
|
265
|
+
readonly default: import("@typespec/compiler").CallableMessage<["start", "end"]>;
|
|
266
|
+
};
|
|
246
267
|
}[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
|
|
268
|
+
"oneof-union": {
|
|
269
|
+
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
270
|
+
};
|
|
247
271
|
"inconsistent-shared-route-request-visibility": {
|
|
248
272
|
readonly default: "All operations with `@sharedRoutes` must have the same `@requestVisibility`.";
|
|
249
273
|
};
|
|
@@ -251,8 +275,7 @@ export declare const reportDiagnostic: <C extends "inconsistent-shared-route-req
|
|
|
251
275
|
readonly default: import("@typespec/compiler").CallableMessage<["propName"]>;
|
|
252
276
|
};
|
|
253
277
|
"invalid-format": {
|
|
254
|
-
readonly
|
|
255
|
-
readonly formHeader: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
278
|
+
readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
|
|
256
279
|
};
|
|
257
280
|
"resource-namespace": {
|
|
258
281
|
readonly default: "Resource goes on namespace";
|
|
@@ -290,6 +313,9 @@ export declare const reportDiagnostic: <C extends "inconsistent-shared-route-req
|
|
|
290
313
|
"inline-cycle": {
|
|
291
314
|
readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
|
|
292
315
|
};
|
|
316
|
+
"unsupported-status-code-range": {
|
|
317
|
+
readonly default: import("@typespec/compiler").CallableMessage<["start", "end"]>;
|
|
318
|
+
};
|
|
293
319
|
}, C, M>) => void, createStateSymbol: (name: string) => symbol;
|
|
294
320
|
export type OpenAPILibrary = typeof $lib;
|
|
295
321
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAEzF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IAEH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;CACrD;AAmED,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAEzF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IAEH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;CACrD;AAmED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,0BAAS,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -63,6 +63,12 @@ const EmitterOptionsSchema = {
|
|
|
63
63
|
export const libDef = {
|
|
64
64
|
name: "@typespec/openapi3",
|
|
65
65
|
diagnostics: {
|
|
66
|
+
"oneof-union": {
|
|
67
|
+
severity: "error",
|
|
68
|
+
messages: {
|
|
69
|
+
default: "@oneOf decorator can only be used on a union or a model property which type is a union.",
|
|
70
|
+
},
|
|
71
|
+
},
|
|
66
72
|
"inconsistent-shared-route-request-visibility": {
|
|
67
73
|
severity: "error",
|
|
68
74
|
messages: {
|
|
@@ -78,8 +84,7 @@ export const libDef = {
|
|
|
78
84
|
"invalid-format": {
|
|
79
85
|
severity: "warning",
|
|
80
86
|
messages: {
|
|
81
|
-
|
|
82
|
-
formHeader: paramMessage `Collection format '${"value"}' is not supported in OpenAPI3 headers. Defaulting to type 'string'.`,
|
|
87
|
+
default: paramMessage `Collection format '${"value"}' is not supported in OpenAPI3 ${"paramType"} parameters. Defaulting to type 'string'.`,
|
|
83
88
|
},
|
|
84
89
|
},
|
|
85
90
|
"resource-namespace": {
|
|
@@ -154,6 +159,12 @@ export const libDef = {
|
|
|
154
159
|
default: paramMessage `Cycle detected in '${"type"}'. Use @friendlyName decorator to assign an OpenAPI definition name and make it non-inline.`,
|
|
155
160
|
},
|
|
156
161
|
},
|
|
162
|
+
"unsupported-status-code-range": {
|
|
163
|
+
severity: "error",
|
|
164
|
+
messages: {
|
|
165
|
+
default: paramMessage `Status code range '${"start"} to '${"end"}' is not supported. OpenAPI 3.0 can only represent range 1XX, 2XX, 3XX, 4XX and 5XX. Example: \`@minValue(400) @maxValue(499)\` for 4XX.`,
|
|
166
|
+
},
|
|
167
|
+
},
|
|
157
168
|
},
|
|
158
169
|
emitter: {
|
|
159
170
|
options: EmitterOptionsSchema,
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA0DzF,MAAM,oBAAoB,GAA2C;IACnE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,8HAA8H;SACjI;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;gBACX,0BAA0B;gBAC1B,qDAAqD;gBACrD,mDAAmD;gBACnD,iDAAiD;gBACjD,EAAE;gBACF,yFAAyF;gBACzF,EAAE;gBACF,uCAAuC;gBACvC,oBAAoB;gBACpB,EAAE;gBACF,0CAA0C;gBAC1C,kCAAkC;gBAClC,kCAAkC;gBAClC,EAAE;gBACF,yCAAyC;gBACzC,uBAAuB;gBACvB,uBAAuB;gBACvB,EAAE;gBACF,2CAA2C;gBAC3C,qCAAqC;gBACrC,qCAAqC;gBACrC,uCAAuC;gBACvC,2CAA2C;aAC5C,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,+CAA+C;SAC7D;QACD,wBAAwB,EAAE;YACxB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,+KAA+K;SAClL;QACD,yBAAyB,EAAE;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;YAC9B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,OAAO;YAChB,WAAW,EACT,0MAA0M;SAC7M;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE;QACX,8CAA8C,EAAE;YAC9C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8EAA8E;aACxF;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,oBAAoB,UAAU,mGAAmG;aACvJ;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,WAAW,EA0CX,OAAO,EAeR,MAAM,oBAAoB,CAAC;AA6C5B,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAoB,MAAM,UAAU,CAAC;AAwB9E,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,iBAIzE;AAgBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAC3C,8BAA8B,CAehC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oBAAoB,EAAE,aAAa,GAAG,OAAO,CAAC;CAC/C"}
|
package/dist/src/openapi.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { compilerAssert, emitFile, getAllTags, getAnyExtensionFromPath, getDiscriminatedUnion, getDiscriminator, getDoc, getEncode, getFormat, getKnownValues, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getNamespaceFullName, getPattern,
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { checkDuplicateTypeName, getExtensions, getExternalDocs, getInfo, getOpenAPITypeName, getParameterKey, isReadonlyProperty, resolveOperationId, shouldInline, } from "@typespec/openapi";
|
|
1
|
+
import { compilerAssert, emitFile, getAllTags, getAnyExtensionFromPath, getDiscriminatedUnion, getDiscriminator, getDoc, getEncode, getFormat, getKnownValues, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getNamespaceFullName, getPattern, getService, getSummary, ignoreDiagnostics, interpolatePath, isArrayModelType, isDeprecated, isErrorType, isGlobalNamespace, isNeverType, isNullType, isRecordModelType, isSecret, isTemplateDeclaration, listServices, navigateTypesInNamespace, projectProgram, resolvePath, TwoLevelMap, } from "@typespec/compiler";
|
|
2
|
+
import { createMetadataInfo, getAuthentication, getHttpService, getServers, getStatusCodeDescription, getVisibilitySuffix, isContentTypeHeader, isOverloadSameEndpoint, reportIfNoRoutes, resolveRequestVisibility, Visibility, } from "@typespec/http";
|
|
3
|
+
import { checkDuplicateTypeName, getExtensions, getExternalDocs, getInfo, getOpenAPITypeName, getParameterKey, isDefaultResponse, isReadonlyProperty, resolveOperationId, shouldInline, } from "@typespec/openapi";
|
|
5
4
|
import { buildVersionProjections } from "@typespec/versioning";
|
|
6
5
|
import { stringify } from "yaml";
|
|
7
6
|
import { getOneOf, getRef } from "./decorators.js";
|
|
@@ -111,7 +110,7 @@ function createOAPIEmitter(program, options) {
|
|
|
111
110
|
securitySchemes: (_c = auth === null || auth === void 0 ? void 0 : auth.securitySchemes) !== null && _c !== void 0 ? _c : {},
|
|
112
111
|
},
|
|
113
112
|
};
|
|
114
|
-
const servers =
|
|
113
|
+
const servers = getServers(program, service.type);
|
|
115
114
|
if (servers) {
|
|
116
115
|
root.servers = resolveServers(servers);
|
|
117
116
|
}
|
|
@@ -222,13 +221,11 @@ function createOAPIEmitter(program, options) {
|
|
|
222
221
|
/**
|
|
223
222
|
* Validates that common responses are consistent and returns the minimal set that describes the differences.
|
|
224
223
|
*/
|
|
225
|
-
function validateCommonResponses(ops
|
|
224
|
+
function validateCommonResponses(ops) {
|
|
226
225
|
const statusCodeResponses = [];
|
|
227
226
|
for (const op of ops) {
|
|
228
227
|
for (const response of op.responses) {
|
|
229
|
-
|
|
230
|
-
statusCodeResponses.push(response);
|
|
231
|
-
}
|
|
228
|
+
statusCodeResponses.push(response);
|
|
232
229
|
}
|
|
233
230
|
}
|
|
234
231
|
const ref = statusCodeResponses[0];
|
|
@@ -292,6 +289,53 @@ function createOAPIEmitter(program, options) {
|
|
|
292
289
|
}
|
|
293
290
|
return finalParams;
|
|
294
291
|
}
|
|
292
|
+
function getOpenAPI3StatusCodes(statusCodes, response) {
|
|
293
|
+
if (isDefaultResponse(program, response) || statusCodes === "*") {
|
|
294
|
+
return ["default"];
|
|
295
|
+
}
|
|
296
|
+
else if (typeof statusCodes === "number") {
|
|
297
|
+
return [String(statusCodes)];
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
return rangeToOpenAPI(statusCodes, response);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
function rangeToOpenAPI(range, diagnosticTarget) {
|
|
304
|
+
const reportInvalid = () => reportDiagnostic(program, {
|
|
305
|
+
code: "unsupported-status-code-range",
|
|
306
|
+
format: { start: String(range.start), end: String(range.end) },
|
|
307
|
+
target: diagnosticTarget,
|
|
308
|
+
});
|
|
309
|
+
const codes = [];
|
|
310
|
+
let start = range.start;
|
|
311
|
+
let end = range.end;
|
|
312
|
+
if (range.start < 100) {
|
|
313
|
+
reportInvalid();
|
|
314
|
+
start = 100;
|
|
315
|
+
codes.push("default");
|
|
316
|
+
}
|
|
317
|
+
else if (range.end > 599) {
|
|
318
|
+
reportInvalid();
|
|
319
|
+
codes.push("default");
|
|
320
|
+
end = 599;
|
|
321
|
+
}
|
|
322
|
+
const groups = [1, 2, 3, 4, 5];
|
|
323
|
+
for (const group of groups) {
|
|
324
|
+
if (start > end) {
|
|
325
|
+
break;
|
|
326
|
+
}
|
|
327
|
+
const groupStart = group * 100;
|
|
328
|
+
const groupEnd = groupStart + 99;
|
|
329
|
+
if (start >= groupStart && start <= groupEnd) {
|
|
330
|
+
codes.push(`${group}XX`);
|
|
331
|
+
if (start !== groupStart || end < groupEnd) {
|
|
332
|
+
reportInvalid();
|
|
333
|
+
}
|
|
334
|
+
start = groupStart + 100;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
return codes;
|
|
338
|
+
}
|
|
295
339
|
function buildSharedOperations(operations) {
|
|
296
340
|
const results = [];
|
|
297
341
|
const paramMap = new Map();
|
|
@@ -308,11 +352,14 @@ function createOAPIEmitter(program, options) {
|
|
|
308
352
|
}
|
|
309
353
|
// determine which responses are shared by shared route operations
|
|
310
354
|
for (const response of op.responses) {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
355
|
+
const statusCodes = getOpenAPI3StatusCodes(response.statusCodes, op.operation);
|
|
356
|
+
for (const statusCode of statusCodes) {
|
|
357
|
+
if (responseMap.has(statusCode)) {
|
|
358
|
+
responseMap.get(statusCode).push(op);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
responseMap.set(statusCode, [op]);
|
|
362
|
+
}
|
|
316
363
|
}
|
|
317
364
|
}
|
|
318
365
|
}
|
|
@@ -337,7 +384,7 @@ function createOAPIEmitter(program, options) {
|
|
|
337
384
|
}
|
|
338
385
|
shared.bodies = validateCommonBodies(operations);
|
|
339
386
|
for (const [statusCode, ops] of responseMap) {
|
|
340
|
-
shared.responses.set(statusCode, validateCommonResponses(ops
|
|
387
|
+
shared.responses.set(statusCode, validateCommonResponses(ops));
|
|
341
388
|
}
|
|
342
389
|
results.push(shared);
|
|
343
390
|
return results;
|
|
@@ -464,7 +511,7 @@ function createOAPIEmitter(program, options) {
|
|
|
464
511
|
// Error out if shared routes do not have consistent `@parameterVisibility`. We can
|
|
465
512
|
// lift this restriction in the future if a use case develops.
|
|
466
513
|
const visibilities = shared.operations.map((op) => {
|
|
467
|
-
return
|
|
514
|
+
return resolveRequestVisibility(program, op, verb);
|
|
468
515
|
});
|
|
469
516
|
if (visibilities.some((v) => v !== visibilities[0])) {
|
|
470
517
|
reportDiagnostic(program, {
|
|
@@ -472,7 +519,7 @@ function createOAPIEmitter(program, options) {
|
|
|
472
519
|
target: ops[0],
|
|
473
520
|
});
|
|
474
521
|
}
|
|
475
|
-
const visibility =
|
|
522
|
+
const visibility = resolveRequestVisibility(program, shared.operations[0], verb);
|
|
476
523
|
emitEndpointParameters(shared.parameters.parameters, visibility);
|
|
477
524
|
if (shared.bodies) {
|
|
478
525
|
if (shared.bodies.length === 1) {
|
|
@@ -520,7 +567,7 @@ function createOAPIEmitter(program, options) {
|
|
|
520
567
|
currentEndpoint.description = getDoc(program, operation.operation);
|
|
521
568
|
currentEndpoint.parameters = [];
|
|
522
569
|
currentEndpoint.responses = {};
|
|
523
|
-
const visibility =
|
|
570
|
+
const visibility = resolveRequestVisibility(program, operation.operation, verb);
|
|
524
571
|
emitEndpointParameters(parameters.parameters, visibility);
|
|
525
572
|
emitRequestBody(parameters.body, visibility);
|
|
526
573
|
emitResponses(operation.responses);
|
|
@@ -530,18 +577,20 @@ function createOAPIEmitter(program, options) {
|
|
|
530
577
|
attachExtensions(program, op, currentEndpoint);
|
|
531
578
|
}
|
|
532
579
|
function emitSharedResponses(responses) {
|
|
533
|
-
for (const [
|
|
580
|
+
for (const [statusCode, statusCodeResponses] of responses) {
|
|
534
581
|
if (statusCodeResponses.length === 1) {
|
|
535
|
-
emitResponseObject(statusCodeResponses[0]);
|
|
582
|
+
emitResponseObject(statusCode, statusCodeResponses[0]);
|
|
536
583
|
}
|
|
537
584
|
else {
|
|
538
|
-
emitMergedResponseObject(statusCodeResponses);
|
|
585
|
+
emitMergedResponseObject(statusCode, statusCodeResponses);
|
|
539
586
|
}
|
|
540
587
|
}
|
|
541
588
|
}
|
|
542
589
|
function emitResponses(responses) {
|
|
543
590
|
for (const response of responses) {
|
|
544
|
-
|
|
591
|
+
for (const statusCode of getOpenAPI3StatusCodes(response.statusCodes, response.type)) {
|
|
592
|
+
emitResponseObject(statusCode, response);
|
|
593
|
+
}
|
|
545
594
|
}
|
|
546
595
|
}
|
|
547
596
|
function isBinaryPayload(body, contentType) {
|
|
@@ -550,20 +599,10 @@ function createOAPIEmitter(program, options) {
|
|
|
550
599
|
contentType !== "application/json" &&
|
|
551
600
|
contentType !== "text/plain");
|
|
552
601
|
}
|
|
553
|
-
function
|
|
554
|
-
switch (response.statusCode) {
|
|
555
|
-
case "*":
|
|
556
|
-
return "default";
|
|
557
|
-
default:
|
|
558
|
-
return response.statusCode;
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
function emitMergedResponseObject(responses) {
|
|
562
|
-
const statusCode = getOpenAPIStatuscode(responses[0]);
|
|
602
|
+
function emitMergedResponseObject(statusCode, responses) {
|
|
563
603
|
const openApiResponse = {
|
|
564
604
|
description: undefined,
|
|
565
605
|
content: {},
|
|
566
|
-
statusCode: statusCode,
|
|
567
606
|
};
|
|
568
607
|
const schemaMap = new Map();
|
|
569
608
|
for (const response of responses) {
|
|
@@ -580,9 +619,8 @@ function createOAPIEmitter(program, options) {
|
|
|
580
619
|
currentEndpoint.responses[statusCode] = openApiResponse;
|
|
581
620
|
}
|
|
582
621
|
}
|
|
583
|
-
function emitResponseObject(response) {
|
|
622
|
+
function emitResponseObject(statusCode, response) {
|
|
584
623
|
var _a, _b;
|
|
585
|
-
const statusCode = getOpenAPIStatuscode(response);
|
|
586
624
|
const openApiResponse = (_a = currentEndpoint.responses[statusCode]) !== null && _a !== void 0 ? _a : {
|
|
587
625
|
description: (_b = response.description) !== null && _b !== void 0 ? _b : getResponseDescriptionForStatusCode(statusCode),
|
|
588
626
|
};
|
|
@@ -885,62 +923,75 @@ function createOAPIEmitter(program, options) {
|
|
|
885
923
|
return param;
|
|
886
924
|
}
|
|
887
925
|
function populateParameter(ph, parameter, visibility) {
|
|
888
|
-
let defaultToString = false;
|
|
889
926
|
ph.name = parameter.name;
|
|
890
927
|
ph.in = parameter.type;
|
|
891
|
-
if (parameter.type === "query" || parameter.type === "header") {
|
|
892
|
-
if (parameter.format === "csv" || parameter.format === "simple") {
|
|
893
|
-
if (parameter.type === "query") {
|
|
894
|
-
ph.style = "form";
|
|
895
|
-
ph.explode = false;
|
|
896
|
-
}
|
|
897
|
-
else {
|
|
898
|
-
ph.style = "simple";
|
|
899
|
-
}
|
|
900
|
-
}
|
|
901
|
-
else if (parameter.format === "multi" || parameter.format === "form") {
|
|
902
|
-
if (parameter.type === "header") {
|
|
903
|
-
reportDiagnostic(program, {
|
|
904
|
-
code: "invalid-format",
|
|
905
|
-
messageId: "formHeader",
|
|
906
|
-
format: {
|
|
907
|
-
value: parameter.format,
|
|
908
|
-
},
|
|
909
|
-
target: parameter.param,
|
|
910
|
-
});
|
|
911
|
-
defaultToString = true;
|
|
912
|
-
}
|
|
913
|
-
ph.style = "form";
|
|
914
|
-
ph.explode = true;
|
|
915
|
-
}
|
|
916
|
-
else if (parameter.format === "ssv") {
|
|
917
|
-
ph.style = "spaceDelimited";
|
|
918
|
-
ph.explode = false;
|
|
919
|
-
}
|
|
920
|
-
else if (parameter.format === "tsv") {
|
|
921
|
-
reportDiagnostic(program, {
|
|
922
|
-
code: "invalid-format",
|
|
923
|
-
messageId: "tsv",
|
|
924
|
-
target: parameter.param,
|
|
925
|
-
});
|
|
926
|
-
defaultToString = true;
|
|
927
|
-
}
|
|
928
|
-
else if (parameter.format === "pipes") {
|
|
929
|
-
ph.style = "pipeDelimited";
|
|
930
|
-
ph.explode = false;
|
|
931
|
-
}
|
|
932
|
-
}
|
|
933
928
|
const paramBase = getOpenAPIParameterBase(parameter.param, visibility);
|
|
934
929
|
if (paramBase) {
|
|
935
930
|
ph = mergeOpenApiParameters(ph, paramBase);
|
|
936
931
|
}
|
|
937
|
-
|
|
938
|
-
if (
|
|
932
|
+
const format = mapParameterFormat(parameter);
|
|
933
|
+
if (format === undefined) {
|
|
939
934
|
ph.schema = {
|
|
940
935
|
type: "string",
|
|
941
936
|
};
|
|
942
|
-
|
|
943
|
-
|
|
937
|
+
}
|
|
938
|
+
else {
|
|
939
|
+
Object.assign(ph, format);
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
function mapParameterFormat(parameter) {
|
|
943
|
+
switch (parameter.type) {
|
|
944
|
+
case "header":
|
|
945
|
+
return mapHeaderParameterFormat(parameter);
|
|
946
|
+
case "query":
|
|
947
|
+
return mapQueryParameterFormat(parameter);
|
|
948
|
+
case "path":
|
|
949
|
+
return {};
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
function mapHeaderParameterFormat(parameter) {
|
|
953
|
+
switch (parameter.format) {
|
|
954
|
+
case undefined:
|
|
955
|
+
return {};
|
|
956
|
+
case "csv":
|
|
957
|
+
case "simple":
|
|
958
|
+
return { style: "simple" };
|
|
959
|
+
default:
|
|
960
|
+
reportDiagnostic(program, {
|
|
961
|
+
code: "invalid-format",
|
|
962
|
+
format: {
|
|
963
|
+
paramType: "header",
|
|
964
|
+
value: parameter.format,
|
|
965
|
+
},
|
|
966
|
+
target: parameter.param,
|
|
967
|
+
});
|
|
968
|
+
return undefined;
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
function mapQueryParameterFormat(parameter) {
|
|
972
|
+
switch (parameter.format) {
|
|
973
|
+
case undefined:
|
|
974
|
+
return {};
|
|
975
|
+
case "csv":
|
|
976
|
+
case "simple":
|
|
977
|
+
return { style: "form", explode: false };
|
|
978
|
+
case "multi":
|
|
979
|
+
case "form":
|
|
980
|
+
return { style: "form", explode: true };
|
|
981
|
+
case "ssv":
|
|
982
|
+
return { style: "spaceDelimited", explode: false };
|
|
983
|
+
case "pipes":
|
|
984
|
+
return { style: "pipeDelimited", explode: false };
|
|
985
|
+
default:
|
|
986
|
+
reportDiagnostic(program, {
|
|
987
|
+
code: "invalid-format",
|
|
988
|
+
format: {
|
|
989
|
+
paramType: "query",
|
|
990
|
+
value: parameter.format,
|
|
991
|
+
},
|
|
992
|
+
target: parameter.param,
|
|
993
|
+
});
|
|
994
|
+
return undefined;
|
|
944
995
|
}
|
|
945
996
|
}
|
|
946
997
|
function emitParameters() {
|
|
@@ -1177,7 +1228,7 @@ function createOAPIEmitter(program, options) {
|
|
|
1177
1228
|
schema.discriminator.mapping = getDiscriminatorMapping(discriminatedUnion, visibility);
|
|
1178
1229
|
}
|
|
1179
1230
|
}
|
|
1180
|
-
return schema;
|
|
1231
|
+
return applyIntrinsicDecorators(union, schema);
|
|
1181
1232
|
}
|
|
1182
1233
|
function getSchemaForUnionVariant(variant, visibility) {
|
|
1183
1234
|
const schema = getSchemaForType(variant.type, visibility);
|
|
@@ -1315,6 +1366,10 @@ function createOAPIEmitter(program, options) {
|
|
|
1315
1366
|
}
|
|
1316
1367
|
}
|
|
1317
1368
|
else {
|
|
1369
|
+
if (getOneOf(program, prop) && schema.anyOf) {
|
|
1370
|
+
schema.oneOf = schema.anyOf;
|
|
1371
|
+
delete schema.anyOf;
|
|
1372
|
+
}
|
|
1318
1373
|
return { ...schema, ...additionalProps };
|
|
1319
1374
|
}
|
|
1320
1375
|
}
|
|
@@ -1337,42 +1392,40 @@ function createOAPIEmitter(program, options) {
|
|
|
1337
1392
|
function applyIntrinsicDecorators(typespecType, target) {
|
|
1338
1393
|
const newTarget = { ...target };
|
|
1339
1394
|
const docStr = getDoc(program, typespecType);
|
|
1340
|
-
const isString = typespecType.kind !== "Model" && isStringType(program, getPropertyType(typespecType));
|
|
1341
|
-
const isNumeric = typespecType.kind !== "Model" && isNumericType(program, getPropertyType(typespecType));
|
|
1342
1395
|
if (docStr) {
|
|
1343
1396
|
newTarget.description = docStr;
|
|
1344
1397
|
}
|
|
1345
1398
|
const formatStr = getFormat(program, typespecType);
|
|
1346
|
-
if (
|
|
1399
|
+
if (formatStr) {
|
|
1347
1400
|
newTarget.format = formatStr;
|
|
1348
1401
|
}
|
|
1349
1402
|
const pattern = getPattern(program, typespecType);
|
|
1350
|
-
if (
|
|
1403
|
+
if (pattern) {
|
|
1351
1404
|
newTarget.pattern = pattern;
|
|
1352
1405
|
}
|
|
1353
1406
|
const minLength = getMinLength(program, typespecType);
|
|
1354
|
-
if (
|
|
1407
|
+
if (minLength !== undefined) {
|
|
1355
1408
|
newTarget.minLength = minLength;
|
|
1356
1409
|
}
|
|
1357
1410
|
const maxLength = getMaxLength(program, typespecType);
|
|
1358
|
-
if (
|
|
1411
|
+
if (maxLength !== undefined) {
|
|
1359
1412
|
newTarget.maxLength = maxLength;
|
|
1360
1413
|
}
|
|
1361
1414
|
const minValue = getMinValue(program, typespecType);
|
|
1362
|
-
if (
|
|
1415
|
+
if (minValue !== undefined) {
|
|
1363
1416
|
newTarget.minimum = minValue;
|
|
1364
1417
|
}
|
|
1365
1418
|
const minValueExclusive = getMinValueExclusive(program, typespecType);
|
|
1366
|
-
if (
|
|
1419
|
+
if (minValueExclusive !== undefined) {
|
|
1367
1420
|
newTarget.minimum = minValueExclusive;
|
|
1368
1421
|
newTarget.exclusiveMinimum = true;
|
|
1369
1422
|
}
|
|
1370
1423
|
const maxValue = getMaxValue(program, typespecType);
|
|
1371
|
-
if (
|
|
1424
|
+
if (maxValue !== undefined) {
|
|
1372
1425
|
newTarget.maximum = maxValue;
|
|
1373
1426
|
}
|
|
1374
1427
|
const maxValueExclusive = getMaxValueExclusive(program, typespecType);
|
|
1375
|
-
if (
|
|
1428
|
+
if (maxValueExclusive !== undefined) {
|
|
1376
1429
|
newTarget.maximum = maxValueExclusive;
|
|
1377
1430
|
newTarget.exclusiveMaximum = true;
|
|
1378
1431
|
}
|
|
@@ -1387,13 +1440,11 @@ function createOAPIEmitter(program, options) {
|
|
|
1387
1440
|
if (isSecret(program, typespecType)) {
|
|
1388
1441
|
newTarget.format = "password";
|
|
1389
1442
|
}
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
};
|
|
1396
|
-
}
|
|
1443
|
+
const values = getKnownValues(program, typespecType);
|
|
1444
|
+
if (values) {
|
|
1445
|
+
return {
|
|
1446
|
+
oneOf: [newTarget, getSchemaForEnum(values)],
|
|
1447
|
+
};
|
|
1397
1448
|
}
|
|
1398
1449
|
attachExtensions(program, typespecType, newTarget);
|
|
1399
1450
|
return newTarget;
|
package/dist/src/openapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -75,8 +75,9 @@ export interface OpenAPI3Components extends Extensions {
|
|
|
75
75
|
securitySchemes?: Record<string, OpenAPI3SecurityScheme>;
|
|
76
76
|
links?: Record<string, OpenAPI3Link>;
|
|
77
77
|
}
|
|
78
|
-
export type
|
|
79
|
-
|
|
78
|
+
export type OpenAPI3StatusCode = string | "default" | "1XX" | "2XX" | "3XX" | "4XX" | "5XX";
|
|
79
|
+
export type OpenAPI3Responses = {
|
|
80
|
+
[status: OpenAPI3StatusCode]: Refable<OpenAPI3Response>;
|
|
80
81
|
} & Extensions;
|
|
81
82
|
export type OpenAPI3Response = Extensions & {
|
|
82
83
|
/** A short description of the response. CommonMark syntax MAY be used for rich text representation. */
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG;KACtB,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG;CAC5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB,yCAAyC;IACzC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAEpC,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAExC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IAErB,gEAAgE;IAChE,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC,kTAAkT;IAClT,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpG;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAC5B,MAAM,IAAI,UAAU,CAAC,CAAC,EAAE,iBAAiB;CAC3C,GAAG;IAAE,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/decorators.tsp
CHANGED
|
@@ -7,7 +7,7 @@ using TypeSpec.Reflection;
|
|
|
7
7
|
/**
|
|
8
8
|
* Specify that `oneOf` should be used instead of `anyOf` for that union.
|
|
9
9
|
*/
|
|
10
|
-
extern dec oneOf(target: Union);
|
|
10
|
+
extern dec oneOf(target: Union | ModelProperty);
|
|
11
11
|
/**
|
|
12
12
|
* Specify an external reference that should be used inside of emitting this type.
|
|
13
13
|
* @param ref External reference(e.g. "../../common.json#/components/schemas/Foo")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/openapi3",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.0-dev.0",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec library for emitting OpenAPI 3.0 from the TypeSpec REST protocol binding",
|
|
6
6
|
"homepage": "https://microsoft.github.io/typespec",
|
|
@@ -42,33 +42,33 @@
|
|
|
42
42
|
"!dist/test/**"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"yaml": "~2.3.
|
|
45
|
+
"yaml": "~2.3.2"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@typespec/versioning": "~0.
|
|
49
|
-
"@typespec/compiler": "~0.
|
|
50
|
-
"@typespec/http": "~0.
|
|
51
|
-
"@typespec/openapi": "~0.
|
|
48
|
+
"@typespec/versioning": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
49
|
+
"@typespec/compiler": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
50
|
+
"@typespec/http": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
51
|
+
"@typespec/openapi": "~0.49.0 || >=0.50.0-dev <0.50.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/mocha": "~10.0.1",
|
|
55
55
|
"@types/node": "~18.11.9",
|
|
56
|
-
"@typespec/compiler": "~0.
|
|
57
|
-
"@typespec/http": "~0.
|
|
58
|
-
"@typespec/rest": "~0.
|
|
59
|
-
"@typespec/openapi": "~0.
|
|
60
|
-
"@typespec/versioning": "~0.
|
|
61
|
-
"@typespec/eslint-config-typespec": "~0.
|
|
62
|
-
"@typespec/library-linter": "~0.
|
|
63
|
-
"@typespec/eslint-plugin": "~0.
|
|
56
|
+
"@typespec/compiler": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
57
|
+
"@typespec/http": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
58
|
+
"@typespec/rest": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
59
|
+
"@typespec/openapi": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
60
|
+
"@typespec/versioning": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
61
|
+
"@typespec/eslint-config-typespec": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
62
|
+
"@typespec/library-linter": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
63
|
+
"@typespec/eslint-plugin": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
64
64
|
"@typespec/tspd": "~0.46.0 || >=0.47.0-dev <0.47.0",
|
|
65
|
-
"eslint": "^8.
|
|
65
|
+
"eslint": "^8.49.0",
|
|
66
66
|
"mocha": "~10.2.0",
|
|
67
|
-
"mocha-junit-reporter": "~2.2.
|
|
67
|
+
"mocha-junit-reporter": "~2.2.1",
|
|
68
68
|
"mocha-multi-reporters": "~1.5.1",
|
|
69
|
-
"c8": "~8.0.
|
|
69
|
+
"c8": "~8.0.1",
|
|
70
70
|
"rimraf": "~5.0.1",
|
|
71
|
-
"typescript": "~5.
|
|
71
|
+
"typescript": "~5.2.2"
|
|
72
72
|
},
|
|
73
73
|
"scripts": {
|
|
74
74
|
"clean": "rimraf ./dist ./temp",
|