@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.
Files changed (107) hide show
  1. package/README.md +7 -34
  2. package/lib/decorators/DynamicModule.d.ts +23 -23
  3. package/lib/decorators/DynamicModule.js +103 -103
  4. package/lib/decorators/EncryptedBody.d.ts +23 -23
  5. package/lib/decorators/EncryptedBody.js +125 -125
  6. package/lib/decorators/EncryptedController.d.ts +31 -31
  7. package/lib/decorators/EncryptedController.js +41 -41
  8. package/lib/decorators/EncryptedModule.d.ts +49 -49
  9. package/lib/decorators/EncryptedModule.js +161 -161
  10. package/lib/decorators/EncryptedRoute.d.ts +78 -78
  11. package/lib/decorators/EncryptedRoute.js +216 -216
  12. package/lib/decorators/PlainBody.d.ts +22 -22
  13. package/lib/decorators/PlainBody.js +82 -82
  14. package/lib/decorators/TypedBody.d.ts +16 -16
  15. package/lib/decorators/TypedBody.js +94 -94
  16. package/lib/decorators/TypedParam.d.ts +25 -25
  17. package/lib/decorators/TypedParam.js +61 -61
  18. package/lib/decorators/TypedQuery.d.ts +14 -14
  19. package/lib/decorators/TypedQuery.js +99 -99
  20. package/lib/decorators/TypedQuery.js.map +1 -1
  21. package/lib/decorators/TypedRoute.d.ts +72 -72
  22. package/lib/decorators/TypedRoute.js +185 -185
  23. package/lib/decorators/internal/EncryptedConstant.d.ts +1 -1
  24. package/lib/decorators/internal/EncryptedConstant.js +7 -7
  25. package/lib/decorators/internal/TransformError.d.ts +1 -1
  26. package/lib/decorators/internal/TransformError.js +10 -10
  27. package/lib/decorators/internal/get_path_and_stringify.d.ts +1 -1
  28. package/lib/decorators/internal/get_path_and_stringify.js +78 -78
  29. package/lib/decorators/internal/headers_to_object.d.ts +3 -3
  30. package/lib/decorators/internal/headers_to_object.js +49 -49
  31. package/lib/decorators/internal/load_controller.d.ts +2 -2
  32. package/lib/decorators/internal/load_controller.js +151 -152
  33. package/lib/decorators/internal/load_controller.js.map +1 -1
  34. package/lib/decorators/internal/route_error.d.ts +3 -3
  35. package/lib/decorators/internal/route_error.js +86 -86
  36. package/lib/decorators/internal/validate_request_body.d.ts +2 -2
  37. package/lib/decorators/internal/validate_request_body.js +57 -57
  38. package/lib/index.d.ts +3 -3
  39. package/lib/index.js +31 -31
  40. package/lib/module.d.ts +12 -12
  41. package/lib/module.js +28 -28
  42. package/lib/options/INestiaTransformOptions.d.ts +4 -4
  43. package/lib/options/INestiaTransformOptions.js +2 -2
  44. package/lib/options/INestiaTransformProject.d.ts +5 -5
  45. package/lib/options/INestiaTransformProject.js +2 -2
  46. package/lib/options/IRequestBodyValidator.d.ts +16 -16
  47. package/lib/options/IRequestBodyValidator.js +2 -2
  48. package/lib/options/IResponseBodyStringifier.d.ts +20 -20
  49. package/lib/options/IResponseBodyStringifier.js +2 -2
  50. package/lib/programmers/TypedBodyProgrammer.d.ts +5 -5
  51. package/lib/programmers/TypedBodyProgrammer.js +45 -45
  52. package/lib/programmers/TypedQueryProgrammer.d.ts +5 -5
  53. package/lib/programmers/TypedQueryProgrammer.js +260 -165
  54. package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
  55. package/lib/programmers/TypedRouteProgrammer.d.ts +5 -5
  56. package/lib/programmers/TypedRouteProgrammer.js +47 -47
  57. package/lib/transform.d.ts +3 -3
  58. package/lib/transform.js +20 -20
  59. package/lib/transformers/FileTransformer.d.ts +5 -5
  60. package/lib/transformers/FileTransformer.js +32 -32
  61. package/lib/transformers/MethodDecoratorTransformer.d.ts +5 -5
  62. package/lib/transformers/MethodDecoratorTransformer.js +87 -87
  63. package/lib/transformers/MethodTransformer.d.ts +5 -5
  64. package/lib/transformers/MethodTransformer.js +54 -54
  65. package/lib/transformers/MethodTransformer.js.map +1 -1
  66. package/lib/transformers/NodeTransformer.d.ts +5 -5
  67. package/lib/transformers/NodeTransformer.js +20 -20
  68. package/lib/transformers/ParameterDecoratorTransformer.d.ts +5 -5
  69. package/lib/transformers/ParameterDecoratorTransformer.js +53 -53
  70. package/lib/transformers/ParameterTransformer.d.ts +5 -5
  71. package/lib/transformers/ParameterTransformer.js +33 -33
  72. package/lib/transformers/ParameterTransformer.js.map +1 -1
  73. package/lib/typings/Creator.d.ts +3 -3
  74. package/lib/typings/Creator.js +2 -2
  75. package/lib/utils/ExceptionManager.d.ts +64 -64
  76. package/lib/utils/ExceptionManager.js +112 -112
  77. package/lib/utils/Singleton.d.ts +1 -1
  78. package/lib/utils/Singleton.js +23 -23
  79. package/package.json +8 -9
  80. package/src/decorators/TypedQuery.ts +10 -8
  81. package/src/programmers/TypedQueryProgrammer.ts +104 -33
  82. package/src/transformers/MethodTransformer.ts +1 -1
  83. package/src/transformers/ParameterTransformer.ts +1 -1
  84. package/lib/executable/core.d.ts +0 -2
  85. package/lib/executable/core.js +0 -124
  86. package/lib/executable/core.js.map +0 -1
  87. package/lib/executable/internal/ArgumentParser.d.ts +0 -9
  88. package/lib/executable/internal/ArgumentParser.js +0 -256
  89. package/lib/executable/internal/ArgumentParser.js.map +0 -1
  90. package/lib/executable/internal/CommandExecutor.d.ts +0 -3
  91. package/lib/executable/internal/CommandExecutor.js +0 -17
  92. package/lib/executable/internal/CommandExecutor.js.map +0 -1
  93. package/lib/executable/internal/FileRetriever.d.ts +0 -5
  94. package/lib/executable/internal/FileRetriever.js +0 -109
  95. package/lib/executable/internal/FileRetriever.js.map +0 -1
  96. package/lib/executable/internal/PackageManager.d.ts +0 -27
  97. package/lib/executable/internal/PackageManager.js +0 -126
  98. package/lib/executable/internal/PackageManager.js.map +0 -1
  99. package/lib/executable/internal/PluginConfigurator.d.ts +0 -5
  100. package/lib/executable/internal/PluginConfigurator.js +0 -145
  101. package/lib/executable/internal/PluginConfigurator.js.map +0 -1
  102. package/src/executable/core.ts +0 -70
  103. package/src/executable/internal/ArgumentParser.ts +0 -156
  104. package/src/executable/internal/CommandExecutor.ts +0 -8
  105. package/src/executable/internal/FileRetriever.ts +0 -33
  106. package/src/executable/internal/PackageManager.ts +0 -92
  107. 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":"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"}
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
+ }