nestia 3.0.17-dev.20221010 → 3.0.17-dev.20221010-3
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/IConfiguration.js +1 -2
- package/lib/NestiaApplication.js +35 -65
- package/lib/NestiaApplication.js.map +1 -1
- package/lib/analyses/ControllerAnalyzer.js +18 -24
- package/lib/analyses/ControllerAnalyzer.js.map +1 -1
- package/lib/analyses/GenericAnalyzer.js +4 -10
- package/lib/analyses/GenericAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.js +6 -12
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/PathAnalyzer.js +6 -12
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectAnalyzer.js +11 -37
- package/lib/analyses/ReflectAnalyzer.js.map +1 -1
- package/lib/analyses/SourceFinder.js +12 -18
- package/lib/analyses/SourceFinder.js.map +1 -1
- package/lib/executable/internal/CompilerOptions.js +2 -5
- package/lib/executable/internal/CompilerOptions.js.map +1 -1
- package/lib/executable/internal/NestiaCommand.js +16 -22
- package/lib/executable/internal/NestiaCommand.js.map +1 -1
- package/lib/executable/internal/NestiaConfig.js +16 -44
- package/lib/executable/internal/NestiaConfig.js.map +1 -1
- package/lib/executable/internal/nestia.config.getter.js +4 -6
- package/lib/executable/internal/nestia.config.getter.js.map +1 -1
- package/lib/executable/nestia.js +14 -19
- package/lib/executable/nestia.js.map +1 -1
- package/lib/generates/FileGenerator.js +11 -17
- package/lib/generates/FileGenerator.js.map +1 -1
- package/lib/generates/FunctionGenerator.js +10 -13
- package/lib/generates/FunctionGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.js +16 -20
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.js +26 -32
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/index.js +2 -27
- package/lib/index.js.map +1 -1
- package/lib/module.js +2 -18
- package/lib/module.js.map +1 -1
- package/lib/structures/IController.js +1 -2
- package/lib/structures/IRoute.js +1 -2
- package/lib/structures/ISwagger.js +1 -2
- package/lib/structures/ITypeTuple.js +1 -2
- package/lib/structures/MethodType.js +2 -5
- package/lib/structures/MethodType.js.map +1 -1
- package/lib/structures/ParamCategory.js +1 -2
- package/lib/structures/TypeEntry.js +3 -7
- package/lib/structures/TypeEntry.js.map +1 -1
- package/lib/utils/ArrayUtil.js +2 -5
- package/lib/utils/ArrayUtil.js.map +1 -1
- package/lib/utils/DirectoryUtil.js +11 -17
- package/lib/utils/DirectoryUtil.js.map +1 -1
- package/lib/utils/ImportDictionary.js +8 -15
- package/lib/utils/ImportDictionary.js.map +1 -1
- package/lib/utils/MapUtil.js +2 -5
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/StripEnums.js +1 -2
- package/package.json +2 -1
package/lib/IConfiguration.js
CHANGED
package/lib/NestiaApplication.js
CHANGED
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -31,36 +7,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
8
|
});
|
|
33
9
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const SdkGenerator_1 = require("./generates/SdkGenerator");
|
|
49
|
-
const SwaggerGenerator_1 = require("./generates/SwaggerGenerator");
|
|
50
|
-
const ArrayUtil_1 = require("./utils/ArrayUtil");
|
|
51
|
-
const CompilerOptions_1 = require("./executable/internal/CompilerOptions");
|
|
52
|
-
class NestiaApplication {
|
|
10
|
+
import fs from "fs";
|
|
11
|
+
import path from "path";
|
|
12
|
+
import * as runner from "ts-node";
|
|
13
|
+
import ts from "typescript";
|
|
14
|
+
import { Pair } from "tstl/utility/Pair";
|
|
15
|
+
import { Singleton } from "tstl/thread/Singleton";
|
|
16
|
+
import { ControllerAnalyzer } from "./analyses/ControllerAnalyzer";
|
|
17
|
+
import { ReflectAnalyzer } from "./analyses/ReflectAnalyzer";
|
|
18
|
+
import { SourceFinder } from "./analyses/SourceFinder";
|
|
19
|
+
import { SdkGenerator } from "./generates/SdkGenerator";
|
|
20
|
+
import { SwaggerGenerator } from "./generates/SwaggerGenerator";
|
|
21
|
+
import { ArrayUtil } from "./utils/ArrayUtil";
|
|
22
|
+
import { CompilerOptions } from "./executable/internal/CompilerOptions";
|
|
23
|
+
export class NestiaApplication {
|
|
53
24
|
constructor(config) {
|
|
54
25
|
this.config_ = config;
|
|
55
|
-
this.bundle_checker_ = new
|
|
26
|
+
this.bundle_checker_ = new Singleton(() => __awaiter(this, void 0, void 0, function* () {
|
|
56
27
|
if (!this.config_.output)
|
|
57
28
|
return () => false;
|
|
58
|
-
const bundles = yield
|
|
59
|
-
const tuples = yield
|
|
60
|
-
const relative =
|
|
61
|
-
const location =
|
|
62
|
-
const stats = yield
|
|
63
|
-
return new
|
|
29
|
+
const bundles = yield fs.promises.readdir(SdkGenerator.BUNDLE_PATH);
|
|
30
|
+
const tuples = yield ArrayUtil.asyncMap(bundles, (file) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const relative = path.join(this.config_.output, file);
|
|
32
|
+
const location = path.join(SdkGenerator.BUNDLE_PATH, file);
|
|
33
|
+
const stats = yield fs.promises.stat(location);
|
|
34
|
+
return new Pair(relative, stats.isDirectory());
|
|
64
35
|
}));
|
|
65
36
|
return (file) => {
|
|
66
37
|
for (const it of tuples)
|
|
@@ -76,25 +47,25 @@ class NestiaApplication {
|
|
|
76
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
48
|
if (!this.config_.output)
|
|
78
49
|
throw new Error("Error on NestiaApplication.sdk(): output path is not specified.");
|
|
79
|
-
const parent =
|
|
80
|
-
const stats = yield
|
|
50
|
+
const parent = path.resolve(this.config_.output + "/..");
|
|
51
|
+
const stats = yield fs.promises.lstat(parent);
|
|
81
52
|
if (stats.isDirectory() === false)
|
|
82
53
|
throw new Error("Error on NestiaApplication.sdk(): output directory does not exists.");
|
|
83
|
-
yield this.generate((config) => config,
|
|
54
|
+
yield this.generate((config) => config, SdkGenerator.generate);
|
|
84
55
|
});
|
|
85
56
|
}
|
|
86
57
|
swagger() {
|
|
87
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
59
|
if (!this.config_.swagger || !this.config_.swagger.output)
|
|
89
60
|
throw new Error(`Error on NestiaApplication.swagger(): output path of the "swagger.json" is not specified.`);
|
|
90
|
-
const parsed =
|
|
61
|
+
const parsed = path.parse(this.config_.swagger.output);
|
|
91
62
|
const directory = !!parsed.ext
|
|
92
|
-
?
|
|
63
|
+
? path.resolve(parsed.dir)
|
|
93
64
|
: this.config_.swagger.output;
|
|
94
|
-
const stats = yield
|
|
65
|
+
const stats = yield fs.promises.lstat(directory);
|
|
95
66
|
if (stats.isDirectory() === false)
|
|
96
67
|
throw new Error("Error on NestiaApplication.swagger(): output directory does not exists.");
|
|
97
|
-
yield this.generate((config) => config.swagger,
|
|
68
|
+
yield this.generate((config) => config.swagger, SwaggerGenerator.generate);
|
|
98
69
|
});
|
|
99
70
|
}
|
|
100
71
|
generate(config, archiver) {
|
|
@@ -107,21 +78,21 @@ class NestiaApplication {
|
|
|
107
78
|
: typeof this.config_.input === "string"
|
|
108
79
|
? { include: [this.config_.input] }
|
|
109
80
|
: this.config_.input;
|
|
110
|
-
const fileList = yield
|
|
81
|
+
const fileList = yield ArrayUtil.asyncFilter(yield SourceFinder.find(input), (file) => this.is_not_excluded(file));
|
|
111
82
|
// ANALYZE REFLECTS
|
|
112
83
|
const unique = new WeakSet();
|
|
113
84
|
const controllerList = [];
|
|
114
85
|
for (const file of fileList)
|
|
115
|
-
controllerList.push(...(yield
|
|
86
|
+
controllerList.push(...(yield ReflectAnalyzer.analyze(unique, file)));
|
|
116
87
|
// ANALYZE TYPESCRIPT CODE
|
|
117
|
-
const program =
|
|
88
|
+
const program = ts.createProgram(controllerList.map((c) => c.file), this.config_.compilerOptions || { noEmit: true });
|
|
118
89
|
const checker = program.getTypeChecker();
|
|
119
90
|
const routeList = [];
|
|
120
91
|
for (const controller of controllerList) {
|
|
121
92
|
const sourceFile = program.getSourceFile(controller.file);
|
|
122
93
|
if (sourceFile === undefined)
|
|
123
94
|
continue;
|
|
124
|
-
routeList.push(...
|
|
95
|
+
routeList.push(...ControllerAnalyzer.analyze(checker, sourceFile, controller));
|
|
125
96
|
}
|
|
126
97
|
// DO GENERATE
|
|
127
98
|
yield archiver(checker, config(this.config_), routeList);
|
|
@@ -132,7 +103,7 @@ class NestiaApplication {
|
|
|
132
103
|
// CONSTRUCT OPTIONS
|
|
133
104
|
if (!this.config_.compilerOptions)
|
|
134
105
|
this.config_.compilerOptions =
|
|
135
|
-
|
|
106
|
+
CompilerOptions.DEFAULT_OPTIONS;
|
|
136
107
|
const absoluted = !!((_a = this.config_.compilerOptions) === null || _a === void 0 ? void 0 : _a.baseUrl);
|
|
137
108
|
// MOUNT TS-NODE
|
|
138
109
|
runner.register({
|
|
@@ -145,12 +116,11 @@ class NestiaApplication {
|
|
|
145
116
|
is_not_excluded(file) {
|
|
146
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
147
118
|
if (this.config_.output)
|
|
148
|
-
return (file.indexOf(
|
|
119
|
+
return (file.indexOf(path.join(this.config_.output, "functional")) ===
|
|
149
120
|
-1 && (yield this.bundle_checker_.get())(file) === false);
|
|
150
|
-
const content = yield
|
|
121
|
+
const content = yield fs.promises.readFile(file, "utf8");
|
|
151
122
|
return (content.indexOf(" * @nestia Generated by Nestia - https://github.com/samchon/nestia") === -1);
|
|
152
123
|
});
|
|
153
124
|
}
|
|
154
125
|
}
|
|
155
|
-
exports.NestiaApplication = NestiaApplication;
|
|
156
126
|
//# sourceMappingURL=NestiaApplication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaApplication.js","sourceRoot":"","sources":["../src/NestiaApplication.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NestiaApplication.js","sourceRoot":"","sources":["../src/NestiaApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const HashMap_1 = require("tstl/container/HashMap");
|
|
9
|
-
const GenericAnalyzer_1 = require("./GenericAnalyzer");
|
|
10
|
-
const ImportAnalyzer_1 = require("./ImportAnalyzer");
|
|
11
|
-
const PathAnalyzer_1 = require("./PathAnalyzer");
|
|
12
|
-
var ControllerAnalyzer;
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { HashMap } from "tstl/container/HashMap";
|
|
3
|
+
import { GenericAnalyzer } from "./GenericAnalyzer";
|
|
4
|
+
import { ImportAnalyzer } from "./ImportAnalyzer";
|
|
5
|
+
import { PathAnalyzer } from "./PathAnalyzer";
|
|
6
|
+
export var ControllerAnalyzer;
|
|
13
7
|
(function (ControllerAnalyzer) {
|
|
14
8
|
function analyze(checker, sourceFile, controller) {
|
|
15
9
|
// FIND CONTROLLER CLASS
|
|
16
10
|
const ret = [];
|
|
17
|
-
|
|
11
|
+
ts.forEachChild(sourceFile, (node) => {
|
|
18
12
|
var _a;
|
|
19
|
-
if (
|
|
13
|
+
if (ts.isClassDeclaration(node) &&
|
|
20
14
|
((_a = node.name) === null || _a === void 0 ? void 0 : _a.escapedText) === controller.name) {
|
|
21
15
|
// ANALYZE THE CONTROLLER
|
|
22
16
|
ret.push(..._Analyze_controller(checker, controller, node));
|
|
@@ -31,16 +25,16 @@ var ControllerAnalyzer;
|
|
|
31
25
|
--------------------------------------------------------- */
|
|
32
26
|
function _Analyze_controller(checker, controller, classNode) {
|
|
33
27
|
const classType = checker.getTypeAtLocation(classNode);
|
|
34
|
-
const genericDict =
|
|
28
|
+
const genericDict = GenericAnalyzer.analyze(checker, classNode);
|
|
35
29
|
const ret = [];
|
|
36
30
|
for (const property of classType.getProperties()) {
|
|
37
31
|
// GET METHOD DECLARATION
|
|
38
32
|
const declaration = (property.declarations || [])[0];
|
|
39
|
-
if (!declaration || !
|
|
33
|
+
if (!declaration || !ts.isMethodDeclaration(declaration))
|
|
40
34
|
continue;
|
|
41
35
|
// IDENTIFIER MUST BE
|
|
42
36
|
const identifier = declaration.name;
|
|
43
|
-
if (!
|
|
37
|
+
if (!ts.isIdentifier(identifier))
|
|
44
38
|
continue;
|
|
45
39
|
// ANALYZED WITH THE REFLECTED-FUNCTION
|
|
46
40
|
const runtime = controller.functions.find((f) => f.name === identifier.escapedText);
|
|
@@ -57,13 +51,13 @@ var ControllerAnalyzer;
|
|
|
57
51
|
function _Analyze_function(checker, controller, genericDict, func, symbol) {
|
|
58
52
|
// PREPARE ASSETS
|
|
59
53
|
const type = checker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
|
|
60
|
-
const signature = checker.getSignaturesOfType(type,
|
|
54
|
+
const signature = checker.getSignaturesOfType(type, ts.SignatureKind.Call)[0];
|
|
61
55
|
if (signature === undefined)
|
|
62
56
|
throw new Error(`Error on ControllerAnalyzer.analyze(): unable to get the signature from the ${controller.name}.${func.name}().`);
|
|
63
|
-
const importDict = new
|
|
57
|
+
const importDict = new HashMap();
|
|
64
58
|
// EXPLORE CHILDREN TYPES
|
|
65
59
|
const parameters = func.parameters.map((param) => _Analyze_parameter(checker, genericDict, importDict, controller, func.name, param, signature.getParameters()[param.index]));
|
|
66
|
-
const output =
|
|
60
|
+
const output = ImportAnalyzer.analyze(checker, genericDict, importDict, signature.getReturnType());
|
|
67
61
|
const imports = importDict
|
|
68
62
|
.toJSON()
|
|
69
63
|
.map((pair) => [pair.first, pair.second.toJSON()]);
|
|
@@ -75,8 +69,8 @@ var ControllerAnalyzer;
|
|
|
75
69
|
const pathList = [];
|
|
76
70
|
for (const controllerPath of controller.paths)
|
|
77
71
|
for (const filePath of func.paths) {
|
|
78
|
-
const path =
|
|
79
|
-
pathList.push(
|
|
72
|
+
const path = PathAnalyzer.join(controllerPath, filePath);
|
|
73
|
+
pathList.push(PathAnalyzer.espace(path, () => "ControllerAnalyzer.analyze()"));
|
|
80
74
|
}
|
|
81
75
|
// RETURNS
|
|
82
76
|
return pathList.map((path) => (Object.assign(Object.assign({}, common), { path })));
|
|
@@ -99,8 +93,8 @@ var ControllerAnalyzer;
|
|
|
99
93
|
category: param.category,
|
|
100
94
|
field: param.field,
|
|
101
95
|
encrypted: param.encrypted,
|
|
102
|
-
type:
|
|
96
|
+
type: ImportAnalyzer.analyze(checker, genericDict, importDict, type),
|
|
103
97
|
};
|
|
104
98
|
}
|
|
105
|
-
})(ControllerAnalyzer
|
|
99
|
+
})(ControllerAnalyzer || (ControllerAnalyzer = {}));
|
|
106
100
|
//# sourceMappingURL=ControllerAnalyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAMjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,KAAW,kBAAkB,CAgMlC;AAhMD,WAAiB,kBAAkB;IAC/B,SAAgB,OAAO,CACnB,OAAuB,EACvB,UAAyB,EACzB,UAAuB;QAEvB,wBAAwB;QACxB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;;YACjC,IACI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,MAAK,UAAU,CAAC,IAAI,EAC5C;gBACE,yBAAyB;gBACzB,GAAG,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5D,OAAO;aACV;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAlBe,0BAAO,UAkBtB,CAAA;IAED;;gEAE4D;IAC5D,SAAS,mBAAmB,CACxB,OAAuB,EACvB,UAAuB,EACvB,SAA8B;QAE9B,MAAM,SAAS,GAAqB,OAAO,CAAC,iBAAiB,CACzD,SAAS,CACQ,CAAC;QACtB,MAAM,WAAW,GAA+B,eAAe,CAAC,OAAO,CACnE,OAAO,EACP,SAAS,CACZ,CAAC;QAEF,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE;YAC9C,yBAAyB;YACzB,MAAM,WAAW,GACb,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC;gBAAE,SAAS;YAEnE,qBAAqB;YACrB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;gBAAE,SAAS;YAE3C,uCAAuC;YACvC,MAAM,OAAO,GACT,UAAU,CAAC,SAAS,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,WAAW,CAC3C,CAAC;YACN,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YAEpC,MAAM,MAAM,GAAa,iBAAiB,CACtC,OAAO,EACP,UAAU,EACV,WAAW,EACX,OAAO,EACP,QAAQ,CACX,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;SACvB;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;gEAE4D;IAC5D,SAAS,iBAAiB,CACtB,OAAuB,EACvB,UAAuB,EACvB,WAAuC,EACvC,IAA2B,EAC3B,MAAiB;QAEjB,iBAAiB;QACjB,MAAM,IAAI,GAAY,OAAO,CAAC,yBAAyB,CACnD,MAAM,EACN,MAAM,CAAC,gBAAiB,CAC3B,CAAC;QACF,MAAM,SAAS,GAA6B,OAAO,CAAC,mBAAmB,CACnE,IAAI,EACJ,EAAE,CAAC,aAAa,CAAC,IAAI,CACxB,CAAC,CAAC,CAAC,CAAC;QAEL,IAAI,SAAS,KAAK,SAAS;YACvB,MAAM,IAAI,KAAK,CACX,+EAA+E,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CACnH,CAAC;QAEN,MAAM,UAAU,GAA8B,IAAI,OAAO,EAAE,CAAC;QAE5D,yBAAyB;QACzB,MAAM,UAAU,GAAwB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClE,kBAAkB,CACd,OAAO,EACP,WAAW,EACX,UAAU,EACV,UAAU,EACV,IAAI,CAAC,IAAI,EACT,KAAK,EACL,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CACzC,CACJ,CAAC;QACF,MAAM,MAAM,GAAe,cAAc,CAAC,OAAO,CAC7C,OAAO,EACP,WAAW,EACX,UAAU,EACV,SAAS,CAAC,aAAa,EAAE,CAC5B,CAAC;QACF,MAAM,OAAO,GAAyB,UAAU;aAC3C,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEvD,wBAAwB;QACxB,MAAM,MAAM,mCACL,IAAI,KACP,UAAU;YACV,MAAM;YACN,OAAO,EAEP,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAC3C,QAAQ,EAAE,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,EACtD,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,GACjC,CAAC;QAEF,kBAAkB;QAClB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,KAAK;YACzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC/B,MAAM,IAAI,GAAW,YAAY,CAAC,IAAI,CAClC,cAAc,EACd,QAAQ,CACX,CAAC;gBACF,QAAQ,CAAC,IAAI,CACT,YAAY,CAAC,MAAM,CACf,IAAI,EACJ,GAAG,EAAE,CAAC,8BAA8B,CACvC,CACJ,CAAC;aACL;QAEL,UAAU;QACV,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCACvB,MAAM,KACT,IAAI,IACN,CAAC,CAAC;IACR,CAAC;IAED;;gEAE4D;IAC5D,SAAS,kBAAkB,CACvB,OAAuB,EACvB,WAAuC,EACvC,UAAqC,EACrC,UAAuB,EACvB,QAAgB,EAChB,KAA6B,EAC7B,MAAiB;QAEjB,MAAM,IAAI,GAAY,OAAO,CAAC,yBAAyB,CACnD,MAAM,EACN,MAAM,CAAC,gBAAiB,CAC3B,CAAC;QACF,MAAM,IAAI,GAAW,MAAM,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;QAExD,gCAAgC;QAChC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YACxD,MAAM,MAAM,GAAW,GAAG,UAAU,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC;YAC1D,MAAM,IAAI,KAAK,CACX,YAAY,MAAM,sDAAsD;gBACpE,wBAAwB,MAAM,IAAI,IAAI,iBAAiB;gBACvD,mEAAmE,CAC1E,CAAC;SACL;QAED,OAAO;YACH,IAAI;YACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,cAAc,CAAC,OAAO,CACxB,OAAO,EACP,WAAW,EACX,UAAU,EACV,IAAI,CACP;SACJ,CAAC;IACN,CAAC;AACL,CAAC,EAhMgB,kBAAkB,KAAlB,kBAAkB,QAgMlC"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.GenericAnalyzer = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
var GenericAnalyzer;
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
export var GenericAnalyzer;
|
|
9
3
|
(function (GenericAnalyzer) {
|
|
10
4
|
function analyze(checker, classNode) {
|
|
11
5
|
const dict = new WeakMap();
|
|
@@ -21,7 +15,7 @@ var GenericAnalyzer;
|
|
|
21
15
|
// MUST BE CLASS
|
|
22
16
|
const expression = checker.getTypeAtLocation(hType.expression);
|
|
23
17
|
const superNode = expression.symbol.getDeclarations()[0];
|
|
24
|
-
if (!
|
|
18
|
+
if (!ts.isClassDeclaration(superNode))
|
|
25
19
|
continue;
|
|
26
20
|
// SPECIFY GENERICS
|
|
27
21
|
const usages = hType.typeArguments || [];
|
|
@@ -37,5 +31,5 @@ var GenericAnalyzer;
|
|
|
37
31
|
explore(checker, dict, superNode);
|
|
38
32
|
}
|
|
39
33
|
}
|
|
40
|
-
})(GenericAnalyzer
|
|
34
|
+
})(GenericAnalyzer || (GenericAnalyzer = {}));
|
|
41
35
|
//# sourceMappingURL=GenericAnalyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/GenericAnalyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenericAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/GenericAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,KAAW,eAAe,CAkD/B;AAlDD,WAAiB,eAAe;IAG5B,SAAgB,OAAO,CACnB,OAAuB,EACvB,SAA8B;QAE9B,MAAM,IAAI,GAAe,IAAI,OAAO,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAPe,uBAAO,UAOtB,CAAA;IAED,SAAS,OAAO,CACZ,OAAuB,EACvB,IAAgB,EAChB,SAA8B;QAE9B,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO;QAEpD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,eAAe;YAC5C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAChC,gBAAgB;gBAChB,MAAM,UAAU,GAAY,OAAO,CAAC,iBAAiB,CACjD,KAAK,CAAC,UAAU,CACnB,CAAC;gBACF,MAAM,SAAS,GACX,UAAU,CAAC,MAAM,CAAC,eAAe,EAAG,CAAC,CAAC,CAAC,CAAC;gBAE5C,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAEhD,mBAAmB;gBACnB,MAAM,MAAM,GACR,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC9B,MAAM,UAAU,GACZ,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC;gBAEnC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAChC,MAAM,SAAS,GAAY,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC5D,MAAM,SAAS,GACX,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;wBACvB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC1C,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;oBAEpD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;aACrC;IACT,CAAC;AACL,CAAC,EAlDgB,eAAe,KAAf,eAAe,QAkD/B"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ImportAnalyzer = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const HashSet_1 = require("tstl/container/HashSet");
|
|
9
|
-
var ImportAnalyzer;
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { HashSet } from "tstl/container/HashSet";
|
|
3
|
+
export var ImportAnalyzer;
|
|
10
4
|
(function (ImportAnalyzer) {
|
|
11
5
|
function analyze(checker, genericDict, importDict, type) {
|
|
12
6
|
type = get_type(checker, type);
|
|
@@ -62,7 +56,7 @@ var ImportAnalyzer;
|
|
|
62
56
|
const name = get_name(symbol);
|
|
63
57
|
const sourceFile = symbol.declarations[0].getSourceFile();
|
|
64
58
|
if (sourceFile.fileName.indexOf("typescript/lib") === -1) {
|
|
65
|
-
const set = importDict.take(sourceFile.fileName, () => new
|
|
59
|
+
const set = importDict.take(sourceFile.fileName, () => new HashSet());
|
|
66
60
|
set.insert(name.split(".")[0]);
|
|
67
61
|
}
|
|
68
62
|
// CHECK GENERIC
|
|
@@ -76,9 +70,9 @@ var ImportAnalyzer;
|
|
|
76
70
|
: name;
|
|
77
71
|
}
|
|
78
72
|
function explore_name(name, decl) {
|
|
79
|
-
return
|
|
73
|
+
return ts.isModuleBlock(decl)
|
|
80
74
|
? explore_name(`${decl.parent.name.getText()}.${name}`, decl.parent.parent)
|
|
81
75
|
: name;
|
|
82
76
|
}
|
|
83
|
-
})(ImportAnalyzer
|
|
77
|
+
})(ImportAnalyzer || (ImportAnalyzer = {}));
|
|
84
78
|
//# sourceMappingURL=ImportAnalyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ImportAnalyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImportAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ImportAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PathAnalyzer = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const path_to_regexp_1 = require("path-to-regexp");
|
|
9
|
-
var PathAnalyzer;
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { parse } from "path-to-regexp";
|
|
3
|
+
export var PathAnalyzer;
|
|
10
4
|
(function (PathAnalyzer) {
|
|
11
5
|
PathAnalyzer.join = (...args) => "/" +
|
|
12
|
-
_Trim(
|
|
6
|
+
_Trim(path
|
|
13
7
|
.join(...args)
|
|
14
8
|
.split("\\")
|
|
15
9
|
.join("/"));
|
|
@@ -21,7 +15,7 @@ var PathAnalyzer;
|
|
|
21
15
|
.filter((arg) => arg.type === "param")
|
|
22
16
|
.map((arg) => arg.value);
|
|
23
17
|
function _Parse(str, method) {
|
|
24
|
-
const tokens =
|
|
18
|
+
const tokens = parse(path.join(str).split("\\").join("/"));
|
|
25
19
|
const output = [];
|
|
26
20
|
for (const key of tokens) {
|
|
27
21
|
if (typeof key === "string")
|
|
@@ -46,6 +40,6 @@ var PathAnalyzer;
|
|
|
46
40
|
str = str.substring(0, str.length - 1);
|
|
47
41
|
return str;
|
|
48
42
|
}
|
|
49
|
-
})(PathAnalyzer
|
|
43
|
+
})(PathAnalyzer || (PathAnalyzer = {}));
|
|
50
44
|
const ERROR_MESSAGE = "nestia supports only string typed parameter on path";
|
|
51
45
|
//# sourceMappingURL=PathAnalyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/PathAnalyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PathAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/PathAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAS,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,KAAW,YAAY,CAoD5B;AApDD,WAAiB,YAAY;IACZ,iBAAI,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE,CACtC,GAAG;QACH,KAAK,CACD,IAAI;aACC,IAAI,CAAC,GAAG,IAAI,CAAC;aACb,KAAK,CAAC,IAAI,CAAC;aACX,IAAI,CAAC,GAAG,CAAC,CACjB,CAAC;IAEO,mBAAM,GAAG,CAAC,GAAW,EAAE,MAAoB,EAAE,EAAE,CACxD,GAAG;QACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;aACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAClE,IAAI,CAAC,GAAG,CAAC,CAAC;IAEN,uBAAU,GAAG,CAAC,GAAW,EAAE,MAAoB,EAAE,EAAE,CAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;SACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjC,SAAS,MAAM,CAAC,GAAW,EAAE,MAAoB;QAC7C,MAAM,MAAM,GAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,OAAO,GAAG,KAAK,QAAQ;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;iBACpB,CAAC,CAAC;iBACF,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,KAAK,aAAa,GAAG,CAAC,CAAC;;gBAEzD,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;SACV;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,KAAK,CAAC,GAAW;QACtB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;YAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC;IACf,CAAC;AAML,CAAC,EApDgB,YAAY,KAAZ,YAAY,QAoD5B;AAED,MAAM,aAAa,GAAG,qDAAqD,CAAC"}
|
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -31,16 +7,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
8
|
});
|
|
33
9
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const PathAnalyzer_1 = require("./PathAnalyzer");
|
|
39
|
-
var ReflectAnalyzer;
|
|
10
|
+
import { equal } from "tstl/ranges/module";
|
|
11
|
+
import { ArrayUtil } from "../utils/ArrayUtil";
|
|
12
|
+
import { PathAnalyzer } from "./PathAnalyzer";
|
|
13
|
+
export var ReflectAnalyzer;
|
|
40
14
|
(function (ReflectAnalyzer) {
|
|
41
15
|
function analyze(unique, file) {
|
|
42
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const module = yield
|
|
17
|
+
const module = yield import(file);
|
|
44
18
|
const ret = [];
|
|
45
19
|
for (const tuple of Object.entries(module)) {
|
|
46
20
|
if (unique.has(tuple[1]))
|
|
@@ -67,7 +41,7 @@ var ReflectAnalyzer;
|
|
|
67
41
|
creator.constructor instanceof Function))
|
|
68
42
|
return null;
|
|
69
43
|
// MUST HAVE THOSE MATADATA
|
|
70
|
-
else if (
|
|
44
|
+
else if (ArrayUtil.has(Reflect.getMetadataKeys(creator), "path", "host", "scope:options") === false)
|
|
71
45
|
return null;
|
|
72
46
|
//----
|
|
73
47
|
// CONSTRUCTION
|
|
@@ -120,7 +94,7 @@ var ReflectAnalyzer;
|
|
|
120
94
|
if (!(proto instanceof Function))
|
|
121
95
|
return null;
|
|
122
96
|
// MUST HAVE THOSE METADATE
|
|
123
|
-
else if (
|
|
97
|
+
else if (ArrayUtil.has(Reflect.getMetadataKeys(proto), "path", "method") ===
|
|
124
98
|
false)
|
|
125
99
|
return null;
|
|
126
100
|
//----
|
|
@@ -151,15 +125,15 @@ var ReflectAnalyzer;
|
|
|
151
125
|
for (const controllerLocation of controller.paths)
|
|
152
126
|
for (const metaLocation of meta.paths) {
|
|
153
127
|
// NORMALIZE LOCATION
|
|
154
|
-
const location =
|
|
128
|
+
const location = PathAnalyzer.join(controllerLocation, metaLocation);
|
|
155
129
|
// LIST UP PARAMETERS
|
|
156
|
-
const binded =
|
|
130
|
+
const binded = PathAnalyzer.parameters(location, () => `${controller.name}.${name}()`).sort();
|
|
157
131
|
const parameters = meta.parameters
|
|
158
132
|
.filter((param) => param.category === "param")
|
|
159
133
|
.map((param) => param.field)
|
|
160
134
|
.sort();
|
|
161
135
|
// DO VALIDATE
|
|
162
|
-
if (
|
|
136
|
+
if (equal(binded, parameters) === false)
|
|
163
137
|
throw new Error(`Error on ${controller.name}.${name}(): binded arguments in the "path" between function's decorator and parameters' decorators are different (function: [${binded.join(", ")}], parameters: [${parameters.join(", ")}])`);
|
|
164
138
|
}
|
|
165
139
|
// RETURNS
|
|
@@ -226,5 +200,5 @@ var ReflectAnalyzer;
|
|
|
226
200
|
undefined,
|
|
227
201
|
undefined,
|
|
228
202
|
];
|
|
229
|
-
})(ReflectAnalyzer
|
|
203
|
+
})(ReflectAnalyzer || (ReflectAnalyzer = {}));
|
|
230
204
|
//# sourceMappingURL=ReflectAnalyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
|