@nestia/core 1.0.18 → 1.1.0-dev.20230413
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -34
- package/lib/decorators/DynamicModule.d.ts +23 -23
- package/lib/decorators/DynamicModule.js +103 -103
- package/lib/decorators/EncryptedBody.d.ts +23 -23
- package/lib/decorators/EncryptedBody.js +125 -125
- package/lib/decorators/EncryptedController.d.ts +31 -31
- package/lib/decorators/EncryptedController.js +41 -41
- package/lib/decorators/EncryptedModule.d.ts +49 -49
- package/lib/decorators/EncryptedModule.js +161 -161
- package/lib/decorators/EncryptedRoute.d.ts +78 -78
- package/lib/decorators/EncryptedRoute.js +216 -216
- package/lib/decorators/PlainBody.d.ts +22 -22
- package/lib/decorators/PlainBody.js +82 -82
- package/lib/decorators/TypedBody.d.ts +16 -16
- package/lib/decorators/TypedBody.js +94 -94
- package/lib/decorators/TypedParam.d.ts +25 -25
- package/lib/decorators/TypedParam.js +61 -61
- package/lib/decorators/TypedQuery.d.ts +14 -14
- package/lib/decorators/TypedQuery.js +99 -99
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.d.ts +72 -72
- package/lib/decorators/TypedRoute.js +185 -185
- package/lib/decorators/internal/EncryptedConstant.d.ts +1 -1
- package/lib/decorators/internal/EncryptedConstant.js +7 -7
- package/lib/decorators/internal/TransformError.d.ts +1 -1
- package/lib/decorators/internal/TransformError.js +10 -10
- package/lib/decorators/internal/get_path_and_stringify.d.ts +1 -1
- package/lib/decorators/internal/get_path_and_stringify.js +78 -78
- package/lib/decorators/internal/headers_to_object.d.ts +3 -3
- package/lib/decorators/internal/headers_to_object.js +49 -49
- package/lib/decorators/internal/load_controller.d.ts +2 -2
- package/lib/decorators/internal/load_controller.js +151 -152
- package/lib/decorators/internal/load_controller.js.map +1 -1
- package/lib/decorators/internal/route_error.d.ts +3 -3
- package/lib/decorators/internal/route_error.js +86 -86
- package/lib/decorators/internal/validate_request_body.d.ts +2 -2
- package/lib/decorators/internal/validate_request_body.js +57 -57
- package/lib/index.d.ts +3 -3
- package/lib/index.js +31 -31
- package/lib/module.d.ts +12 -12
- package/lib/module.js +28 -28
- package/lib/options/INestiaTransformOptions.d.ts +4 -4
- package/lib/options/INestiaTransformOptions.js +2 -2
- package/lib/options/INestiaTransformProject.d.ts +5 -5
- package/lib/options/INestiaTransformProject.js +2 -2
- package/lib/options/IRequestBodyValidator.d.ts +16 -16
- package/lib/options/IRequestBodyValidator.js +2 -2
- package/lib/options/IResponseBodyStringifier.d.ts +20 -20
- package/lib/options/IResponseBodyStringifier.js +2 -2
- package/lib/programmers/TypedBodyProgrammer.d.ts +5 -5
- package/lib/programmers/TypedBodyProgrammer.js +45 -45
- package/lib/programmers/TypedQueryProgrammer.d.ts +5 -5
- package/lib/programmers/TypedQueryProgrammer.js +260 -165
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.d.ts +5 -5
- package/lib/programmers/TypedRouteProgrammer.js +47 -47
- package/lib/transform.d.ts +3 -3
- package/lib/transform.js +20 -20
- package/lib/transformers/FileTransformer.d.ts +5 -5
- package/lib/transformers/FileTransformer.js +32 -32
- package/lib/transformers/MethodDecoratorTransformer.d.ts +5 -5
- package/lib/transformers/MethodDecoratorTransformer.js +87 -87
- package/lib/transformers/MethodTransformer.d.ts +5 -5
- package/lib/transformers/MethodTransformer.js +54 -54
- package/lib/transformers/MethodTransformer.js.map +1 -1
- package/lib/transformers/NodeTransformer.d.ts +5 -5
- package/lib/transformers/NodeTransformer.js +20 -20
- package/lib/transformers/ParameterDecoratorTransformer.d.ts +5 -5
- package/lib/transformers/ParameterDecoratorTransformer.js +53 -53
- package/lib/transformers/ParameterTransformer.d.ts +5 -5
- package/lib/transformers/ParameterTransformer.js +33 -33
- package/lib/transformers/ParameterTransformer.js.map +1 -1
- package/lib/typings/Creator.d.ts +3 -3
- package/lib/typings/Creator.js +2 -2
- package/lib/utils/ExceptionManager.d.ts +64 -64
- package/lib/utils/ExceptionManager.js +112 -112
- package/lib/utils/Singleton.d.ts +1 -1
- package/lib/utils/Singleton.js +23 -23
- package/package.json +8 -9
- package/src/decorators/TypedQuery.ts +10 -8
- package/src/programmers/TypedQueryProgrammer.ts +104 -33
- package/src/transformers/MethodTransformer.ts +1 -1
- package/src/transformers/ParameterTransformer.ts +1 -1
- package/lib/executable/core.d.ts +0 -2
- package/lib/executable/core.js +0 -124
- package/lib/executable/core.js.map +0 -1
- package/lib/executable/internal/ArgumentParser.d.ts +0 -9
- package/lib/executable/internal/ArgumentParser.js +0 -256
- package/lib/executable/internal/ArgumentParser.js.map +0 -1
- package/lib/executable/internal/CommandExecutor.d.ts +0 -3
- package/lib/executable/internal/CommandExecutor.js +0 -17
- package/lib/executable/internal/CommandExecutor.js.map +0 -1
- package/lib/executable/internal/FileRetriever.d.ts +0 -5
- package/lib/executable/internal/FileRetriever.js +0 -109
- package/lib/executable/internal/FileRetriever.js.map +0 -1
- package/lib/executable/internal/PackageManager.d.ts +0 -27
- package/lib/executable/internal/PackageManager.js +0 -126
- package/lib/executable/internal/PackageManager.js.map +0 -1
- package/lib/executable/internal/PluginConfigurator.d.ts +0 -5
- package/lib/executable/internal/PluginConfigurator.js +0 -145
- package/lib/executable/internal/PluginConfigurator.js.map +0 -1
- package/src/executable/core.ts +0 -70
- package/src/executable/internal/ArgumentParser.ts +0 -156
- package/src/executable/internal/CommandExecutor.ts +0 -8
- package/src/executable/internal/FileRetriever.ts +0 -33
- package/src/executable/internal/PackageManager.ts +0 -92
- package/src/executable/internal/PluginConfigurator.ts +0 -130
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
-
export declare namespace FileTransformer {
|
|
4
|
-
function transform(project: INestiaTransformProject, context: ts.TransformationContext, file: ts.SourceFile): ts.SourceFile;
|
|
5
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
+
export declare namespace FileTransformer {
|
|
4
|
+
function transform(project: INestiaTransformProject, context: ts.TransformationContext, file: ts.SourceFile): ts.SourceFile;
|
|
5
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FileTransformer = void 0;
|
|
7
|
-
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
var NodeTransformer_1 = require("./NodeTransformer");
|
|
9
|
-
var FileTransformer;
|
|
10
|
-
(function (FileTransformer) {
|
|
11
|
-
function transform(project, context, file) {
|
|
12
|
-
// ITERATE NODES
|
|
13
|
-
return typescript_1.default.visitEachChild(file, function (node) { return iterate_node(project, context, node); }, context);
|
|
14
|
-
}
|
|
15
|
-
FileTransformer.transform = transform;
|
|
16
|
-
function iterate_node(project, context, node) {
|
|
17
|
-
return typescript_1.default.visitEachChild(try_transform_node(project, node), function (child) { return iterate_node(project, context, child); }, context);
|
|
18
|
-
}
|
|
19
|
-
function try_transform_node(project, node) {
|
|
20
|
-
try {
|
|
21
|
-
return NodeTransformer_1.NodeTransformer.transform(project, node);
|
|
22
|
-
}
|
|
23
|
-
catch (exp) {
|
|
24
|
-
if (!(exp instanceof Error))
|
|
25
|
-
throw exp;
|
|
26
|
-
var file = node.getSourceFile();
|
|
27
|
-
var _a = file.getLineAndCharacterOfPosition(node.pos), line = _a.line, character = _a.character;
|
|
28
|
-
exp.message += " - ".concat(file.fileName, ".").concat(line + 1, ":").concat(character + 1);
|
|
29
|
-
throw exp;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
})(FileTransformer = exports.FileTransformer || (exports.FileTransformer = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FileTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var NodeTransformer_1 = require("./NodeTransformer");
|
|
9
|
+
var FileTransformer;
|
|
10
|
+
(function (FileTransformer) {
|
|
11
|
+
function transform(project, context, file) {
|
|
12
|
+
// ITERATE NODES
|
|
13
|
+
return typescript_1.default.visitEachChild(file, function (node) { return iterate_node(project, context, node); }, context);
|
|
14
|
+
}
|
|
15
|
+
FileTransformer.transform = transform;
|
|
16
|
+
function iterate_node(project, context, node) {
|
|
17
|
+
return typescript_1.default.visitEachChild(try_transform_node(project, node), function (child) { return iterate_node(project, context, child); }, context);
|
|
18
|
+
}
|
|
19
|
+
function try_transform_node(project, node) {
|
|
20
|
+
try {
|
|
21
|
+
return NodeTransformer_1.NodeTransformer.transform(project, node);
|
|
22
|
+
}
|
|
23
|
+
catch (exp) {
|
|
24
|
+
if (!(exp instanceof Error))
|
|
25
|
+
throw exp;
|
|
26
|
+
var file = node.getSourceFile();
|
|
27
|
+
var _a = file.getLineAndCharacterOfPosition(node.pos), line = _a.line, character = _a.character;
|
|
28
|
+
exp.message += " - ".concat(file.fileName, ".").concat(line + 1, ":").concat(character + 1);
|
|
29
|
+
throw exp;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
})(FileTransformer = exports.FileTransformer || (exports.FileTransformer = {}));
|
|
33
33
|
//# sourceMappingURL=FileTransformer.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
-
export declare namespace MethodDecoratorTransformer {
|
|
4
|
-
function transform(project: INestiaTransformProject, type: ts.Type, decorator: ts.Decorator): ts.Decorator;
|
|
5
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
+
export declare namespace MethodDecoratorTransformer {
|
|
4
|
+
function transform(project: INestiaTransformProject, type: ts.Type, decorator: ts.Decorator): ts.Decorator;
|
|
5
|
+
}
|
|
@@ -1,88 +1,88 @@
|
|
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.MethodDecoratorTransformer = void 0;
|
|
32
|
-
var path_1 = __importDefault(require("path"));
|
|
33
|
-
var typescript_1 = __importDefault(require("typescript"));
|
|
34
|
-
var TypedRouteProgrammer_1 = require("../programmers/TypedRouteProgrammer");
|
|
35
|
-
var MethodDecoratorTransformer;
|
|
36
|
-
(function (MethodDecoratorTransformer) {
|
|
37
|
-
function transform(project, type, decorator) {
|
|
38
|
-
if (!typescript_1.default.isCallExpression(decorator.expression))
|
|
39
|
-
return decorator;
|
|
40
|
-
// CHECK SIGNATURE
|
|
41
|
-
var signature = project.checker.getResolvedSignature(decorator.expression);
|
|
42
|
-
if (!signature || !signature.declaration)
|
|
43
|
-
return decorator;
|
|
44
|
-
// CHECK TO BE TRANSFORMED
|
|
45
|
-
var done = (function () {
|
|
46
|
-
// CHECK FILENAME
|
|
47
|
-
var location = path_1.default.resolve(signature.declaration.getSourceFile().fileName);
|
|
48
|
-
if (LIB_PATHS.every(function (str) { return location.indexOf(str) === -1; }) &&
|
|
49
|
-
SRC_PATHS.every(function (str) { return location !== str; }))
|
|
50
|
-
return false;
|
|
51
|
-
// CHECK DUPLICATE BOOSTER
|
|
52
|
-
if (decorator.expression.arguments.length >= 2)
|
|
53
|
-
return false;
|
|
54
|
-
else if (decorator.expression.arguments.length === 1) {
|
|
55
|
-
var last = decorator.expression.arguments[decorator.expression.arguments.length - 1];
|
|
56
|
-
var type_1 = project.checker.getTypeAtLocation(last);
|
|
57
|
-
if (isObject(project.checker, type_1))
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
return true;
|
|
61
|
-
})();
|
|
62
|
-
if (done === false)
|
|
63
|
-
return decorator;
|
|
64
|
-
// CHECK TYPE NODE
|
|
65
|
-
var typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
|
|
66
|
-
if (typeNode === undefined)
|
|
67
|
-
return decorator;
|
|
68
|
-
// DO TRANSFORM
|
|
69
|
-
return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, __spreadArray(__spreadArray([], __read(decorator.expression.arguments), false), [
|
|
70
|
-
TypedRouteProgrammer_1.TypedRouteProgrammer.generate(project, decorator.expression.expression)(type),
|
|
71
|
-
], false)));
|
|
72
|
-
}
|
|
73
|
-
MethodDecoratorTransformer.transform = transform;
|
|
74
|
-
function isObject(checker, type) {
|
|
75
|
-
return ((type.getFlags() & typescript_1.default.TypeFlags.Object) !== 0 &&
|
|
76
|
-
!checker.isTupleType(type) &&
|
|
77
|
-
!checker.isArrayType(type) &&
|
|
78
|
-
!checker.isArrayLikeType(type));
|
|
79
|
-
}
|
|
80
|
-
var CLASSES = ["EncryptedRoute", "TypedRoute"];
|
|
81
|
-
var LIB_PATHS = CLASSES.map(function (cla) {
|
|
82
|
-
return path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators", "".concat(cla, ".d.ts"));
|
|
83
|
-
});
|
|
84
|
-
var SRC_PATHS = CLASSES.map(function (cla) {
|
|
85
|
-
return path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators", "".concat(cla, ".ts")));
|
|
86
|
-
});
|
|
87
|
-
})(MethodDecoratorTransformer = exports.MethodDecoratorTransformer || (exports.MethodDecoratorTransformer = {}));
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.MethodDecoratorTransformer = void 0;
|
|
32
|
+
var path_1 = __importDefault(require("path"));
|
|
33
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
34
|
+
var TypedRouteProgrammer_1 = require("../programmers/TypedRouteProgrammer");
|
|
35
|
+
var MethodDecoratorTransformer;
|
|
36
|
+
(function (MethodDecoratorTransformer) {
|
|
37
|
+
function transform(project, type, decorator) {
|
|
38
|
+
if (!typescript_1.default.isCallExpression(decorator.expression))
|
|
39
|
+
return decorator;
|
|
40
|
+
// CHECK SIGNATURE
|
|
41
|
+
var signature = project.checker.getResolvedSignature(decorator.expression);
|
|
42
|
+
if (!signature || !signature.declaration)
|
|
43
|
+
return decorator;
|
|
44
|
+
// CHECK TO BE TRANSFORMED
|
|
45
|
+
var done = (function () {
|
|
46
|
+
// CHECK FILENAME
|
|
47
|
+
var location = path_1.default.resolve(signature.declaration.getSourceFile().fileName);
|
|
48
|
+
if (LIB_PATHS.every(function (str) { return location.indexOf(str) === -1; }) &&
|
|
49
|
+
SRC_PATHS.every(function (str) { return location !== str; }))
|
|
50
|
+
return false;
|
|
51
|
+
// CHECK DUPLICATE BOOSTER
|
|
52
|
+
if (decorator.expression.arguments.length >= 2)
|
|
53
|
+
return false;
|
|
54
|
+
else if (decorator.expression.arguments.length === 1) {
|
|
55
|
+
var last = decorator.expression.arguments[decorator.expression.arguments.length - 1];
|
|
56
|
+
var type_1 = project.checker.getTypeAtLocation(last);
|
|
57
|
+
if (isObject(project.checker, type_1))
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
})();
|
|
62
|
+
if (done === false)
|
|
63
|
+
return decorator;
|
|
64
|
+
// CHECK TYPE NODE
|
|
65
|
+
var typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
|
|
66
|
+
if (typeNode === undefined)
|
|
67
|
+
return decorator;
|
|
68
|
+
// DO TRANSFORM
|
|
69
|
+
return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, __spreadArray(__spreadArray([], __read(decorator.expression.arguments), false), [
|
|
70
|
+
TypedRouteProgrammer_1.TypedRouteProgrammer.generate(project, decorator.expression.expression)(type),
|
|
71
|
+
], false)));
|
|
72
|
+
}
|
|
73
|
+
MethodDecoratorTransformer.transform = transform;
|
|
74
|
+
function isObject(checker, type) {
|
|
75
|
+
return ((type.getFlags() & typescript_1.default.TypeFlags.Object) !== 0 &&
|
|
76
|
+
!checker.isTupleType(type) &&
|
|
77
|
+
!checker.isArrayType(type) &&
|
|
78
|
+
!checker.isArrayLikeType(type));
|
|
79
|
+
}
|
|
80
|
+
var CLASSES = ["EncryptedRoute", "TypedRoute"];
|
|
81
|
+
var LIB_PATHS = CLASSES.map(function (cla) {
|
|
82
|
+
return path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators", "".concat(cla, ".d.ts"));
|
|
83
|
+
});
|
|
84
|
+
var SRC_PATHS = CLASSES.map(function (cla) {
|
|
85
|
+
return path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators", "".concat(cla, ".ts")));
|
|
86
|
+
});
|
|
87
|
+
})(MethodDecoratorTransformer = exports.MethodDecoratorTransformer || (exports.MethodDecoratorTransformer = {}));
|
|
88
88
|
//# sourceMappingURL=MethodDecoratorTransformer.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
-
export declare namespace MethodTransformer {
|
|
4
|
-
function transform(project: INestiaTransformProject, method: ts.MethodDeclaration): ts.MethodDeclaration;
|
|
5
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
+
export declare namespace MethodTransformer {
|
|
4
|
+
function transform(project: INestiaTransformProject, method: ts.MethodDeclaration): ts.MethodDeclaration;
|
|
5
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MethodTransformer = void 0;
|
|
7
|
-
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
var MethodDecoratorTransformer_1 = require("./MethodDecoratorTransformer");
|
|
9
|
-
var MethodTransformer;
|
|
10
|
-
(function (MethodTransformer) {
|
|
11
|
-
function transform(project, method) {
|
|
12
|
-
var decorators = typescript_1.default.getDecorators
|
|
13
|
-
? typescript_1.default.getDecorators(method)
|
|
14
|
-
: method.decorators;
|
|
15
|
-
if (!(decorators === null || decorators === void 0 ? void 0 : decorators.length))
|
|
16
|
-
return method;
|
|
17
|
-
var signature = project.checker.getSignatureFromDeclaration(method);
|
|
18
|
-
var original = signature && project.checker.getReturnTypeOfSignature(signature);
|
|
19
|
-
var escaped = original && get_escaped_type(project.checker, original);
|
|
20
|
-
if (escaped === undefined)
|
|
21
|
-
return method;
|
|
22
|
-
if (typescript_1.default.getDecorators !== undefined)
|
|
23
|
-
return typescript_1.default.factory.updateMethodDeclaration(method, (method.modifiers || []).map(function (mod) {
|
|
24
|
-
return typescript_1.default.isDecorator(mod)
|
|
25
|
-
? MethodDecoratorTransformer_1.MethodDecoratorTransformer.transform(project, escaped, mod)
|
|
26
|
-
: mod;
|
|
27
|
-
}), method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
28
|
-
// eslint-disable-next-line
|
|
29
|
-
return typescript_1.default.factory.updateMethodDeclaration(method, decorators.map(function (deco) {
|
|
30
|
-
return MethodDecoratorTransformer_1.MethodDecoratorTransformer.transform(project, escaped, deco);
|
|
31
|
-
}), method.modifiers, method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
32
|
-
}
|
|
33
|
-
MethodTransformer.transform = transform;
|
|
34
|
-
})(MethodTransformer = exports.MethodTransformer || (exports.MethodTransformer = {}));
|
|
35
|
-
function get_escaped_type(checker, type) {
|
|
36
|
-
var symbol = type.getSymbol() || type.aliasSymbol;
|
|
37
|
-
return symbol && get_name(symbol) === "Promise"
|
|
38
|
-
? escape_promise(checker, type)
|
|
39
|
-
: type;
|
|
40
|
-
}
|
|
41
|
-
function escape_promise(checker, type) {
|
|
42
|
-
var generic = checker.getTypeArguments(type);
|
|
43
|
-
if (generic.length !== 1)
|
|
44
|
-
throw new Error("Error on ImportAnalyzer.analyze(): invalid promise type.");
|
|
45
|
-
return generic[0];
|
|
46
|
-
}
|
|
47
|
-
function get_name(symbol) {
|
|
48
|
-
return explore_name(symbol.escapedName.toString(), symbol.getDeclarations()[0].parent);
|
|
49
|
-
}
|
|
50
|
-
function explore_name(name, decl) {
|
|
51
|
-
return typescript_1.default.isModuleBlock(decl)
|
|
52
|
-
? explore_name("".concat(decl.parent.name.getFullText().trim(), ".").concat(name), decl.parent.parent)
|
|
53
|
-
: name;
|
|
54
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MethodTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var MethodDecoratorTransformer_1 = require("./MethodDecoratorTransformer");
|
|
9
|
+
var MethodTransformer;
|
|
10
|
+
(function (MethodTransformer) {
|
|
11
|
+
function transform(project, method) {
|
|
12
|
+
var decorators = typescript_1.default.getDecorators
|
|
13
|
+
? typescript_1.default.getDecorators(method)
|
|
14
|
+
: method.decorators;
|
|
15
|
+
if (!(decorators === null || decorators === void 0 ? void 0 : decorators.length))
|
|
16
|
+
return method;
|
|
17
|
+
var signature = project.checker.getSignatureFromDeclaration(method);
|
|
18
|
+
var original = signature && project.checker.getReturnTypeOfSignature(signature);
|
|
19
|
+
var escaped = original && get_escaped_type(project.checker, original);
|
|
20
|
+
if (escaped === undefined)
|
|
21
|
+
return method;
|
|
22
|
+
if (typescript_1.default.getDecorators !== undefined)
|
|
23
|
+
return typescript_1.default.factory.updateMethodDeclaration(method, (method.modifiers || []).map(function (mod) {
|
|
24
|
+
return typescript_1.default.isDecorator(mod)
|
|
25
|
+
? MethodDecoratorTransformer_1.MethodDecoratorTransformer.transform(project, escaped, mod)
|
|
26
|
+
: mod;
|
|
27
|
+
}), method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
28
|
+
// eslint-disable-next-line
|
|
29
|
+
return typescript_1.default.factory.updateMethodDeclaration(method, decorators.map(function (deco) {
|
|
30
|
+
return MethodDecoratorTransformer_1.MethodDecoratorTransformer.transform(project, escaped, deco);
|
|
31
|
+
}), method.modifiers, method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, method.type, method.body);
|
|
32
|
+
}
|
|
33
|
+
MethodTransformer.transform = transform;
|
|
34
|
+
})(MethodTransformer = exports.MethodTransformer || (exports.MethodTransformer = {}));
|
|
35
|
+
function get_escaped_type(checker, type) {
|
|
36
|
+
var symbol = type.getSymbol() || type.aliasSymbol;
|
|
37
|
+
return symbol && get_name(symbol) === "Promise"
|
|
38
|
+
? escape_promise(checker, type)
|
|
39
|
+
: type;
|
|
40
|
+
}
|
|
41
|
+
function escape_promise(checker, type) {
|
|
42
|
+
var generic = checker.getTypeArguments(type);
|
|
43
|
+
if (generic.length !== 1)
|
|
44
|
+
throw new Error("Error on ImportAnalyzer.analyze(): invalid promise type.");
|
|
45
|
+
return generic[0];
|
|
46
|
+
}
|
|
47
|
+
function get_name(symbol) {
|
|
48
|
+
return explore_name(symbol.escapedName.toString(), symbol.getDeclarations()[0].parent);
|
|
49
|
+
}
|
|
50
|
+
function explore_name(name, decl) {
|
|
51
|
+
return typescript_1.default.isModuleBlock(decl)
|
|
52
|
+
? explore_name("".concat(decl.parent.name.getFullText().trim(), ".").concat(name), decl.parent.parent)
|
|
53
|
+
: name;
|
|
54
|
+
}
|
|
55
55
|
//# sourceMappingURL=MethodTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodTransformer.js","sourceRoot":"","sources":["../../src/transformers/MethodTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,2EAA0E;AAE1E,IAAiB,iBAAiB,CAuDjC;AAvDD,WAAiB,iBAAiB;IAC9B,SAAgB,SAAS,CACrB,OAAgC,EAChC,MAA4B;QAE5B,IAAM,UAAU,GAAwC,oBAAE,CAAC,aAAa;YACpE,CAAC,CAAC,oBAAE,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAE,MAAc,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA;YAAE,OAAO,MAAM,CAAC;QAEvC,IAAM,SAAS,GACX,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACxD,IAAM,QAAQ,GACV,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACrE,IAAM,OAAO,GACT,QAAQ,IAAI,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE5D,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAEzC,IAAI,oBAAE,CAAC,aAAa,KAAK,SAAS;YAC9B,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,MAAM,EACN,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG;gBAC7B,OAAA,oBAAE,CAAC,WAAW,CAAC,GAAG,CAAC;oBACf,CAAC,CAAC,uDAA0B,CAAC,SAAS,CAChC,OAAO,EACP,OAAO,EACP,GAAG,CACN;oBACH,CAAC,CAAC,GAAG;YANT,CAMS,CACZ,EACD,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,IAAI,CACd,CAAC;QACN,2BAA2B;QAC3B,
|
|
1
|
+
{"version":3,"file":"MethodTransformer.js","sourceRoot":"","sources":["../../src/transformers/MethodTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
-
export declare namespace NodeTransformer {
|
|
4
|
-
function transform(project: INestiaTransformProject, node: ts.Node): ts.Node;
|
|
5
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
+
export declare namespace NodeTransformer {
|
|
4
|
+
function transform(project: INestiaTransformProject, node: ts.Node): ts.Node;
|
|
5
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.NodeTransformer = void 0;
|
|
7
|
-
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
var MethodTransformer_1 = require("./MethodTransformer");
|
|
9
|
-
var ParameterTransformer_1 = require("./ParameterTransformer");
|
|
10
|
-
var NodeTransformer;
|
|
11
|
-
(function (NodeTransformer) {
|
|
12
|
-
function transform(project, node) {
|
|
13
|
-
if (typescript_1.default.isMethodDeclaration(node))
|
|
14
|
-
return MethodTransformer_1.MethodTransformer.transform(project, node);
|
|
15
|
-
else if (typescript_1.default.isParameter(node))
|
|
16
|
-
return ParameterTransformer_1.ParameterTransformer.transform(project, node);
|
|
17
|
-
return node;
|
|
18
|
-
}
|
|
19
|
-
NodeTransformer.transform = transform;
|
|
20
|
-
})(NodeTransformer = exports.NodeTransformer || (exports.NodeTransformer = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NodeTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var MethodTransformer_1 = require("./MethodTransformer");
|
|
9
|
+
var ParameterTransformer_1 = require("./ParameterTransformer");
|
|
10
|
+
var NodeTransformer;
|
|
11
|
+
(function (NodeTransformer) {
|
|
12
|
+
function transform(project, node) {
|
|
13
|
+
if (typescript_1.default.isMethodDeclaration(node))
|
|
14
|
+
return MethodTransformer_1.MethodTransformer.transform(project, node);
|
|
15
|
+
else if (typescript_1.default.isParameter(node))
|
|
16
|
+
return ParameterTransformer_1.ParameterTransformer.transform(project, node);
|
|
17
|
+
return node;
|
|
18
|
+
}
|
|
19
|
+
NodeTransformer.transform = transform;
|
|
20
|
+
})(NodeTransformer = exports.NodeTransformer || (exports.NodeTransformer = {}));
|
|
21
21
|
//# sourceMappingURL=NodeTransformer.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
-
export declare namespace ParameterDecoratorTransformer {
|
|
4
|
-
function transform(project: INestiaTransformProject, type: ts.Type, decorator: ts.Decorator): ts.Decorator;
|
|
5
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
+
export declare namespace ParameterDecoratorTransformer {
|
|
4
|
+
function transform(project: INestiaTransformProject, type: ts.Type, decorator: ts.Decorator): ts.Decorator;
|
|
5
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ParameterDecoratorTransformer = void 0;
|
|
7
|
-
var path_1 = __importDefault(require("path"));
|
|
8
|
-
var typescript_1 = __importDefault(require("typescript"));
|
|
9
|
-
var TypedBodyProgrammer_1 = require("../programmers/TypedBodyProgrammer");
|
|
10
|
-
var TypedQueryProgrammer_1 = require("../programmers/TypedQueryProgrammer");
|
|
11
|
-
var ParameterDecoratorTransformer;
|
|
12
|
-
(function (ParameterDecoratorTransformer) {
|
|
13
|
-
function transform(project, type, decorator) {
|
|
14
|
-
var _a, _b;
|
|
15
|
-
//----
|
|
16
|
-
// VALIDATIONS
|
|
17
|
-
//----
|
|
18
|
-
// CHECK DECORATOR
|
|
19
|
-
if (!typescript_1.default.isCallExpression(decorator.expression))
|
|
20
|
-
return decorator;
|
|
21
|
-
else if (decorator.expression.arguments.length !== 0)
|
|
22
|
-
return decorator;
|
|
23
|
-
// SIGNATURE DECLARATION
|
|
24
|
-
var declaration = (_a = project.checker.getResolvedSignature(decorator.expression)) === null || _a === void 0 ? void 0 : _a.declaration;
|
|
25
|
-
if (declaration === undefined)
|
|
26
|
-
return decorator;
|
|
27
|
-
// FILE PATH
|
|
28
|
-
var file = path_1.default.resolve(declaration.getSourceFile().fileName);
|
|
29
|
-
if (file.indexOf(LIB_PATH) === -1 && file.indexOf(SRC_PATH) === -1)
|
|
30
|
-
return decorator;
|
|
31
|
-
//----
|
|
32
|
-
// TRANSFORMATION
|
|
33
|
-
//----
|
|
34
|
-
// FIND PROGRAMMER
|
|
35
|
-
var programmer = (_b = FUNCTORS[project.checker.getTypeAtLocation(declaration).symbol.name]) === null || _b === void 0 ? void 0 : _b.call(FUNCTORS);
|
|
36
|
-
if (programmer === undefined)
|
|
37
|
-
return decorator;
|
|
38
|
-
// GET TYPE INFO
|
|
39
|
-
var typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
|
|
40
|
-
if (typeNode === undefined)
|
|
41
|
-
return decorator;
|
|
42
|
-
// DO TRANSFORM
|
|
43
|
-
return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, [programmer(project, decorator.expression.expression)(type)]));
|
|
44
|
-
}
|
|
45
|
-
ParameterDecoratorTransformer.transform = transform;
|
|
46
|
-
})(ParameterDecoratorTransformer = exports.ParameterDecoratorTransformer || (exports.ParameterDecoratorTransformer = {}));
|
|
47
|
-
var FUNCTORS = {
|
|
48
|
-
EncryptedBody: function () { return TypedBodyProgrammer_1.TypedBodyProgrammer.generate; },
|
|
49
|
-
TypedBody: function () { return TypedBodyProgrammer_1.TypedBodyProgrammer.generate; },
|
|
50
|
-
TypedQuery: function () { return TypedQueryProgrammer_1.TypedQueryProgrammer.generate; },
|
|
51
|
-
};
|
|
52
|
-
var LIB_PATH = path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators");
|
|
53
|
-
var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators"));
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ParameterDecoratorTransformer = void 0;
|
|
7
|
+
var path_1 = __importDefault(require("path"));
|
|
8
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
var TypedBodyProgrammer_1 = require("../programmers/TypedBodyProgrammer");
|
|
10
|
+
var TypedQueryProgrammer_1 = require("../programmers/TypedQueryProgrammer");
|
|
11
|
+
var ParameterDecoratorTransformer;
|
|
12
|
+
(function (ParameterDecoratorTransformer) {
|
|
13
|
+
function transform(project, type, decorator) {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
//----
|
|
16
|
+
// VALIDATIONS
|
|
17
|
+
//----
|
|
18
|
+
// CHECK DECORATOR
|
|
19
|
+
if (!typescript_1.default.isCallExpression(decorator.expression))
|
|
20
|
+
return decorator;
|
|
21
|
+
else if (decorator.expression.arguments.length !== 0)
|
|
22
|
+
return decorator;
|
|
23
|
+
// SIGNATURE DECLARATION
|
|
24
|
+
var declaration = (_a = project.checker.getResolvedSignature(decorator.expression)) === null || _a === void 0 ? void 0 : _a.declaration;
|
|
25
|
+
if (declaration === undefined)
|
|
26
|
+
return decorator;
|
|
27
|
+
// FILE PATH
|
|
28
|
+
var file = path_1.default.resolve(declaration.getSourceFile().fileName);
|
|
29
|
+
if (file.indexOf(LIB_PATH) === -1 && file.indexOf(SRC_PATH) === -1)
|
|
30
|
+
return decorator;
|
|
31
|
+
//----
|
|
32
|
+
// TRANSFORMATION
|
|
33
|
+
//----
|
|
34
|
+
// FIND PROGRAMMER
|
|
35
|
+
var programmer = (_b = FUNCTORS[project.checker.getTypeAtLocation(declaration).symbol.name]) === null || _b === void 0 ? void 0 : _b.call(FUNCTORS);
|
|
36
|
+
if (programmer === undefined)
|
|
37
|
+
return decorator;
|
|
38
|
+
// GET TYPE INFO
|
|
39
|
+
var typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
|
|
40
|
+
if (typeNode === undefined)
|
|
41
|
+
return decorator;
|
|
42
|
+
// DO TRANSFORM
|
|
43
|
+
return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, [programmer(project, decorator.expression.expression)(type)]));
|
|
44
|
+
}
|
|
45
|
+
ParameterDecoratorTransformer.transform = transform;
|
|
46
|
+
})(ParameterDecoratorTransformer = exports.ParameterDecoratorTransformer || (exports.ParameterDecoratorTransformer = {}));
|
|
47
|
+
var FUNCTORS = {
|
|
48
|
+
EncryptedBody: function () { return TypedBodyProgrammer_1.TypedBodyProgrammer.generate; },
|
|
49
|
+
TypedBody: function () { return TypedBodyProgrammer_1.TypedBodyProgrammer.generate; },
|
|
50
|
+
TypedQuery: function () { return TypedQueryProgrammer_1.TypedQueryProgrammer.generate; },
|
|
51
|
+
};
|
|
52
|
+
var LIB_PATH = path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators");
|
|
53
|
+
var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators"));
|
|
54
54
|
//# sourceMappingURL=ParameterDecoratorTransformer.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
-
export declare namespace ParameterTransformer {
|
|
4
|
-
function transform(project: INestiaTransformProject, param: ts.ParameterDeclaration): ts.ParameterDeclaration;
|
|
5
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
|
+
export declare namespace ParameterTransformer {
|
|
4
|
+
function transform(project: INestiaTransformProject, param: ts.ParameterDeclaration): ts.ParameterDeclaration;
|
|
5
|
+
}
|