@nestia/migrate 0.1.11 → 0.2.1-dev.20230802
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/lib/NestiaMigrateApplication.js +76 -11
- package/lib/NestiaMigrateApplication.js.map +1 -1
- package/lib/archivers/FileArchiver.js +0 -1
- package/lib/archivers/FileArchiver.js.map +1 -1
- package/lib/bundles/TEMPLATE.js +10 -5
- package/lib/bundles/TEMPLATE.js.map +1 -1
- package/lib/programmers/ControllerProgrammer.d.ts +2 -1
- package/lib/programmers/ControllerProgrammer.js +12 -17
- package/lib/programmers/ControllerProgrammer.js.map +1 -1
- package/lib/programmers/DtoProgrammer.d.ts +2 -1
- package/lib/programmers/DtoProgrammer.js +5 -5
- package/lib/programmers/DtoProgrammer.js.map +1 -1
- package/lib/programmers/ImportProgrammer.d.ts +11 -0
- package/lib/programmers/ImportProgrammer.js +20 -0
- package/lib/programmers/ImportProgrammer.js.map +1 -0
- package/lib/programmers/MigrateProgrammer.d.ts +2 -1
- package/lib/programmers/MigrateProgrammer.js +3 -3
- package/lib/programmers/MigrateProgrammer.js.map +1 -1
- package/lib/programmers/RouteProgrammer.d.ts +2 -1
- package/lib/programmers/RouteProgrammer.js +93 -37
- package/lib/programmers/RouteProgrammer.js.map +1 -1
- package/lib/programmers/SchemaProgrammer.d.ts +2 -1
- package/lib/programmers/SchemaProgrammer.js +64 -42
- package/lib/programmers/SchemaProgrammer.js.map +1 -1
- package/lib/structures/IMigrateRoute.d.ts +3 -0
- package/lib/structures/ISwaggerRoute.d.ts +3 -1
- package/package.json +4 -4
- package/src/NestiaMigrateApplication.ts +28 -3
- package/src/archivers/FileArchiver.ts +0 -1
- package/src/bundles/TEMPLATE.ts +10 -5
- package/src/programmers/ControllerProgrammer.ts +50 -54
- package/src/programmers/DtoProgrammer.ts +29 -25
- package/src/programmers/ImportProgrammer.ts +29 -0
- package/src/programmers/MigrateProgrammer.ts +17 -14
- package/src/programmers/RouteProgrammer.ts +158 -52
- package/src/programmers/SchemaProgrammer.ts +82 -40
- package/src/structures/IMigrateRoute.ts +4 -0
- package/src/structures/ISwaggerRoute.ts +4 -1
@@ -21,9 +21,9 @@ var DtoProgrammer;
|
|
21
21
|
modulo = MapUtil_1.MapUtil.take(modulo.children)(key)(() => new Modulo(key));
|
22
22
|
return modulo;
|
23
23
|
};
|
24
|
-
DtoProgrammer.write = (dto) => {
|
24
|
+
DtoProgrammer.write = (components) => (dto) => {
|
25
25
|
const references = [];
|
26
|
-
const body = iterate(references)(dto);
|
26
|
+
const body = iterate(components)(references)(dto);
|
27
27
|
const imports = [
|
28
28
|
...new Set(references
|
29
29
|
.map((s) => s.$ref
|
@@ -38,7 +38,7 @@ var DtoProgrammer;
|
|
38
38
|
];
|
39
39
|
return content.join("\n");
|
40
40
|
};
|
41
|
-
const iterate = (references) => (dto) => {
|
41
|
+
const iterate = (components) => (references) => (dto) => {
|
42
42
|
const content = [];
|
43
43
|
if (dto.schema) {
|
44
44
|
const description = describe(dto.schema);
|
@@ -48,10 +48,10 @@ var DtoProgrammer;
|
|
48
48
|
...description.split("\n").map((l) => ` * ${l}`),
|
49
49
|
" */",
|
50
50
|
]
|
51
|
-
: []), `export type ${dto.name} = ${SchemaProgrammer_1.SchemaProgrammer.write(references)(dto.schema)}`);
|
51
|
+
: []), `export type ${dto.name} = ${SchemaProgrammer_1.SchemaProgrammer.write(components)(references)(dto.schema)}`);
|
52
52
|
}
|
53
53
|
if (dto.children.length) {
|
54
|
-
content.push(`export namespace ${dto.name} {`, ...dto.children.map((c) => iterate(references)(c)
|
54
|
+
content.push(`export namespace ${dto.name} {`, ...dto.children.map((c) => iterate(components)(references)(c)
|
55
55
|
.split("\n")
|
56
56
|
.map((l) => ` ${l}`)
|
57
57
|
.join("\n")), `}`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DtoProgrammer.js","sourceRoot":"","sources":["../../src/programmers/DtoProgrammer.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"DtoProgrammer.js","sourceRoot":"","sources":["../../src/programmers/DtoProgrammer.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ImportProgrammer = void 0;
|
4
|
+
const MapUtil_1 = require("../utils/MapUtil");
|
5
|
+
class ImportProgrammer {
|
6
|
+
constructor() {
|
7
|
+
this.dict = new Map();
|
8
|
+
}
|
9
|
+
add(props) {
|
10
|
+
MapUtil_1.MapUtil.take(this.dict)(props.library)(() => new Set()).add(props.instance);
|
11
|
+
return props.instance;
|
12
|
+
}
|
13
|
+
toScript() {
|
14
|
+
return [...this.dict.entries()]
|
15
|
+
.map(([library, properties]) => `import { ${[...properties].join(", ")} } from "${library}";`)
|
16
|
+
.join("\n");
|
17
|
+
}
|
18
|
+
}
|
19
|
+
exports.ImportProgrammer = ImportProgrammer;
|
20
|
+
//# sourceMappingURL=ImportProgrammer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ImportProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ImportProgrammer.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,MAAa,gBAAgB;IAA7B;QACY,SAAI,GAA6B,IAAI,GAAG,EAAE,CAAC;IAmBvD,CAAC;IAjBU,GAAG,CAAC,KAA8B;QACrC,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CACvD,KAAK,CAAC,QAAQ,CACjB,CAAC;QACF,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAEM,QAAQ;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC1B,GAAG,CACA,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CACtB,YAAY,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAC5B,IAAI,CACP,YAAY,OAAO,IAAI,CAC/B;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACJ;AApBD,4CAoBC"}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { IMigrateFile } from "../structures/IMigrateFile";
|
2
2
|
import { IMigrateProgram } from "../structures/IMigrateProgram";
|
3
3
|
import { ISwagger } from "../structures/ISwagger";
|
4
|
+
import { ISwaggerComponents } from "../structures/ISwaggerComponents";
|
4
5
|
export declare namespace MigrateProgrammer {
|
5
6
|
const analyze: (swagger: ISwagger) => IMigrateProgram;
|
6
|
-
const write: (program: IMigrateProgram) => IMigrateFile[];
|
7
|
+
const write: (components: ISwaggerComponents) => (program: IMigrateProgram) => IMigrateFile[];
|
7
8
|
}
|
@@ -13,17 +13,17 @@ var MigrateProgrammer;
|
|
13
13
|
structures,
|
14
14
|
};
|
15
15
|
};
|
16
|
-
MigrateProgrammer.write = (program) => {
|
16
|
+
MigrateProgrammer.write = (components) => (program) => {
|
17
17
|
return [
|
18
18
|
...program.controllers.map((c) => ({
|
19
19
|
location: c.location,
|
20
20
|
file: `${c.name}.ts`,
|
21
|
-
content: ControllerProgrammer_1.ControllerProgrammer.write(c),
|
21
|
+
content: ControllerProgrammer_1.ControllerProgrammer.write(components)(c),
|
22
22
|
})),
|
23
23
|
...program.structures.map((s) => ({
|
24
24
|
location: s.location,
|
25
25
|
file: `${s.name}.ts`,
|
26
|
-
content: DtoProgrammer_1.DtoProgrammer.write(s),
|
26
|
+
content: DtoProgrammer_1.DtoProgrammer.write(components)(s),
|
27
27
|
})),
|
28
28
|
];
|
29
29
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MigrateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MigrateProgrammer.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"MigrateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MigrateProgrammer.ts"],"names":[],"mappings":";;;AAIA,iEAA8D;AAC9D,mDAAgD;AAEhD,IAAiB,iBAAiB,CA0BjC;AA1BD,WAAiB,iBAAiB;IACjB,yBAAO,GAAG,CAAC,OAAiB,EAAmB,EAAE;QAC1D,MAAM,WAAW,GAAG,2CAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,6BAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO;YACH,WAAW;YACX,UAAU;SACb,CAAC;IACN,CAAC,CAAC;IAEW,uBAAK,GACd,CAAC,UAA8B,EAAE,EAAE,CACnC,CAAC,OAAwB,EAAkB,EAAE;QACzC,OAAO;YACH,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK;gBACpB,OAAO,EAAE,2CAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACrD,CAAC,CAAC;YACH,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK;gBACpB,OAAO,EAAE,6BAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACN,CAAC;IACN,CAAC,CAAC;AACV,CAAC,EA1BgB,iBAAiB,iCAAjB,iBAAiB,QA0BjC"}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import { IMigrateRoute } from "../structures/IMigrateRoute";
|
2
2
|
import { ISwaggerSchema } from "../structures/ISwaggeSchema";
|
3
3
|
import { ISwagger } from "../structures/ISwagger";
|
4
|
+
import { ISwaggerComponents } from "../structures/ISwaggerComponents";
|
4
5
|
import { ISwaggerRoute } from "../structures/ISwaggerRoute";
|
5
6
|
export declare namespace RouteProgrammer {
|
6
7
|
const analyze: (swagger: ISwagger) => (props: {
|
7
8
|
path: string;
|
8
9
|
method: string;
|
9
10
|
}) => (route: ISwaggerRoute) => IMigrateRoute | null;
|
10
|
-
const write: (references: ISwaggerSchema.IReference[]) => (route: IMigrateRoute) => string;
|
11
|
+
const write: (importer: (module: string) => (instance: string) => string) => (components: ISwaggerComponents) => (references: ISwaggerSchema.IReference[]) => (route: IMigrateRoute) => string;
|
11
12
|
}
|
@@ -8,13 +8,17 @@ const SchemaProgrammer_1 = require("./SchemaProgrammer");
|
|
8
8
|
var RouteProgrammer;
|
9
9
|
(function (RouteProgrammer) {
|
10
10
|
RouteProgrammer.analyze = (swagger) => (props) => (route) => {
|
11
|
-
var _a, _b, _c, _d, _e
|
12
|
-
const body = emplaceBodySchema(emplaceReference(swagger)("body"))(
|
13
|
-
const response = emplaceBodySchema(emplaceReference(swagger)("response"))((
|
11
|
+
var _a, _b, _c, _d, _e;
|
12
|
+
const body = emplaceBodySchema(emplaceReference(swagger)("body"))(route.requestBody);
|
13
|
+
const response = emplaceBodySchema(emplaceReference(swagger)("response"))((_b = (_a = route.responses) === null || _a === void 0 ? void 0 : _a["201"]) !== null && _b !== void 0 ? _b : (_c = route.responses) === null || _c === void 0 ? void 0 : _c["200"]);
|
14
14
|
if (body === false || response === false) {
|
15
15
|
console.log(`Failed to migrate ${props.method.toUpperCase()} ${props.path}: @nestia/migrate supports only application/json or text/plain format yet.`);
|
16
16
|
return null;
|
17
17
|
}
|
18
|
+
else if (SUPPORTED_METHODS.has(props.method.toUpperCase()) === false) {
|
19
|
+
console.log(`Failed to migrate ${props.method.toUpperCase()} ${props.path}: @nestia/migrate does not support ${props.method.toUpperCase()} method.`);
|
20
|
+
return null;
|
21
|
+
}
|
18
22
|
const [headers, query] = ["header", "query"].map((type) => {
|
19
23
|
var _a, _b, _c, _d;
|
20
24
|
const parameters = ((_a = route.parameters) !== null && _a !== void 0 ? _a : []).filter((p) => p.in === type);
|
@@ -105,7 +109,7 @@ var RouteProgrammer;
|
|
105
109
|
? str.substring(1, str.length - 1)
|
106
110
|
: str.substring(1));
|
107
111
|
if (parameterNames.length !==
|
108
|
-
((
|
112
|
+
((_d = route.parameters) !== null && _d !== void 0 ? _d : []).filter((p) => p.in === "path").length) {
|
109
113
|
console.log(`Failed to migrate ${props.method.toUpperCase()} ${props.path}: number of path parameters are not matched with its full path.`);
|
110
114
|
return null;
|
111
115
|
}
|
@@ -114,7 +118,7 @@ var RouteProgrammer;
|
|
114
118
|
path: props.path,
|
115
119
|
method: props.method,
|
116
120
|
headers,
|
117
|
-
parameters: ((
|
121
|
+
parameters: ((_e = route.parameters) !== null && _e !== void 0 ? _e : [])
|
118
122
|
.filter((p) => p.in === "path")
|
119
123
|
.map((p, i) => {
|
120
124
|
var _a;
|
@@ -136,23 +140,25 @@ var RouteProgrammer;
|
|
136
140
|
body,
|
137
141
|
response,
|
138
142
|
description: describe(route),
|
143
|
+
"x-nestia-jsDocTags": route["x-nestia-jsDocTags"],
|
139
144
|
};
|
140
145
|
};
|
141
146
|
const describe = (route) => {
|
142
|
-
var _a, _b;
|
143
|
-
const
|
147
|
+
var _a, _b, _c, _d;
|
148
|
+
const commentTags = [];
|
144
149
|
const add = (text) => {
|
145
|
-
if (
|
146
|
-
|
150
|
+
if (commentTags.every((line) => line !== text))
|
151
|
+
commentTags.push(text);
|
147
152
|
};
|
148
|
-
|
149
|
-
|
153
|
+
let description = route.description;
|
154
|
+
if (route.summary) {
|
155
|
+
const emended = route.summary.endsWith(".")
|
150
156
|
? route.summary
|
151
|
-
: route.summary + "."
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
157
|
+
: route.summary + ".";
|
158
|
+
if (description !== undefined &&
|
159
|
+
!(description === null || description === void 0 ? void 0 : description.startsWith(route.summary)) &&
|
160
|
+
!((_a = route["x-nestia-jsDocTags"]) === null || _a === void 0 ? void 0 : _a.some((t) => t.name === "summary")))
|
161
|
+
description = `${emended}\n${description}`;
|
156
162
|
}
|
157
163
|
if (route.tags)
|
158
164
|
route.tags.forEach((name) => add(`@tag ${name}`));
|
@@ -161,7 +167,18 @@ var RouteProgrammer;
|
|
161
167
|
for (const security of (_b = route.security) !== null && _b !== void 0 ? _b : [])
|
162
168
|
for (const [name, scopes] of Object.entries(security))
|
163
169
|
add(`@security ${[name, ...scopes].join("")}`);
|
164
|
-
|
170
|
+
for (const jsDocTag of (_c = route["x-nestia-jsDocTags"]) !== null && _c !== void 0 ? _c : [])
|
171
|
+
if ((_d = jsDocTag.text) === null || _d === void 0 ? void 0 : _d.length)
|
172
|
+
add(`@${jsDocTag.name} ${jsDocTag.text
|
173
|
+
.map((text) => text.text)
|
174
|
+
.join("")}`);
|
175
|
+
else
|
176
|
+
add(`@${jsDocTag.name}`);
|
177
|
+
return (description === null || description === void 0 ? void 0 : description.length)
|
178
|
+
? commentTags.length
|
179
|
+
? `${description}\n\n${commentTags.join("\n")}`
|
180
|
+
: description
|
181
|
+
: commentTags.join("\n");
|
165
182
|
};
|
166
183
|
const isNotObjectLiteral = (schema) => JsonTypeChecker_1.JsonTypeChecker.isReference(schema) ||
|
167
184
|
JsonTypeChecker_1.JsonTypeChecker.isBoolean(schema) ||
|
@@ -173,11 +190,14 @@ var RouteProgrammer;
|
|
173
190
|
(JsonTypeChecker_1.JsonTypeChecker.isOneOf(schema) &&
|
174
191
|
schema.oneOf.every(isNotObjectLiteral)) ||
|
175
192
|
(JsonTypeChecker_1.JsonTypeChecker.isArray(schema) && isNotObjectLiteral(schema.items));
|
176
|
-
const emplaceBodySchema = (emplacer) => (
|
177
|
-
if (!content)
|
193
|
+
const emplaceBodySchema = (emplacer) => (meta) => {
|
194
|
+
if (!(meta === null || meta === void 0 ? void 0 : meta.content))
|
178
195
|
return null;
|
179
|
-
const entries = Object.entries(content);
|
180
|
-
const json = entries.find((e) =>
|
196
|
+
const entries = Object.entries(meta.content);
|
197
|
+
const json = entries.find((e) => meta["x-nestia-encrypted"] === true
|
198
|
+
? e[0].includes("text/plain") ||
|
199
|
+
e[0].includes("application/json")
|
200
|
+
: e[0].includes("application/json"));
|
181
201
|
if (json) {
|
182
202
|
const { schema } = json[1];
|
183
203
|
return {
|
@@ -185,6 +205,7 @@ var RouteProgrammer;
|
|
185
205
|
schema: isNotObjectLiteral(schema)
|
186
206
|
? schema
|
187
207
|
: emplacer(schema),
|
208
|
+
"x-nestia-encrypted": meta["x-nestia-encrypted"],
|
188
209
|
};
|
189
210
|
}
|
190
211
|
const text = entries.find((e) => e[0].includes("text/plain"));
|
@@ -199,14 +220,28 @@ var RouteProgrammer;
|
|
199
220
|
swagger.components.schemas[name] = schema;
|
200
221
|
return { $ref: `#/components/schemas/${name}` };
|
201
222
|
};
|
202
|
-
RouteProgrammer.write = (references) => (route) => {
|
203
|
-
var _a;
|
223
|
+
RouteProgrammer.write = (importer) => (components) => (references) => (route) => {
|
224
|
+
var _a, _b;
|
204
225
|
const output = route.response
|
205
|
-
? SchemaProgrammer_1.SchemaProgrammer.write(references)(route.response.schema)
|
226
|
+
? SchemaProgrammer_1.SchemaProgrammer.write(components)(references)(route.response.schema)
|
206
227
|
: "void";
|
207
|
-
const
|
208
|
-
|
209
|
-
|
228
|
+
const methoder = (composer) => `${composer(StringUtil_1.StringUtil.capitalize(route.method))}(${JSON.stringify(route.path)})`;
|
229
|
+
const decorator = ((_a = route.response) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"]) === true
|
230
|
+
? [
|
231
|
+
`@${importer("@nestia/core")("EncryptedRoute")}.${methoder((str) => str)}`,
|
232
|
+
]
|
233
|
+
: ((_b = route.response) === null || _b === void 0 ? void 0 : _b.type) === "text/plain"
|
234
|
+
? [
|
235
|
+
`@${importer("@nestjs/common")("Header")}("Content-Type", "text/plain")`,
|
236
|
+
`@${methoder((str) => importer("@nestjs/common")(str))}`,
|
237
|
+
]
|
238
|
+
: route.method === "head"
|
239
|
+
? [
|
240
|
+
`@${importer("@nestjs/common")("Head")}${methoder(() => "")}`,
|
241
|
+
]
|
242
|
+
: [
|
243
|
+
`@${importer("@nestia/core")("TypedRoute")}.${methoder((str) => str)}`,
|
244
|
+
];
|
210
245
|
const content = [
|
211
246
|
...(route.description
|
212
247
|
? [
|
@@ -217,40 +252,61 @@ var RouteProgrammer;
|
|
217
252
|
" */",
|
218
253
|
]
|
219
254
|
: []),
|
220
|
-
|
255
|
+
...decorator,
|
221
256
|
`public async ${route.name}(`,
|
222
|
-
...route.parameters.map((
|
257
|
+
...route.parameters.map((param) => ` ${writeParameter(components)(importer)(param)},`),
|
258
|
+
...(route.headers
|
259
|
+
? [
|
260
|
+
` @${importer("@nestia/core")("TypedHeaders")}() headers: ${SchemaProgrammer_1.SchemaProgrammer.write(components)(references)(route.headers)},`,
|
261
|
+
]
|
262
|
+
: []),
|
223
263
|
...(route.query
|
224
264
|
? [
|
225
|
-
` @core
|
265
|
+
` @${importer("@nestia/core")("TypedQuery")}() query: ${SchemaProgrammer_1.SchemaProgrammer.write(components)(references)(route.query)},`,
|
226
266
|
]
|
227
267
|
: []),
|
228
268
|
...(route.body
|
229
|
-
? route.body
|
269
|
+
? route.body["x-nestia-encrypted"] === true
|
230
270
|
? [
|
231
|
-
` @core
|
271
|
+
` @${importer("@nestia/core")("EncryptedBody")}() body: ${SchemaProgrammer_1.SchemaProgrammer.write(components)(references)(route.body.schema)},`,
|
232
272
|
]
|
233
|
-
:
|
273
|
+
: route.body.type === "application/json"
|
274
|
+
? [
|
275
|
+
` @${importer("@nestia/core")("TypedBody")}() body: ${SchemaProgrammer_1.SchemaProgrammer.write(components)(references)(route.body.schema)},`,
|
276
|
+
]
|
277
|
+
: [
|
278
|
+
` @${importer("@nestia/core")("PlainBody")}() body: string,`,
|
279
|
+
]
|
234
280
|
: []),
|
235
281
|
`): Promise<${output}> {`,
|
236
282
|
...route.parameters.map((p) => ` ${StringUtil_1.StringUtil.normalize(p.key)};`),
|
237
|
-
|
283
|
+
...(route.headers ? [" headers;"] : []),
|
238
284
|
...(route.query ? [" query;"] : []),
|
239
285
|
...(route.body ? [" body;"] : []),
|
240
286
|
...(output !== "void"
|
241
|
-
? [
|
287
|
+
? [
|
288
|
+
` return ${importer("typia")("random")}<${output}>();`,
|
289
|
+
]
|
242
290
|
: []),
|
243
291
|
`}`,
|
244
292
|
];
|
245
293
|
return content.join("\n");
|
246
294
|
};
|
247
|
-
const writeParameter = ({ key, schema
|
295
|
+
const writeParameter = (components) => (importer) => ({ key, schema }) => {
|
248
296
|
const variable = StringUtil_1.StringUtil.normalize(key);
|
249
297
|
const format = JsonTypeChecker_1.JsonTypeChecker.isString(schema) &&
|
250
298
|
(schema.format === "uuid" || schema.format === "date")
|
251
299
|
? schema.format
|
252
300
|
: null;
|
253
|
-
return
|
301
|
+
return `@${importer("@nestia/core")("TypedParam")}(${JSON.stringify(key)}${format ? `, ${JSON.stringify(format)}` : ""}) ${variable}: ${SchemaProgrammer_1.SchemaProgrammer.write(components)([])(schema)}`;
|
254
302
|
};
|
255
303
|
})(RouteProgrammer || (exports.RouteProgrammer = RouteProgrammer = {}));
|
304
|
+
const SUPPORTED_METHODS = new Set([
|
305
|
+
"GET",
|
306
|
+
"POST",
|
307
|
+
"PUT",
|
308
|
+
"PATCH",
|
309
|
+
"DELETE",
|
310
|
+
"HEAD",
|
311
|
+
]);
|
256
312
|
//# sourceMappingURL=RouteProgrammer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RouteProgrammer.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"RouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RouteProgrammer.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { ISwaggerSchema } from "../structures/ISwaggeSchema";
|
2
|
+
import { ISwaggerComponents } from "../structures/ISwaggerComponents";
|
2
3
|
export declare namespace SchemaProgrammer {
|
3
|
-
const write: (references: ISwaggerSchema.IReference[]) => (schema: ISwaggerSchema) => string;
|
4
|
+
const write: (components: ISwaggerComponents) => (references: ISwaggerSchema.IReference[]) => (schema: ISwaggerSchema) => string;
|
4
5
|
}
|
@@ -5,39 +5,61 @@ const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
5
5
|
const JsonTypeChecker_1 = require("../utils/JsonTypeChecker");
|
6
6
|
var SchemaProgrammer;
|
7
7
|
(function (SchemaProgrammer) {
|
8
|
-
SchemaProgrammer.write = (references) => (schema) => writeSchema(references)(() => () => { })(schema);
|
9
|
-
const writeSchema = (references) => (tagger) => (schema) => {
|
8
|
+
SchemaProgrammer.write = (components) => (references) => (schema) => writeSchema(components)(references)(() => () => { })(true)(schema);
|
9
|
+
const writeSchema = (components) => (references) => (tagger) => (final) => (schema) => {
|
10
10
|
// SPECIAL TYPES
|
11
11
|
if (JsonTypeChecker_1.JsonTypeChecker.isUnknown(schema))
|
12
12
|
return "any";
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
const type = (() => {
|
14
|
+
if (JsonTypeChecker_1.JsonTypeChecker.isAnyOf(schema))
|
15
|
+
return ("(" +
|
16
|
+
schema.anyOf
|
17
|
+
.map(writeSchema(components)(references)(tagger)(false))
|
18
|
+
.join(" | ") +
|
19
|
+
")");
|
20
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isOneOf(schema))
|
21
|
+
return schema.oneOf
|
22
|
+
.map(writeSchema(components)(references)(tagger)(false))
|
23
|
+
.join(" | ");
|
24
|
+
// ATOMIC TYPES
|
25
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isBoolean(schema))
|
26
|
+
return writeBoolean(tagger)(schema);
|
27
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isInteger(schema))
|
28
|
+
return writeInteger(tagger)(schema);
|
29
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isNumber(schema))
|
30
|
+
return writeNumber(tagger)(schema);
|
31
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isString(schema))
|
32
|
+
return writeString(tagger)(schema);
|
33
|
+
// INSTANCE TYPES
|
34
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isArray(schema))
|
35
|
+
return writeArray(components)(references)(tagger)(schema);
|
36
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isObject(schema))
|
37
|
+
return writeObject(components)(references)(schema);
|
38
|
+
else if (JsonTypeChecker_1.JsonTypeChecker.isReference(schema)) {
|
39
|
+
references.push(schema);
|
40
|
+
return schema.$ref.replace(`#/components/schemas/`, ``);
|
41
|
+
}
|
42
|
+
else
|
43
|
+
return "any";
|
44
|
+
})();
|
45
|
+
if (type === "any" || final === false)
|
46
|
+
return type;
|
47
|
+
return isNullable(components)(schema) ? `${type} | null` : type;
|
48
|
+
};
|
49
|
+
const isNullable = (components) => (schema) => {
|
50
|
+
var _a;
|
51
|
+
if (JsonTypeChecker_1.JsonTypeChecker.isAnyOf(schema))
|
52
|
+
return schema.anyOf.some(isNullable(components));
|
17
53
|
else if (JsonTypeChecker_1.JsonTypeChecker.isOneOf(schema))
|
18
|
-
return schema.oneOf
|
19
|
-
.map(writeSchema(references)(tagger))
|
20
|
-
.join(" | ");
|
21
|
-
// ATOMIC TYPES
|
22
|
-
else if (JsonTypeChecker_1.JsonTypeChecker.isBoolean(schema))
|
23
|
-
return writeBoolean(tagger)(schema);
|
24
|
-
else if (JsonTypeChecker_1.JsonTypeChecker.isInteger(schema))
|
25
|
-
return writeInteger(tagger)(schema);
|
26
|
-
else if (JsonTypeChecker_1.JsonTypeChecker.isNumber(schema))
|
27
|
-
return writeNumber(tagger)(schema);
|
28
|
-
else if (JsonTypeChecker_1.JsonTypeChecker.isString(schema))
|
29
|
-
return writeString(tagger)(schema);
|
30
|
-
// INSTANCE TYPES
|
31
|
-
else if (JsonTypeChecker_1.JsonTypeChecker.isArray(schema))
|
32
|
-
return writeArray(references)(tagger)(schema);
|
33
|
-
else if (JsonTypeChecker_1.JsonTypeChecker.isObject(schema))
|
34
|
-
return writeObject(references)(schema);
|
54
|
+
return schema.oneOf.some(isNullable(components));
|
35
55
|
else if (JsonTypeChecker_1.JsonTypeChecker.isReference(schema)) {
|
36
|
-
|
37
|
-
|
56
|
+
const $id = schema.$ref.replace("#/components/schemas/", "");
|
57
|
+
const target = ((_a = components.schemas) !== null && _a !== void 0 ? _a : {})[$id];
|
58
|
+
return target === undefined
|
59
|
+
? false
|
60
|
+
: isNullable(components)(target);
|
38
61
|
}
|
39
|
-
|
40
|
-
return "any";
|
62
|
+
return schema.nullable === true;
|
41
63
|
};
|
42
64
|
const writeBoolean = (tagger) => (schema) => {
|
43
65
|
if (schema.default)
|
@@ -78,49 +100,49 @@ var SchemaProgrammer;
|
|
78
100
|
tagger("pattern")(schema.pattern);
|
79
101
|
return "string";
|
80
102
|
};
|
81
|
-
const writeArray = (references) => (tagger) => (schema) => schema["x-typia-tuple"]
|
103
|
+
const writeArray = (components) => (references) => (tagger) => (schema) => schema["x-typia-tuple"]
|
82
104
|
? `[${schema["x-typia-tuple"].items
|
83
|
-
.map(writeTupleElement(references))
|
105
|
+
.map(writeTupleElement(components)(references))
|
84
106
|
.join(", ")}]`
|
85
|
-
: `Array<${writeSchema(references)(tagger)(schema.items)}>`;
|
86
|
-
const writeTupleElement = (references) => (schema) => {
|
87
|
-
const name = writeSchema(references)(() => () => { })(schema);
|
107
|
+
: `Array<${writeSchema(components)(references)(tagger)(true)(schema.items)}>`;
|
108
|
+
const writeTupleElement = (components) => (references) => (schema) => {
|
109
|
+
const name = writeSchema(components)(references)(() => () => { })(true)(schema);
|
88
110
|
return schema["x-typia-optional"]
|
89
111
|
? `${name}?`
|
90
112
|
: schema["x-typia-rest"]
|
91
113
|
? `...${name}`
|
92
114
|
: name;
|
93
115
|
};
|
94
|
-
const writeObject = (references) => (schema) => {
|
116
|
+
const writeObject = (components) => (references) => (schema) => {
|
95
117
|
var _a;
|
96
118
|
const entries = Object.entries((_a = schema.properties) !== null && _a !== void 0 ? _a : {});
|
97
119
|
return typeof schema.additionalProperties === "object"
|
98
120
|
? entries.length
|
99
|
-
? `${writeStaticObject(references)(schema)} & ${writeDynamicObject(references)(schema.additionalProperties)}`
|
100
|
-
: writeDynamicObject(references)(schema.additionalProperties)
|
101
|
-
: writeStaticObject(references)(schema);
|
121
|
+
? `${writeStaticObject(components)(references)(schema)} & ${writeDynamicObject(components)(references)(schema.additionalProperties)}`
|
122
|
+
: writeDynamicObject(components)(references)(schema.additionalProperties)
|
123
|
+
: writeStaticObject(components)(references)(schema);
|
102
124
|
};
|
103
|
-
const writeStaticObject = (references) => (schema) => {
|
125
|
+
const writeStaticObject = (components) => (references) => (schema) => {
|
104
126
|
var _a;
|
105
127
|
return [
|
106
128
|
"{",
|
107
129
|
...Object.entries((_a = schema.properties) !== null && _a !== void 0 ? _a : {})
|
108
130
|
.map(([key, value]) => {
|
109
131
|
var _a;
|
110
|
-
return writeProperty(references)(key)(((_a = schema.required) !== null && _a !== void 0 ? _a : []).some((r) => r === key))(value);
|
132
|
+
return writeProperty(components)(references)(key)(((_a = schema.required) !== null && _a !== void 0 ? _a : []).some((r) => r === key))(value);
|
111
133
|
})
|
112
134
|
.map(tab(4)),
|
113
135
|
"}",
|
114
136
|
].join("\n");
|
115
137
|
};
|
116
|
-
const writeDynamicObject = (references) => (additional) => {
|
138
|
+
const writeDynamicObject = (components) => (references) => (additional) => {
|
117
139
|
return [
|
118
140
|
"{",
|
119
|
-
tab(4)(writeProperty(references)("[key: string]", true)(true)(additional)),
|
141
|
+
tab(4)(writeProperty(components)(references)("[key: string]", true)(true)(additional)),
|
120
142
|
"}",
|
121
143
|
].join("\n");
|
122
144
|
};
|
123
|
-
const writeProperty = (references) => (key, ensureVariable = false) => (required) => (schema) => {
|
145
|
+
const writeProperty = (components) => (references) => (key, ensureVariable = false) => (required) => (schema) => {
|
124
146
|
var _a;
|
125
147
|
const content = [];
|
126
148
|
const tagger = (tag) => (value) => {
|
@@ -143,7 +165,7 @@ var SchemaProgrammer;
|
|
143
165
|
if (schema.title)
|
144
166
|
tagger("@title")(schema.title);
|
145
167
|
// GET TYPE WITH SPECIAL TAGS
|
146
|
-
const type = writeSchema(references)(tagger)(schema);
|
168
|
+
const type = writeSchema(components)(references)(tagger)(true)(schema);
|
147
169
|
// ENDS WITH DEPRECATED TAG
|
148
170
|
if (schema.deprecated)
|
149
171
|
tagger("@deprecated")();
|