@nestia/core 3.0.5 → 3.1.0-dev.20240429
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/adaptors/WebSocketAdaptor.d.ts +21 -0
- package/lib/adaptors/WebSocketAdaptor.js +275 -0
- package/lib/adaptors/WebSocketAdaptor.js.map +1 -0
- package/lib/decorators/DynamicModule.js +12 -59
- package/lib/decorators/DynamicModule.js.map +1 -1
- package/lib/decorators/EncryptedBody.js +36 -73
- package/lib/decorators/EncryptedBody.js.map +1 -1
- package/lib/decorators/EncryptedController.js +2 -2
- package/lib/decorators/EncryptedController.js.map +1 -1
- package/lib/decorators/EncryptedModule.js +24 -107
- package/lib/decorators/EncryptedModule.js.map +1 -1
- package/lib/decorators/EncryptedRoute.js +43 -119
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/PlainBody.js +24 -61
- package/lib/decorators/PlainBody.js.map +1 -1
- package/lib/decorators/SwaggerCustomizer.js +2 -2
- package/lib/decorators/SwaggerCustomizer.js.map +1 -1
- package/lib/decorators/TypedBody.js +12 -14
- package/lib/decorators/TypedBody.js.map +1 -1
- package/lib/decorators/TypedException.js +5 -5
- package/lib/decorators/TypedException.js.map +1 -1
- package/lib/decorators/TypedFormData.js +88 -291
- package/lib/decorators/TypedFormData.js.map +1 -1
- package/lib/decorators/TypedHeaders.js +6 -6
- package/lib/decorators/TypedHeaders.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +5 -6
- package/lib/decorators/TypedParam.js +14 -15
- package/lib/decorators/TypedParam.js.map +1 -1
- package/lib/decorators/TypedQuery.d.ts +2 -2
- package/lib/decorators/TypedQuery.js +52 -129
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.js +31 -107
- package/lib/decorators/TypedRoute.js.map +1 -1
- package/lib/decorators/WebSocketRoute.d.ts +120 -0
- package/lib/decorators/WebSocketRoute.js +202 -0
- package/lib/decorators/WebSocketRoute.js.map +1 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.d.ts +25 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.js +3 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.js.map +1 -0
- package/lib/decorators/internal/NoTransformConfigureError.js +1 -1
- package/lib/decorators/internal/NoTransformConfigureError.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.js +67 -131
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
- package/lib/decorators/internal/get_path_and_stringify.js +57 -71
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/decorators/internal/get_text_body.js +7 -46
- package/lib/decorators/internal/get_text_body.js.map +1 -1
- package/lib/decorators/internal/headers_to_object.js +3 -42
- package/lib/decorators/internal/headers_to_object.js.map +1 -1
- package/lib/decorators/internal/load_controller.js +29 -106
- package/lib/decorators/internal/load_controller.js.map +1 -1
- package/lib/decorators/internal/route_error.js +15 -65
- package/lib/decorators/internal/route_error.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.js +44 -54
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/decorators/internal/validate_request_form_data.js +36 -44
- package/lib/decorators/internal/validate_request_form_data.js.map +1 -1
- package/lib/decorators/internal/validate_request_headers.js +36 -44
- package/lib/decorators/internal/validate_request_headers.js.map +1 -1
- package/lib/decorators/internal/validate_request_query.js +36 -44
- package/lib/decorators/internal/validate_request_query.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/module.d.ts +10 -9
- package/lib/module.js +10 -9
- package/lib/module.js.map +1 -1
- package/lib/programmers/PlainBodyProgrammer.js +29 -44
- package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedBodyProgrammer.js +57 -82
- package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedExceptionProgrammer.js +51 -54
- package/lib/programmers/TypedExceptionProgrammer.js.map +1 -1
- package/lib/programmers/TypedFormDataBodyProgrammer.js +50 -73
- package/lib/programmers/TypedFormDataBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedHeadersProgrammer.js +24 -43
- package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
- package/lib/programmers/TypedParamProgrammer.js +11 -28
- package/lib/programmers/TypedParamProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryBodyProgrammer.js +24 -43
- package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.js +24 -43
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryRouteProgrammer.js +22 -39
- package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +22 -39
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js +12 -29
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js +10 -27
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQuerifyProgrammer.js +33 -69
- package/lib/programmers/http/HttpQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js +11 -28
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/internal/CoreMetadataUtil.js +12 -37
- package/lib/programmers/internal/CoreMetadataUtil.js.map +1 -1
- package/lib/transform.js +8 -8
- package/lib/transform.js.map +1 -1
- package/lib/transformers/FileTransformer.js +35 -66
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/MethodTransformer.js +39 -50
- package/lib/transformers/MethodTransformer.js.map +1 -1
- package/lib/transformers/NodeTransformer.js +8 -12
- package/lib/transformers/NodeTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +75 -90
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/lib/transformers/ParameterTransformer.js +18 -24
- package/lib/transformers/ParameterTransformer.js.map +1 -1
- package/lib/transformers/TypedExceptionTransformer.js +24 -27
- package/lib/transformers/TypedExceptionTransformer.js.map +1 -1
- package/lib/transformers/TypedRouteTransformer.js +50 -88
- package/lib/transformers/TypedRouteTransformer.js.map +1 -1
- package/lib/transformers/WebSocketRouteTransformer.d.ts +6 -0
- package/lib/transformers/WebSocketRouteTransformer.js +72 -0
- package/lib/transformers/WebSocketRouteTransformer.js.map +1 -0
- package/lib/utils/ArrayUtil.d.ts +3 -0
- package/lib/utils/ArrayUtil.js +11 -0
- package/lib/utils/ArrayUtil.js.map +1 -0
- package/lib/utils/ExceptionManager.js +9 -31
- package/lib/utils/ExceptionManager.js.map +1 -1
- package/lib/utils/Singleton.js +6 -7
- package/lib/utils/Singleton.js.map +1 -1
- package/lib/utils/SourceFinder.js +38 -215
- package/lib/utils/SourceFinder.js.map +1 -1
- package/lib/utils/VersioningStrategy.d.ts +9 -0
- package/lib/utils/VersioningStrategy.js +17 -0
- package/lib/utils/VersioningStrategy.js.map +1 -0
- package/package.json +10 -6
- package/src/adaptors/WebSocketAdaptor.ts +416 -0
- package/src/decorators/TypedParam.ts +5 -6
- package/src/decorators/TypedQuery.ts +251 -251
- package/src/decorators/WebSocketRoute.ts +249 -0
- package/src/decorators/internal/IWebSocketRouteReflect.ts +23 -0
- package/src/decorators/internal/validate_request_body.ts +72 -72
- package/src/decorators/internal/validate_request_form_data.ts +75 -75
- package/src/decorators/internal/validate_request_headers.ts +83 -83
- package/src/decorators/internal/validate_request_query.ts +71 -71
- package/src/module.ts +20 -16
- package/src/transformers/MethodTransformer.ts +7 -4
- package/src/transformers/ParameterDecoratorTransformer.ts +129 -120
- package/src/transformers/TypedExceptionTransformer.ts +9 -13
- package/src/transformers/TypedRouteTransformer.ts +1 -8
- package/src/transformers/WebSocketRouteTransformer.ts +103 -0
- package/src/typings/get-function-location.d.ts +7 -0
- package/src/utils/ArrayUtil.ts +7 -0
- package/src/utils/VersioningStrategy.ts +27 -0
|
@@ -1,37 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
6
|
exports.HttpIsQuerifyProgrammer = void 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
9
|
+
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
10
|
+
const IsProgrammer_1 = require("typia/lib/programmers/IsProgrammer");
|
|
11
|
+
const HttpQuerifyProgrammer_1 = require("./HttpQuerifyProgrammer");
|
|
23
12
|
var HttpIsQuerifyProgrammer;
|
|
24
13
|
(function (HttpIsQuerifyProgrammer) {
|
|
25
|
-
HttpIsQuerifyProgrammer.write =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
StatementFactory_1.StatementFactory.constant("stringify", HttpQuerifyProgrammer_1.HttpQuerifyProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type)),
|
|
31
|
-
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createNull())),
|
|
32
|
-
]));
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
};
|
|
14
|
+
HttpIsQuerifyProgrammer.write = (project) => (modulo) => (type) => typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
15
|
+
StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.write(Object.assign(Object.assign({}, project), { options: Object.assign(Object.assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(false)(type)),
|
|
16
|
+
StatementFactory_1.StatementFactory.constant("stringify", HttpQuerifyProgrammer_1.HttpQuerifyProgrammer.write(Object.assign(Object.assign({}, project), { options: Object.assign(Object.assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type)),
|
|
17
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createNull())),
|
|
18
|
+
]));
|
|
36
19
|
})(HttpIsQuerifyProgrammer || (exports.HttpIsQuerifyProgrammer = HttpIsQuerifyProgrammer = {}));
|
|
37
20
|
//# sourceMappingURL=HttpIsQuerifyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpIsQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpIsQuerifyProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HttpIsQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpIsQuerifyProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,6EAA0E;AAC1E,2EAAwE;AACxE,qEAAkE;AAGlE,mEAAgE;AAEhE,IAAiB,uBAAuB,CAqDvC;AArDD,WAAiB,uBAAuB;IACzB,6BAAK,GAChB,CAAC,OAAiB,EAAE,EAAE,CACtB,CAAC,MAAiC,EAAE,EAAE,CACtC,CAAC,IAAa,EAAoB,EAAE,CAClC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QACrB,mCAAgB,CAAC,QAAQ,CACvB,IAAI,EACJ,2BAAY,CAAC,KAAK,iCACb,OAAO,KACV,OAAO,kCACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CACxB;QACD,mCAAgB,CAAC,QAAQ,CACvB,WAAW,EACX,6CAAqB,CAAC,KAAK,iCACtB,OAAO,KACV,OAAO,kCACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACjB;QACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CACpC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACvC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACvC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CACxB,CACF;KACF,CAAC,CACH,CAAC;AACR,CAAC,EArDgB,uBAAuB,uCAAvB,uBAAuB,QAqDvC"}
|
|
@@ -1,80 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
4
|
};
|
|
30
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
6
|
exports.HttpQuerifyProgrammer = void 0;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
9
|
+
const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
10
|
+
const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
11
|
+
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
12
|
+
const FunctionImporeter_1 = require("typia/lib/programmers/helpers/FunctionImporeter");
|
|
13
|
+
const HttpQueryProgrammer_1 = require("typia/lib/programmers/http/HttpQueryProgrammer");
|
|
14
|
+
const TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
40
15
|
var HttpQuerifyProgrammer;
|
|
41
16
|
(function (HttpQuerifyProgrammer) {
|
|
42
|
-
HttpQuerifyProgrammer.write =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
})), false), [
|
|
62
|
-
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
|
|
63
|
-
], false), true));
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
var decode = function (key) {
|
|
68
|
-
return function (value) {
|
|
69
|
-
return !!value.arrays.length
|
|
70
|
-
? typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("input"))(key))("forEach"), undefined, [
|
|
71
|
-
typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, append(key)(typescript_1.default.factory.createIdentifier("elem"))),
|
|
72
|
-
])
|
|
73
|
-
: append(key)(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("input"))(key));
|
|
74
|
-
};
|
|
17
|
+
HttpQuerifyProgrammer.write = (project) => (modulo) => (type) => {
|
|
18
|
+
// GET OBJECT TYPE
|
|
19
|
+
const importer = new FunctionImporeter_1.FunctionImporter(modulo.getText());
|
|
20
|
+
const collection = new MetadataCollection_1.MetadataCollection();
|
|
21
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
|
|
22
|
+
escape: false,
|
|
23
|
+
constant: true,
|
|
24
|
+
absorb: true,
|
|
25
|
+
validate: HttpQueryProgrammer_1.HttpQueryProgrammer.validate,
|
|
26
|
+
})(collection)(type);
|
|
27
|
+
if (result.success === false)
|
|
28
|
+
throw TransformerError_1.TransformerError.from(`nestia.core.TypedQuery.${importer.method}`)(result.errors);
|
|
29
|
+
const object = result.data.objects[0];
|
|
30
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
31
|
+
...importer.declare(modulo),
|
|
32
|
+
StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("URLSearchParams"), undefined, [])),
|
|
33
|
+
...object.properties.map((p) => typescript_1.default.factory.createExpressionStatement(decode(p.key.constants[0].values[0].value)(p.value))),
|
|
34
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
|
|
35
|
+
], true));
|
|
75
36
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
37
|
+
const decode = (key) => (value) => !!value.arrays.length
|
|
38
|
+
? typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("input"))(key))("forEach"), undefined, [
|
|
39
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, append(key)(typescript_1.default.factory.createIdentifier("elem"))),
|
|
40
|
+
])
|
|
41
|
+
: append(key)(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("input"))(key));
|
|
42
|
+
const append = (key) => (elem) => typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("output"))("append"), undefined, [typescript_1.default.factory.createStringLiteral(key), elem]);
|
|
79
43
|
})(HttpQuerifyProgrammer || (exports.HttpQuerifyProgrammer = HttpQuerifyProgrammer = {}));
|
|
80
44
|
//# sourceMappingURL=HttpQuerifyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpQuerifyProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HttpQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpQuerifyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
6
|
exports.HttpValidateQuerifyProgrammer = void 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
9
|
+
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
10
|
+
const ValidateProgrammer_1 = require("typia/lib/programmers/ValidateProgrammer");
|
|
11
|
+
const HttpQuerifyProgrammer_1 = require("./HttpQuerifyProgrammer");
|
|
23
12
|
var HttpValidateQuerifyProgrammer;
|
|
24
13
|
(function (HttpValidateQuerifyProgrammer) {
|
|
25
|
-
HttpValidateQuerifyProgrammer.write =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("query"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
|
|
32
|
-
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("output")]), typescript_1.default.factory.createTypeReferenceNode("any"))),
|
|
33
|
-
]));
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
};
|
|
14
|
+
HttpValidateQuerifyProgrammer.write = (project) => (modulo) => (type, name) => typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
15
|
+
StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.write(Object.assign(Object.assign({}, project), { options: Object.assign(Object.assign({}, project.options), { functional: false, numeric: true }) }))(modulo)(false)(type, name)),
|
|
16
|
+
StatementFactory_1.StatementFactory.constant("query", HttpQuerifyProgrammer_1.HttpQuerifyProgrammer.write(Object.assign(Object.assign({}, project), { options: Object.assign(Object.assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type)),
|
|
17
|
+
StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("query"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
|
|
18
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("output")]), typescript_1.default.factory.createTypeReferenceNode("any"))),
|
|
19
|
+
]));
|
|
37
20
|
})(HttpValidateQuerifyProgrammer || (exports.HttpValidateQuerifyProgrammer = HttpValidateQuerifyProgrammer = {}));
|
|
38
21
|
//# sourceMappingURL=HttpValidateQuerifyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpValidateQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpValidateQuerifyProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HttpValidateQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpValidateQuerifyProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,6EAA0E;AAC1E,2EAAwE;AACxE,iFAA8E;AAG9E,mEAAgE;AAEhE,IAAiB,6BAA6B,CAsD7C;AAtDD,WAAiB,6BAA6B;IAC/B,mCAAK,GAChB,CAAC,OAAiB,EAAE,EAAE,CACtB,CAAC,MAAiC,EAAE,EAAE,CACtC,CAAC,IAAa,EAAE,IAAa,EAAoB,EAAE,CACjD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QACrB,mCAAgB,CAAC,QAAQ,CACvB,UAAU,EACV,uCAAkB,CAAC,KAAK,iCACnB,OAAO,KACV,OAAO,kCACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,OAEf,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAC9B;QACD,mCAAgB,CAAC,QAAQ,CACvB,OAAO,EACP,6CAAqB,CAAC,KAAK,iCACtB,OAAO,KACV,OAAO,kCACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACjB;QACD,mCAAgB,CAAC,QAAQ,CACvB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACvC,CACF;QACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CACxC,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAC1C,CACF;KACF,CAAC,CACH,CAAC;AACR,CAAC,EAtDgB,6BAA6B,6CAA7B,6BAA6B,QAsD7C"}
|
|
@@ -1,44 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
3
|
exports.CoreMetadataUtil = void 0;
|
|
29
4
|
var CoreMetadataUtil;
|
|
30
5
|
(function (CoreMetadataUtil) {
|
|
31
|
-
CoreMetadataUtil.atomics =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
6
|
+
CoreMetadataUtil.atomics = (meta) => new Set([
|
|
7
|
+
...meta.atomics.map((a) => a.type),
|
|
8
|
+
...meta.constants.map((c) => c.type),
|
|
9
|
+
...(meta.templates.length ? ["string"] : []),
|
|
10
|
+
]);
|
|
11
|
+
CoreMetadataUtil.isUnion = (meta) => CoreMetadataUtil.atomics(meta).size +
|
|
12
|
+
meta.arrays.length +
|
|
13
|
+
meta.tuples.length +
|
|
14
|
+
meta.natives.length +
|
|
15
|
+
meta.maps.length +
|
|
16
|
+
meta.objects.length >
|
|
17
|
+
1;
|
|
43
18
|
})(CoreMetadataUtil || (exports.CoreMetadataUtil = CoreMetadataUtil = {}));
|
|
44
19
|
//# sourceMappingURL=CoreMetadataUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreMetadataUtil.js","sourceRoot":"","sources":["../../../src/programmers/internal/CoreMetadataUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoreMetadataUtil.js","sourceRoot":"","sources":["../../../src/programmers/internal/CoreMetadataUtil.ts"],"names":[],"mappings":";;;AAEA,IAAiB,gBAAgB,CAkBhC;AAlBD,WAAiB,gBAAgB;IAClB,wBAAO,GAAG,CACrB,IAAc,EACmC,EAAE,CACnD,IAAI,GAAG,CAAC;QACN,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC,CAAC;IAEQ,wBAAO,GAAG,CAAC,IAAc,EAAW,EAAE,CACjD,iBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM;QACrB,CAAC,CAAC;AACN,CAAC,EAlBgB,gBAAgB,gCAAhB,gBAAgB,QAkBhC"}
|
package/lib/transform.js
CHANGED
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.transform = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const FileTransformer_1 = require("./transformers/FileTransformer");
|
|
9
|
+
const transform = (program, options, extras) => {
|
|
10
|
+
const compilerOptions = program.getCompilerOptions();
|
|
11
|
+
const strict = compilerOptions.strictNullChecks !== undefined
|
|
12
12
|
? !!compilerOptions.strictNullChecks
|
|
13
13
|
: !!compilerOptions.strict;
|
|
14
14
|
if (strict === false)
|
|
@@ -21,12 +21,12 @@ var transform = function (program, options, extras) {
|
|
|
21
21
|
messageText: "strict mode is required.",
|
|
22
22
|
});
|
|
23
23
|
return FileTransformer_1.FileTransformer.transform({
|
|
24
|
-
program
|
|
25
|
-
compilerOptions
|
|
24
|
+
program,
|
|
25
|
+
compilerOptions,
|
|
26
26
|
checker: program.getTypeChecker(),
|
|
27
27
|
printer: typescript_1.default.createPrinter(),
|
|
28
28
|
options: options !== null && options !== void 0 ? options : {},
|
|
29
|
-
extras
|
|
29
|
+
extras,
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
32
|
exports.transform = transform;
|
package/lib/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAI5B,oEAAiE;AAE1D,MAAM,SAAS,GAAG,CACvB,OAAmB,EACnB,OAA4C,EAC5C,MAA0B,EACY,EAAE;IACxC,MAAM,eAAe,GAAuB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACzE,MAAM,MAAM,GACV,eAAe,CAAC,gBAAgB,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB;QACpC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;IAC/B,IAAI,MAAM,KAAK,KAAK;QAClB,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,gBAAuB;YAC7B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,0BAA0B;SACxC,CAAC,CAAC;IACL,OAAO,iCAAe,CAAC,SAAS,CAAC;QAC/B,OAAO;QACP,eAAe;QACf,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;QACtB,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC;AA3BW,QAAA,SAAS,aA2BpB;AACF,kBAAe,iBAAS,CAAC"}
|
|
@@ -1,78 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
6
|
exports.FileTransformer = void 0;
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const NodeTransformer_1 = require("./NodeTransformer");
|
|
20
9
|
var FileTransformer;
|
|
21
10
|
(function (FileTransformer) {
|
|
22
|
-
FileTransformer.transform =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return iterate_node(__assign(__assign({}, project), { context: context }))(context)(file)(node);
|
|
29
|
-
}, context);
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
var iterate_node = function (project) {
|
|
34
|
-
return function (context) {
|
|
35
|
-
return function (file) {
|
|
36
|
-
return function (node) {
|
|
37
|
-
var _a;
|
|
38
|
-
return typescript_1.default.visitEachChild((_a = try_transform_node(project)(file)(node)) !== null && _a !== void 0 ? _a : node, function (child) { return iterate_node(project)(context)(file)(child); }, context);
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
};
|
|
11
|
+
FileTransformer.transform = (project) => (context) => (file) => file.isDeclarationFile
|
|
12
|
+
? file
|
|
13
|
+
: typescript_1.default.visitEachChild(file, (node) => iterate_node(Object.assign(Object.assign({}, project), { context }))(context)(file)(node), context);
|
|
14
|
+
const iterate_node = (project) => (context) => (file) => (node) => {
|
|
15
|
+
var _a;
|
|
16
|
+
return typescript_1.default.visitEachChild((_a = try_transform_node(project)(file)(node)) !== null && _a !== void 0 ? _a : node, (child) => iterate_node(project)(context)(file)(child), context);
|
|
42
17
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
};
|
|
18
|
+
const try_transform_node = (project) => (file) => (node) => {
|
|
19
|
+
var _a;
|
|
20
|
+
var _b;
|
|
21
|
+
try {
|
|
22
|
+
return NodeTransformer_1.NodeTransformer.transform(project)(node);
|
|
23
|
+
}
|
|
24
|
+
catch (exp) {
|
|
25
|
+
// ONLY ACCEPT TRANSFORMER-ERROR
|
|
26
|
+
if (!isTransformerError(exp))
|
|
27
|
+
throw exp;
|
|
28
|
+
// AVOID SPECIAL BUG OF TYPESCRIPT COMPILER API
|
|
29
|
+
(_a = (_b = node).parent) !== null && _a !== void 0 ? _a : (_b.parent = file);
|
|
30
|
+
// REPORT DIAGNOSTIC
|
|
31
|
+
const diagnostic = typescript_1.default.createDiagnosticForNode(node, {
|
|
32
|
+
key: exp.code,
|
|
33
|
+
category: typescript_1.default.DiagnosticCategory.Error,
|
|
34
|
+
message: exp.message,
|
|
35
|
+
code: `(${exp.code})`,
|
|
36
|
+
});
|
|
37
|
+
project.extras.addDiagnostic(diagnostic);
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
69
40
|
};
|
|
70
41
|
})(FileTransformer || (exports.FileTransformer = FileTransformer = {}));
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
typeof error.message === "string";
|
|
77
|
-
};
|
|
42
|
+
const isTransformerError = (error) => typeof error === "object" &&
|
|
43
|
+
error !== null &&
|
|
44
|
+
error.constructor.name === "TransformerError" &&
|
|
45
|
+
typeof error.code === "string" &&
|
|
46
|
+
typeof error.message === "string";
|
|
78
47
|
//# sourceMappingURL=FileTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAI5B,uDAAoD;AAEpD,IAAiB,eAAe,CAoD/B;AApDD,WAAiB,eAAe;IACjB,yBAAS,GACpB,CAAC,OAAiD,EAAE,EAAE,CACtD,CAAC,OAAiC,EAAE,EAAE,CACtC,CAAC,IAAmB,EAAiB,EAAE,CACrC,IAAI,CAAC,iBAAiB;QACpB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,oBAAE,CAAC,cAAc,CACf,IAAI,EACJ,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,iCACP,OAAO,KACV,OAAO,IACP,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;IAEV,MAAM,YAAY,GAChB,CAAC,OAAgC,EAAE,EAAE,CACrC,CAAC,OAAiC,EAAE,EAAE,CACtC,CAAC,IAAmB,EAAE,EAAE,CACxB,CAAC,IAAa,EAAW,EAAE;;QACzB,OAAA,oBAAE,CAAC,cAAc,CACf,MAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mCAAI,IAAI,EAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EACtD,OAAO,CACR,CAAA;KAAA,CAAC;IAEN,MAAM,kBAAkB,GACtB,CAAC,OAAgC,EAAE,EAAE,CACrC,CAAC,IAAmB,EAAE,EAAE,CACxB,CAAC,IAAa,EAAkB,EAAE;;;QAChC,IAAI,CAAC;YACH,OAAO,iCAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gCAAgC;YAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAExC,+CAA+C;YAC/C,YAAC,IAAY,EAAC,MAAM,uCAAN,MAAM,GAAK,IAAI,EAAC;YAE9B,oBAAoB;YACpB,MAAM,UAAU,GAAG,oBAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE;gBAClD,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;gBACrC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,GAAU;aAC7B,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACN,CAAC,EApDgB,eAAe,+BAAf,eAAe,QAoD/B;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAU,EAA6B,EAAE,CACnE,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,kBAAkB;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;IAC9B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC"}
|
|
@@ -4,61 +4,50 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MethodTransformer = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const TypedExceptionTransformer_1 = require("./TypedExceptionTransformer");
|
|
9
|
+
const TypedRouteTransformer_1 = require("./TypedRouteTransformer");
|
|
10
|
+
const WebSocketRouteTransformer_1 = require("./WebSocketRouteTransformer");
|
|
10
11
|
var MethodTransformer;
|
|
11
12
|
(function (MethodTransformer) {
|
|
12
|
-
MethodTransformer.transform =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (typescript_1.default.getDecorators !== undefined)
|
|
30
|
-
return typescript_1.default.factory.updateMethodDeclaration(method, (method.modifiers || []).map(function (mod) {
|
|
31
|
-
return typescript_1.default.isDecorator(mod) ? operator(mod) : mod;
|
|
32
|
-
}), method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
33
|
-
// eslint-disable-next-line
|
|
34
|
-
return typescript_1.default.factory.updateMethodDeclaration(method, decorators.map(operator), method.modifiers, method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
13
|
+
MethodTransformer.transform = (project) => (method) => {
|
|
14
|
+
const decorators = typescript_1.default.getDecorators
|
|
15
|
+
? typescript_1.default.getDecorators(method)
|
|
16
|
+
: method.decorators;
|
|
17
|
+
if (!(decorators === null || decorators === void 0 ? void 0 : decorators.length))
|
|
18
|
+
return method;
|
|
19
|
+
const signature = project.checker.getSignatureFromDeclaration(method);
|
|
20
|
+
const original = signature && project.checker.getReturnTypeOfSignature(signature);
|
|
21
|
+
const escaped = original && get_escaped_type(project.checker)(original);
|
|
22
|
+
if (escaped === undefined)
|
|
23
|
+
return method;
|
|
24
|
+
const operator = (decorator) => {
|
|
25
|
+
decorator = TypedExceptionTransformer_1.TypedExceptionTransformer.transform(project)(decorator);
|
|
26
|
+
decorator =
|
|
27
|
+
TypedRouteTransformer_1.TypedRouteTransformer.transform(project)(escaped)(decorator);
|
|
28
|
+
WebSocketRouteTransformer_1.WebSocketRouteTransformer.validate(project)(decorator, method);
|
|
29
|
+
return decorator;
|
|
35
30
|
};
|
|
31
|
+
if (typescript_1.default.getDecorators !== undefined)
|
|
32
|
+
return typescript_1.default.factory.updateMethodDeclaration(method, (method.modifiers || []).map((mod) => typescript_1.default.isDecorator(mod) ? operator(mod) : mod), method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
33
|
+
// eslint-disable-next-line
|
|
34
|
+
return typescript_1.default.factory.updateMethodDeclaration(method, decorators.map(operator), method.modifiers, method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
36
35
|
};
|
|
37
36
|
})(MethodTransformer || (exports.MethodTransformer = MethodTransformer = {}));
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
: type;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
var escape_promise = function (checker) {
|
|
47
|
-
return function (type) {
|
|
48
|
-
var generic = checker.getTypeArguments(type);
|
|
49
|
-
if (generic.length !== 1)
|
|
50
|
-
throw new Error("Error on ImportAnalyzer.analyze(): invalid promise type.");
|
|
51
|
-
return generic[0];
|
|
52
|
-
};
|
|
37
|
+
const get_escaped_type = (checker) => (type) => {
|
|
38
|
+
const symbol = type.getSymbol() || type.aliasSymbol;
|
|
39
|
+
return symbol && get_name(symbol) === "Promise"
|
|
40
|
+
? escape_promise(checker)(type)
|
|
41
|
+
: type;
|
|
53
42
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return
|
|
59
|
-
return typescript_1.default.isModuleBlock(decl)
|
|
60
|
-
? explore_name(decl.parent.parent)("".concat(decl.parent.name.getFullText().trim(), ".").concat(name))
|
|
61
|
-
: name;
|
|
62
|
-
};
|
|
43
|
+
const escape_promise = (checker) => (type) => {
|
|
44
|
+
const generic = checker.getTypeArguments(type);
|
|
45
|
+
if (generic.length !== 1)
|
|
46
|
+
throw new Error("Error on ImportAnalyzer.analyze(): invalid promise type.");
|
|
47
|
+
return generic[0];
|
|
63
48
|
};
|
|
49
|
+
const get_name = (symbol) => explore_name(symbol.getDeclarations()[0].parent)(symbol.escapedName.toString());
|
|
50
|
+
const explore_name = (decl) => (name) => typescript_1.default.isModuleBlock(decl)
|
|
51
|
+
? explore_name(decl.parent.parent)(`${decl.parent.name.getFullText().trim()}.${name}`)
|
|
52
|
+
: name;
|
|
64
53
|
//# sourceMappingURL=MethodTransformer.js.map
|