@typespec/openapi3 0.60.0-dev.5 → 0.60.0-dev.7
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-file.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/convert-file.js +4 -2
- package/dist/src/cli/actions/convert/convert-file.js.map +1 -1
- package/dist/src/cli/actions/convert/convert.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/convert.js +4 -2
- package/dist/src/cli/actions/convert/convert.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-main.d.ts +2 -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 +4 -4
- package/dist/src/cli/actions/convert/generators/generate-main.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-model.d.ts +3 -3
- package/dist/src/cli/actions/convert/generators/generate-model.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-model.js +30 -35
- package/dist/src/cli/actions/convert/generators/generate-model.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-namespace.d.ts +2 -1
- package/dist/src/cli/actions/convert/generators/generate-namespace.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-namespace.js +4 -4
- package/dist/src/cli/actions/convert/generators/generate-namespace.js.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-operation.d.ts +2 -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 +10 -14
- 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.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-service-info.js +1 -3
- 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 -8
- package/dist/src/cli/actions/convert/generators/generate-types.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/generators/generate-types.js +138 -109
- package/dist/src/cli/actions/convert/generators/generate-types.js.map +1 -1
- package/dist/src/cli/actions/convert/interfaces.d.ts +1 -0
- package/dist/src/cli/actions/convert/interfaces.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transform-component-parameters.d.ts +3 -3
- 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 +14 -27
- 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 +2 -2
- 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 +114 -96
- package/dist/src/cli/actions/convert/transforms/transform-component-schemas.js.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transforms.d.ts +2 -2
- package/dist/src/cli/actions/convert/transforms/transforms.d.ts.map +1 -1
- package/dist/src/cli/actions/convert/transforms/transforms.js +6 -6
- package/dist/src/cli/actions/convert/transforms/transforms.js.map +1 -1
- package/dist/src/cli/actions/convert/utils/context.d.ts +10 -0
- package/dist/src/cli/actions/convert/utils/context.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/context.js +23 -0
- package/dist/src/cli/actions/convert/utils/context.js.map +1 -0
- package/dist/src/cli/actions/convert/utils/generate-namespace-name.d.ts +2 -0
- package/dist/src/cli/actions/convert/utils/generate-namespace-name.d.ts.map +1 -0
- package/dist/src/cli/actions/convert/utils/generate-namespace-name.js +4 -0
- package/dist/src/cli/actions/convert/utils/generate-namespace-name.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,12 +2,141 @@ import { printIdentifier } from "@typespec/compiler";
|
|
|
2
2
|
import { getDecoratorsForSchema } from "../utils/decorators.js";
|
|
3
3
|
import { getScopeAndName } from "../utils/get-scope-and-name.js";
|
|
4
4
|
import { generateDecorators } from "./generate-decorators.js";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
export class SchemaToExpressionGenerator {
|
|
6
|
+
rootNamespace;
|
|
7
|
+
constructor(rootNamespace) {
|
|
8
|
+
this.rootNamespace = rootNamespace;
|
|
9
|
+
}
|
|
10
|
+
generateTypeFromRefableSchema(schema, callingScope) {
|
|
11
|
+
const hasRef = "$ref" in schema;
|
|
12
|
+
return hasRef
|
|
13
|
+
? this.getRefName(schema.$ref, callingScope)
|
|
14
|
+
: this.getTypeFromSchema(schema, callingScope);
|
|
15
|
+
}
|
|
16
|
+
generateArrayType(schema, callingScope) {
|
|
17
|
+
const items = schema.items;
|
|
18
|
+
if (!items) {
|
|
19
|
+
return "unknown[]";
|
|
20
|
+
}
|
|
21
|
+
if ("$ref" in items) {
|
|
22
|
+
return `${this.getRefName(items.$ref, callingScope)}[]`;
|
|
23
|
+
}
|
|
24
|
+
// Prettier will get rid of the extra parenthesis for us
|
|
25
|
+
return `(${this.getTypeFromSchema(items, callingScope)})[]`;
|
|
26
|
+
}
|
|
27
|
+
getRefName(ref, callingScope) {
|
|
28
|
+
const { scope, name } = this.getRefScopeAndName(ref, callingScope);
|
|
29
|
+
return [...scope, name].join(".");
|
|
30
|
+
}
|
|
31
|
+
getRefScopeAndName(ref, callingScope) {
|
|
32
|
+
const parts = ref.split("/");
|
|
33
|
+
const name = parts.pop() ?? "";
|
|
34
|
+
const componentType = parts.pop()?.toLowerCase() ?? "";
|
|
35
|
+
const scopeAndName = getScopeAndName(name);
|
|
36
|
+
switch (componentType) {
|
|
37
|
+
case "schemas":
|
|
38
|
+
if (callingScope.length) {
|
|
39
|
+
/*
|
|
40
|
+
Since schemas are generated in the file namespace,
|
|
41
|
+
need to reference them against the file namespace
|
|
42
|
+
to prevent name collisions.
|
|
43
|
+
Example:
|
|
44
|
+
namespace Service;
|
|
45
|
+
scalar Foo extends string;
|
|
46
|
+
namespace Parameters {
|
|
47
|
+
model Foo {
|
|
48
|
+
@query foo: Service.Foo
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
*/
|
|
52
|
+
scopeAndName.scope.unshift(this.rootNamespace);
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
case "parameters":
|
|
56
|
+
scopeAndName.scope.unshift("Parameters");
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
return scopeAndName;
|
|
60
|
+
}
|
|
61
|
+
getTypeFromSchema(schema, callingScope) {
|
|
62
|
+
let type = "unknown";
|
|
63
|
+
if (schema.enum) {
|
|
64
|
+
type = getEnum(schema.enum);
|
|
65
|
+
}
|
|
66
|
+
else if (schema.anyOf) {
|
|
67
|
+
type = this.getAnyOfType(schema, callingScope);
|
|
68
|
+
}
|
|
69
|
+
else if (schema.type === "array") {
|
|
70
|
+
type = this.generateArrayType(schema, callingScope);
|
|
71
|
+
}
|
|
72
|
+
else if (schema.type === "boolean") {
|
|
73
|
+
type = "boolean";
|
|
74
|
+
}
|
|
75
|
+
else if (schema.type === "integer") {
|
|
76
|
+
type = getIntegerType(schema);
|
|
77
|
+
}
|
|
78
|
+
else if (schema.type === "number") {
|
|
79
|
+
type = getNumberType(schema);
|
|
80
|
+
}
|
|
81
|
+
else if (schema.type === "object") {
|
|
82
|
+
type = this.getObjectType(schema, callingScope);
|
|
83
|
+
}
|
|
84
|
+
else if (schema.oneOf) {
|
|
85
|
+
type = this.getOneOfType(schema, callingScope);
|
|
86
|
+
}
|
|
87
|
+
else if (schema.type === "string") {
|
|
88
|
+
type = getStringType(schema);
|
|
89
|
+
}
|
|
90
|
+
if (schema.nullable) {
|
|
91
|
+
type += ` | null`;
|
|
92
|
+
}
|
|
93
|
+
if (schema.default) {
|
|
94
|
+
type += ` = ${JSON.stringify(schema.default)}`;
|
|
95
|
+
}
|
|
96
|
+
return type;
|
|
97
|
+
}
|
|
98
|
+
getAnyOfType(schema, callingScope) {
|
|
99
|
+
const definitions = [];
|
|
100
|
+
for (const item of schema.anyOf ?? []) {
|
|
101
|
+
definitions.push(this.generateTypeFromRefableSchema(item, callingScope));
|
|
102
|
+
}
|
|
103
|
+
return definitions.join(" | ");
|
|
104
|
+
}
|
|
105
|
+
getOneOfType(schema, callingScope) {
|
|
106
|
+
const definitions = [];
|
|
107
|
+
for (const item of schema.oneOf ?? []) {
|
|
108
|
+
definitions.push(this.generateTypeFromRefableSchema(item, callingScope));
|
|
109
|
+
}
|
|
110
|
+
return definitions.join(" | ");
|
|
111
|
+
}
|
|
112
|
+
getObjectType(schema, callingScope) {
|
|
113
|
+
// If we have `additionalProperties`, treat that as an 'indexer' and convert to a record.
|
|
114
|
+
const recordType = typeof schema.additionalProperties === "object"
|
|
115
|
+
? `Record<${this.generateTypeFromRefableSchema(schema.additionalProperties, callingScope)}>`
|
|
116
|
+
: "";
|
|
117
|
+
if (!schema.properties && recordType) {
|
|
118
|
+
return recordType;
|
|
119
|
+
}
|
|
120
|
+
const requiredProps = schema.required ?? [];
|
|
121
|
+
const props = [];
|
|
122
|
+
if (schema.properties) {
|
|
123
|
+
for (const name of Object.keys(schema.properties)) {
|
|
124
|
+
const decorators = generateDecorators(getDecoratorsForSchema(schema.properties[name]))
|
|
125
|
+
.map((d) => `${d}\n`)
|
|
126
|
+
.join("");
|
|
127
|
+
const isOptional = !requiredProps.includes(name) ? "?" : "";
|
|
128
|
+
props.push(`${decorators}${printIdentifier(name)}${isOptional}: ${this.generateTypeFromRefableSchema(schema.properties[name], callingScope)}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const propertyCount = Object.keys(props).length;
|
|
132
|
+
if (recordType && !propertyCount) {
|
|
133
|
+
return recordType;
|
|
134
|
+
}
|
|
135
|
+
else if (recordType && propertyCount) {
|
|
136
|
+
props.push(`...${recordType}`);
|
|
137
|
+
}
|
|
138
|
+
return `{${props.join("; ")}}`;
|
|
139
|
+
}
|
|
11
140
|
}
|
|
12
141
|
export function getTypeSpecPrimitiveFromSchema(schema) {
|
|
13
142
|
if (schema.type === "boolean") {
|
|
@@ -24,107 +153,7 @@ export function getTypeSpecPrimitiveFromSchema(schema) {
|
|
|
24
153
|
}
|
|
25
154
|
return;
|
|
26
155
|
}
|
|
27
|
-
function
|
|
28
|
-
let type = "unknown";
|
|
29
|
-
if (schema.enum) {
|
|
30
|
-
type = getEnum(schema.enum);
|
|
31
|
-
}
|
|
32
|
-
else if (schema.anyOf) {
|
|
33
|
-
type = getAnyOfType(schema);
|
|
34
|
-
}
|
|
35
|
-
else if (schema.type === "array") {
|
|
36
|
-
type = getArrayType(schema);
|
|
37
|
-
}
|
|
38
|
-
else if (schema.type === "boolean") {
|
|
39
|
-
type = "boolean";
|
|
40
|
-
}
|
|
41
|
-
else if (schema.type === "integer") {
|
|
42
|
-
type = getIntegerType(schema);
|
|
43
|
-
}
|
|
44
|
-
else if (schema.type === "number") {
|
|
45
|
-
type = getNumberType(schema);
|
|
46
|
-
}
|
|
47
|
-
else if (schema.type === "object") {
|
|
48
|
-
type = getObjectType(schema);
|
|
49
|
-
}
|
|
50
|
-
else if (schema.oneOf) {
|
|
51
|
-
type = getOneOfType(schema);
|
|
52
|
-
}
|
|
53
|
-
else if (schema.type === "string") {
|
|
54
|
-
type = getStringType(schema);
|
|
55
|
-
}
|
|
56
|
-
if (schema.nullable) {
|
|
57
|
-
type += ` | null`;
|
|
58
|
-
}
|
|
59
|
-
if (schema.default) {
|
|
60
|
-
type += ` = ${JSON.stringify(schema.default)}`;
|
|
61
|
-
}
|
|
62
|
-
return type;
|
|
63
|
-
}
|
|
64
|
-
export function getRefName(ref) {
|
|
65
|
-
const { scope, name } = getRefScopeAndName(ref);
|
|
66
|
-
return [...scope, name].join(".");
|
|
67
|
-
}
|
|
68
|
-
export function getRefScopeAndName(ref) {
|
|
69
|
-
const parts = ref.split("/");
|
|
70
|
-
const name = parts.pop() ?? "";
|
|
71
|
-
const scopeAndName = getScopeAndName(name);
|
|
72
|
-
return scopeAndName;
|
|
73
|
-
}
|
|
74
|
-
function getAnyOfType(schema) {
|
|
75
|
-
const definitions = [];
|
|
76
|
-
for (const item of schema.anyOf ?? []) {
|
|
77
|
-
definitions.push(generateTypeFromSchema(item));
|
|
78
|
-
}
|
|
79
|
-
return definitions.join(" | ");
|
|
80
|
-
}
|
|
81
|
-
function getOneOfType(schema) {
|
|
82
|
-
const definitions = [];
|
|
83
|
-
for (const item of schema.oneOf ?? []) {
|
|
84
|
-
definitions.push(generateTypeFromSchema(item));
|
|
85
|
-
}
|
|
86
|
-
return definitions.join(" | ");
|
|
87
|
-
}
|
|
88
|
-
function getObjectType(schema) {
|
|
89
|
-
// If we have `additionalProperties`, treat that as an 'indexer' and convert to a record.
|
|
90
|
-
const recordType = typeof schema.additionalProperties === "object"
|
|
91
|
-
? `Record<${getTypeFromRefableSchema(schema.additionalProperties)}>`
|
|
92
|
-
: "";
|
|
93
|
-
if (!schema.properties && recordType) {
|
|
94
|
-
return recordType;
|
|
95
|
-
}
|
|
96
|
-
const requiredProps = schema.required ?? [];
|
|
97
|
-
const props = [];
|
|
98
|
-
if (schema.properties) {
|
|
99
|
-
for (const name of Object.keys(schema.properties)) {
|
|
100
|
-
const decorators = generateDecorators(getDecoratorsForSchema(schema.properties[name]))
|
|
101
|
-
.map((d) => `${d}\n`)
|
|
102
|
-
.join("");
|
|
103
|
-
const isOptional = !requiredProps.includes(name) ? "?" : "";
|
|
104
|
-
props.push(`${decorators}${printIdentifier(name)}${isOptional}: ${getTypeFromRefableSchema(schema.properties[name])}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
const propertyCount = Object.keys(props).length;
|
|
108
|
-
if (recordType && !propertyCount) {
|
|
109
|
-
return recordType;
|
|
110
|
-
}
|
|
111
|
-
else if (recordType && propertyCount) {
|
|
112
|
-
props.push(`...${recordType}`);
|
|
113
|
-
}
|
|
114
|
-
return `{${props.join("; ")}}`;
|
|
115
|
-
}
|
|
116
|
-
export function getArrayType(schema) {
|
|
117
|
-
const items = schema.items;
|
|
118
|
-
if (!items) {
|
|
119
|
-
return "unknown[]";
|
|
120
|
-
}
|
|
121
|
-
if ("$ref" in items) {
|
|
122
|
-
return `${getRefName(items.$ref)}[]`;
|
|
123
|
-
}
|
|
124
|
-
// Prettier will get rid of the extra parenthesis for us
|
|
125
|
-
return `(${getTypeFromSchema(items)})[]`;
|
|
126
|
-
}
|
|
127
|
-
export function getIntegerType(schema) {
|
|
156
|
+
function getIntegerType(schema) {
|
|
128
157
|
const format = schema.format ?? "";
|
|
129
158
|
switch (format) {
|
|
130
159
|
case "int8":
|
|
@@ -142,7 +171,7 @@ export function getIntegerType(schema) {
|
|
|
142
171
|
return "integer";
|
|
143
172
|
}
|
|
144
173
|
}
|
|
145
|
-
|
|
174
|
+
function getNumberType(schema) {
|
|
146
175
|
const format = schema.format ?? "";
|
|
147
176
|
switch (format) {
|
|
148
177
|
case "decimal":
|
|
@@ -157,7 +186,7 @@ export function getNumberType(schema) {
|
|
|
157
186
|
return "numeric";
|
|
158
187
|
}
|
|
159
188
|
}
|
|
160
|
-
|
|
189
|
+
function getStringType(schema) {
|
|
161
190
|
const format = schema.format ?? "";
|
|
162
191
|
let type = "string";
|
|
163
192
|
switch (format) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,
|
|
1
|
+
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ export interface TypeSpecModel extends TypeSpecDeclaration {
|
|
|
51
51
|
* Defaults to 'object'
|
|
52
52
|
*/
|
|
53
53
|
type?: OpenAPI3Schema["type"];
|
|
54
|
+
spread?: string[];
|
|
54
55
|
}
|
|
55
56
|
export interface TypeSpecAlias extends Pick<TypeSpecDeclaration, "name" | "doc" | "scope"> {
|
|
56
57
|
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,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE9E,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,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,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,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,MAAM,iBAAiB,GACzB,aAAa,GACb,YAAY,GACZ,aAAa,GACb,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,IAAI,EAAE,OAAO,CAAC;IAEd,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;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/cli/actions/convert/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { TypeSpecDataTypes } from "../interfaces.js";
|
|
2
|
+
import { Context } from "../utils/context.js";
|
|
3
3
|
/**
|
|
4
4
|
* Transforms #/components/parameters into TypeSpec models.
|
|
5
5
|
* Overwrites properties of existing models if an existing model already exists.
|
|
@@ -8,5 +8,5 @@ import { TypeSpecModel } from "../interfaces.js";
|
|
|
8
8
|
* @param parameters
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
|
-
export declare function transformComponentParameters(
|
|
11
|
+
export declare function transformComponentParameters(context: Context, dataTypes: TypeSpecDataTypes[]): void;
|
|
12
12
|
//# sourceMappingURL=transform-component-parameters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-component-parameters.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-parameters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform-component-parameters.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,EAAE,GAC7B,IAAI,CAQN"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { printIdentifier } from "@typespec/compiler";
|
|
2
2
|
import { getParameterDecorators } from "../utils/decorators.js";
|
|
3
|
-
import { getScopeAndName
|
|
3
|
+
import { getScopeAndName } from "../utils/get-scope-and-name.js";
|
|
4
4
|
/**
|
|
5
5
|
* Transforms #/components/parameters into TypeSpec models.
|
|
6
6
|
* Overwrites properties of existing models if an existing model already exists.
|
|
@@ -9,39 +9,26 @@ import { getScopeAndName, scopesMatch } from "../utils/get-scope-and-name.js";
|
|
|
9
9
|
* @param parameters
|
|
10
10
|
* @returns
|
|
11
11
|
*/
|
|
12
|
-
export function transformComponentParameters(
|
|
12
|
+
export function transformComponentParameters(context, dataTypes) {
|
|
13
|
+
const parameters = context.openApi3Doc.components?.parameters;
|
|
13
14
|
if (!parameters)
|
|
14
15
|
return;
|
|
15
16
|
for (const name of Object.keys(parameters)) {
|
|
16
17
|
const parameter = parameters[name];
|
|
17
|
-
transformComponentParameter(
|
|
18
|
+
transformComponentParameter(dataTypes, name, parameter);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
function transformComponentParameter(
|
|
21
|
+
function transformComponentParameter(dataTypes, key, parameter) {
|
|
21
22
|
const { name, scope } = getScopeAndName(key);
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
decorators: [],
|
|
32
|
-
properties: [],
|
|
33
|
-
};
|
|
34
|
-
models.push(model);
|
|
35
|
-
}
|
|
36
|
-
const modelProperty = getModelPropertyFromParameter(parameter);
|
|
37
|
-
// Check if the model already has a property of the matching name
|
|
38
|
-
const propIndex = model.properties.findIndex((p) => p.name === modelProperty.name);
|
|
39
|
-
if (propIndex >= 0) {
|
|
40
|
-
model.properties[propIndex] = modelProperty;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
model.properties.push(modelProperty);
|
|
44
|
-
}
|
|
23
|
+
// Parameters should live in the root Parameters namespace
|
|
24
|
+
scope.unshift("Parameters");
|
|
25
|
+
dataTypes.push({
|
|
26
|
+
kind: "model",
|
|
27
|
+
scope,
|
|
28
|
+
name,
|
|
29
|
+
decorators: [],
|
|
30
|
+
properties: [getModelPropertyFromParameter(parameter)],
|
|
31
|
+
});
|
|
45
32
|
}
|
|
46
33
|
function getModelPropertyFromParameter(parameter) {
|
|
47
34
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-component-parameters.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transform-component-parameters.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAgB,EAChB,SAA8B;IAE9B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,SAA8B,EAC9B,GAAW,EACX,SAA4B;IAE5B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7C,0DAA0D;IAC1D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5B,SAAS,CAAC,IAAI,CAAC;QACb,IAAI,EAAE,OAAO;QACb,KAAK;QACL,IAAI;QACJ,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,SAA4B;IACjE,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;QACrC,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { OpenAPI3Components } from "../../../../types.js";
|
|
2
1
|
import { TypeSpecModel } from "../interfaces.js";
|
|
2
|
+
import { Context } from "../utils/context.js";
|
|
3
3
|
/**
|
|
4
4
|
* Transforms #/components/schemas into TypeSpec models.
|
|
5
5
|
* Populates the provided `models` array in-place.
|
|
@@ -7,5 +7,5 @@ import { TypeSpecModel } from "../interfaces.js";
|
|
|
7
7
|
* @param schemas
|
|
8
8
|
* @returns
|
|
9
9
|
*/
|
|
10
|
-
export declare function transformComponentSchemas(
|
|
10
|
+
export declare function transformComponentSchemas(context: Context, models: TypeSpecModel[]): void;
|
|
11
11
|
//# sourceMappingURL=transform-component-schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-component-schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-component-schemas.ts"],"names":[],"mappings":"
|
|
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,CAsKzF"}
|