@typespec/openapi3 0.58.0-dev.1 → 0.58.0-dev.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cmd/tsp-openapi3.js +9 -0
- package/dist/src/cli/actions/convert/args.d.ts +5 -0
- package/dist/src/cli/actions/convert/args.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/args.js +2 -0
- package/dist/src/cli/actions/convert/args.js.map +1 -0
- package/dist/src/cli/actions/convert/convert-file.d.ts +4 -0
- package/dist/src/cli/actions/convert/convert-file.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/convert-file.js +26 -0
- package/dist/src/cli/actions/convert/convert-file.js.map +1 -0
- package/dist/src/cli/actions/convert/convert.d.ts +3 -0
- package/dist/src/cli/actions/convert/convert.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/convert.js +7 -0
- package/dist/src/cli/actions/convert/convert.js.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-decorators.d.ts +3 -0
- package/dist/src/cli/actions/convert/generators/generate-decorators.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-decorators.js +10 -0
- package/dist/src/cli/actions/convert/generators/generate-decorators.js.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-main.d.ts +3 -0
- package/dist/src/cli/actions/convert/generators/generate-main.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-main.js +25 -0
- package/dist/src/cli/actions/convert/generators/generate-main.js.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-model.d.ts +3 -0
- package/dist/src/cli/actions/convert/generators/generate-model.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-model.js +52 -0
- package/dist/src/cli/actions/convert/generators/generate-model.js.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-operation.d.ts +3 -0
- package/dist/src/cli/actions/convert/generators/generate-operation.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-operation.js +78 -0
- package/dist/src/cli/actions/convert/generators/generate-operation.js.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-service-info.d.ts +3 -0
- package/dist/src/cli/actions/convert/generators/generate-service-info.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-service-info.js +20 -0
- package/dist/src/cli/actions/convert/generators/generate-service-info.js.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts +8 -0
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/generators/generate-types.js +168 -0
- package/dist/src/cli/actions/convert/generators/generate-types.js.map +1 -0
- package/dist/src/cli/actions/convert/interfaces.d.ts +80 -0
- package/dist/src/cli/actions/convert/interfaces.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/interfaces.js +2 -0
- package/dist/src/cli/actions/convert/interfaces.js.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.d.ts +12 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.js +48 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.js.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.d.ts +11 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.js +76 -0
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.js.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-operation-responses.d.ts +11 -0
- package/dist/src/cli/actions/convert/transforms/transform-operation-responses.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-operation-responses.js +190 -0
- package/dist/src/cli/actions/convert/transforms/transform-operation-responses.js.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-paths.d.ts +9 -0
- package/dist/src/cli/actions/convert/transforms/transform-paths.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-paths.js +65 -0
- package/dist/src/cli/actions/convert/transforms/transform-paths.js.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-service-info.d.ts +4 -0
- package/dist/src/cli/actions/convert/transforms/transform-service-info.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transform-service-info.js +12 -0
- package/dist/src/cli/actions/convert/transforms/transform-service-info.js.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transforms.d.ts +4 -0
- package/dist/src/cli/actions/convert/transforms/transforms.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/transforms/transforms.js +26 -0
- package/dist/src/cli/actions/convert/transforms/transforms.js.map +1 -0
- package/dist/src/cli/actions/convert/utils/convert-header-name.d.ts +2 -0
- package/dist/src/cli/actions/convert/utils/convert-header-name.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/convert-header-name.js +7 -0
- package/dist/src/cli/actions/convert/utils/convert-header-name.js.map +1 -0
- package/dist/src/cli/actions/convert/utils/decorators.d.ts +6 -0
- package/dist/src/cli/actions/convert/utils/decorators.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/decorators.js +162 -0
- package/dist/src/cli/actions/convert/utils/decorators.js.map +1 -0
- package/dist/src/cli/actions/convert/utils/docs.d.ts +3 -0
- package/dist/src/cli/actions/convert/utils/docs.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/docs.js +58 -0
- package/dist/src/cli/actions/convert/utils/docs.js.map +1 -0
- package/dist/src/cli/actions/convert/utils/supported-http-methods.d.ts +3 -0
- package/dist/src/cli/actions/convert/utils/supported-http-methods.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/supported-http-methods.js +9 -0
- package/dist/src/cli/actions/convert/utils/supported-http-methods.js.map +1 -0
- package/dist/src/cli/cli.d.ts +2 -0
- package/dist/src/cli/cli.d.ts.map +1 -0
- package/dist/src/cli/cli.js +66 -0
- package/dist/src/cli/cli.js.map +1 -0
- package/dist/src/cli/types.d.ts +45 -0
- package/dist/src/cli/types.d.ts.map +1 -0
- package/dist/src/cli/types.js +2 -0
- package/dist/src/cli/types.js.map +1 -0
- package/dist/src/cli/utils.d.ts +16 -0
- package/dist/src/cli/utils.d.ts.map +1 -0
- package/dist/src/cli/utils.js +43 -0
- package/dist/src/cli/utils.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/openapi.js +7 -0
- package/dist/src/openapi.js.map +1 -1
- package/dist/src/types.d.ts +6 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +12 -0
- package/dist/src/version.js.map +1 -0
- package/dist/version.js +1 -0
- package/package.json +15 -7
|
@@ -0,0 +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,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;IAClD,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/cli/actions/convert/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OpenAPI3Components } from "../../../../types.js";
|
|
2
|
+
import { TypeSpecModel } from "../interfaces.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms #/components/parameters into TypeSpec models.
|
|
5
|
+
* Overwrites properties of existing models if an existing model already exists.
|
|
6
|
+
* Populates the provided `models` array in-place.
|
|
7
|
+
* @param models
|
|
8
|
+
* @param parameters
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function transformComponentParameters(models: TypeSpecModel[], parameters?: OpenAPI3Components["parameters"]): void;
|
|
12
|
+
//# sourceMappingURL=transform-component-parameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-component-parameters.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AAGxE;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,aAAa,EAAE,EACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAC5C,IAAI,CA8BN"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { getParameterDecorators } from "../utils/decorators.js";
|
|
2
|
+
/**
|
|
3
|
+
* Transforms #/components/parameters into TypeSpec models.
|
|
4
|
+
* Overwrites properties of existing models if an existing model already exists.
|
|
5
|
+
* Populates the provided `models` array in-place.
|
|
6
|
+
* @param models
|
|
7
|
+
* @param parameters
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export function transformComponentParameters(models, parameters) {
|
|
11
|
+
if (!parameters)
|
|
12
|
+
return;
|
|
13
|
+
for (const name of Object.keys(parameters)) {
|
|
14
|
+
// Determine what the name of the parameter's model is since name may point at
|
|
15
|
+
// a nested property.
|
|
16
|
+
const modelName = name.indexOf(".") < 0 ? name : name.split(".").shift();
|
|
17
|
+
// Check if model already exists; if not, create it
|
|
18
|
+
let model = models.find((m) => m.name === modelName);
|
|
19
|
+
if (!model) {
|
|
20
|
+
model = {
|
|
21
|
+
name: modelName,
|
|
22
|
+
decorators: [],
|
|
23
|
+
properties: [],
|
|
24
|
+
};
|
|
25
|
+
models.push(model);
|
|
26
|
+
}
|
|
27
|
+
const parameter = parameters[name];
|
|
28
|
+
const modelParameter = getModelPropertyFromParameter(parameter);
|
|
29
|
+
// Check if the model already has a property of the matching name
|
|
30
|
+
const propIndex = model.properties.findIndex((p) => p.name === modelParameter.name);
|
|
31
|
+
if (propIndex >= 0) {
|
|
32
|
+
model.properties[propIndex] = modelParameter;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
model.properties.push(modelParameter);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function getModelPropertyFromParameter(parameter) {
|
|
40
|
+
return {
|
|
41
|
+
name: parameter.name,
|
|
42
|
+
isOptional: !parameter.required,
|
|
43
|
+
doc: parameter.description ?? parameter.schema.description,
|
|
44
|
+
decorators: getParameterDecorators(parameter),
|
|
45
|
+
schema: parameter.schema,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=transform-component-parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-component-parameters.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAuB,EACvB,UAA6C;IAE7C,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,8EAA8E;QAC9E,qBAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAG,CAAC;QAE1E,mDAAmD;QACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;aACf,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,cAAc,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QAEhE,iEAAiE;QACjE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,SAA4B;IACjE,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,UAAU,EAAE,CAAC,SAAS,CAAC,QAAQ;QAC/B,GAAG,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW;QAC1D,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC;QAC7C,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OpenAPI3Components } from "../../../../types.js";
|
|
2
|
+
import { TypeSpecModel } from "../interfaces.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms #/components/schemas into TypeSpec models.
|
|
5
|
+
* Populates the provided `models` array in-place.
|
|
6
|
+
* @param models
|
|
7
|
+
* @param schemas
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function transformComponentSchemas(models: TypeSpecModel[], schemas?: OpenAPI3Components["schemas"]): void;
|
|
11
|
+
//# sourceMappingURL=transform-component-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-component-schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sBAAsB,CAAC;AAQ1E,OAAO,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AAGxE;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EAAE,EACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GACtC,IAAI,CAmBN"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { getArrayType, getIntegerType, getNumberType, getRefName, getStringType, } from "../generators/generate-types.js";
|
|
2
|
+
import { getDecoratorsForSchema } from "../utils/decorators.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms #/components/schemas into TypeSpec models.
|
|
5
|
+
* Populates the provided `models` array in-place.
|
|
6
|
+
* @param models
|
|
7
|
+
* @param schemas
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export function transformComponentSchemas(models, schemas) {
|
|
11
|
+
if (!schemas)
|
|
12
|
+
return;
|
|
13
|
+
for (const name of Object.keys(schemas)) {
|
|
14
|
+
const schema = schemas[name];
|
|
15
|
+
const extendsParent = getModelExtends(schema);
|
|
16
|
+
const isParent = getModelIs(schema);
|
|
17
|
+
models.push({
|
|
18
|
+
name: name.replace(/-/g, "_"),
|
|
19
|
+
decorators: [...getDecoratorsForSchema(schema)],
|
|
20
|
+
doc: schema.description,
|
|
21
|
+
properties: getModelPropertiesFromObjectSchema(schema),
|
|
22
|
+
additionalProperties: typeof schema.additionalProperties === "object" ? schema.additionalProperties : undefined,
|
|
23
|
+
extends: extendsParent,
|
|
24
|
+
is: isParent,
|
|
25
|
+
type: schema.type,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function getModelExtends(schema) {
|
|
30
|
+
switch (schema.type) {
|
|
31
|
+
case "boolean":
|
|
32
|
+
return "boolean";
|
|
33
|
+
case "integer":
|
|
34
|
+
return getIntegerType(schema);
|
|
35
|
+
case "number":
|
|
36
|
+
return getNumberType(schema);
|
|
37
|
+
case "string":
|
|
38
|
+
return getStringType(schema);
|
|
39
|
+
}
|
|
40
|
+
if (schema.type !== "object" || !schema.allOf) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (schema.allOf.length !== 1) {
|
|
44
|
+
// TODO: Emit warning - can't extend more than 1 model
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const parent = schema.allOf[0];
|
|
48
|
+
if (!parent || !("$ref" in parent)) {
|
|
49
|
+
// TODO: Error getting parent - must be a reference, not expression
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
return getRefName(parent.$ref);
|
|
53
|
+
}
|
|
54
|
+
function getModelIs(schema) {
|
|
55
|
+
if (schema.type !== "array") {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
return getArrayType(schema);
|
|
59
|
+
}
|
|
60
|
+
function getModelPropertiesFromObjectSchema({ properties, required = [], }) {
|
|
61
|
+
if (!properties)
|
|
62
|
+
return [];
|
|
63
|
+
const modelProperties = [];
|
|
64
|
+
for (const name of Object.keys(properties)) {
|
|
65
|
+
const property = properties[name];
|
|
66
|
+
modelProperties.push({
|
|
67
|
+
name,
|
|
68
|
+
doc: property.description,
|
|
69
|
+
schema: property,
|
|
70
|
+
isOptional: !required.includes(name),
|
|
71
|
+
decorators: [...getDecoratorsForSchema(property)],
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return modelProperties;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=transform-component-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-component-schemas.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAuB,EACvB,OAAuC;IAEvC,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,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAC7B,UAAU,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC/C,GAAG,EAAE,MAAM,CAAC,WAAW;YACvB,UAAU,EAAE,kCAAkC,CAAC,MAAM,CAAC;YACtD,oBAAoB,EAClB,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;YAC3F,OAAO,EAAE,aAAa;YACtB,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB;IAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,sDAAsD;QACtD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;QACnC,mEAAmE;QACnE,OAAO;IACT,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,MAAsB;IACxC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,kCAAkC,CAAC,EAC1C,UAAU,EACV,QAAQ,GAAG,EAAE,GACE;IACf,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,eAAe,GAA4B,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAElC,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE,QAAQ,CAAC,WAAW;YACzB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpC,UAAU,EAAE,CAAC,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OpenAPI3Document } from "../../../../types.js";
|
|
2
|
+
import { TypeSpecModel } from "../interfaces.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms #/paths/{route}/{httpMethod}/responses into TypeSpec models.
|
|
5
|
+
* Populates the provided `models` array in-place.
|
|
6
|
+
* @param models
|
|
7
|
+
* @param document
|
|
8
|
+
*/
|
|
9
|
+
export declare function transformAllOperationResponses(models: TypeSpecModel[], document: OpenAPI3Document): void;
|
|
10
|
+
export declare function generateResponseModelName(operationId: string, statusCode: string, contentType?: string): string;
|
|
11
|
+
//# sourceMappingURL=transform-operation-responses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-operation-responses.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-operation-responses.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAMjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAqB,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AAU3F;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,aAAa,EAAE,EACvB,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAKN;AA8KD,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CASR"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { convertHeaderName } from "../utils/convert-header-name.js";
|
|
2
|
+
import { getDecoratorsForSchema, getExtensions } from "../utils/decorators.js";
|
|
3
|
+
import { supportedHttpMethods } from "../utils/supported-http-methods.js";
|
|
4
|
+
/**
|
|
5
|
+
* Transforms #/paths/{route}/{httpMethod}/responses into TypeSpec models.
|
|
6
|
+
* Populates the provided `models` array in-place.
|
|
7
|
+
* @param models
|
|
8
|
+
* @param document
|
|
9
|
+
*/
|
|
10
|
+
export function transformAllOperationResponses(models, document) {
|
|
11
|
+
const allOperationResponses = collectOpenAPI3OperationResponses(document);
|
|
12
|
+
for (const { operationId, operationResponses } of allOperationResponses) {
|
|
13
|
+
transformOperationResponses(models, operationId, operationResponses);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function collectOpenAPI3OperationResponses(document) {
|
|
17
|
+
const allOperationResponses = [];
|
|
18
|
+
const paths = document.paths ?? {};
|
|
19
|
+
for (const route of Object.keys(paths)) {
|
|
20
|
+
const path = paths[route];
|
|
21
|
+
for (const verb of supportedHttpMethods) {
|
|
22
|
+
const operation = path[verb];
|
|
23
|
+
if (!operation)
|
|
24
|
+
continue;
|
|
25
|
+
const operationResponses = operation.responses ?? {};
|
|
26
|
+
allOperationResponses.push({
|
|
27
|
+
operationId: operation.operationId,
|
|
28
|
+
operationResponses,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return allOperationResponses;
|
|
33
|
+
}
|
|
34
|
+
function transformOperationResponses(models, operationId, operationResponses) {
|
|
35
|
+
const rootDecorators = getExtensions(operationResponses);
|
|
36
|
+
for (const statusCode of Object.keys(operationResponses)) {
|
|
37
|
+
const response = operationResponses[statusCode];
|
|
38
|
+
const decorators = [...rootDecorators];
|
|
39
|
+
if ("$ref" in response) {
|
|
40
|
+
//TODO: Support for referencing #/components/responseBodies
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// These headers will be applied to all of the models for this operation/statusCode
|
|
44
|
+
const commonProperties = [];
|
|
45
|
+
for (const name of Object.keys(response.headers ?? {})) {
|
|
46
|
+
const property = convertHeaderToProperty(name, response.headers[name]);
|
|
47
|
+
if (property)
|
|
48
|
+
commonProperties.push(property);
|
|
49
|
+
}
|
|
50
|
+
decorators.push(...getExtensions(response));
|
|
51
|
+
// `default` status code is treated as the fallback for any status codes returned that aren't defined.
|
|
52
|
+
if (statusCode === "default") {
|
|
53
|
+
decorators.push({ name: "defaultResponse", args: [] });
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
commonProperties.push(convertStatusCodeToProperty(statusCode));
|
|
57
|
+
}
|
|
58
|
+
if (isErrorStatusCode(statusCode)) {
|
|
59
|
+
decorators.push({ name: "error", args: [] });
|
|
60
|
+
}
|
|
61
|
+
if (!response.content) {
|
|
62
|
+
// This is common when there is no actual request body, just a statusCode, e.g. for errors
|
|
63
|
+
models.push({
|
|
64
|
+
name: generateResponseModelName(operationId, statusCode),
|
|
65
|
+
decorators,
|
|
66
|
+
properties: commonProperties,
|
|
67
|
+
doc: response.description,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// An operation may produce multiple content types, so need a model for each one.
|
|
72
|
+
for (const contentType of Object.keys(response.content ?? {})) {
|
|
73
|
+
const properties = [...commonProperties];
|
|
74
|
+
const contentBody = response.content[contentType];
|
|
75
|
+
// Wouldn't expect schema can be undefined since that implies contentType is not needed.
|
|
76
|
+
if (contentBody.schema) {
|
|
77
|
+
properties.push({
|
|
78
|
+
name: "body",
|
|
79
|
+
isOptional: false, // TODO: use the real value
|
|
80
|
+
decorators: [{ name: "bodyRoot", args: [] }],
|
|
81
|
+
schema: contentBody.schema,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
// Default is application/json, so it doesn't need to be specified
|
|
85
|
+
if (contentType !== "application/json") {
|
|
86
|
+
properties.push({
|
|
87
|
+
name: "contentType",
|
|
88
|
+
decorators: [{ name: "header", args: [] }],
|
|
89
|
+
isOptional: false,
|
|
90
|
+
schema: { type: "string", enum: [contentType] },
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
models.push({
|
|
94
|
+
name: generateResponseModelName(operationId, statusCode, contentType),
|
|
95
|
+
decorators,
|
|
96
|
+
properties,
|
|
97
|
+
doc: response.description,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function convertHeaderToProperty(name, meta) {
|
|
104
|
+
const normalizedName = convertHeaderName(name);
|
|
105
|
+
// TODO: handle style
|
|
106
|
+
const headerDecorator = { name: "header", args: [] };
|
|
107
|
+
if (normalizedName !== name) {
|
|
108
|
+
headerDecorator.args.push(name);
|
|
109
|
+
}
|
|
110
|
+
if ("$ref" in meta) {
|
|
111
|
+
// Unhandled right now
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
name: normalizedName,
|
|
116
|
+
decorators: [headerDecorator, ...getDecoratorsForSchema(meta.schema)],
|
|
117
|
+
doc: meta.description ?? meta.schema.description,
|
|
118
|
+
isOptional: !meta.required,
|
|
119
|
+
schema: meta.schema,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function convertStatusCodeToProperty(statusCode) {
|
|
123
|
+
const schema = { type: "integer", format: "int32" };
|
|
124
|
+
if (statusCode === "1XX") {
|
|
125
|
+
schema.minimum = 100;
|
|
126
|
+
schema.maximum = 199;
|
|
127
|
+
}
|
|
128
|
+
else if (statusCode === "2XX") {
|
|
129
|
+
schema.minimum = 200;
|
|
130
|
+
schema.maximum = 299;
|
|
131
|
+
}
|
|
132
|
+
else if (statusCode === "3XX") {
|
|
133
|
+
schema.minimum = 300;
|
|
134
|
+
schema.maximum = 399;
|
|
135
|
+
}
|
|
136
|
+
else if (statusCode === "4XX") {
|
|
137
|
+
schema.minimum = 400;
|
|
138
|
+
schema.maximum = 499;
|
|
139
|
+
}
|
|
140
|
+
else if (statusCode === "5XX") {
|
|
141
|
+
schema.minimum = 500;
|
|
142
|
+
schema.maximum = 599;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
const literalStatusCode = parseInt(statusCode, 10);
|
|
146
|
+
if (!isValidLiteralStatusCode(literalStatusCode)) {
|
|
147
|
+
// TODO: Emit warning or // FIXME
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
schema.enum = [literalStatusCode];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
name: "statusCode",
|
|
155
|
+
schema,
|
|
156
|
+
decorators: [{ name: "statusCode", args: [] }],
|
|
157
|
+
isOptional: false,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function isValidLiteralStatusCode(statusCode) {
|
|
161
|
+
return isFinite(statusCode) && statusCode >= 100 && statusCode <= 599;
|
|
162
|
+
}
|
|
163
|
+
function isErrorStatusCode(statusCode) {
|
|
164
|
+
if (["1XX", "2XX", "3XX", "default"].includes(statusCode)) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
else if (["4XX", "5XX"].includes(statusCode)) {
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
const literalStatusCode = parseInt(statusCode, 10);
|
|
171
|
+
return isFinite(literalStatusCode) && literalStatusCode >= 400;
|
|
172
|
+
}
|
|
173
|
+
export function generateResponseModelName(operationId, statusCode, contentType) {
|
|
174
|
+
if (statusCode === "default") {
|
|
175
|
+
statusCode = "Default";
|
|
176
|
+
}
|
|
177
|
+
let modelName = `${operationId}${statusCode}`;
|
|
178
|
+
if (contentType) {
|
|
179
|
+
modelName += convertContentType(contentType);
|
|
180
|
+
}
|
|
181
|
+
return modelName + "Response";
|
|
182
|
+
}
|
|
183
|
+
function convertContentType(contentType) {
|
|
184
|
+
return contentType
|
|
185
|
+
.replaceAll("*", "Star")
|
|
186
|
+
.split("/")
|
|
187
|
+
.map((s) => s.substring(0, 1).toUpperCase() + s.substring(1))
|
|
188
|
+
.join("");
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=transform-operation-responses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-operation-responses.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-operation-responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OpenAPI3PathItem } from "../../../../types.js";
|
|
2
|
+
import { TypeSpecOperation } from "../interfaces.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms each operation defined under #/paths/{route}/{httpMethod} into a TypeSpec operation.
|
|
5
|
+
* @param paths
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function transformPaths(paths: Record<string, OpenAPI3PathItem>): TypeSpecOperation[];
|
|
9
|
+
//# sourceMappingURL=transform-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-paths.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAI1B;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,EAAE,CA8B3F"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { getExtensions, getParameterDecorators } from "../utils/decorators.js";
|
|
2
|
+
import { supportedHttpMethods } from "../utils/supported-http-methods.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms each operation defined under #/paths/{route}/{httpMethod} into a TypeSpec operation.
|
|
5
|
+
* @param paths
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export function transformPaths(paths) {
|
|
9
|
+
const operations = [];
|
|
10
|
+
for (const route of Object.keys(paths)) {
|
|
11
|
+
const path = paths[route];
|
|
12
|
+
for (const verb of supportedHttpMethods) {
|
|
13
|
+
const operation = path[verb];
|
|
14
|
+
if (!operation)
|
|
15
|
+
continue;
|
|
16
|
+
const parameters = operation.parameters?.map(transformOperationParameter) ?? [];
|
|
17
|
+
const tags = operation.tags?.map((t) => t) ?? [];
|
|
18
|
+
operations.push({
|
|
19
|
+
name: operation.operationId,
|
|
20
|
+
decorators: [
|
|
21
|
+
...getExtensions(operation),
|
|
22
|
+
{ name: "route", args: [route] },
|
|
23
|
+
{ name: verb, args: [] },
|
|
24
|
+
],
|
|
25
|
+
parameters,
|
|
26
|
+
doc: operation.description,
|
|
27
|
+
operationId: operation.operationId,
|
|
28
|
+
requestBodies: transformRequestBodies(operation.requestBody),
|
|
29
|
+
responses: operation.responses ?? {},
|
|
30
|
+
tags: tags,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return operations;
|
|
35
|
+
}
|
|
36
|
+
function transformOperationParameter(parameter) {
|
|
37
|
+
if ("$ref" in parameter) {
|
|
38
|
+
return { $ref: parameter.$ref };
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
name: parameter.name,
|
|
42
|
+
doc: parameter.description,
|
|
43
|
+
decorators: getParameterDecorators(parameter),
|
|
44
|
+
isOptional: !parameter.required,
|
|
45
|
+
schema: parameter.schema,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function transformRequestBodies(requestBodies) {
|
|
49
|
+
if (!requestBodies) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
const typespecBodies = [];
|
|
53
|
+
for (const contentType of Object.keys(requestBodies.content)) {
|
|
54
|
+
const contentBody = requestBodies.content[contentType];
|
|
55
|
+
typespecBodies.push({
|
|
56
|
+
contentType,
|
|
57
|
+
isOptional: !requestBodies.required,
|
|
58
|
+
doc: requestBodies.description,
|
|
59
|
+
encoding: contentBody.encoding,
|
|
60
|
+
schema: contentBody.schema,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return typespecBodies;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=transform-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-paths.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-paths.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAuC;IACpE,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,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,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS,CAAC,WAAY;gBAC5B,UAAU,EAAE;oBACV,GAAG,aAAa,CAAC,SAAS,CAAC;oBAC3B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;oBAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;iBACzB;gBACD,UAAU;gBACV,GAAG,EAAE,SAAS,CAAC,WAAW;gBAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,aAAa,EAAE,sBAAsB,CAAC,SAAS,CAAC,WAAW,CAAC;gBAC5D,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;gBACpC,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAClC,SAAqC;IAErC,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,GAAG,EAAE,SAAS,CAAC,WAAW;QAC1B,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC;QAC7C,UAAU,EAAE,CAAC,SAAS,CAAC,QAAQ;QAC/B,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAmC;IACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAA0B,EAAE,CAAC;IACjD,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACvD,cAAc,CAAC,IAAI,CAAC;YAClB,WAAW;YACX,UAAU,EAAE,CAAC,aAAa,CAAC,QAAQ;YACnC,GAAG,EAAE,aAAa,CAAC,WAAW;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-service-info.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-service-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,mBAAmB,CAU5E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function transformServiceInfo(info) {
|
|
2
|
+
return {
|
|
3
|
+
name: info.title,
|
|
4
|
+
doc: info.description,
|
|
5
|
+
version: info.version,
|
|
6
|
+
contact: info.contact,
|
|
7
|
+
license: info.license,
|
|
8
|
+
termsOfService: info.termsOfService,
|
|
9
|
+
summary: info.summary,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=transform-service-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-service-info.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-service-info.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,GAAG,EAAE,IAAI,CAAC,WAAW;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAiB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOlE,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CASpE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { transformComponentParameters } from "./transform-component-parameters.js";
|
|
2
|
+
import { transformComponentSchemas } from "./transform-component-schemas.js";
|
|
3
|
+
import { transformAllOperationResponses } from "./transform-operation-responses.js";
|
|
4
|
+
import { transformPaths } from "./transform-paths.js";
|
|
5
|
+
import { transformServiceInfo } from "./transform-service-info.js";
|
|
6
|
+
export function transform(openapi) {
|
|
7
|
+
const models = collectModels(openapi);
|
|
8
|
+
return {
|
|
9
|
+
serviceInfo: transformServiceInfo(openapi.info),
|
|
10
|
+
models,
|
|
11
|
+
augmentations: [],
|
|
12
|
+
operations: transformPaths(openapi.paths),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function collectModels(document) {
|
|
16
|
+
const models = [];
|
|
17
|
+
const components = document.components;
|
|
18
|
+
// get models from `#/components/schema
|
|
19
|
+
transformComponentSchemas(models, components?.schemas);
|
|
20
|
+
// get models from `#/components/parameters
|
|
21
|
+
transformComponentParameters(models, components?.parameters);
|
|
22
|
+
// get models from #/paths/{route}/{httpMethod}/responses
|
|
23
|
+
transformAllOperationResponses(models, document);
|
|
24
|
+
return models;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=transforms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO;QACL,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,MAAM;QACN,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAA0B;IAC/C,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,uCAAuC;IACvC,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,2CAA2C;IAC3C,4BAA4B,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,yDAAyD;IACzD,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-header-name.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/convert-header-name.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-header-name.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/convert-header-name.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAO,CAAC;SACL,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SACnF,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Extensions, OpenAPI3Parameter, OpenAPI3Schema, Refable } from "../../../../types.js";
|
|
2
|
+
import { TypeSpecDecorator } from "../interfaces.js";
|
|
3
|
+
export declare function getExtensions(element: Extensions): TypeSpecDecorator[];
|
|
4
|
+
export declare function getParameterDecorators(parameter: OpenAPI3Parameter): TypeSpecDecorator[];
|
|
5
|
+
export declare function getDecoratorsForSchema(schema: Refable<OpenAPI3Schema>): TypeSpecDecorator[];
|
|
6
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/utils/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,EAAE,CAatE;AAMD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,uBAUlE;AA4CD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,iBAAiB,EAAE,CAgC3F"}
|