nestia 2.0.6 → 2.0.7-dev.20220414

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 (121) hide show
  1. package/{src/IConfiguration.ts → bin/IConfiguration.d.ts} +5 -8
  2. package/bin/IConfiguration.d.ts.map +1 -0
  3. package/bin/IConfiguration.js +3 -0
  4. package/bin/NestiaApplication.d.ts +10 -0
  5. package/bin/NestiaApplication.d.ts.map +1 -0
  6. package/bin/NestiaApplication.js +281 -0
  7. package/bin/analyses/ControllerAnalyzer.d.ts +7 -0
  8. package/bin/analyses/ControllerAnalyzer.d.ts.map +1 -0
  9. package/bin/analyses/ControllerAnalyzer.js +186 -0
  10. package/bin/analyses/GenericAnalyzer.d.ts +6 -0
  11. package/bin/analyses/GenericAnalyzer.d.ts.map +1 -0
  12. package/bin/analyses/GenericAnalyzer.js +100 -0
  13. package/bin/analyses/ImportAnalyzer.d.ts +13 -0
  14. package/bin/analyses/ImportAnalyzer.d.ts.map +1 -0
  15. package/bin/analyses/ImportAnalyzer.js +82 -0
  16. package/bin/analyses/ReflectAnalyzer.d.ts +5 -0
  17. package/bin/analyses/ReflectAnalyzer.d.ts.map +1 -0
  18. package/bin/analyses/ReflectAnalyzer.js +307 -0
  19. package/bin/analyses/SourceFinder.d.ts +5 -0
  20. package/bin/analyses/SourceFinder.d.ts.map +1 -0
  21. package/bin/analyses/SourceFinder.js +260 -0
  22. package/bin/bundle/HttpError.d.ts +2 -0
  23. package/bin/bundle/HttpError.d.ts.map +1 -0
  24. package/bin/bundle/HttpError.js +6 -0
  25. package/bin/bundle/IConnection.d.ts +2 -0
  26. package/bin/bundle/IConnection.d.ts.map +1 -0
  27. package/bin/bundle/IConnection.js +3 -0
  28. package/bin/bundle/Primitive.d.ts +2 -0
  29. package/bin/bundle/Primitive.d.ts.map +1 -0
  30. package/bin/bundle/Primitive.js +6 -0
  31. package/bin/bundle/__internal/AesPkcs5.d.ts +2 -0
  32. package/bin/bundle/__internal/AesPkcs5.d.ts.map +1 -0
  33. package/bin/bundle/__internal/AesPkcs5.js +6 -0
  34. package/bin/bundle/__internal/Fetcher.d.ts +2 -0
  35. package/bin/bundle/__internal/Fetcher.d.ts.map +1 -0
  36. package/bin/bundle/__internal/Fetcher.js +6 -0
  37. package/bin/executable/internal/CompilerOptions.d.ts +13 -0
  38. package/bin/executable/internal/CompilerOptions.d.ts.map +1 -0
  39. package/bin/executable/internal/CompilerOptions.js +132 -0
  40. package/bin/executable/internal/NestiaConfig.d.ts +5 -0
  41. package/bin/executable/internal/NestiaConfig.d.ts.map +1 -0
  42. package/bin/executable/internal/NestiaConfig.js +196 -0
  43. package/bin/executable/internal/nestia.config.getter.d.ts +2 -0
  44. package/bin/executable/internal/nestia.config.getter.d.ts.map +1 -0
  45. package/bin/executable/internal/nestia.config.getter.js +60 -0
  46. package/bin/executable/nestia.d.ts +3 -0
  47. package/bin/executable/nestia.d.ts.map +1 -0
  48. package/bin/executable/nestia.js +136 -0
  49. package/bin/executable/sdk.d.ts +2 -0
  50. package/bin/executable/sdk.d.ts.map +1 -0
  51. package/bin/executable/sdk.js +206 -0
  52. package/bin/generates/FileGenerator.d.ts +6 -0
  53. package/bin/generates/FileGenerator.d.ts.map +1 -0
  54. package/bin/generates/FileGenerator.js +302 -0
  55. package/bin/generates/FunctionGenerator.d.ts +5 -0
  56. package/bin/generates/FunctionGenerator.d.ts.map +1 -0
  57. package/bin/generates/FunctionGenerator.js +207 -0
  58. package/bin/generates/SdkGenerator.d.ts +6 -0
  59. package/bin/generates/SdkGenerator.d.ts.map +1 -0
  60. package/bin/generates/SdkGenerator.js +147 -0
  61. package/bin/index.d.ts +3 -0
  62. package/bin/index.d.ts.map +1 -0
  63. package/bin/index.js +28 -0
  64. package/bin/module.d.ts +3 -0
  65. package/bin/module.d.ts.map +1 -0
  66. package/bin/module.js +19 -0
  67. package/{src/structures/IController.ts → bin/structures/IController.d.ts} +6 -13
  68. package/bin/structures/IController.d.ts.map +1 -0
  69. package/bin/structures/IController.js +3 -0
  70. package/{src/structures/IRoute.ts → bin/structures/IRoute.d.ts} +5 -11
  71. package/bin/structures/IRoute.d.ts.map +1 -0
  72. package/bin/structures/IRoute.js +3 -0
  73. package/bin/structures/MethodType.d.ts +5 -0
  74. package/bin/structures/MethodType.d.ts.map +1 -0
  75. package/bin/structures/MethodType.js +8 -0
  76. package/bin/structures/ParamCategory.d.ts +2 -0
  77. package/bin/structures/ParamCategory.d.ts.map +1 -0
  78. package/bin/structures/ParamCategory.js +3 -0
  79. package/bin/utils/ArrayUtil.d.ts +6 -0
  80. package/bin/utils/ArrayUtil.d.ts.map +1 -0
  81. package/bin/utils/ArrayUtil.js +144 -0
  82. package/bin/utils/DirectoryUtil.d.ts +6 -0
  83. package/bin/utils/DirectoryUtil.d.ts.map +1 -0
  84. package/bin/utils/DirectoryUtil.js +190 -0
  85. package/bin/utils/ImportDictionary.d.ts +7 -0
  86. package/bin/utils/ImportDictionary.d.ts.map +1 -0
  87. package/bin/utils/ImportDictionary.js +85 -0
  88. package/bin/utils/StringUtil.d.ts +4 -0
  89. package/bin/utils/StringUtil.d.ts.map +1 -0
  90. package/bin/utils/StringUtil.js +13 -0
  91. package/bin/utils/stripJsonComments.d.ts +4 -0
  92. package/bin/utils/stripJsonComments.d.ts.map +1 -0
  93. package/bin/utils/stripJsonComments.js +76 -0
  94. package/package.json +14 -10
  95. package/tsconfig.json +8 -7
  96. package/src/NestiaApplication.ts +0 -96
  97. package/src/analyses/ControllerAnalyzer.ts +0 -154
  98. package/src/analyses/GenericAnalyzer.ts +0 -52
  99. package/src/analyses/ImportAnalyzer.ts +0 -93
  100. package/src/analyses/ReflectAnalyzer.ts +0 -221
  101. package/src/analyses/SourceFinder.ts +0 -73
  102. package/src/bin/nestia.ts +0 -59
  103. package/src/bundle/HttpError.ts +0 -1
  104. package/src/bundle/IConnection.ts +0 -1
  105. package/src/bundle/Primitive.ts +0 -1
  106. package/src/bundle/__internal/AesPkcs5.ts +0 -1
  107. package/src/bundle/__internal/Fetcher.ts +0 -1
  108. package/src/executable/sdk.ts +0 -84
  109. package/src/generates/FileGenerator.ts +0 -150
  110. package/src/generates/FunctionGenerator.ts +0 -201
  111. package/src/generates/SdkGenerator.ts +0 -39
  112. package/src/internal/NestiaConfig.ts +0 -36
  113. package/src/internal/TsConfig.ts +0 -123
  114. package/src/internal/tsconfig.default.json +0 -81
  115. package/src/structures/MethodType.ts +0 -6
  116. package/src/structures/ParamCategory.ts +0 -1
  117. package/src/utils/ArrayUtil.ts +0 -26
  118. package/src/utils/DirectoryUtil.ts +0 -48
  119. package/src/utils/ImportDictionary.ts +0 -44
  120. package/src/utils/StringUtil.ts +0 -10
  121. package/src/utils/stripJsonComments.ts +0 -79
