@typespec/openapi3 1.6.0-dev.8 → 1.6.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/dist/src/cli/actions/convert/convert.d.ts +2 -2
- package/dist/src/cli/actions/convert/convert.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/convert.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-main.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-main.js +8 -2
- package/dist/src/cli/actions/convert/generators/generate-main.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-model.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-model.js +129 -4
- package/dist/src/cli/actions/convert/generators/generate-model.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-response-expressions.js +17 -3
- package/dist/src/cli/actions/convert/generators/generate-response-expressions.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts +6 -6
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-types.js +4 -1
- package/dist/src/cli/actions/convert/generators/generate-types.js.map +1 -1
- package/dist/src/cli/actions/convert/interfaces.d.ts +9 -9
- package/dist/src/cli/actions/convert/interfaces.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.js +5 -2
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.js.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.js +29 -13
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.js.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-paths.d.ts +2 -2
- package/dist/src/cli/actions/convert/transforms/transform-paths.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-paths.js +3 -3
- package/dist/src/cli/actions/convert/transforms/transform-paths.js.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transforms.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transforms.js +117 -8
- package/dist/src/cli/actions/convert/transforms/transforms.js.map +1 -1
- package/dist/src/cli/actions/convert/utils/context.d.ts +22 -5
- package/dist/src/cli/actions/convert/utils/context.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/utils/context.js +16 -0
- package/dist/src/cli/actions/convert/utils/context.js.map +1 -1
- package/dist/src/cli/actions/convert/utils/decorators.d.ts +3 -3
- package/dist/src/cli/actions/convert/utils/decorators.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/utils/decorators.js +24 -6
- package/dist/src/cli/actions/convert/utils/decorators.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +18 -3
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +9 -1
- package/dist/src/lib.js.map +1 -1
- package/dist/src/openapi-spec-mappings.d.ts +2 -0
- package/dist/src/openapi-spec-mappings.d.ts.map +1 -1
- package/dist/src/openapi-spec-mappings.js +10 -0
- package/dist/src/openapi-spec-mappings.js.map +1 -1
- package/dist/src/openapi.d.ts.map +1 -1
- package/dist/src/openapi.js +45 -8
- package/dist/src/openapi.js.map +1 -1
- package/dist/src/range.d.ts +4 -0
- package/dist/src/range.d.ts.map +1 -0
- package/dist/src/range.js +22 -0
- package/dist/src/range.js.map +1 -0
- package/dist/src/schema-emitter.d.ts +5 -2
- package/dist/src/schema-emitter.d.ts.map +1 -1
- package/dist/src/schema-emitter.js +6 -3
- package/dist/src/schema-emitter.js.map +1 -1
- package/dist/src/sse-module.d.ts +10 -0
- package/dist/src/sse-module.d.ts.map +1 -0
- package/dist/src/sse-module.js +125 -0
- package/dist/src/sse-module.js.map +1 -0
- package/dist/src/types.d.ts +337 -23
- package/dist/src/types.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +39 -23
|
@@ -14,7 +14,7 @@ export function getExtensions(element) {
|
|
|
14
14
|
return decorators;
|
|
15
15
|
}
|
|
16
16
|
function normalizeObjectValue(source) {
|
|
17
|
-
if (typeof source === "object") {
|
|
17
|
+
if (source !== null && typeof source === "object") {
|
|
18
18
|
const result = createTSValueFromObjectValue(source);
|
|
19
19
|
if (result) {
|
|
20
20
|
return result;
|
|
@@ -28,7 +28,9 @@ function isExtensionKey(key) {
|
|
|
28
28
|
export function getParameterDecorators(parameter) {
|
|
29
29
|
const decorators = [];
|
|
30
30
|
decorators.push(...getExtensions(parameter));
|
|
31
|
-
|
|
31
|
+
if ("schema" in parameter && parameter.schema) {
|
|
32
|
+
decorators.push(...getDecoratorsForSchema(parameter.schema));
|
|
33
|
+
}
|
|
32
34
|
const locationDecorator = getLocationDecorator(parameter);
|
|
33
35
|
if (locationDecorator)
|
|
34
36
|
decorators.push(locationDecorator);
|
|
@@ -44,10 +46,10 @@ function getLocationDecorator(parameter) {
|
|
|
44
46
|
let decoratorArgs;
|
|
45
47
|
switch (parameter.in) {
|
|
46
48
|
case "header":
|
|
47
|
-
decoratorArgs = getHeaderArgs(parameter);
|
|
49
|
+
decoratorArgs = getHeaderArgs(parameter.explode ?? false);
|
|
48
50
|
break;
|
|
49
51
|
case "query":
|
|
50
|
-
decoratorArgs = getQueryArgs(parameter);
|
|
52
|
+
decoratorArgs = getQueryArgs({ explode: parameter.explode ?? true, style: parameter.style });
|
|
51
53
|
break;
|
|
52
54
|
}
|
|
53
55
|
if (decoratorArgs) {
|
|
@@ -65,7 +67,7 @@ function createTSValueFromObjectValue(value) {
|
|
|
65
67
|
return undefined;
|
|
66
68
|
}
|
|
67
69
|
export function normalizeObjectValueToTSValueExpression(value) {
|
|
68
|
-
if (typeof value === "object" && !Array.isArray(value)) {
|
|
70
|
+
if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
69
71
|
return `#{${Object.entries(value)
|
|
70
72
|
.map(([key, v]) => {
|
|
71
73
|
return `${printIdentifier(key, "disallow-reserved")}: ${normalizeObjectValueToTSValueExpression(v)}`;
|
|
@@ -110,7 +112,7 @@ function getNormalizedQueryOptions({ explode, style = "", }) {
|
|
|
110
112
|
}
|
|
111
113
|
return queryOptions;
|
|
112
114
|
}
|
|
113
|
-
function getHeaderArgs(
|
|
115
|
+
function getHeaderArgs(explode) {
|
|
114
116
|
if (explode === true) {
|
|
115
117
|
return createTSValue(`#{ explode: true }`);
|
|
116
118
|
}
|
|
@@ -127,6 +129,10 @@ export function getDecoratorsForSchema(schema) {
|
|
|
127
129
|
const effectiveType = Array.isArray(schema.type)
|
|
128
130
|
? schema.type.find((t) => t !== "null")
|
|
129
131
|
: schema.type;
|
|
132
|
+
// Handle unixtime format with @encode decorator
|
|
133
|
+
if (schema.format === "unixtime") {
|
|
134
|
+
decorators.push(...getUnixtimeSchemaDecorators(effectiveType));
|
|
135
|
+
}
|
|
130
136
|
switch (effectiveType) {
|
|
131
137
|
case "array":
|
|
132
138
|
decorators.push(...getArraySchemaDecorators(schema));
|
|
@@ -198,6 +204,18 @@ function getNumberSchemaDecorators(schema) {
|
|
|
198
204
|
}
|
|
199
205
|
return decorators;
|
|
200
206
|
}
|
|
207
|
+
function getUnixtimeSchemaDecorators(effectiveType) {
|
|
208
|
+
const decorators = [];
|
|
209
|
+
// Only add @encode decorator for integer types
|
|
210
|
+
// unixTimestamp encoding on utcDateTime must be serialized as integer
|
|
211
|
+
if (effectiveType === "integer") {
|
|
212
|
+
decorators.push({
|
|
213
|
+
name: "encode",
|
|
214
|
+
args: [createTSValue("DateTimeKnownEncoding.unixTimestamp"), createTSValue("integer")],
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return decorators;
|
|
218
|
+
}
|
|
201
219
|
const knownStringFormats = new Set([
|
|
202
220
|
"binary",
|
|
203
221
|
"byte",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { convertOpenAPI3Document } from "./cli/actions/convert/convert.js";
|
|
|
3
3
|
export { $oneOf, $useRef, getOneOf, getRef } from "./decorators.js";
|
|
4
4
|
export { $lib } from "./lib.js";
|
|
5
5
|
export { $onEmit, getOpenAPI3, resolveOptions, type ResolvedOpenAPI3EmitterOptions, } from "./openapi.js";
|
|
6
|
-
export type { CommonOpenAPI3Schema, Extensions, HttpMethod, JsonSchema, JsonSchemaType, JsonType, OpenAPI3ApiKeySecurityScheme, OpenAPI3AuthorizationCodeOAuthFlow, OpenAPI3ClientCredentialsFlow, OpenAPI3Components, OpenAPI3Discriminator, OpenAPI3Document, OpenAPI3Encoding, OpenAPI3Example, OpenAPI3ExternalDocs, OpenAPI3Header, OpenAPI3HeaderParameter, OpenAPI3HttpSecurityScheme, OpenAPI3ImplicitOAuthFlow, OpenAPI3Info, OpenAPI3Link, OpenAPI3MediaType, OpenAPI3OAuth2Flow, OpenAPI3OAuth2SecurityScheme, OpenAPI3OAuthFlows, OpenAPI3OpenIdConnectSecurityScheme, OpenAPI3Operation, OpenAPI3Parameter, OpenAPI3ParameterBase, OpenAPI3ParameterType, OpenAPI3PasswordOAuthFlow, OpenAPI3PathItem, OpenAPI3PathParameter, OpenAPI3QueryParameter, OpenAPI3RequestBody, OpenAPI3Response, OpenAPI3Responses, OpenAPI3Schema,
|
|
6
|
+
export type { CommonOpenAPI3Schema, Extensions, HttpMethod, JsonSchema, JsonSchemaType, JsonType, OpenAPI3ApiKeySecurityScheme, OpenAPI3AuthorizationCodeOAuthFlow, OpenAPI3ClientCredentialsFlow, OpenAPI3Components, OpenAPI3Discriminator, OpenAPI3Document, OpenAPI3Encoding, OpenAPI3Example, OpenAPI3ExternalDocs, OpenAPI3Header, OpenAPI3HeaderParameter, OpenAPI3HttpSecurityScheme, OpenAPI3ImplicitOAuthFlow, OpenAPI3Info, OpenAPI3Link, OpenAPI3MediaType, OpenAPI3OAuth2Flow, OpenAPI3OAuth2SecurityScheme, OpenAPI3OAuthFlows, OpenAPI3OpenIdConnectSecurityScheme, OpenAPI3Operation, OpenAPI3Parameter, OpenAPI3ParameterBase, OpenAPI3ParameterType, OpenAPI3PasswordOAuthFlow, OpenAPI3PathItem, OpenAPI3PathParameter, OpenAPI3QueryParameter, OpenAPI3RequestBody, OpenAPI3Response, OpenAPI3Responses, OpenAPI3Schema, OpenAPI3SecurityScheme, OpenAPI3SecuritySchemeBase, OpenAPI3Server, OpenAPI3ServerVariable, OpenAPI3ServiceRecord, OpenAPI3StatusCode, OpenAPI3Tag, OpenAPI3UnversionedServiceRecord, OpenAPI3VersionedDocumentRecord, OpenAPI3VersionedServiceRecord, OpenAPI3XmlSchema, OpenAPIApiKeySecurityScheme3_2, OpenAPIComponents3_1, OpenAPIComponents3_2, OpenAPICookieParameter3_2, OpenAPIDeviceAuthorizationFlow3_2, OpenAPIDocument3_1, OpenAPIDocument3_2, OpenAPIEncoding3_2, OpenAPIExample3_2, OpenAPIHeaderParameter3_2, OpenAPIHttpMethod3_2, OpenAPIHttpSecurityScheme3_2, OpenAPIMediaType3_2, OpenAPIOAuth2SecurityScheme3_2, OpenAPIOAuthFlows3_2, OpenAPIOpenIdConnectSecurityScheme3_2, OpenAPIOperation3_2, OpenAPIParameter3_2, OpenAPIParameterBase3_2, OpenAPIParameterType3_2, OpenAPIPathItem3_2, OpenAPIPathParameter3_2, OpenAPIQueryParameter3_2, OpenAPIQueryStringParameter3_2, OpenAPIRequestBody3_2, OpenAPIResponse3_2, OpenAPIResponses3_2, OpenAPISchema3_1, OpenAPISchema3_2, OpenAPISecurityScheme3_2, OpenAPISecuritySchemeBase3_2, OpenAPIServer3_2, OpenAPITag3_2, OpenAPIXmlSchema3_2, Ref, Refable, SupportedOpenAPIDocuments, SupportedOpenAPISchema, } from "./types.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,KAAK,8BAA8B,GACpC,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,EAClB,mCAAmC,EACnC,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,KAAK,8BAA8B,GACpC,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,EAClB,mCAAmC,EACnC,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,iCAAiC,EACjC,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,EACpB,qCAAqC,EACrC,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,GAAG,EACH,OAAO,EACP,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,GAEf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,GAEf,MAAM,cAAc,CAAC;AA4FtB,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type FileType = "yaml" | "json";
|
|
2
|
-
export type OpenAPIVersion = "3.0.0" | "3.1.0";
|
|
2
|
+
export type OpenAPIVersion = "3.0.0" | "3.1.0" | "3.2.0";
|
|
3
3
|
export type ExperimentalParameterExamplesStrategy = "data" | "serialized";
|
|
4
4
|
export interface OpenAPI3EmitterOptions {
|
|
5
5
|
/**
|
|
@@ -155,8 +155,11 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
155
155
|
"invalid-component-fixed-field-key": {
|
|
156
156
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
157
157
|
};
|
|
158
|
+
"streams-not-supported": {
|
|
159
|
+
readonly default: "Streams with itemSchema are only fully supported in OpenAPI 3.2.0 or above. The response will be emitted without itemSchema. Consider using OpenAPI 3.2.0 for full stream support.";
|
|
160
|
+
};
|
|
158
161
|
}, OpenAPI3EmitterOptions, never>;
|
|
159
|
-
export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "invalid-style" | "path-reserved-expansion" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth" | "xml-attribute-invalid-property-type" | "xml-unwrapped-invalid-property-type" | "invalid-component-fixed-field-key", M extends keyof {
|
|
162
|
+
export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "invalid-style" | "path-reserved-expansion" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth" | "xml-attribute-invalid-property-type" | "xml-unwrapped-invalid-property-type" | "invalid-component-fixed-field-key" | "streams-not-supported", M extends keyof {
|
|
160
163
|
"oneof-union": {
|
|
161
164
|
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
162
165
|
};
|
|
@@ -224,6 +227,9 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
|
|
|
224
227
|
"invalid-component-fixed-field-key": {
|
|
225
228
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
226
229
|
};
|
|
230
|
+
"streams-not-supported": {
|
|
231
|
+
readonly default: "Streams with itemSchema are only fully supported in OpenAPI 3.2.0 or above. The response will be emitted without itemSchema. Consider using OpenAPI 3.2.0 for full stream support.";
|
|
232
|
+
};
|
|
227
233
|
}[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
|
|
228
234
|
"oneof-union": {
|
|
229
235
|
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
@@ -292,7 +298,10 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
|
|
|
292
298
|
"invalid-component-fixed-field-key": {
|
|
293
299
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
294
300
|
};
|
|
295
|
-
|
|
301
|
+
"streams-not-supported": {
|
|
302
|
+
readonly default: "Streams with itemSchema are only fully supported in OpenAPI 3.2.0 or above. The response will be emitted without itemSchema. Consider using OpenAPI 3.2.0 for full stream support.";
|
|
303
|
+
};
|
|
304
|
+
}, C, M>) => import("@typespec/compiler").Diagnostic, reportDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "invalid-style" | "path-reserved-expansion" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth" | "xml-attribute-invalid-property-type" | "xml-unwrapped-invalid-property-type" | "invalid-component-fixed-field-key" | "streams-not-supported", M extends keyof {
|
|
296
305
|
"oneof-union": {
|
|
297
306
|
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
298
307
|
};
|
|
@@ -360,6 +369,9 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
|
|
|
360
369
|
"invalid-component-fixed-field-key": {
|
|
361
370
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
362
371
|
};
|
|
372
|
+
"streams-not-supported": {
|
|
373
|
+
readonly default: "Streams with itemSchema are only fully supported in OpenAPI 3.2.0 or above. The response will be emitted without itemSchema. Consider using OpenAPI 3.2.0 for full stream support.";
|
|
374
|
+
};
|
|
363
375
|
}[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
|
|
364
376
|
"oneof-union": {
|
|
365
377
|
readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
|
|
@@ -428,6 +440,9 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
|
|
|
428
440
|
"invalid-component-fixed-field-key": {
|
|
429
441
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
430
442
|
};
|
|
443
|
+
"streams-not-supported": {
|
|
444
|
+
readonly default: "Streams with itemSchema are only fully supported in OpenAPI 3.2.0 or above. The response will be emitted without itemSchema. Consider using OpenAPI 3.2.0 for full stream support.";
|
|
445
|
+
};
|
|
431
446
|
}, C, M>) => void, createStateSymbol: (name: string) => symbol;
|
|
432
447
|
export type OpenAPILibrary = typeof $lib;
|
|
433
448
|
//# 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":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,qCAAqC,GAAG,MAAM,GAAG,YAAY,CAAC;AAC1E,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IAEH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAYvB;;;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;IAEpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAE5C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;OAMG;IACH,iCAAiC,CAAC,EAAE,qCAAqC,CAAC;IAE1E;;;;;;;OAOG;IACH,uBAAuB,CAAC,EACpB,mBAAmB,GACnB;QACE,kDAAkD;QAClD,IAAI,EAAE,mBAAmB,CAAC;QAC1B,4DAA4D;QAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACP;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,KAAK,GAAG,eAAe,CAAC;AAkJ/E,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA0Jf,CAAC;AACH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,0BAAS,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -52,16 +52,18 @@ const EmitterOptionsSchema = {
|
|
|
52
52
|
].join("\n"),
|
|
53
53
|
},
|
|
54
54
|
"openapi-versions": {
|
|
55
|
+
title: "OpenAPI Versions",
|
|
55
56
|
type: "array",
|
|
56
57
|
items: {
|
|
57
58
|
type: "string",
|
|
58
|
-
enum: ["3.0.0", "3.1.0"],
|
|
59
|
+
enum: ["3.0.0", "3.1.0", "3.2.0"],
|
|
59
60
|
nullable: true,
|
|
60
61
|
description: "The versions of OpenAPI to emit. Defaults to `[3.0.0]`",
|
|
61
62
|
},
|
|
62
63
|
nullable: true,
|
|
63
64
|
uniqueItems: true,
|
|
64
65
|
minItems: 1,
|
|
66
|
+
default: ["3.0.0"],
|
|
65
67
|
},
|
|
66
68
|
"new-line": {
|
|
67
69
|
type: "string",
|
|
@@ -275,6 +277,12 @@ export const $lib = createTypeSpecLibrary({
|
|
|
275
277
|
default: paramMessage `Invalid key '${"value"}' used in a fixed field of the Component object. Only alphanumerics, dot (.), hyphen (-), and underscore (_) characters are allowed in keys.`,
|
|
276
278
|
},
|
|
277
279
|
},
|
|
280
|
+
"streams-not-supported": {
|
|
281
|
+
severity: "warning",
|
|
282
|
+
messages: {
|
|
283
|
+
default: "Streams with itemSchema are only fully supported in OpenAPI 3.2.0 or above. The response will be emitted without itemSchema. Consider using OpenAPI 3.2.0 for full stream support.",
|
|
284
|
+
},
|
|
285
|
+
},
|
|
278
286
|
},
|
|
279
287
|
emitter: {
|
|
280
288
|
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;AAkHzF,MAAM,yBAAyB,GAAG;IAChC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,eAAe,CAAC;IAClD,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE;QACX,2EAA2E;QAC3E,wBAAwB;QACxB,yFAAyF;QACzF,8EAA8E;QAC9E,gEAAgE;KACjE,CAAC,IAAI,CAAC,IAAI,CAAC;CACJ,CAAC;AAEX,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,uCAAuC;gBACvC,+DAA+D;gBAC/D,iDAAiD;gBACjD,EAAE;gBACF,qGAAqG;gBACrG,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,kBAAkB,EAAE;YAClB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { MetadataInfo } from "@typespec/http";
|
|
|
4
4
|
import { JsonSchemaModule } from "./json-schema.js";
|
|
5
5
|
import { OpenAPI3EmitterOptions, OpenAPIVersion } from "./lib.js";
|
|
6
6
|
import { ResolvedOpenAPI3EmitterOptions } from "./openapi.js";
|
|
7
|
+
import { SSEModule } from "./sse-module.js";
|
|
7
8
|
import { OpenAPI3Schema, OpenAPISchema3_1, SupportedOpenAPIDocuments } from "./types.js";
|
|
8
9
|
import { VisibilityUsageTracker } from "./visibility-usage.js";
|
|
9
10
|
import { XmlModule } from "./xml-module.js";
|
|
@@ -16,6 +17,7 @@ export type CreateSchemaEmitter = (props: {
|
|
|
16
17
|
optionalDependencies: {
|
|
17
18
|
jsonSchemaModule?: JsonSchemaModule;
|
|
18
19
|
xmlModule?: XmlModule;
|
|
20
|
+
sseModule?: SSEModule;
|
|
19
21
|
};
|
|
20
22
|
}) => AssetEmitter<OpenAPI3Schema | OpenAPISchema3_1, OpenAPI3EmitterOptions>;
|
|
21
23
|
export interface OpenApiSpecSpecificProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-spec-mappings.d.ts","sourceRoot":"","sources":["../../src/openapi-spec-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAWlE,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,sBAAsB,CAAC;IACxC,OAAO,EAAE,8BAA8B,CAAC;IACxC,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"openapi-spec-mappings.d.ts","sourceRoot":"","sources":["../../src/openapi-spec-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAWlE,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,sBAAsB,CAAC;IACxC,OAAO,EAAE,8BAA8B,CAAC;IACxC,oBAAoB,EAAE;QACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;CACH,KAAK,YAAY,CAAC,cAAc,GAAG,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;AAE9E,MAAM,WAAW,wBAAwB;IACvC,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GAAG,aAAa,EACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,8BAA8B,GACtC,cAAc,GAAG,gBAAgB,CAAC;IACrC,aAAa,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,EACtB,cAAc,CAAC,EAAE,MAAM,KACpB,yBAAyB,CAAC;IAE/B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;;OAGG;IACH,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,gBAAgB,CAAC;IAE5E,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,GAAG,OAAO,CAAC;CACvE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,cAAc,GAAG,wBAAwB,CAiCzF"}
|
|
@@ -25,6 +25,16 @@ export function getOpenApiSpecProps(specVersion) {
|
|
|
25
25
|
getRawBinarySchema: getRawBinarySchema3_1,
|
|
26
26
|
isRawBinarySchema: isRawBinarySchema3_1,
|
|
27
27
|
};
|
|
28
|
+
case "3.2.0":
|
|
29
|
+
return {
|
|
30
|
+
applyEncoding: applyEncoding3_1,
|
|
31
|
+
createRootDoc(program, serviceType, serviceVersion) {
|
|
32
|
+
return createRoot(program, serviceType, specVersion, serviceVersion);
|
|
33
|
+
},
|
|
34
|
+
createSchemaEmitter: createSchemaEmitter3_1,
|
|
35
|
+
getRawBinarySchema: getRawBinarySchema3_1,
|
|
36
|
+
isRawBinarySchema: isRawBinarySchema3_1,
|
|
37
|
+
};
|
|
28
38
|
}
|
|
29
39
|
}
|
|
30
40
|
function createRoot(program, serviceType, specVersion, serviceVersion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-spec-mappings.js","sourceRoot":"","sources":["../../src/openapi-spec-mappings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"openapi-spec-mappings.js","sourceRoot":"","sources":["../../src/openapi-spec-mappings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AA0CjE,MAAM,UAAU,mBAAmB,CAAC,WAA2B;IAC7D,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO;gBACL,aAAa,EAAE,gBAAgB;gBAC/B,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc;oBAChD,OAAO,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBACvE,CAAC;gBACD,mBAAmB,EAAE,sBAAsB;gBAC3C,kBAAkB,EAAE,qBAAqB;gBACzC,iBAAiB,EAAE,oBAAoB;aACxC,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,aAAa,EAAE,gBAAgB;gBAC/B,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc;oBAChD,OAAO,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBACvE,CAAC;gBACD,mBAAmB,EAAE,sBAAsB;gBAC3C,kBAAkB,EAAE,qBAAqB;gBACzC,iBAAiB,EAAE,oBAAoB;aACxC,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,aAAa,EAAE,gBAAgB;gBAC/B,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc;oBAChD,OAAO,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBACvE,CAAC;gBACD,mBAAmB,EAAE,sBAAsB;gBAC3C,kBAAkB,EAAE,qBAAqB;gBACzC,iBAAiB,EAAE,oBAAoB;aACxC,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,OAAgB,EAChB,WAAsB,EACtB,WAA2B,EAC3B,cAAuB;IAEvB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS;YAChB,GAAG,IAAI;YACP,OAAO,EAAE,cAAc,IAAI,IAAI,EAAE,OAAO,IAAI,OAAO;SACpD;QACD,YAAY,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC;QACnD,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE;YACV,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,eAAe,EAAE,EAAE;SACpB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,EA4BX,OAAO,EACP,OAAO,EAKR,MAAM,oBAAoB,CAAC;AA6C5B,OAAO,EAEL,QAAQ,EACR,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EAEpB,MAAM,UAAU,CAAC;AAOlB,OAAO,EAcL,qBAAqB,EAOtB,MAAM,YAAY,CAAC;AAuBpB,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,iBAMzE;AAED,KAAK,yCAAyC,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,yCAAyC,CAAM,GACpF,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAiBlC;AAgBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAC3C,8BAA8B,CAwBhC;AA6BD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oBAAoB,EAAE,aAAa,GAAG,OAAO,CAAC;IAC9C,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC;IACxC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAClD,mBAAmB,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE"}
|
package/dist/src/openapi.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import { compilerAssert, createDiagnosticCollector, emitFile, getAllTags, getAnyExtensionFromPath, getDoc, getFormat, getMaxItems, getMaxLength,
|
|
1
|
+
import { compilerAssert, createDiagnosticCollector, emitFile, getAllTags, getAnyExtensionFromPath, getDoc, getFormat, getMaxItems, getMaxLength, getMaxValueExclusive, getMinItems, getMinLength, getMinValueExclusive, getNamespaceFullName, getPattern, getService, getSummary, ignoreDiagnostics, interpolatePath, isDeprecated, isGlobalNamespace, isNeverType, isSecret, isVoidType, listServices, navigateTypesInNamespace, resolvePath, } from "@typespec/compiler";
|
|
2
2
|
import { unsafe_mutateSubgraphWithNamespace, } from "@typespec/compiler/experimental";
|
|
3
3
|
import { $ } from "@typespec/compiler/typekit";
|
|
4
4
|
import { createMetadataInfo, getHttpService, getServers, getStatusCodeDescription, isOrExtendsHttpFile, isOverloadSameEndpoint, reportIfNoRoutes, resolveAuthentication, resolveRequestVisibility, Visibility, } from "@typespec/http";
|
|
5
|
+
import { getStreamMetadata } from "@typespec/http/experimental";
|
|
5
6
|
import { getExtensions, getExternalDocs, getOpenAPITypeName, getParameterKey, getTagsMetadata, isReadonlyProperty, shouldInline, } from "@typespec/openapi";
|
|
6
7
|
import { stringify } from "yaml";
|
|
7
8
|
import { getRef } from "./decorators.js";
|
|
8
9
|
import { getExampleOrExamples, resolveOperationExamples } from "./examples.js";
|
|
9
10
|
import { resolveJsonSchemaModule } from "./json-schema.js";
|
|
10
|
-
import { createDiagnostic, } from "./lib.js";
|
|
11
|
+
import { createDiagnostic, reportDiagnostic, } from "./lib.js";
|
|
11
12
|
import { getOpenApiSpecProps } from "./openapi-spec-mappings.js";
|
|
12
13
|
import { OperationIdResolver } from "./operation-id-resolver/operation-id-resolver.js";
|
|
13
14
|
import { getParameterStyle } from "./parameters.js";
|
|
15
|
+
import { getMaxValueAsJson, getMinValueAsJson } from "./range.js";
|
|
16
|
+
import { resolveSSEModule } from "./sse-module.js";
|
|
14
17
|
import { getOpenAPI3StatusCodes } from "./status-codes.js";
|
|
15
18
|
import { deepEquals, ensureValidComponentFixedFieldKey, getDefaultValue, isBytesKeptRaw, isSharedHttpOperation, } from "./util.js";
|
|
16
19
|
import { resolveVersioningModule } from "./versioning-module.js";
|
|
@@ -124,6 +127,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
124
127
|
let currentPath;
|
|
125
128
|
let metadataInfo;
|
|
126
129
|
let visibilityUsage;
|
|
130
|
+
let sseModule;
|
|
127
131
|
// Map model properties that represent shared parameters to their parameter
|
|
128
132
|
// definition that will go in #/components/parameters. Inlined parameters do not go in
|
|
129
133
|
// this map.
|
|
@@ -202,6 +206,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
202
206
|
function initializeEmitter(service, allHttpAuthentications, defaultAuth, optionalDependencies, version) {
|
|
203
207
|
diagnostics = createDiagnosticCollector();
|
|
204
208
|
currentService = service;
|
|
209
|
+
sseModule = optionalDependencies.sseModule;
|
|
205
210
|
metadataInfo = createMetadataInfo(program, {
|
|
206
211
|
canonicalVisibility: Visibility.Read,
|
|
207
212
|
canShareProperty: (p) => isReadonlyProperty(program, p),
|
|
@@ -485,7 +490,8 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
485
490
|
const auth = (serviceAuth = resolveAuthentication(httpService));
|
|
486
491
|
const xmlModule = await resolveXmlModule();
|
|
487
492
|
const jsonSchemaModule = await resolveJsonSchemaModule();
|
|
488
|
-
|
|
493
|
+
const sseModule = await resolveSSEModule();
|
|
494
|
+
initializeEmitter(service, auth.schemes, auth.defaultAuth, { xmlModule, jsonSchemaModule, sseModule }, version);
|
|
489
495
|
reportIfNoRoutes(program, httpService.operations);
|
|
490
496
|
for (const op of resolveOperations(httpService.operations)) {
|
|
491
497
|
const result = getOperationOrSharedOperation(op);
|
|
@@ -741,7 +747,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
741
747
|
}
|
|
742
748
|
obj.content ??= {};
|
|
743
749
|
for (const contentType of data.body.contentTypes) {
|
|
744
|
-
const contents = getBodyContentEntry(data
|
|
750
|
+
const contents = getBodyContentEntry(data, Visibility.Read, contentType, examples.responses[statusCode]?.[contentType]);
|
|
745
751
|
if (schemaMap.has(contentType)) {
|
|
746
752
|
schemaMap.get(contentType).push(contents);
|
|
747
753
|
}
|
|
@@ -819,11 +825,38 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
819
825
|
},
|
|
820
826
|
});
|
|
821
827
|
}
|
|
822
|
-
function getBodyContentEntry(
|
|
828
|
+
function getBodyContentEntry(dataOrBody, visibility, contentType, examples) {
|
|
829
|
+
const isResponseContent = "body" in dataOrBody && dataOrBody.body !== undefined;
|
|
830
|
+
const body = isResponseContent
|
|
831
|
+
? dataOrBody.body
|
|
832
|
+
: dataOrBody;
|
|
823
833
|
const isBinary = isBinaryPayload(body.type, contentType);
|
|
824
834
|
if (isBinary) {
|
|
825
835
|
return { schema: getRawBinarySchema(contentType) };
|
|
826
836
|
}
|
|
837
|
+
// Check if this is a stream response (only for responses)
|
|
838
|
+
if (sseModule && isResponseContent) {
|
|
839
|
+
// Use getStreamMetadata to check if this is a stream response
|
|
840
|
+
const streamMetadata = getStreamMetadata(program, dataOrBody);
|
|
841
|
+
if (streamMetadata) {
|
|
842
|
+
if (specVersion === "3.1.0" || specVersion === "3.0.0") {
|
|
843
|
+
// Streams with itemSchema are not supported in OpenAPI 3.0/3.1 - emit warning and continue without itemSchema
|
|
844
|
+
reportDiagnostic(program, {
|
|
845
|
+
code: "streams-not-supported",
|
|
846
|
+
target: body.type,
|
|
847
|
+
});
|
|
848
|
+
// Fall through to normal processing without itemSchema
|
|
849
|
+
}
|
|
850
|
+
else {
|
|
851
|
+
// Full stream support for OpenAPI 3.2.0
|
|
852
|
+
const mediaType = {};
|
|
853
|
+
sseModule.attachSSEItemSchema(program, options, streamMetadata.streamType, mediaType, (type) => callSchemaEmitter(type, visibility, false, "application/json"));
|
|
854
|
+
if (Object.keys(mediaType).length > 0) {
|
|
855
|
+
return mediaType;
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
}
|
|
827
860
|
const oai3Examples = examples && getExampleOrExamples(program, examples);
|
|
828
861
|
switch (body.bodyKind) {
|
|
829
862
|
case "single":
|
|
@@ -1086,7 +1119,11 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
1086
1119
|
function mergeOpenApiParameters(target, apply) {
|
|
1087
1120
|
if (target.schema) {
|
|
1088
1121
|
const schema = target.schema;
|
|
1089
|
-
if (
|
|
1122
|
+
if ("enum" in schema &&
|
|
1123
|
+
schema.enum &&
|
|
1124
|
+
apply.schema &&
|
|
1125
|
+
"enum" in apply.schema &&
|
|
1126
|
+
apply.schema.enum) {
|
|
1090
1127
|
schema.enum = [...new Set([...schema.enum, ...apply.schema.enum])];
|
|
1091
1128
|
}
|
|
1092
1129
|
target.schema = schema;
|
|
@@ -1256,7 +1293,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
1256
1293
|
if (maxLength !== undefined) {
|
|
1257
1294
|
newTarget.maxLength = maxLength;
|
|
1258
1295
|
}
|
|
1259
|
-
const minValue =
|
|
1296
|
+
const minValue = getMinValueAsJson(program, typespecType);
|
|
1260
1297
|
if (minValue !== undefined) {
|
|
1261
1298
|
newTarget.minimum = minValue;
|
|
1262
1299
|
}
|
|
@@ -1265,7 +1302,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
1265
1302
|
newTarget.minimum = minValueExclusive;
|
|
1266
1303
|
newTarget.exclusiveMinimum = true;
|
|
1267
1304
|
}
|
|
1268
|
-
const maxValue =
|
|
1305
|
+
const maxValue = getMaxValueAsJson(program, typespecType);
|
|
1269
1306
|
if (maxValue !== undefined) {
|
|
1270
1307
|
newTarget.maximum = maxValue;
|
|
1271
1308
|
}
|