@typespec/openapi3 0.49.0-dev.8 → 0.49.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 CHANGED
@@ -103,7 +103,7 @@ Specify that `oneOf` should be used instead of `anyOf` for that union.
103
103
 
104
104
  ##### Target
105
105
 
106
- `Union`
106
+ `union Union | ModelProperty`
107
107
 
108
108
  ##### Parameters
109
109
 
@@ -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,QAE9D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAEhE"}
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"}
@@ -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;AAE7C,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,MAAa;IAC7D,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"}
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 tsv: "Collection format 'tsv' is not supported in OpenAPI3. Defaulting to type 'string'.";
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 tsv: "Collection format 'tsv' is not supported in OpenAPI3. Defaulting to type 'string'.";
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 tsv: "Collection format 'tsv' is not supported in OpenAPI3. Defaulting to type 'string'.";
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 tsv: "Collection format 'tsv' is not supported in OpenAPI3. Defaulting to type 'string'.";
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
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,0BAAS,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC"}
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
- tsv: "Collection format 'tsv' is not supported in OpenAPI3. Defaulting to type 'string'.",
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,
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
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,EAIL,WAAW,EA6CX,OAAO,EAeR,MAAM,oBAAoB,CAAC;AAoC5B,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAoB,MAAM,UAAU,CAAC;AAuB9E,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"}
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"}
@@ -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, getPropertyType, getService, getSummary, ignoreDiagnostics, interpolatePath, isArrayModelType, isDeprecated, isErrorType, isGlobalNamespace, isNeverType, isNullType, isNumericType, isRecordModelType, isSecret, isStringType, isTemplateDeclaration, listServices, navigateTypesInNamespace, projectProgram, resolvePath, TwoLevelMap, } from "@typespec/compiler";
2
- import * as http from "@typespec/http";
3
- import { createMetadataInfo, getAuthentication, getHttpService, getStatusCodeDescription, getVisibilitySuffix, isContentTypeHeader, isOverloadSameEndpoint, reportIfNoRoutes, Visibility, } from "@typespec/http";
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 = http.getServers(program, service.type);
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, statusCode) {
224
+ function validateCommonResponses(ops) {
226
225
  const statusCodeResponses = [];
227
226
  for (const op of ops) {
228
227
  for (const response of op.responses) {
229
- if (response.statusCode === statusCode) {
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
- if (responseMap.has(response.statusCode)) {
312
- responseMap.get(response.statusCode).push(op);
313
- }
314
- else {
315
- responseMap.set(response.statusCode, [op]);
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, statusCode));
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 http.resolveRequestVisibility(program, op, verb);
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 = http.resolveRequestVisibility(program, shared.operations[0], verb);
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 = http.resolveRequestVisibility(program, operation.operation, verb);
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 [_, statusCodeResponses] of responses) {
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
- emitResponseObject(response);
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 getOpenAPIStatuscode(response) {
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,56 +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
- ph.style = "simple";
894
- }
895
- else if (parameter.format === "multi" || parameter.format === "form") {
896
- if (parameter.type === "header") {
897
- reportDiagnostic(program, {
898
- code: "invalid-format",
899
- messageId: "formHeader",
900
- format: {
901
- value: parameter.format,
902
- },
903
- target: parameter.param,
904
- });
905
- defaultToString = true;
906
- }
907
- ph.style = "form";
908
- ph.explode = true;
909
- }
910
- else if (parameter.format === "ssv") {
911
- ph.style = "spaceDelimited";
912
- ph.explode = false;
913
- }
914
- else if (parameter.format === "tsv") {
915
- reportDiagnostic(program, {
916
- code: "invalid-format",
917
- messageId: "tsv",
918
- target: parameter.param,
919
- });
920
- defaultToString = true;
921
- }
922
- else if (parameter.format === "pipes") {
923
- ph.style = "pipeDelimited";
924
- ph.explode = false;
925
- }
926
- }
927
928
  const paramBase = getOpenAPIParameterBase(parameter.param, visibility);
928
929
  if (paramBase) {
929
930
  ph = mergeOpenApiParameters(ph, paramBase);
930
931
  }
931
- // Revert unsupported formats to just string schema type
932
- if (defaultToString) {
932
+ const format = mapParameterFormat(parameter);
933
+ if (format === undefined) {
933
934
  ph.schema = {
934
935
  type: "string",
935
936
  };
936
- delete ph.style;
937
- delete ph.explode;
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;
938
995
  }
939
996
  }
940
997
  function emitParameters() {
@@ -1171,7 +1228,7 @@ function createOAPIEmitter(program, options) {
1171
1228
  schema.discriminator.mapping = getDiscriminatorMapping(discriminatedUnion, visibility);
1172
1229
  }
1173
1230
  }
1174
- return schema;
1231
+ return applyIntrinsicDecorators(union, schema);
1175
1232
  }
1176
1233
  function getSchemaForUnionVariant(variant, visibility) {
1177
1234
  const schema = getSchemaForType(variant.type, visibility);
@@ -1309,6 +1366,10 @@ function createOAPIEmitter(program, options) {
1309
1366
  }
1310
1367
  }
1311
1368
  else {
1369
+ if (getOneOf(program, prop) && schema.anyOf) {
1370
+ schema.oneOf = schema.anyOf;
1371
+ delete schema.anyOf;
1372
+ }
1312
1373
  return { ...schema, ...additionalProps };
1313
1374
  }
1314
1375
  }
@@ -1331,42 +1392,40 @@ function createOAPIEmitter(program, options) {
1331
1392
  function applyIntrinsicDecorators(typespecType, target) {
1332
1393
  const newTarget = { ...target };
1333
1394
  const docStr = getDoc(program, typespecType);
1334
- const isString = typespecType.kind !== "Model" && isStringType(program, getPropertyType(typespecType));
1335
- const isNumeric = typespecType.kind !== "Model" && isNumericType(program, getPropertyType(typespecType));
1336
1395
  if (docStr) {
1337
1396
  newTarget.description = docStr;
1338
1397
  }
1339
1398
  const formatStr = getFormat(program, typespecType);
1340
- if (isString && formatStr) {
1399
+ if (formatStr) {
1341
1400
  newTarget.format = formatStr;
1342
1401
  }
1343
1402
  const pattern = getPattern(program, typespecType);
1344
- if (isString && pattern) {
1403
+ if (pattern) {
1345
1404
  newTarget.pattern = pattern;
1346
1405
  }
1347
1406
  const minLength = getMinLength(program, typespecType);
1348
- if (isString && minLength !== undefined) {
1407
+ if (minLength !== undefined) {
1349
1408
  newTarget.minLength = minLength;
1350
1409
  }
1351
1410
  const maxLength = getMaxLength(program, typespecType);
1352
- if (isString && maxLength !== undefined) {
1411
+ if (maxLength !== undefined) {
1353
1412
  newTarget.maxLength = maxLength;
1354
1413
  }
1355
1414
  const minValue = getMinValue(program, typespecType);
1356
- if (isNumeric && minValue !== undefined) {
1415
+ if (minValue !== undefined) {
1357
1416
  newTarget.minimum = minValue;
1358
1417
  }
1359
1418
  const minValueExclusive = getMinValueExclusive(program, typespecType);
1360
- if (isNumeric && minValueExclusive !== undefined) {
1419
+ if (minValueExclusive !== undefined) {
1361
1420
  newTarget.minimum = minValueExclusive;
1362
1421
  newTarget.exclusiveMinimum = true;
1363
1422
  }
1364
1423
  const maxValue = getMaxValue(program, typespecType);
1365
- if (isNumeric && maxValue !== undefined) {
1424
+ if (maxValue !== undefined) {
1366
1425
  newTarget.maximum = maxValue;
1367
1426
  }
1368
1427
  const maxValueExclusive = getMaxValueExclusive(program, typespecType);
1369
- if (isNumeric && maxValueExclusive !== undefined) {
1428
+ if (maxValueExclusive !== undefined) {
1370
1429
  newTarget.maximum = maxValueExclusive;
1371
1430
  newTarget.exclusiveMaximum = true;
1372
1431
  }
@@ -1381,13 +1440,11 @@ function createOAPIEmitter(program, options) {
1381
1440
  if (isSecret(program, typespecType)) {
1382
1441
  newTarget.format = "password";
1383
1442
  }
1384
- if (isString) {
1385
- const values = getKnownValues(program, typespecType);
1386
- if (values) {
1387
- return {
1388
- oneOf: [newTarget, getSchemaForEnum(values)],
1389
- };
1390
- }
1443
+ const values = getKnownValues(program, typespecType);
1444
+ if (values) {
1445
+ return {
1446
+ oneOf: [newTarget, getSchemaForEnum(values)],
1447
+ };
1391
1448
  }
1392
1449
  attachExtensions(program, typespecType, newTarget);
1393
1450
  return newTarget;
@@ -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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"}
@@ -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 OpenAPI2Responses = {
79
- [status: string]: Refable<OpenAPI3Response>;
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. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -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.49.0-dev.8",
3
+ "version": "0.49.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.1"
45
+ "yaml": "~2.3.2"
46
46
  },
47
47
  "peerDependencies": {
48
- "@typespec/versioning": "~0.48.0 || >=0.49.0-dev <0.49.0",
49
- "@typespec/compiler": "~0.48.1 || >=0.49.0-dev <0.49.0",
50
- "@typespec/http": "~0.48.0 || >=0.49.0-dev <0.49.0",
51
- "@typespec/openapi": "~0.48.0 || >=0.49.0-dev <0.49.0"
48
+ "@typespec/versioning": "~0.49.0",
49
+ "@typespec/compiler": "~0.49.0",
50
+ "@typespec/http": "~0.49.0",
51
+ "@typespec/openapi": "~0.49.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/mocha": "~10.0.1",
55
55
  "@types/node": "~18.11.9",
56
- "@typespec/compiler": "~0.48.1 || >=0.49.0-dev <0.49.0",
57
- "@typespec/http": "~0.48.0 || >=0.49.0-dev <0.49.0",
58
- "@typespec/rest": "~0.48.0 || >=0.49.0-dev <0.49.0",
59
- "@typespec/openapi": "~0.48.0 || >=0.49.0-dev <0.49.0",
60
- "@typespec/versioning": "~0.48.0 || >=0.49.0-dev <0.49.0",
61
- "@typespec/eslint-config-typespec": "~0.48.0 || >=0.49.0-dev <0.49.0",
62
- "@typespec/library-linter": "~0.48.0 || >=0.49.0-dev <0.49.0",
63
- "@typespec/eslint-plugin": "~0.48.0 || >=0.49.0-dev <0.49.0",
64
- "@typespec/tspd": "~0.46.0 || >=0.47.0-dev <0.47.0",
65
- "eslint": "^8.42.0",
56
+ "@typespec/compiler": "~0.49.0",
57
+ "@typespec/http": "~0.49.0",
58
+ "@typespec/rest": "~0.49.0",
59
+ "@typespec/openapi": "~0.49.0",
60
+ "@typespec/versioning": "~0.49.0",
61
+ "@typespec/eslint-config-typespec": "~0.49.0",
62
+ "@typespec/library-linter": "~0.49.0",
63
+ "@typespec/eslint-plugin": "~0.49.0",
64
+ "@typespec/tspd": "~0.46.0",
65
+ "eslint": "^8.49.0",
66
66
  "mocha": "~10.2.0",
67
- "mocha-junit-reporter": "~2.2.0",
67
+ "mocha-junit-reporter": "~2.2.1",
68
68
  "mocha-multi-reporters": "~1.5.1",
69
- "c8": "~8.0.0",
69
+ "c8": "~8.0.1",
70
70
  "rimraf": "~5.0.1",
71
- "typescript": "~5.1.3"
71
+ "typescript": "~5.2.2"
72
72
  },
73
73
  "scripts": {
74
74
  "clean": "rimraf ./dist ./temp",