@typespec/openapi3 1.4.0-dev.8 → 1.4.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/args.d.ts +1 -0
- package/dist/src/cli/actions/convert/args.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/convert-file.js +1 -1
- package/dist/src/cli/actions/convert/convert-file.js.map +1 -1
- package/dist/src/cli/actions/convert/convert.d.ts +5 -1
- package/dist/src/cli/actions/convert/convert.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/convert.js +2 -2
- package/dist/src/cli/actions/convert/convert.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-decorators.d.ts +1 -1
- package/dist/src/cli/actions/convert/generators/generate-decorators.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-decorators.js +2 -2
- package/dist/src/cli/actions/convert/generators/generate-decorators.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-main.js +1 -1
- package/dist/src/cli/actions/convert/generators/generate-main.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-model.d.ts +2 -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 +14 -10
- package/dist/src/cli/actions/convert/generators/generate-model.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-operation.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-operation.js +11 -2
- package/dist/src/cli/actions/convert/generators/generate-operation.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-service-info.d.ts +1 -1
- package/dist/src/cli/actions/convert/generators/generate-service-info.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-service-info.js +4 -2
- package/dist/src/cli/actions/convert/generators/generate-service-info.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts +12 -2
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-types.js +114 -9
- package/dist/src/cli/actions/convert/generators/generate-types.js.map +1 -1
- package/dist/src/cli/actions/convert/interfaces.d.ts +9 -0
- package/dist/src/cli/actions/convert/interfaces.d.ts.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 +11 -4
- 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.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-paths.js +17 -2
- 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 +42 -0
- package/dist/src/cli/actions/convert/transforms/transforms.js.map +1 -1
- package/dist/src/cli/actions/convert/utils/context.d.ts +23 -3
- package/dist/src/cli/actions/convert/utils/context.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/utils/context.js +28 -4
- package/dist/src/cli/actions/convert/utils/context.js.map +1 -1
- package/dist/src/cli/actions/convert/utils/generate-operation-id.d.ts +9 -0
- package/dist/src/cli/actions/convert/utils/generate-operation-id.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/generate-operation-id.js +29 -0
- package/dist/src/cli/actions/convert/utils/generate-operation-id.js.map +1 -0
- package/dist/src/cli/cli.js +6 -1
- package/dist/src/cli/cli.js.map +1 -1
- package/dist/src/openapi.js +24 -2
- package/dist/src/openapi.js.map +1 -1
- package/dist/src/schema-emitter.d.ts.map +1 -1
- package/dist/src/schema-emitter.js +10 -1
- package/dist/src/schema-emitter.js.map +1 -1
- package/dist/src/types.d.ts +7 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +22 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export interface TypeSpecDeclaration {
|
|
|
33
33
|
doc?: string;
|
|
34
34
|
decorators: TypeSpecDecorator[];
|
|
35
35
|
scope: string[];
|
|
36
|
+
fixmes?: string[];
|
|
36
37
|
}
|
|
37
38
|
export interface TypeSpecNamespace {
|
|
38
39
|
namespaces: Record<string, TypeSpecNamespace>;
|
|
@@ -81,6 +82,14 @@ export interface TypeSpecModel extends TypeSpecDeclaration {
|
|
|
81
82
|
*/
|
|
82
83
|
type?: OpenAPI3Schema["type"];
|
|
83
84
|
spread?: string[];
|
|
85
|
+
/**
|
|
86
|
+
* Whether the model is referenced as a multipart request body and needs to be emitted as a set of http parts
|
|
87
|
+
*/
|
|
88
|
+
isModelReferencedAsMultipartRequestBody?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* The encoding information to use, if any, for the multipart request body.
|
|
91
|
+
*/
|
|
92
|
+
encoding?: Record<string, OpenAPI3Encoding>;
|
|
84
93
|
}
|
|
85
94
|
export interface TypeSpecAlias extends Pick<TypeSpecDeclaration, "name" | "doc" | "scope"> {
|
|
86
95
|
kind: "alias";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/cli/actions/convert/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjG,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;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,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/cli/actions/convert/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-component-schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"transform-component-schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAgLzF"}
|
|
@@ -14,10 +14,10 @@ export function transformComponentSchemas(context, models) {
|
|
|
14
14
|
return;
|
|
15
15
|
for (const name of Object.keys(schemas)) {
|
|
16
16
|
const schema = schemas[name];
|
|
17
|
-
transformComponentSchema(models, name, schema);
|
|
17
|
+
transformComponentSchema(models, name, context, schema);
|
|
18
18
|
}
|
|
19
19
|
return;
|
|
20
|
-
function transformComponentSchema(types, name, schema) {
|
|
20
|
+
function transformComponentSchema(types, name, context, schema) {
|
|
21
21
|
const kind = getTypeSpecKind(schema);
|
|
22
22
|
switch (kind) {
|
|
23
23
|
case "alias":
|
|
@@ -25,7 +25,7 @@ export function transformComponentSchemas(context, models) {
|
|
|
25
25
|
case "enum":
|
|
26
26
|
return populateEnum(types, name, schema);
|
|
27
27
|
case "model":
|
|
28
|
-
return populateModel(types, name, schema);
|
|
28
|
+
return populateModel(types, name, context, schema);
|
|
29
29
|
case "union":
|
|
30
30
|
return populateUnion(types, name, schema);
|
|
31
31
|
case "scalar":
|
|
@@ -55,10 +55,15 @@ export function transformComponentSchemas(context, models) {
|
|
|
55
55
|
};
|
|
56
56
|
types.push(tsEnum);
|
|
57
57
|
}
|
|
58
|
-
function populateModel(types, rawName, schema) {
|
|
58
|
+
function populateModel(types, rawName, context, schema) {
|
|
59
59
|
const { name, scope } = getScopeAndName(rawName);
|
|
60
60
|
const allOfDetails = getAllOfDetails(schema, scope);
|
|
61
61
|
const isParent = getModelIs(schema, scope);
|
|
62
|
+
const refName = `#/components/schemas/${rawName}`;
|
|
63
|
+
const isModelReferencedAsMultipartRequestBody = context.isSchemaReferenceRegisteredForMultipartForm(refName);
|
|
64
|
+
const encoding = isModelReferencedAsMultipartRequestBody
|
|
65
|
+
? context.getMultipartSchemaEncoding(refName)
|
|
66
|
+
: undefined;
|
|
62
67
|
types.push({
|
|
63
68
|
kind: "model",
|
|
64
69
|
name,
|
|
@@ -71,6 +76,8 @@ export function transformComponentSchemas(context, models) {
|
|
|
71
76
|
is: isParent,
|
|
72
77
|
type: schema.type,
|
|
73
78
|
spread: allOfDetails.spread,
|
|
79
|
+
isModelReferencedAsMultipartRequestBody,
|
|
80
|
+
encoding,
|
|
74
81
|
});
|
|
75
82
|
}
|
|
76
83
|
function populateUnion(types, name, schema) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-component-schemas.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB,EAAE,MAAuB;IACjF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"transform-component-schemas.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-paths.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"transform-paths.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAM9C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACvC,OAAO,EAAE,OAAO,GACf,iBAAiB,EAAE,CAsDrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { printIdentifier } from "@typespec/compiler";
|
|
2
2
|
import { getExtensions, getParameterDecorators } from "../utils/decorators.js";
|
|
3
|
+
import { generateOperationId } from "../utils/generate-operation-id.js";
|
|
3
4
|
import { getScopeAndName } from "../utils/get-scope-and-name.js";
|
|
4
5
|
import { supportedHttpMethods } from "../utils/supported-http-methods.js";
|
|
5
6
|
/**
|
|
@@ -10,6 +11,7 @@ import { supportedHttpMethods } from "../utils/supported-http-methods.js";
|
|
|
10
11
|
*/
|
|
11
12
|
export function transformPaths(paths, context) {
|
|
12
13
|
const operations = [];
|
|
14
|
+
const usedOperationIds = new Set();
|
|
13
15
|
for (const route of Object.keys(paths)) {
|
|
14
16
|
const routeParameters = paths[route].parameters?.map(transformOperationParameter) ?? [];
|
|
15
17
|
const path = paths[route];
|
|
@@ -28,15 +30,28 @@ export function transformPaths(paths, context) {
|
|
|
28
30
|
if (operation.summary) {
|
|
29
31
|
decorators.push({ name: "summary", args: [operation.summary] });
|
|
30
32
|
}
|
|
33
|
+
const fixmes = [];
|
|
34
|
+
// Handle missing operationId
|
|
35
|
+
let operationId = operation.operationId;
|
|
36
|
+
if (!operationId) {
|
|
37
|
+
operationId = generateOperationId(verb, route, usedOperationIds);
|
|
38
|
+
const warning = `Open API operation '${verb.toUpperCase()} ${route}' is missing an operationId. Generated: '${operationId}'`;
|
|
39
|
+
context.logger.warn(warning);
|
|
40
|
+
fixmes.push(warning);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
usedOperationIds.add(operationId);
|
|
44
|
+
}
|
|
31
45
|
operations.push({
|
|
32
|
-
...getScopeAndName(
|
|
46
|
+
...getScopeAndName(operationId),
|
|
33
47
|
decorators,
|
|
34
48
|
parameters: dedupeParameters([...routeParameters, ...parameters]),
|
|
35
49
|
doc: operation.description,
|
|
36
|
-
operationId:
|
|
50
|
+
operationId: operationId,
|
|
37
51
|
requestBodies: transformRequestBodies(operation.requestBody, context),
|
|
38
52
|
responses: operationResponses,
|
|
39
53
|
tags: tags,
|
|
54
|
+
fixmes,
|
|
40
55
|
});
|
|
41
56
|
}
|
|
42
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-paths.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAuC,EACvC,OAAgB;IAEhB,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;YAChF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEjD,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;YAErD,MAAM,UAAU,GAAG;gBACjB,GAAG,aAAa,CAAC,SAAS,CAAC;gBAC3B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;gBAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;aACzB,CAAC;YAEF,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"transform-paths.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAS9C,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAgB3D"}
|
|
@@ -7,6 +7,8 @@ import { transformServiceInfo } from "./transform-service-info.js";
|
|
|
7
7
|
import { transformTags } from "./transform-tags.js";
|
|
8
8
|
export function transform(context) {
|
|
9
9
|
const openapi = context.openApi3Doc;
|
|
10
|
+
// Pre-scan for multipart schemas before generating models
|
|
11
|
+
scanForMultipartSchemas(openapi, context);
|
|
10
12
|
const models = collectDataTypes(context);
|
|
11
13
|
const operations = transformPaths(openapi.paths, context);
|
|
12
14
|
return {
|
|
@@ -17,6 +19,46 @@ export function transform(context) {
|
|
|
17
19
|
tags: transformTags(openapi.tags ?? []),
|
|
18
20
|
};
|
|
19
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Scans all operations in the OpenAPI document to identify schemas used in multipart forms
|
|
24
|
+
* and registers them with their encoding information before model generation.
|
|
25
|
+
*/
|
|
26
|
+
function scanForMultipartSchemas(openapi, context) {
|
|
27
|
+
if (!openapi.paths)
|
|
28
|
+
return;
|
|
29
|
+
for (const path of Object.values(openapi.paths)) {
|
|
30
|
+
if (!path)
|
|
31
|
+
continue;
|
|
32
|
+
scanPathForMultipartSchemas(path, context);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function scanPathForMultipartSchemas(path, context) {
|
|
36
|
+
const methods = ["get", "post", "put", "patch", "delete", "head"];
|
|
37
|
+
for (const method of methods) {
|
|
38
|
+
const operation = path[method];
|
|
39
|
+
if (!operation?.requestBody)
|
|
40
|
+
continue;
|
|
41
|
+
scanOperationForMultipartSchemas(operation.requestBody, context);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function scanOperationForMultipartSchemas(requestBodyRef, context) {
|
|
45
|
+
let requestBody = requestBodyRef;
|
|
46
|
+
if ("$ref" in requestBody) {
|
|
47
|
+
const resolved = context.getByRef(requestBody.$ref);
|
|
48
|
+
if (!resolved)
|
|
49
|
+
return;
|
|
50
|
+
requestBody = resolved;
|
|
51
|
+
}
|
|
52
|
+
if (!("content" in requestBody) || !requestBody.content)
|
|
53
|
+
return;
|
|
54
|
+
for (const [_, contentBody] of Object.entries(requestBody.content).filter(([mediaType, _]) => mediaType === "multipart/form-data")) {
|
|
55
|
+
const schemaReference = contentBody.schema;
|
|
56
|
+
const encoding = contentBody.encoding;
|
|
57
|
+
if (schemaReference && "$ref" in schemaReference) {
|
|
58
|
+
context.registerMultipartSchema(schemaReference.$ref, encoding);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
20
62
|
function collectDataTypes(context) {
|
|
21
63
|
const models = [];
|
|
22
64
|
// get models from `#/components/schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,35 @@
|
|
|
1
1
|
import type OpenAPIParser from "@apidevtools/swagger-parser";
|
|
2
|
-
import { OpenAPI3Document, OpenAPI3Schema, Refable } from "../../../../types.js";
|
|
2
|
+
import { OpenAPI3Document, OpenAPI3Encoding, OpenAPI3Schema, Refable } from "../../../../types.js";
|
|
3
|
+
import { Logger } from "../../../types.js";
|
|
3
4
|
export interface Context {
|
|
4
5
|
readonly openApi3Doc: OpenAPI3Document;
|
|
5
6
|
readonly rootNamespace: string;
|
|
6
|
-
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
generateTypeFromRefableSchema(schema: Refable<OpenAPI3Schema>, callingScope: string[], isHttpPart?: boolean, encoding?: Record<string, OpenAPI3Encoding>): string;
|
|
7
9
|
getRefName(ref: string, callingScope: string[]): string;
|
|
8
10
|
getSchemaByRef(ref: string): OpenAPI3Schema | undefined;
|
|
9
11
|
getByRef<T>(ref: string): T | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Register a schema as being used in a multipart form context with encoding information.
|
|
14
|
+
* This allows the schema generator to wrap properties with HttpPart when generating the schema definition.
|
|
15
|
+
*/
|
|
16
|
+
registerMultipartSchema(ref: string, encoding?: Record<string, OpenAPI3Encoding>): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get the encoding registered for the component schema if any.
|
|
19
|
+
*/
|
|
20
|
+
getMultipartSchemaEncoding(ref: string): Record<string, OpenAPI3Encoding> | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Checks whether a component schema is registered for multipart forms.
|
|
23
|
+
*/
|
|
24
|
+
isSchemaReferenceRegisteredForMultipartForm(ref: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Get the type to use for a property that may be an http part.
|
|
27
|
+
* If the property is an http part, it will be wrapped in HttpPart<...>.
|
|
28
|
+
*/
|
|
29
|
+
getPartType(propType: string, name: string, isHttpPart: boolean, encoding: Record<string, OpenAPI3Encoding> | undefined, isEnumType: boolean, isUnionType: boolean): string;
|
|
10
30
|
}
|
|
11
31
|
export type Parser = {
|
|
12
32
|
$refs: OpenAPIParser["$refs"];
|
|
13
33
|
};
|
|
14
|
-
export declare function createContext(parser: Parser, openApi3Doc: OpenAPI3Document): Context;
|
|
34
|
+
export declare function createContext(parser: Parser, openApi3Doc: OpenAPI3Document, logger?: Logger, namespace?: string): Context;
|
|
15
35
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,6BAA6B,CAC3B,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAC/B,YAAY,EAAE,MAAM,EAAE,EACtB,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC1C,MAAM,CAAC;IACV,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACxD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAExF;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,CAAC;IACtF;;OAEG;IACH,2CAA2C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,EACtD,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,OAAO,GACnB,MAAM,CAAC;CACX;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,gBAAgB,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAyET"}
|
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
import { SchemaToExpressionGenerator } from "../generators/generate-types.js";
|
|
2
2
|
import { generateNamespaceName } from "./generate-namespace-name.js";
|
|
3
|
-
export function createContext(parser, openApi3Doc) {
|
|
4
|
-
const rootNamespace =
|
|
3
|
+
export function createContext(parser, openApi3Doc, logger, namespace) {
|
|
4
|
+
const rootNamespace = namespace
|
|
5
|
+
? generateNamespaceName(namespace)
|
|
6
|
+
: generateNamespaceName(openApi3Doc.info.title);
|
|
5
7
|
const schemaExpressionGenerator = new SchemaToExpressionGenerator(rootNamespace);
|
|
8
|
+
// Track schemas that are used in multipart forms with their encoding information
|
|
9
|
+
const multipartSchemas = new Map();
|
|
10
|
+
// Create a default no-op logger if none provided
|
|
11
|
+
const defaultLogger = {
|
|
12
|
+
trace: () => { },
|
|
13
|
+
warn: () => { },
|
|
14
|
+
error: () => { },
|
|
15
|
+
};
|
|
6
16
|
const context = {
|
|
7
17
|
openApi3Doc,
|
|
8
18
|
rootNamespace,
|
|
19
|
+
logger: logger ?? defaultLogger,
|
|
9
20
|
getRefName(ref, callingScope) {
|
|
10
21
|
return schemaExpressionGenerator.getRefName(ref, callingScope);
|
|
11
22
|
},
|
|
12
|
-
generateTypeFromRefableSchema(schema, callingScope) {
|
|
13
|
-
return schemaExpressionGenerator.generateTypeFromRefableSchema(schema, callingScope);
|
|
23
|
+
generateTypeFromRefableSchema(schema, callingScope, isHttpPart = false, encoding) {
|
|
24
|
+
return schemaExpressionGenerator.generateTypeFromRefableSchema(schema, callingScope, isHttpPart, encoding, this);
|
|
14
25
|
},
|
|
15
26
|
getSchemaByRef(ref) {
|
|
16
27
|
return this.getByRef(ref);
|
|
@@ -18,6 +29,19 @@ export function createContext(parser, openApi3Doc) {
|
|
|
18
29
|
getByRef(ref) {
|
|
19
30
|
return parser.$refs.get(ref);
|
|
20
31
|
},
|
|
32
|
+
registerMultipartSchema(ref, encoding) {
|
|
33
|
+
multipartSchemas.set(ref, encoding ?? null);
|
|
34
|
+
},
|
|
35
|
+
getMultipartSchemaEncoding(ref) {
|
|
36
|
+
const result = multipartSchemas.get(ref);
|
|
37
|
+
return result === null ? undefined : result;
|
|
38
|
+
},
|
|
39
|
+
isSchemaReferenceRegisteredForMultipartForm(ref) {
|
|
40
|
+
return multipartSchemas.has(ref);
|
|
41
|
+
},
|
|
42
|
+
getPartType(propType, name, isHttpPart, encoding, isEnumType, isUnionType) {
|
|
43
|
+
return schemaExpressionGenerator.getPartType(propType, name, isHttpPart, encoding, isEnumType, isUnionType);
|
|
44
|
+
},
|
|
21
45
|
};
|
|
22
46
|
return context;
|
|
23
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAiDrE,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,WAA6B,EAC7B,MAAe,EACf,SAAkB;IAElB,MAAM,aAAa,GAAG,SAAS;QAC7B,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAClC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,yBAAyB,GAAG,IAAI,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAEjF,iFAAiF;IACjF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmD,CAAC;IAEpF,iDAAiD;IACjD,MAAM,aAAa,GAAW;QAC5B,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;KAChB,CAAC;IAEF,MAAM,OAAO,GAAY;QACvB,WAAW;QACX,aAAa;QACb,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,UAAU,CAAC,GAAW,EAAE,YAAsB;YAC5C,OAAO,yBAAyB,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC;QACD,6BAA6B,CAC3B,MAA+B,EAC/B,YAAsB,EACtB,UAAU,GAAG,KAAK,EAClB,QAA2C;YAE3C,OAAO,yBAAyB,CAAC,6BAA6B,CAC5D,MAAM,EACN,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,IAAI,CACL,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,GAAG;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,QAAQ,CAAC,GAAG;YACV,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAQ,CAAC;QACtC,CAAC;QACD,uBAAuB,CAAC,GAAW,EAAE,QAA2C;YAC9E,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,0BAA0B,CAAC,GAAW;YACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;QACD,2CAA2C,CAAC,GAAW;YACrD,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,WAAW,CACT,QAAgB,EAChB,IAAY,EACZ,UAAmB,EACnB,QAAsD,EACtD,UAAmB,EACnB,WAAoB;YAEpB,OAAO,yBAAyB,CAAC,WAAW,CAC1C,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates an operationId when one is missing from the OpenAPI operation.
|
|
3
|
+
* @param method The HTTP method (GET, POST, etc.)
|
|
4
|
+
* @param path The path pattern from the OpenAPI spec
|
|
5
|
+
* @param usedIds Set of already used operation IDs to ensure uniqueness
|
|
6
|
+
* @returns A generated operationId
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateOperationId(method: string, path: string, usedIds: Set<string>): string;
|
|
9
|
+
//# sourceMappingURL=generate-operation-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-operation-id.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/generate-operation-id.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAwB9F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates an operationId when one is missing from the OpenAPI operation.
|
|
3
|
+
* @param method The HTTP method (GET, POST, etc.)
|
|
4
|
+
* @param path The path pattern from the OpenAPI spec
|
|
5
|
+
* @param usedIds Set of already used operation IDs to ensure uniqueness
|
|
6
|
+
* @returns A generated operationId
|
|
7
|
+
*/
|
|
8
|
+
export function generateOperationId(method, path, usedIds) {
|
|
9
|
+
// Remove leading slash and clean path
|
|
10
|
+
const cleanPath = path
|
|
11
|
+
.replace(/^\//, "")
|
|
12
|
+
.replace(/\//g, "_")
|
|
13
|
+
.replace(/[{}]/g, "")
|
|
14
|
+
.replace(/[^a-zA-Z0-9_]/g, "_");
|
|
15
|
+
// Combine method and path
|
|
16
|
+
const baseId = `${method.toLowerCase()}_${cleanPath || "root"}`;
|
|
17
|
+
// Remove consecutive underscores and trailing underscores
|
|
18
|
+
let operationId = baseId.replace(/_+/g, "_").replace(/_$/, "");
|
|
19
|
+
// Ensure uniqueness by adding suffix if needed
|
|
20
|
+
let suffix = 1;
|
|
21
|
+
const originalId = operationId;
|
|
22
|
+
while (usedIds.has(operationId)) {
|
|
23
|
+
operationId = `${originalId}_${suffix}`;
|
|
24
|
+
suffix++;
|
|
25
|
+
}
|
|
26
|
+
usedIds.add(operationId);
|
|
27
|
+
return operationId;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=generate-operation-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-operation-id.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/generate-operation-id.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAY,EAAE,OAAoB;IACpF,sCAAsC;IACtC,MAAM,SAAS,GAAG,IAAI;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAElC,0BAA0B;IAC1B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;IAEhE,0DAA0D;IAC1D,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE/D,+CAA+C;IAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,UAAU,GAAG,WAAW,CAAC;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,WAAW,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;QACxC,MAAM,EAAE,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/dist/src/cli/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ export async function main() {
|
|
|
6
6
|
const host = createCliHost();
|
|
7
7
|
return convertAction(host, cliArgs);
|
|
8
8
|
}
|
|
9
|
-
const cliUsage = `tsp-openapi3 <path/to/openapi3/file> --output-dir <path/to/output/directory
|
|
9
|
+
const cliUsage = `tsp-openapi3 <path/to/openapi3/file> --output-dir <path/to/output/directory> [--namespace <namespace>]`;
|
|
10
10
|
function parseCliArgs() {
|
|
11
11
|
const options = parseArgs({
|
|
12
12
|
args: process.argv.slice(2),
|
|
@@ -17,6 +17,9 @@ function parseCliArgs() {
|
|
|
17
17
|
"output-dir": {
|
|
18
18
|
type: "string",
|
|
19
19
|
},
|
|
20
|
+
namespace: {
|
|
21
|
+
type: "string",
|
|
22
|
+
},
|
|
20
23
|
},
|
|
21
24
|
allowPositionals: true,
|
|
22
25
|
});
|
|
@@ -45,6 +48,7 @@ function parseCliArgs() {
|
|
|
45
48
|
return {
|
|
46
49
|
"output-dir": options.values["output-dir"],
|
|
47
50
|
path: options.positionals[0],
|
|
51
|
+
namespace: options.values.namespace,
|
|
48
52
|
};
|
|
49
53
|
}
|
|
50
54
|
function displayHelp() {
|
|
@@ -57,6 +61,7 @@ function displayHelp() {
|
|
|
57
61
|
log(`\nOptions:`);
|
|
58
62
|
log(padArgumentUsage("--help", "Show help.", "[boolean]"));
|
|
59
63
|
log(padArgumentUsage("--output-dir", "The output directory for generated TypeSpec files. Will be created if it does not exist.", "[string] [required]"));
|
|
64
|
+
log(padArgumentUsage("--namespace", "The namespace name to use instead of generating from the OpenAPI title.", "[string]"));
|
|
60
65
|
}
|
|
61
66
|
function padArgumentUsage(name, description, type) {
|
|
62
67
|
// Assume 80 col width
|
package/dist/src/cli/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/openapi.js
CHANGED
|
@@ -117,6 +117,26 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
117
117
|
},
|
|
118
118
|
};
|
|
119
119
|
return { emitOpenAPI, getOpenAPI };
|
|
120
|
+
/**
|
|
121
|
+
* Check if an HTTP operation or its container (interface/namespace) is deprecated
|
|
122
|
+
*/
|
|
123
|
+
function isOperationDeprecated(httpOp) {
|
|
124
|
+
if (isDeprecated(program, httpOp.operation)) {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
if (isDeprecated(program, httpOp.container)) {
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
// Check parent namespaces recursively
|
|
131
|
+
let current = httpOp.container.namespace;
|
|
132
|
+
while (current && current.name !== "") {
|
|
133
|
+
if (isDeprecated(program, current)) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
current = current.namespace;
|
|
137
|
+
}
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
120
140
|
async function emitOpenAPI() {
|
|
121
141
|
const services = await getOpenAPI();
|
|
122
142
|
// first, emit diagnostics
|
|
@@ -512,7 +532,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
512
532
|
for (const op of operations) {
|
|
513
533
|
applyExternalDocs(op.operation, oai3Operation);
|
|
514
534
|
attachExtensions(program, op.operation, oai3Operation);
|
|
515
|
-
if (
|
|
535
|
+
if (isOperationDeprecated(op)) {
|
|
516
536
|
oai3Operation.deprecated = true;
|
|
517
537
|
}
|
|
518
538
|
}
|
|
@@ -591,7 +611,7 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
591
611
|
if (authReference) {
|
|
592
612
|
oai3Operation.security = getEndpointSecurity(authReference);
|
|
593
613
|
}
|
|
594
|
-
if (
|
|
614
|
+
if (isOperationDeprecated(operation)) {
|
|
595
615
|
oai3Operation.deprecated = true;
|
|
596
616
|
}
|
|
597
617
|
attachExtensions(program, op, oai3Operation);
|
|
@@ -824,6 +844,8 @@ function createOAPIEmitter(context, options, specVersion = "3.0.0") {
|
|
|
824
844
|
schema = { ...schema, description: doc };
|
|
825
845
|
}
|
|
826
846
|
}
|
|
847
|
+
// Attach any OpenAPI extensions from the part property
|
|
848
|
+
attachExtensions(program, part.property, schema);
|
|
827
849
|
}
|
|
828
850
|
properties[partName] = schema;
|
|
829
851
|
const encoding = resolveEncodingForMultipartPart(part, visibility, schema);
|