@nestia/sdk 2.0.0-dev.20230831-4 → 2.0.0-dev.20230991
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/assets/bundle/api/utils/NestiaSimulator.ts +1 -23
- package/lib/NestiaSdkApplication.js +1 -1
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/analyses/ControllerAnalyzer.js +11 -5
- package/lib/analyses/ControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ExceptionAnalyzer.js +7 -2
- package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.js +1 -1
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectAnalyzer.js +0 -10
- package/lib/analyses/ReflectAnalyzer.js.map +1 -1
- package/lib/executable/internal/NestiaSdkConfig.js +37 -46
- package/lib/executable/internal/NestiaSdkConfig.js.map +1 -1
- package/lib/generates/SwaggerGenerator.d.ts +10 -0
- package/lib/generates/SwaggerGenerator.js +29 -497
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +5 -44
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkFunctionProgrammer.js +12 -10
- package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkSimulationProgrammer.js +4 -4
- package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +19 -0
- package/lib/generates/internal/SwaggerSchemaGenerator.js +301 -0
- package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -0
- package/lib/generates/internal/SwaggerSchemaValidator.d.ts +7 -0
- package/lib/generates/internal/SwaggerSchemaValidator.js +200 -0
- package/lib/generates/internal/SwaggerSchemaValidator.js.map +1 -0
- package/lib/structures/IController.d.ts +0 -4
- package/lib/structures/IRoute.d.ts +6 -3
- package/lib/structures/ISwaggerError.d.ts +6 -0
- package/lib/structures/ISwaggerError.js +3 -0
- package/lib/structures/ISwaggerError.js.map +1 -0
- package/lib/structures/ISwaggerRoute.d.ts +2 -1
- package/lib/structures/ISwaggerSchemaTuple.d.ts +6 -0
- package/lib/structures/ISwaggerSchemaTuple.js +3 -0
- package/lib/structures/ISwaggerSchemaTuple.js.map +1 -0
- package/lib/structures/ITypeTuple.d.ts +1 -1
- package/package.json +5 -5
- package/src/NestiaSdkApplication.ts +1 -1
- package/src/analyses/ControllerAnalyzer.ts +13 -4
- package/src/analyses/ExceptionAnalyzer.ts +3 -2
- package/src/analyses/ImportAnalyzer.ts +1 -1
- package/src/analyses/ReflectAnalyzer.ts +0 -10
- package/src/generates/SwaggerGenerator.ts +86 -478
- package/src/generates/internal/E2eFileProgrammer.ts +7 -49
- package/src/generates/internal/SdkFunctionProgrammer.ts +13 -11
- package/src/generates/internal/SdkSimulationProgrammer.ts +5 -5
- package/src/generates/internal/SwaggerSchemaGenerator.ts +433 -0
- package/src/generates/internal/SwaggerSchemaValidator.ts +222 -0
- package/src/structures/IController.ts +0 -4
- package/src/structures/IRoute.ts +6 -3
- package/src/structures/ISwaggerError.ts +8 -0
- package/src/structures/ISwaggerRoute.ts +2 -1
- package/src/structures/ISwaggerSchemaTuple.ts +7 -0
- package/src/structures/ITypeTuple.ts +1 -1
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwaggerSchemaGenerator = void 0;
|
|
4
|
+
const tstl_1 = require("tstl");
|
|
5
|
+
const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
6
|
+
const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
7
|
+
const Metadata_1 = require("typia/lib/schemas/metadata/Metadata");
|
|
8
|
+
const SwaggerSchemaValidator_1 = require("./SwaggerSchemaValidator");
|
|
9
|
+
var SwaggerSchemaGenerator;
|
|
10
|
+
(function (SwaggerSchemaGenerator) {
|
|
11
|
+
SwaggerSchemaGenerator.response = (props) => (route) => {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
const output = {};
|
|
14
|
+
//----
|
|
15
|
+
// EXCEPTION STATUSES
|
|
16
|
+
//----
|
|
17
|
+
// FROM DECORATOR
|
|
18
|
+
for (const [status, exp] of Object.entries(route.exceptions)) {
|
|
19
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
20
|
+
escape: true,
|
|
21
|
+
constant: true,
|
|
22
|
+
absorb: false,
|
|
23
|
+
validate: (meta) => {
|
|
24
|
+
const bigint = meta.atomics.some((a) => a.type === "bigint") ||
|
|
25
|
+
meta.constants.some((a) => a.type === "bigint");
|
|
26
|
+
return bigint ? ["bigint type is not allowed."] : [];
|
|
27
|
+
},
|
|
28
|
+
})(props.collection)(exp.type);
|
|
29
|
+
if (result.success === false)
|
|
30
|
+
props.errors.push(...result.errors.map((e) => (Object.assign(Object.assign({}, e), { route, from: `response body (status: ${status})` }))));
|
|
31
|
+
output[status] = {
|
|
32
|
+
description: (_a = exp.description) !== null && _a !== void 0 ? _a : "",
|
|
33
|
+
content: {
|
|
34
|
+
"application/json": {
|
|
35
|
+
schema: coalesceSchema(props)(result),
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// FROM COMMENT TAGS -> ANY
|
|
41
|
+
for (const tag of route.tags) {
|
|
42
|
+
if (tag.name !== "throw" && tag.name !== "throws")
|
|
43
|
+
continue;
|
|
44
|
+
const text = (_c = (_b = tag.text) === null || _b === void 0 ? void 0 : _b.find((elem) => elem.kind === "text")) === null || _c === void 0 ? void 0 : _c.text;
|
|
45
|
+
if (text === undefined)
|
|
46
|
+
continue;
|
|
47
|
+
const elements = text
|
|
48
|
+
.split(" ")
|
|
49
|
+
.map((str) => str.trim());
|
|
50
|
+
const status = elements[0];
|
|
51
|
+
if (isNaN(Number(status)) &&
|
|
52
|
+
status !== "2XX" &&
|
|
53
|
+
status !== "3XX" &&
|
|
54
|
+
status !== "4XX" &&
|
|
55
|
+
status !== "5XX")
|
|
56
|
+
continue;
|
|
57
|
+
const description = elements.length === 1
|
|
58
|
+
? undefined
|
|
59
|
+
: elements.slice(1).join(" ");
|
|
60
|
+
const oldbie = output[status];
|
|
61
|
+
if (description && oldbie !== undefined)
|
|
62
|
+
oldbie.description = description;
|
|
63
|
+
else if (oldbie === undefined)
|
|
64
|
+
output[status] = {
|
|
65
|
+
description: description !== null && description !== void 0 ? description : "",
|
|
66
|
+
content: {
|
|
67
|
+
"application/json": {
|
|
68
|
+
schema: {},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//----
|
|
74
|
+
// SUCCESS
|
|
75
|
+
//----
|
|
76
|
+
// STATUS
|
|
77
|
+
const status = route.status !== undefined
|
|
78
|
+
? String(route.status)
|
|
79
|
+
: route.method === "GET" ||
|
|
80
|
+
route.method === "HEAD" ||
|
|
81
|
+
route.method === "DELETE"
|
|
82
|
+
? "200"
|
|
83
|
+
: "201";
|
|
84
|
+
// SCHEMA
|
|
85
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
86
|
+
escape: true,
|
|
87
|
+
constant: true,
|
|
88
|
+
absorb: false,
|
|
89
|
+
validate: (meta) => {
|
|
90
|
+
const bigint = meta.atomics.some((a) => a.type === "bigint") ||
|
|
91
|
+
meta.constants.some((a) => a.type === "bigint");
|
|
92
|
+
return bigint ? ["bigint type is not allowed."] : [];
|
|
93
|
+
},
|
|
94
|
+
})(props.collection)(route.output.type);
|
|
95
|
+
if (result.success === false)
|
|
96
|
+
props.errors.push(...result.errors.map((e) => (Object.assign(Object.assign({}, e), { route, from: `response body (status: ${status})` }))));
|
|
97
|
+
// DO ASSIGN
|
|
98
|
+
const description = (_d = describe(route, "return")) !== null && _d !== void 0 ? _d : describe(route, "returns");
|
|
99
|
+
output[status] = {
|
|
100
|
+
description: route.encrypted
|
|
101
|
+
? `${warning
|
|
102
|
+
.get(!!description)
|
|
103
|
+
.get("response", route.method)}${description !== null && description !== void 0 ? description : ""}`
|
|
104
|
+
: description !== null && description !== void 0 ? description : "",
|
|
105
|
+
content: route.output.typeName === "void"
|
|
106
|
+
? undefined
|
|
107
|
+
: {
|
|
108
|
+
[route.output.contentType]: {
|
|
109
|
+
schema: coalesceSchema(props)(result),
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
"x-nestia-encrypted": route.encrypted,
|
|
113
|
+
};
|
|
114
|
+
return output;
|
|
115
|
+
};
|
|
116
|
+
SwaggerSchemaGenerator.body = (props) => (route) => (param) => {
|
|
117
|
+
// ANALZE TYPE WITH VALIDATION
|
|
118
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
119
|
+
escape: true,
|
|
120
|
+
constant: true,
|
|
121
|
+
absorb: true,
|
|
122
|
+
validate: (meta) => {
|
|
123
|
+
const bigint = meta.atomics.some((a) => a.type === "bigint") ||
|
|
124
|
+
meta.constants.some((a) => a.type === "bigint");
|
|
125
|
+
return bigint ? ["bigint type is not allowed."] : [];
|
|
126
|
+
},
|
|
127
|
+
})(props.collection)(param.type);
|
|
128
|
+
if (result.success === false)
|
|
129
|
+
props.errors.push(...result.errors.map((e) => (Object.assign(Object.assign({}, e), { route, from: `body parameter ${param.name}` }))));
|
|
130
|
+
// LIST UP PROPERTIES
|
|
131
|
+
const contentType = param.custom && param.category === "body"
|
|
132
|
+
? param.contentType
|
|
133
|
+
: "application/json";
|
|
134
|
+
const encrypted = param.custom && param.category === "body" && param.encrypted;
|
|
135
|
+
const description = describe(route, "param", param.name);
|
|
136
|
+
// RETURNS WITH LAZY CONSTRUCTION
|
|
137
|
+
const schema = coalesceSchema(props)(result);
|
|
138
|
+
return {
|
|
139
|
+
description: encrypted
|
|
140
|
+
? `${warning.get(!!description).get("request")}${description !== null && description !== void 0 ? description : ""}`
|
|
141
|
+
: description,
|
|
142
|
+
content: {
|
|
143
|
+
[contentType]: {
|
|
144
|
+
schema,
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
required: true,
|
|
148
|
+
"x-nestia-encrypted": encrypted,
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
SwaggerSchemaGenerator.parameter = (props) => (route) => (param) => param.category === "headers"
|
|
152
|
+
? headers(props)(route)(param)
|
|
153
|
+
: param.category === "param"
|
|
154
|
+
? path(props)(route)(param)
|
|
155
|
+
: query(props)(route)(param);
|
|
156
|
+
const headers = (props) => (route) => (param) => {
|
|
157
|
+
// ANALYZE TYPE WITH VALIDATIONS
|
|
158
|
+
const result = (() => {
|
|
159
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
160
|
+
escape: false,
|
|
161
|
+
constant: true,
|
|
162
|
+
absorb: true,
|
|
163
|
+
})(props.collection)(param.type);
|
|
164
|
+
if (result.success === false)
|
|
165
|
+
props.errors.push(...result.errors.map((e) => (Object.assign(Object.assign({}, e), { route, from: `header parameter ${param.name}` }))));
|
|
166
|
+
else if (result.data.objects.length === 1) {
|
|
167
|
+
// WHEN OBJECT CASE, VALIDATE IT MORE DETAILY
|
|
168
|
+
const again = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
169
|
+
escape: false,
|
|
170
|
+
constant: true,
|
|
171
|
+
absorb: true,
|
|
172
|
+
validate: SwaggerSchemaValidator_1.SwaggerSchemaValidator.headers,
|
|
173
|
+
})(new MetadataCollection_1.MetadataCollection())(param.type);
|
|
174
|
+
if (again.success === false)
|
|
175
|
+
return again;
|
|
176
|
+
}
|
|
177
|
+
return result;
|
|
178
|
+
})();
|
|
179
|
+
// RETURNS WITH LAZY CONSTRUCTION
|
|
180
|
+
return lazyParameterReturns(props)(route)("header")(param, result);
|
|
181
|
+
};
|
|
182
|
+
const path = (props) => (route) => (param) => {
|
|
183
|
+
// ANALZE TYPE WITH VALIDATION
|
|
184
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
185
|
+
escape: false,
|
|
186
|
+
constant: true,
|
|
187
|
+
absorb: true,
|
|
188
|
+
validate: SwaggerSchemaValidator_1.SwaggerSchemaValidator.path,
|
|
189
|
+
})(props.collection)(param.type);
|
|
190
|
+
if (result.success === false)
|
|
191
|
+
props.errors.push(...result.errors.map((e) => (Object.assign(Object.assign({}, e), { route, from: `path parameter ${param.name}` }))));
|
|
192
|
+
// RETURNS WITH LAZY CONSTRUCTION
|
|
193
|
+
return lazyParameterReturns(props)(route)("path")(param, result);
|
|
194
|
+
};
|
|
195
|
+
const query = (props) => (route) => (param) => {
|
|
196
|
+
// ANALYZE TYPE WITH VALIDATIONS
|
|
197
|
+
const result = (() => {
|
|
198
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
199
|
+
escape: false,
|
|
200
|
+
constant: true,
|
|
201
|
+
absorb: true,
|
|
202
|
+
})(props.collection)(param.type);
|
|
203
|
+
if (result.success === false) {
|
|
204
|
+
props.errors.push(...result.errors.map((e) => (Object.assign(Object.assign({}, e), { route, from: `query parameter ${param.name}` }))));
|
|
205
|
+
}
|
|
206
|
+
else if (result.data.objects.length === 1) {
|
|
207
|
+
// WHEN OBJECT CASE, VALIDATE IT MORE DETAILY
|
|
208
|
+
const again = MetadataFactory_1.MetadataFactory.analyze(props.checker)({
|
|
209
|
+
escape: false,
|
|
210
|
+
constant: true,
|
|
211
|
+
absorb: true,
|
|
212
|
+
validate: SwaggerSchemaValidator_1.SwaggerSchemaValidator.query,
|
|
213
|
+
})(new MetadataCollection_1.MetadataCollection())(param.type);
|
|
214
|
+
if (again.success === false)
|
|
215
|
+
return again;
|
|
216
|
+
}
|
|
217
|
+
return result;
|
|
218
|
+
})();
|
|
219
|
+
// RETURNS WITH LAZY CONSTRUCTION
|
|
220
|
+
return lazyParameterReturns(props)(route)("query")(param, result);
|
|
221
|
+
};
|
|
222
|
+
const coalesceSchema = (props) => (result) => {
|
|
223
|
+
const schema = {};
|
|
224
|
+
props.tuples.push({
|
|
225
|
+
metadata: result.success ? result.data : any.get(),
|
|
226
|
+
schema,
|
|
227
|
+
});
|
|
228
|
+
return schema;
|
|
229
|
+
};
|
|
230
|
+
const lazyParameterReturns = (props) => (route) => (inKeyword) => (param, result) => {
|
|
231
|
+
var _a, _b;
|
|
232
|
+
const schema = coalesceSchema(props)(result);
|
|
233
|
+
return {
|
|
234
|
+
name: (_a = param.field) !== null && _a !== void 0 ? _a : param.name,
|
|
235
|
+
in: inKeyword,
|
|
236
|
+
schema,
|
|
237
|
+
description: (_b = describe(route, "param", param.name)) !== null && _b !== void 0 ? _b : "",
|
|
238
|
+
required: result.success ? result.data.isRequired() : true,
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
function describe(route, tagName, parameterName) {
|
|
242
|
+
var _a;
|
|
243
|
+
const parametric = parameterName
|
|
244
|
+
? (tag) => tag.text.find((elem) => elem.kind === "parameterName" &&
|
|
245
|
+
elem.text === parameterName) !== undefined
|
|
246
|
+
: () => true;
|
|
247
|
+
const tag = route.tags.find((tag) => tag.name === tagName && tag.text && parametric(tag));
|
|
248
|
+
return tag && tag.text
|
|
249
|
+
? (_a = tag.text.find((elem) => elem.kind === "text")) === null || _a === void 0 ? void 0 : _a.text
|
|
250
|
+
: undefined;
|
|
251
|
+
}
|
|
252
|
+
})(SwaggerSchemaGenerator || (exports.SwaggerSchemaGenerator = SwaggerSchemaGenerator = {}));
|
|
253
|
+
const warning = new tstl_1.Singleton((described) => {
|
|
254
|
+
return new tstl_1.Singleton((type, method) => {
|
|
255
|
+
const summary = type === "request"
|
|
256
|
+
? "Request body must be encrypted."
|
|
257
|
+
: "Response data have been encrypted.";
|
|
258
|
+
const component = type === "request"
|
|
259
|
+
? "[EncryptedBody](https://github.com/samchon/@nestia/core#encryptedbody)"
|
|
260
|
+
: `[EncryptedRoute.${method[0].toUpperCase()}.${method
|
|
261
|
+
.substring(1)
|
|
262
|
+
.toLowerCase()}](https://github.com/samchon/@nestia/core#encryptedroute)`;
|
|
263
|
+
const content = [
|
|
264
|
+
"## Warning",
|
|
265
|
+
"",
|
|
266
|
+
summary,
|
|
267
|
+
"",
|
|
268
|
+
`The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.`,
|
|
269
|
+
"",
|
|
270
|
+
`Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.`,
|
|
271
|
+
];
|
|
272
|
+
if (described === true)
|
|
273
|
+
content.push("----------------", "");
|
|
274
|
+
return content.join("\n");
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
const any = new tstl_1.Singleton(() => Metadata_1.Metadata.from({
|
|
278
|
+
any: true,
|
|
279
|
+
required: true,
|
|
280
|
+
optional: false,
|
|
281
|
+
nullable: false,
|
|
282
|
+
functional: false,
|
|
283
|
+
atomics: [],
|
|
284
|
+
constants: [],
|
|
285
|
+
templates: [],
|
|
286
|
+
escaped: null,
|
|
287
|
+
rest: null,
|
|
288
|
+
arrays: [],
|
|
289
|
+
tuples: [],
|
|
290
|
+
objects: [],
|
|
291
|
+
aliases: [],
|
|
292
|
+
natives: [],
|
|
293
|
+
sets: [],
|
|
294
|
+
maps: [],
|
|
295
|
+
}, {
|
|
296
|
+
aliases: [],
|
|
297
|
+
arrays: [],
|
|
298
|
+
tuples: [],
|
|
299
|
+
objects: [],
|
|
300
|
+
}));
|
|
301
|
+
//# sourceMappingURL=SwaggerSchemaGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwaggerSchemaGenerator.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerSchemaGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
2
|
+
import { Metadata } from "typia/lib/schemas/metadata/Metadata";
|
|
3
|
+
export declare namespace SwaggerSchemaValidator {
|
|
4
|
+
const path: (meta: Metadata) => string[];
|
|
5
|
+
const query: (meta: Metadata, explore: MetadataFactory.IExplore) => string[];
|
|
6
|
+
const headers: (meta: Metadata, explore: MetadataFactory.IExplore) => string[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwaggerSchemaValidator = void 0;
|
|
4
|
+
const MetadataArray_1 = require("typia/lib/schemas/metadata/MetadataArray");
|
|
5
|
+
var SwaggerSchemaValidator;
|
|
6
|
+
(function (SwaggerSchemaValidator) {
|
|
7
|
+
SwaggerSchemaValidator.path = (meta) => {
|
|
8
|
+
const errors = [];
|
|
9
|
+
const insert = (msg) => errors.push(msg);
|
|
10
|
+
if (meta.any)
|
|
11
|
+
insert("do not allow any type");
|
|
12
|
+
if (meta.isRequired() === false)
|
|
13
|
+
insert("do not allow undefindable type");
|
|
14
|
+
const atomics = CoreMetadataUtil.atomics(meta);
|
|
15
|
+
const expected = meta.atomics.length +
|
|
16
|
+
meta.templates.length +
|
|
17
|
+
meta.constants
|
|
18
|
+
.map((c) => c.values.length)
|
|
19
|
+
.reduce((a, b) => a + b, 0);
|
|
20
|
+
if (meta.size() !== expected || atomics.size === 0)
|
|
21
|
+
insert("only atomic or constant types are allowed");
|
|
22
|
+
if (atomics.size > 1)
|
|
23
|
+
insert("do not allow union type");
|
|
24
|
+
return errors;
|
|
25
|
+
};
|
|
26
|
+
SwaggerSchemaValidator.query = (meta, explore) => {
|
|
27
|
+
const errors = [];
|
|
28
|
+
const insert = (msg) => errors.push(msg);
|
|
29
|
+
if (explore.top === true) {
|
|
30
|
+
// TOP MUST BE ONLY OBJECT
|
|
31
|
+
if (meta.objects.length !== 1 || meta.bucket() !== 1)
|
|
32
|
+
insert("only one object type is allowed.");
|
|
33
|
+
if (meta.nullable === true)
|
|
34
|
+
insert("query parameters cannot be null.");
|
|
35
|
+
if (meta.isRequired() === false)
|
|
36
|
+
insert("query parameters cannot be undefined.");
|
|
37
|
+
}
|
|
38
|
+
else if (explore.nested !== null &&
|
|
39
|
+
explore.nested instanceof MetadataArray_1.MetadataArray) {
|
|
40
|
+
const atomics = CoreMetadataUtil.atomics(meta);
|
|
41
|
+
const expected = meta.atomics.length +
|
|
42
|
+
meta.templates.length +
|
|
43
|
+
meta.constants
|
|
44
|
+
.map((c) => c.values.length)
|
|
45
|
+
.reduce((a, b) => a + b, 0);
|
|
46
|
+
if (atomics.size > 1)
|
|
47
|
+
insert("union type is not allowed in array.");
|
|
48
|
+
if (meta.nullable)
|
|
49
|
+
insert("nullable type is not allowed in array.");
|
|
50
|
+
if (meta.isRequired() === false)
|
|
51
|
+
insert("optional type is not allowed in array.");
|
|
52
|
+
if (meta.size() !== expected)
|
|
53
|
+
insert("only atomic or constant types are allowed in array.");
|
|
54
|
+
}
|
|
55
|
+
else if (explore.object && explore.property !== null) {
|
|
56
|
+
//----
|
|
57
|
+
// COMMON
|
|
58
|
+
//----
|
|
59
|
+
// PROPERTY MUST BE SOLE
|
|
60
|
+
if (typeof explore.property === "object")
|
|
61
|
+
insert("dynamic property is not allowed.");
|
|
62
|
+
// MUST BE LOWER-CASE
|
|
63
|
+
if (typeof explore.property === "string" &&
|
|
64
|
+
explore.property !== explore.property.toLowerCase())
|
|
65
|
+
insert("property name must be lower-case.");
|
|
66
|
+
// DO NOT ALLOW TUPLE TYPE
|
|
67
|
+
if (meta.tuples.length)
|
|
68
|
+
insert("tuple type is not allowed.");
|
|
69
|
+
// DO NOT ALLOW UNION TYPE
|
|
70
|
+
if (CoreMetadataUtil.isUnion(meta))
|
|
71
|
+
insert("union type is not allowed.");
|
|
72
|
+
// DO NOT ALLOW NESTED OBJECT
|
|
73
|
+
if (meta.objects.length ||
|
|
74
|
+
meta.sets.length ||
|
|
75
|
+
meta.maps.length ||
|
|
76
|
+
meta.natives.length)
|
|
77
|
+
insert("nested object type is not allowed.");
|
|
78
|
+
//----
|
|
79
|
+
// ARRAY CASES
|
|
80
|
+
//----
|
|
81
|
+
const isArray = meta.arrays.length > 1 || meta.tuples.length > 1;
|
|
82
|
+
// ARRAY TYPE MUST BE REQUIRED
|
|
83
|
+
if (isArray && meta.isRequired() === false)
|
|
84
|
+
insert("optional type is not allowed when array.");
|
|
85
|
+
// SET-COOKIE MUST BE ARRAY
|
|
86
|
+
if (explore.property === "set-cookie" && !isArray)
|
|
87
|
+
insert("set-cookie property must be array.");
|
|
88
|
+
}
|
|
89
|
+
return errors;
|
|
90
|
+
};
|
|
91
|
+
SwaggerSchemaValidator.headers = (meta, explore) => {
|
|
92
|
+
const errors = [];
|
|
93
|
+
const insert = (msg) => errors.push(msg);
|
|
94
|
+
if (explore.top === true) {
|
|
95
|
+
// TOP MUST BE ONLY OBJECT
|
|
96
|
+
if (meta.objects.length !== 1 || meta.bucket() !== 1)
|
|
97
|
+
insert("only one object type is allowed.");
|
|
98
|
+
if (meta.nullable === true)
|
|
99
|
+
insert("headers cannot be null.");
|
|
100
|
+
if (meta.isRequired() === false)
|
|
101
|
+
insert("headers cannot be null.");
|
|
102
|
+
}
|
|
103
|
+
else if (explore.nested !== null &&
|
|
104
|
+
explore.nested instanceof MetadataArray_1.MetadataArray) {
|
|
105
|
+
const atomics = CoreMetadataUtil.atomics(meta);
|
|
106
|
+
const expected = meta.atomics.length +
|
|
107
|
+
meta.templates.length +
|
|
108
|
+
meta.constants
|
|
109
|
+
.map((c) => c.values.length)
|
|
110
|
+
.reduce((a, b) => a + b, 0);
|
|
111
|
+
if (atomics.size > 1)
|
|
112
|
+
insert("union type is not allowed in array.");
|
|
113
|
+
if (meta.nullable)
|
|
114
|
+
insert("nullable type is not allowed in array.");
|
|
115
|
+
if (meta.isRequired() === false)
|
|
116
|
+
insert("optional type is not allowed.");
|
|
117
|
+
if (meta.size() !== expected)
|
|
118
|
+
insert("only atomic or constant types are allowed in array.");
|
|
119
|
+
}
|
|
120
|
+
else if (explore.object && explore.property !== null) {
|
|
121
|
+
//----
|
|
122
|
+
// COMMON
|
|
123
|
+
//----
|
|
124
|
+
// PROPERTY MUST BE SOLE
|
|
125
|
+
if (typeof explore.property === "object")
|
|
126
|
+
insert("dynamic property is not allowed.");
|
|
127
|
+
// MUST BE LOWER-CASE
|
|
128
|
+
if (typeof explore.property === "string" &&
|
|
129
|
+
explore.property !== explore.property.toLowerCase())
|
|
130
|
+
insert("property name must be lower-case.");
|
|
131
|
+
// DO NOT ALLOW TUPLE TYPE
|
|
132
|
+
if (meta.tuples.length)
|
|
133
|
+
insert("tuple type is not allowed.");
|
|
134
|
+
// DO NOT ALLOW UNION TYPE
|
|
135
|
+
if (CoreMetadataUtil.isUnion(meta))
|
|
136
|
+
insert("union type is not allowed.");
|
|
137
|
+
// DO NOT ALLOW NESTED OBJECT
|
|
138
|
+
if (meta.objects.length ||
|
|
139
|
+
meta.sets.length ||
|
|
140
|
+
meta.maps.length ||
|
|
141
|
+
meta.natives.length)
|
|
142
|
+
insert("nested object type is not allowed.");
|
|
143
|
+
// DO NOT ALLOW NULLABLE
|
|
144
|
+
if (meta.nullable)
|
|
145
|
+
insert("nullable type is not allowed.");
|
|
146
|
+
//----
|
|
147
|
+
// ARRAY CASES
|
|
148
|
+
//----
|
|
149
|
+
const isArray = meta.arrays.length > 1;
|
|
150
|
+
// ARRAY TYPE MUST BE REQUIRED
|
|
151
|
+
if (isArray && meta.isRequired() === false)
|
|
152
|
+
insert("optional type is not allowed when array.");
|
|
153
|
+
// SET-COOKIE MUST BE ARRAY
|
|
154
|
+
if (explore.property === "set-cookie" && !isArray)
|
|
155
|
+
insert("set-cookie property must be array.");
|
|
156
|
+
// MUST BE SINGULAR CASE
|
|
157
|
+
if (typeof explore.property === "string" &&
|
|
158
|
+
SINGULAR.has(explore.property) &&
|
|
159
|
+
isArray)
|
|
160
|
+
insert("property cannot be array.");
|
|
161
|
+
}
|
|
162
|
+
return errors;
|
|
163
|
+
};
|
|
164
|
+
})(SwaggerSchemaValidator || (exports.SwaggerSchemaValidator = SwaggerSchemaValidator = {}));
|
|
165
|
+
var CoreMetadataUtil;
|
|
166
|
+
(function (CoreMetadataUtil) {
|
|
167
|
+
CoreMetadataUtil.atomics = (meta) => new Set([
|
|
168
|
+
...meta.atomics.map((a) => a.type),
|
|
169
|
+
...meta.constants.map((c) => c.type),
|
|
170
|
+
...(meta.templates.length ? ["string"] : []),
|
|
171
|
+
]);
|
|
172
|
+
CoreMetadataUtil.isUnion = (meta) => CoreMetadataUtil.atomics(meta).size +
|
|
173
|
+
meta.arrays.length +
|
|
174
|
+
meta.tuples.length +
|
|
175
|
+
meta.natives.length +
|
|
176
|
+
meta.maps.length +
|
|
177
|
+
meta.objects.length >
|
|
178
|
+
1;
|
|
179
|
+
})(CoreMetadataUtil || (CoreMetadataUtil = {}));
|
|
180
|
+
const SINGULAR = new Set([
|
|
181
|
+
"age",
|
|
182
|
+
"authorization",
|
|
183
|
+
"content-length",
|
|
184
|
+
"content-type",
|
|
185
|
+
"etag",
|
|
186
|
+
"expires",
|
|
187
|
+
"from",
|
|
188
|
+
"host",
|
|
189
|
+
"if-modified-since",
|
|
190
|
+
"if-unmodified-since",
|
|
191
|
+
"last-modified",
|
|
192
|
+
"location",
|
|
193
|
+
"max-forwards",
|
|
194
|
+
"proxy-authorization",
|
|
195
|
+
"referer",
|
|
196
|
+
"retry-after",
|
|
197
|
+
"server",
|
|
198
|
+
"user-agent",
|
|
199
|
+
]);
|
|
200
|
+
//# sourceMappingURL=SwaggerSchemaValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwaggerSchemaValidator.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerSchemaValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IController } from "./IController";
|
|
3
|
-
import { ITypeTuple } from "./ITypeTuple";
|
|
4
3
|
export interface IRoute {
|
|
5
4
|
name: string;
|
|
6
5
|
method: string;
|
|
@@ -14,6 +13,7 @@ export interface IRoute {
|
|
|
14
13
|
location: string;
|
|
15
14
|
symbol: string;
|
|
16
15
|
description?: string;
|
|
16
|
+
operationId?: string;
|
|
17
17
|
tags: ts.JSDocTagInfo[];
|
|
18
18
|
setHeaders: Array<{
|
|
19
19
|
type: "setter";
|
|
@@ -29,9 +29,12 @@ export interface IRoute {
|
|
|
29
29
|
export declare namespace IRoute {
|
|
30
30
|
type IParameter = IController.IParameter & {
|
|
31
31
|
optional: boolean;
|
|
32
|
-
type:
|
|
32
|
+
type: ts.Type;
|
|
33
|
+
typeName: string;
|
|
33
34
|
};
|
|
34
|
-
interface IOutput
|
|
35
|
+
interface IOutput {
|
|
36
|
+
type: ts.Type;
|
|
37
|
+
typeName: string;
|
|
35
38
|
description?: string;
|
|
36
39
|
contentType: "application/json" | "text/plain";
|
|
37
40
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISwaggerError.js","sourceRoot":"","sources":["../../src/structures/ISwaggerError.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { IJsonSchema } from "typia";
|
|
2
|
-
import { IJsDocTagInfo } from "typia/lib/metadata/IJsDocTagInfo";
|
|
2
|
+
import { IJsDocTagInfo } from "typia/lib/schemas/metadata/IJsDocTagInfo";
|
|
3
3
|
export interface ISwaggerRoute {
|
|
4
4
|
deprecated?: boolean;
|
|
5
5
|
security?: Record<string, string[]>[];
|
|
6
|
+
operationId?: string;
|
|
6
7
|
tags: string[];
|
|
7
8
|
parameters: ISwaggerRoute.IParameter[];
|
|
8
9
|
requestBody?: ISwaggerRoute.IRequestBody;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISwaggerSchemaTuple.js","sourceRoot":"","sources":["../../src/structures/ISwaggerSchemaTuple.ts"],"names":[],"mappings":""}
|