@@ -0,0 +1,82 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ImportAnalyzer = void 0;
27
+ var tsc = __importStar(require("typescript"));
28
+ var HashSet_1 = require("tstl/container/HashSet");
29
+ var ImportAnalyzer;
30
+ (function (ImportAnalyzer) {
31
+ function analyze(checker, genericDict, importDict, type) {
32
+ return explore(checker, genericDict, importDict, type);
33
+ }
34
+ ImportAnalyzer.analyze = analyze;
35
+ function explore(checker, genericDict, importDict, type) {
36
+ //----
37
+ // CONDITIONAL BRANCHES
38
+ //----
39
+ // DECOMPOSE GENERIC ARGUMENT
40
+ while (genericDict.has(type) === true)
41
+ type = genericDict.get(type);
42
+ // PRIMITIVE
43
+ var symbol = type.getSymbol() || type.aliasSymbol;
44
+ if (symbol === undefined)
45
+ return checker.typeToString(type, undefined, undefined);
46
+ // UNION OR INTERSECT
47
+ else if (type.aliasSymbol === undefined && type.isUnionOrIntersection()) {
48
+ var joiner = type.isIntersection() ? " & " : " | ";
49
+ return type.types.map(function (child) { return explore(checker, genericDict, importDict, child); }).join(joiner);
50
+ }
51
+ //----
52
+ // SPECIALIZATION
53
+ //----
54
+ var name = get_name(symbol);
55
+ var sourceFile = symbol.declarations[0].getSourceFile();
56
+ if (sourceFile.fileName.indexOf("typescript/lib") === -1) {
57
+ var it = importDict.find(sourceFile.fileName);
58
+ if (it.equals(importDict.end()) === true)
59
+ it = importDict.emplace(sourceFile.fileName, new HashSet_1.HashSet()).first;
60
+ it.second.insert(name.split(".")[0]);
61
+ }
62
+ // CHECK GENERIC
63
+ var generic = checker.getTypeArguments(type);
64
+ if (generic.length) {
65
+ return name === "Promise"
66
+ ? explore(checker, genericDict, importDict, generic[0])
67
+ : "".concat(name, "<").concat(generic.map(function (child) { return explore(checker, genericDict, importDict, child); }).join(", "), ">");
68
+ }
69
+ else
70
+ return name;
71
+ }
72
+ function get_name(symbol) {
73
+ var name = symbol.escapedName.toString();
74
+ var decl = symbol.getDeclarations()[0].parent;
75
+ while (tsc.isModuleBlock(decl)) {
76
+ name = "".concat(decl.parent.name.getText(), ".").concat(name);
77
+ decl = decl.parent.parent;
78
+ }
79
+ return name;
80
+ }
81
+ })(ImportAnalyzer = exports.ImportAnalyzer || (exports.ImportAnalyzer = {}));
82
+ //# sourceMappingURL=ImportAnalyzer.js.map
@@ -0,0 +1,5 @@
1
+ import { IController } from "../structures/IController";
2
+ export declare namespace ReflectAnalyzer {
3
+ function analyze(unique: WeakSet<any>, file: string): Promise<IController[]>;
4
+ }
5
+ //# sourceMappingURL=ReflectAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReflectAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxD,yBAAiB,eAAe,CAChC;IACI,SAAsB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAiBxF;CA2LJ"}
@@ -0,0 +1,307 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __values = (this && this.__values) || function(o) {
62
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
63
+ if (m) return m.call(o);
64
+ if (o && typeof o.length === "number") return {
65
+ next: function () {
66
+ if (o && i >= o.length) o = void 0;
67
+ return { value: o && o[i++], done: !o };
68
+ }
69
+ };
70
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
71
+ };
72
+ var __read = (this && this.__read) || function (o, n) {
73
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
74
+ if (!m) return o;
75
+ var i = m.call(o), r, ar = [], e;
76
+ try {
77
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
78
+ }
79
+ catch (error) { e = { error: error }; }
80
+ finally {
81
+ try {
82
+ if (r && !r.done && (m = i["return"])) m.call(i);
83
+ }
84
+ finally { if (e) throw e.error; }
85
+ }
86
+ return ar;
87
+ };
88
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
89
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
90
+ if (ar || !(i in from)) {
91
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
92
+ ar[i] = from[i];
93
+ }
94
+ }
95
+ return to.concat(ar || Array.prototype.slice.call(from));
96
+ };
97
+ Object.defineProperty(exports, "__esModule", { value: true });
98
+ exports.ReflectAnalyzer = void 0;
99
+ var NodePath = __importStar(require("path"));
100
+ var module_1 = require("tstl/ranges/module");
101
+ var ArrayUtil_1 = require("../utils/ArrayUtil");
102
+ var StringUtil_1 = require("../utils/StringUtil");
103
+ var ReflectAnalyzer;
104
+ (function (ReflectAnalyzer) {
105
+ function analyze(unique, file) {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var module, ret, _a, _b, tuple, controller;
108
+ var e_1, _c;
109
+ return __generator(this, function (_d) {
110
+ switch (_d.label) {
111
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require(file)); })];
112
+ case 1:
113
+ module = _d.sent();
114
+ ret = [];
115
+ try {
116
+ for (_a = __values(Object.entries(module)), _b = _a.next(); !_b.done; _b = _a.next()) {
117
+ tuple = _b.value;
118
+ if (unique.has(tuple[1]))
119
+ continue;
120
+ else
121
+ unique.add(tuple[1]);
122
+ controller = _Analyze_controller.apply(void 0, __spreadArray([file], __read(tuple), false));
123
+ if (controller !== null)
124
+ ret.push(controller);
125
+ }
126
+ }
127
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
128
+ finally {
129
+ try {
130
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
131
+ }
132
+ finally { if (e_1) throw e_1.error; }
133
+ }
134
+ return [2 /*return*/, ret];
135
+ }
136
+ });
137
+ });
138
+ }
139
+ ReflectAnalyzer.analyze = analyze;
140
+ /* ---------------------------------------------------------
141
+ CONTROLLER
142
+ --------------------------------------------------------- */
143
+ function _Analyze_controller(file, name, creator) {
144
+ var e_2, _a;
145
+ //----
146
+ // VALIDATIONS
147
+ //----
148
+ // MUST BE TYPE OF A CREATOR WHO HAS THE CONSTRUCTOR
149
+ if (!(creator instanceof Function && creator.constructor instanceof Function))
150
+ return null;
151
+ // MUST HAVE THOSE MATADATA
152
+ else if (ArrayUtil_1.ArrayUtil.has(Reflect.getMetadataKeys(creator), "path", "host", "scope:options") === false)
153
+ return null;
154
+ //----
155
+ // CONSTRUCTION
156
+ //----
157
+ // BASIC INFO
158
+ var meta = {
159
+ file: file,
160
+ name: name,
161
+ path: Reflect.getMetadata("path", creator),
162
+ functions: []
163
+ };
164
+ try {
165
+ // PARSE CHILDREN DATA
166
+ for (var _b = __values(_Get_prototype_entries(creator)), _c = _b.next(); !_c.done; _c = _b.next()) {
167
+ var tuple = _c.value;
168
+ var child = _Analyze_function.apply(void 0, __spreadArray([creator.prototype, meta], __read(tuple), false));
169
+ if (child !== null)
170
+ meta.functions.push(child);
171
+ }
172
+ }
173
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
174
+ finally {
175
+ try {
176
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
177
+ }
178
+ finally { if (e_2) throw e_2.error; }
179
+ }
180
+ // RETURNS
181
+ return meta;
182
+ }
183
+ function _Get_prototype_entries(creator) {
184
+ var tuple = Object.entries(creator.prototype);
185
+ var parent = Object.getPrototypeOf(creator);
186
+ if (parent.prototype !== undefined)
187
+ tuple.push.apply(tuple, __spreadArray([], __read(_Get_prototype_entries(parent)), false));
188
+ return tuple;
189
+ }
190
+ /* ---------------------------------------------------------
191
+ FUNCTION
192
+ --------------------------------------------------------- */
193
+ function _Analyze_function(classProto, controller, name, proto) {
194
+ var e_3, _a;
195
+ var _b, _c;
196
+ //----
197
+ // VALIDATIONS
198
+ //----
199
+ // MUST BE TYPE OF A FUNCTION
200
+ if (!(proto instanceof Function))
201
+ return null;
202
+ // MUST HAVE THOSE METADATE
203
+ else if (ArrayUtil_1.ArrayUtil.has(Reflect.getMetadataKeys(proto), "path", "method") === false)
204
+ return null;
205
+ //----
206
+ // CONSTRUCTION
207
+ //----
208
+ // BASIC INFO
209
+ var meta = {
210
+ name: name,
211
+ method: METHODS[Reflect.getMetadata("method", proto)],
212
+ path: Reflect.getMetadata("path", proto),
213
+ parameters: [],
214
+ encrypted: Reflect.hasMetadata("__interceptors__", proto)
215
+ && ((_c = (_b = Reflect.getMetadata("__interceptors__", proto)[0]) === null || _b === void 0 ? void 0 : _b.constructor) === null || _c === void 0 ? void 0 : _c.name) === "EncryptedRouteInterceptor"
216
+ };
217
+ // PARSE CHILDREN DATA
218
+ var nestParameters = Reflect.getMetadata("__routeArguments__", classProto.constructor, name);
219
+ if (nestParameters === undefined)
220
+ meta.parameters = [];
221
+ else {
222
+ try {
223
+ for (var _d = __values(Object.entries(nestParameters)), _e = _d.next(); !_e.done; _e = _d.next()) {
224
+ var tuple = _e.value;
225
+ var child = _Analyze_parameter.apply(void 0, __spreadArray([], __read(tuple), false));
226
+ if (child !== null)
227
+ meta.parameters.push(child);
228
+ }
229
+ }
230
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
231
+ finally {
232
+ try {
233
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
234
+ }
235
+ finally { if (e_3) throw e_3.error; }
236
+ }
237
+ meta.parameters = meta.parameters.sort(function (x, y) { return x.index - y.index; });
238
+ }
239
+ // VALIDATE PATH ARGUMENTS
240
+ var funcPathArguments = StringUtil_1.StringUtil.betweens(NodePath.join(controller.path, meta.path).split("\\").join("/"), ":", "/").sort();
241
+ var paramPathArguments = meta.parameters.filter(function (param) { return param.category === "param"; }).map(function (param) { return param.field; }).sort();
242
+ if ((0, module_1.equal)(funcPathArguments, paramPathArguments) === false)
243
+ throw new Error("Error on ".concat(controller.name, ".").concat(name, "(): binded arguments in the \"path\" between function's decorator and parameters' decorators are different (function: [").concat(funcPathArguments.join(", "), "], parameters: [").concat(paramPathArguments.join(", "), "])"));
244
+ // RETURNS
245
+ return meta;
246
+ }
247
+ var METHODS = ["GET", "POST", "PUT", "DELETE", "PATCH"];
248
+ /* ---------------------------------------------------------
249
+ PARAMETER
250
+ --------------------------------------------------------- */
251
+ function _Analyze_parameter(key, param) {
252
+ var symbol = key.split(":")[0];
253
+ if (symbol.indexOf("__custom") !== -1)
254
+ return _Analyze_custom_parameter(param);
255
+ var typeIndex = Number(symbol[0]);
256
+ if (isNaN(typeIndex) === true)
257
+ return null;
258
+ var type = NEST_PARAMETER_TYPES[typeIndex];
259
+ if (type === undefined)
260
+ return null;
261
+ return {
262
+ name: key,
263
+ category: type,
264
+ index: param.index,
265
+ field: param.data,
266
+ encrypted: false
267
+ };
268
+ }
269
+ function _Analyze_custom_parameter(param) {
270
+ if (param.factory === undefined)
271
+ return null;
272
+ else if (param.factory.name === "EncryptedBody" || param.factory.name === "PlainBody") {
273
+ return {
274
+ category: "body",
275
+ index: param.index,
276
+ name: param.name,
277
+ field: param.data,
278
+ encrypted: param.factory.name === "EncryptedBody"
279
+ };
280
+ }
281
+ else if (param.factory.name === "TypedParam")
282
+ return {
283
+ name: param.name,
284
+ category: "param",
285
+ index: param.index,
286
+ field: param.data,
287
+ encrypted: false
288
+ };
289
+ else
290
+ return null;
291
+ }
292
+ var NEST_PARAMETER_TYPES = [
293
+ undefined,
294
+ undefined,
295
+ undefined,
296
+ "body",
297
+ "query",
298
+ "param",
299
+ undefined,
300
+ undefined,
301
+ undefined,
302
+ undefined,
303
+ undefined,
304
+ undefined
305
+ ];
306
+ })(ReflectAnalyzer = exports.ReflectAnalyzer || (exports.ReflectAnalyzer = {}));
307
+ //# sourceMappingURL=ReflectAnalyzer.js.map
@@ -0,0 +1,5 @@
1
+ import { IConfiguration } from "../IConfiguration";
2
+ export declare namespace SourceFinder {
3
+ function find(input: IConfiguration.IInput): Promise<string[]>;
4
+ }
5
+ //# sourceMappingURL=SourceFinder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceFinder.d.ts","sourceRoot":"","sources":["../../src/analyses/SourceFinder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,yBAAiB,YAAY,CAC7B;IACI,SAAsB,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ1E;CAwDJ"}
@@ -0,0 +1,260 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __read = (this && this.__read) || function (o, n) {
62
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
63
+ if (!m) return o;
64
+ var i = m.call(o), r, ar = [], e;
65
+ try {
66
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
67
+ }
68
+ catch (error) { e = { error: error }; }
69
+ finally {
70
+ try {
71
+ if (r && !r.done && (m = i["return"])) m.call(i);
72
+ }
73
+ finally { if (e) throw e.error; }
74
+ }
75
+ return ar;
76
+ };
77
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
78
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
79
+ if (ar || !(i in from)) {
80
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
81
+ ar[i] = from[i];
82
+ }
83
+ }
84
+ return to.concat(ar || Array.prototype.slice.call(from));
85
+ };
86
+ var __values = (this && this.__values) || function(o) {
87
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
88
+ if (m) return m.call(o);
89
+ if (o && typeof o.length === "number") return {
90
+ next: function () {
91
+ if (o && i >= o.length) o = void 0;
92
+ return { value: o && o[i++], done: !o };
93
+ }
94
+ };
95
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
96
+ };
97
+ var __importDefault = (this && this.__importDefault) || function (mod) {
98
+ return (mod && mod.__esModule) ? mod : { "default": mod };
99
+ };
100
+ Object.defineProperty(exports, "__esModule", { value: true });
101
+ exports.SourceFinder = void 0;
102
+ var fs = __importStar(require("fs"));
103
+ var glob_1 = __importDefault(require("glob"));
104
+ var path = __importStar(require("path"));
105
+ var SourceFinder;
106
+ (function (SourceFinder) {
107
+ function find(input) {
108
+ return __awaiter(this, void 0, void 0, function () {
109
+ var dict;
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0:
113
+ dict = new Set();
114
+ return [4 /*yield*/, decode(input.include, function (str) { return dict.add(str); })];
115
+ case 1:
116
+ _a.sent();
117
+ if (!input.exclude) return [3 /*break*/, 3];
118
+ return [4 /*yield*/, decode(input.exclude, function (str) { return dict.delete(str); })];
119
+ case 2:
120
+ _a.sent();
121
+ _a.label = 3;
122
+ case 3: return [2 /*return*/, __spreadArray([], __read(dict), false)];
123
+ }
124
+ });
125
+ });
126
+ }
127
+ SourceFinder.find = find;
128
+ function decode(input, closure) {
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ var input_1, input_1_1, pattern, _a, _b, location_1, stats, e_1_1, e_2_1;
131
+ var e_2, _c, e_1, _d;
132
+ return __generator(this, function (_e) {
133
+ switch (_e.label) {
134
+ case 0:
135
+ _e.trys.push([0, 14, 15, 16]);
136
+ input_1 = __values(input), input_1_1 = input_1.next();
137
+ _e.label = 1;
138
+ case 1:
139
+ if (!!input_1_1.done) return [3 /*break*/, 13];
140
+ pattern = input_1_1.value;
141
+ _e.label = 2;
142
+ case 2:
143
+ _e.trys.push([2, 10, 11, 12]);
144
+ e_1 = void 0;
145
+ return [4 /*yield*/, _Glob(path.resolve(pattern))];
146
+ case 3:
147
+ _a = (__values.apply(void 0, [_e.sent()])), _b = _a.next();
148
+ _e.label = 4;
149
+ case 4:
150
+ if (!!_b.done) return [3 /*break*/, 9];
151
+ location_1 = _b.value;
152
+ return [4 /*yield*/, fs.promises.stat(location_1)];
153
+ case 5:
154
+ stats = _e.sent();
155
+ if (!(stats.isDirectory() === true)) return [3 /*break*/, 7];
156
+ return [4 /*yield*/, iterate(closure, location_1)];
157
+ case 6:
158
+ _e.sent();
159
+ return [3 /*break*/, 8];
160
+ case 7:
161
+ if (stats.isFile() && _Is_ts_file(location_1))
162
+ closure(location_1);
163
+ _e.label = 8;
164
+ case 8:
165
+ _b = _a.next();
166
+ return [3 /*break*/, 4];
167
+ case 9: return [3 /*break*/, 12];
168
+ case 10:
169
+ e_1_1 = _e.sent();
170
+ e_1 = { error: e_1_1 };
171
+ return [3 /*break*/, 12];
172
+ case 11:
173
+ try {
174
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
175
+ }
176
+ finally { if (e_1) throw e_1.error; }
177
+ return [7 /*endfinally*/];
178
+ case 12:
179
+ input_1_1 = input_1.next();
180
+ return [3 /*break*/, 1];
181
+ case 13: return [3 /*break*/, 16];
182
+ case 14:
183
+ e_2_1 = _e.sent();
184
+ e_2 = { error: e_2_1 };
185
+ return [3 /*break*/, 16];
186
+ case 15:
187
+ try {
188
+ if (input_1_1 && !input_1_1.done && (_c = input_1.return)) _c.call(input_1);
189
+ }
190
+ finally { if (e_2) throw e_2.error; }
191
+ return [7 /*endfinally*/];
192
+ case 16: return [2 /*return*/];
193
+ }
194
+ });
195
+ });
196
+ }
197
+ function iterate(closure, location) {
198
+ return __awaiter(this, void 0, void 0, function () {
199
+ var directory, directory_1, directory_1_1, file, next, stats, e_3_1;
200
+ var e_3, _a;
201
+ return __generator(this, function (_b) {
202
+ switch (_b.label) {
203
+ case 0: return [4 /*yield*/, fs.promises.readdir(location)];
204
+ case 1:
205
+ directory = _b.sent();
206
+ _b.label = 2;
207
+ case 2:
208
+ _b.trys.push([2, 9, 10, 11]);
209
+ directory_1 = __values(directory), directory_1_1 = directory_1.next();
210
+ _b.label = 3;
211
+ case 3:
212
+ if (!!directory_1_1.done) return [3 /*break*/, 8];
213
+ file = directory_1_1.value;
214
+ next = path.resolve("".concat(location, "/").concat(file));
215
+ return [4 /*yield*/, fs.promises.stat(next)];
216
+ case 4:
217
+ stats = _b.sent();
218
+ if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
219
+ return [4 /*yield*/, iterate(closure, next)];
220
+ case 5:
221
+ _b.sent();
222
+ return [3 /*break*/, 7];
223
+ case 6:
224
+ if (stats.isFile() && _Is_ts_file(file))
225
+ closure(next);
226
+ _b.label = 7;
227
+ case 7:
228
+ directory_1_1 = directory_1.next();
229
+ return [3 /*break*/, 3];
230
+ case 8: return [3 /*break*/, 11];
231
+ case 9:
232
+ e_3_1 = _b.sent();
233
+ e_3 = { error: e_3_1 };
234
+ return [3 /*break*/, 11];
235
+ case 10:
236
+ try {
237
+ if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
238
+ }
239
+ finally { if (e_3) throw e_3.error; }
240
+ return [7 /*endfinally*/];
241
+ case 11: return [2 /*return*/];
242
+ }
243
+ });
244
+ });
245
+ }
246
+ function _Glob(pattern) {
247
+ return new Promise(function (resolve, reject) {
248
+ (0, glob_1.default)(pattern, function (err, matches) {
249
+ if (err)
250
+ reject(err);
251
+ else
252
+ resolve(matches.map(function (str) { return path.resolve(str); }));
253
+ });
254
+ });
255
+ }
256
+ function _Is_ts_file(file) {
257
+ return file.substr(-3) === ".ts" && file.substr(-5) !== ".d.ts";
258
+ }
259
+ })(SourceFinder = exports.SourceFinder || (exports.SourceFinder = {}));
260
+ //# sourceMappingURL=SourceFinder.js.map
@@ -0,0 +1,2 @@
1
+ export { HttpError } from "nestia-fetcher";
2
+ //# sourceMappingURL=HttpError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpError.d.ts","sourceRoot":"","sources":["../../src/bundle/HttpError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}