@nestia/core 0.1.4 → 0.1.5

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 (49) hide show
  1. package/lib/decorators/DynamicModule.d.ts +3 -0
  2. package/lib/decorators/DynamicModule.js +73 -0
  3. package/lib/decorators/DynamicModule.js.map +1 -0
  4. package/lib/decorators/EncryptedModule.js +16 -137
  5. package/lib/decorators/EncryptedModule.js.map +1 -1
  6. package/lib/decorators/internal/headers_to_object.d.ts +3 -1
  7. package/lib/decorators/internal/headers_to_object.js +0 -3
  8. package/lib/decorators/internal/headers_to_object.js.map +1 -1
  9. package/lib/decorators/internal/load_controller.d.ts +2 -0
  10. package/lib/decorators/internal/load_controller.js +153 -0
  11. package/lib/decorators/internal/load_controller.js.map +1 -0
  12. package/lib/decorators/internal/route_error.d.ts +3 -1
  13. package/lib/decorators/internal/route_error.js +0 -3
  14. package/lib/decorators/internal/route_error.js.map +1 -1
  15. package/lib/module.d.ts +2 -0
  16. package/lib/module.js +2 -0
  17. package/lib/module.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/decorators/DynamicModule.ts +16 -0
  20. package/src/decorators/EncryptedBody.ts +102 -102
  21. package/src/decorators/EncryptedController.ts +43 -43
  22. package/src/decorators/EncryptedModule.ts +77 -127
  23. package/src/decorators/EncryptedRoute.ts +203 -203
  24. package/src/decorators/PlainBody.ts +38 -38
  25. package/src/decorators/TypedBody.ts +49 -49
  26. package/src/decorators/TypedParam.ts +70 -70
  27. package/src/decorators/TypedRoute.ts +149 -149
  28. package/src/decorators/internal/EncryptedConstant.ts +4 -4
  29. package/src/decorators/internal/get_path_and_stringify.ts +77 -77
  30. package/src/decorators/internal/headers_to_object.ts +10 -13
  31. package/src/decorators/internal/load_controller.ts +35 -0
  32. package/src/decorators/internal/route_error.ts +38 -41
  33. package/src/decorators/internal/validate_request_body.ts +59 -59
  34. package/src/index.ts +5 -5
  35. package/src/module.ts +11 -9
  36. package/src/options/INestiaTransformOptions.ts +6 -6
  37. package/src/options/INestiaTransformProject.ts +7 -6
  38. package/src/options/IRequestBodyValidator.ts +20 -20
  39. package/src/options/IResponseBodyStringifier.ts +25 -25
  40. package/src/transform.ts +20 -20
  41. package/src/transformers/BodyTransformer.ts +106 -106
  42. package/src/transformers/FileTransformer.ts +49 -49
  43. package/src/transformers/MethodTransformer.ts +91 -91
  44. package/src/transformers/NodeTransformer.ts +18 -18
  45. package/src/transformers/ParameterTransformer.ts +45 -45
  46. package/src/transformers/RouteTransformer.ts +131 -131
  47. package/src/typings/Creator.ts +3 -3
  48. package/src/utils/ExceptionManager.ts +126 -126
  49. package/src/utils/Singleton.ts +20 -20
@@ -0,0 +1,3 @@
1
+ export declare namespace DynamicModule {
2
+ function mount(path: string): Promise<object>;
3
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ var __generator = (this && this.__generator) || function (thisArg, body) {
18
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
19
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
20
+ function verb(n) { return function (v) { return step([n, v]); }; }
21
+ function step(op) {
22
+ if (f) throw new TypeError("Generator is already executing.");
23
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
24
+ 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;
25
+ if (y = 0, t) op = [op[0] & 2, t.value];
26
+ switch (op[0]) {
27
+ case 0: case 1: t = op; break;
28
+ case 4: _.label++; return { value: op[1], done: false };
29
+ case 5: _.label++; y = op[1]; op = [0]; continue;
30
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
31
+ default:
32
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
33
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
34
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
35
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
36
+ if (t[2]) _.ops.pop();
37
+ _.trys.pop(); continue;
38
+ }
39
+ op = body.call(thisArg, _);
40
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
41
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
42
+ }
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.DynamicModule = void 0;
46
+ var common_1 = require("@nestjs/common");
47
+ var load_controller_1 = require("./internal/load_controller");
48
+ var DynamicModule;
49
+ (function (DynamicModule) {
50
+ function mount(path) {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var controllers, NestiaModule;
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0: return [4 /*yield*/, (0, load_controller_1.load_controllers)(path)];
56
+ case 1:
57
+ controllers = _a.sent();
58
+ NestiaModule = /** @class */ (function () {
59
+ function NestiaModule() {
60
+ }
61
+ NestiaModule = __decorate([
62
+ (0, common_1.Module)({ controllers: controllers })
63
+ ], NestiaModule);
64
+ return NestiaModule;
65
+ }());
66
+ return [2 /*return*/, NestiaModule];
67
+ }
68
+ });
69
+ });
70
+ }
71
+ DynamicModule.mount = mount;
72
+ })(DynamicModule = exports.DynamicModule || (exports.DynamicModule = {}));
73
+ //# sourceMappingURL=DynamicModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicModule.js","sourceRoot":"","sources":["../../src/decorators/DynamicModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAwC;AAGxC,8DAA8D;AAE9D,IAAiB,aAAa,CAU7B;AAVD,WAAiB,aAAa;IAC1B,SAAsB,KAAK,CAAC,IAAY;;;;;4BAEG,qBAAM,IAAA,kCAAgB,EAAC,IAAI,CAAC,EAAA;;wBAA7D,WAAW,GAAsB,SAA4B;;4BAInE;4BAAoB,CAAC;4BAAf,YAAY;gCADjB,IAAA,eAAM,EAAC,EAAE,WAAW,aAAA,EAAE,CAAC;+BAClB,YAAY,CAAG;4BAAD,mBAAC;yBAAA,AAArB;wBACA,sBAAO,YAAY,EAAC;;;;KACvB;IARqB,mBAAK,QAQ1B,CAAA;AACL,CAAC,EAVgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAU7B"}
@@ -1,33 +1,10 @@
1
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
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
7
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
8
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
9
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
10
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -75,15 +52,11 @@ var __values = (this && this.__values) || function(o) {
75
52
  };
76
53
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
77
54
  };
78
- var __importDefault = (this && this.__importDefault) || function (mod) {
79
- return (mod && mod.__esModule) ? mod : { "default": mod };
80
- };
81
55
  Object.defineProperty(exports, "__esModule", { value: true });
82
56
  exports.EncryptedModule = void 0;
83
57
  var common_1 = require("@nestjs/common");
84
- var detect_ts_node_1 = __importDefault(require("detect-ts-node"));
85
- var fs_1 = __importDefault(require("fs"));
86
58
  var EncryptedConstant_1 = require("./internal/EncryptedConstant");
59
+ var load_controller_1 = require("./internal/load_controller");
87
60
  /**
88
61
  * Encrypted module.
89
62
  *
@@ -122,10 +95,9 @@ function EncryptedModule(metadata, password) {
122
95
  return;
123
96
  try {
124
97
  for (var _b = __values(metadata.controllers), _c = _b.next(); !_c.done; _c = _b.next()) {
125
- var controller = _c.value;
126
- if (Reflect.hasMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, controller) ===
127
- false)
128
- Reflect.defineMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, password, controller);
98
+ var c = _c.value;
99
+ if (Reflect.hasMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, c) === false)
100
+ Reflect.defineMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, password, c);
129
101
  }
130
102
  }
131
103
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -153,118 +125,25 @@ exports.EncryptedModule = EncryptedModule;
153
125
  */
154
126
  function dynamic(path, password) {
155
127
  return __awaiter(this, void 0, void 0, function () {
156
- var metadata, Module;
157
- var _a;
158
- return __generator(this, function (_b) {
159
- switch (_b.label) {
160
- case 0:
161
- _a = {};
162
- return [4 /*yield*/, controllers(path, password)];
128
+ var controllers, NestiaModule;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0: return [4 /*yield*/, (0, load_controller_1.load_controllers)(path)];
163
132
  case 1:
164
- metadata = (_a.controllers = _b.sent(),
165
- _a);
166
- Module = /** @class */ (function () {
167
- function Module() {
133
+ controllers = _a.sent();
134
+ NestiaModule = /** @class */ (function () {
135
+ function NestiaModule() {
168
136
  }
169
- Module = __decorate([
170
- EncryptedModule(metadata, password)
171
- ], Module);
172
- return Module;
137
+ NestiaModule = __decorate([
138
+ EncryptedModule({ controllers: controllers }, password)
139
+ ], NestiaModule);
140
+ return NestiaModule;
173
141
  }());
174
- return [2 /*return*/, Module];
142
+ return [2 /*return*/, NestiaModule];
175
143
  }
176
144
  });
177
145
  });
178
146
  }
179
147
  EncryptedModule.dynamic = dynamic;
180
- function controllers(path, password) {
181
- return __awaiter(this, void 0, void 0, function () {
182
- var output, output_1, output_1_1, controller;
183
- var e_2, _a;
184
- return __generator(this, function (_b) {
185
- switch (_b.label) {
186
- case 0:
187
- output = [];
188
- return [4 /*yield*/, iterate(output, path)];
189
- case 1:
190
- _b.sent();
191
- try {
192
- for (output_1 = __values(output), output_1_1 = output_1.next(); !output_1_1.done; output_1_1 = output_1.next()) {
193
- controller = output_1_1.value;
194
- if (Reflect.hasMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, controller) ===
195
- false)
196
- Reflect.defineMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, password, controller);
197
- }
198
- }
199
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
200
- finally {
201
- try {
202
- if (output_1_1 && !output_1_1.done && (_a = output_1.return)) _a.call(output_1);
203
- }
204
- finally { if (e_2) throw e_2.error; }
205
- }
206
- return [2 /*return*/, output];
207
- }
208
- });
209
- });
210
- }
211
- function iterate(controllers, path) {
212
- return __awaiter(this, void 0, void 0, function () {
213
- var directory, directory_1, directory_1_1, file, current, stats, external_1, key, instance, e_3_1;
214
- var e_3, _a;
215
- return __generator(this, function (_b) {
216
- var _c;
217
- switch (_b.label) {
218
- case 0: return [4 /*yield*/, fs_1.default.promises.readdir(path)];
219
- case 1:
220
- directory = _b.sent();
221
- _b.label = 2;
222
- case 2:
223
- _b.trys.push([2, 10, 11, 12]);
224
- directory_1 = __values(directory), directory_1_1 = directory_1.next();
225
- _b.label = 3;
226
- case 3:
227
- if (!!directory_1_1.done) return [3 /*break*/, 9];
228
- file = directory_1_1.value;
229
- current = "".concat(path, "/").concat(file);
230
- return [4 /*yield*/, fs_1.default.promises.lstat(current)];
231
- case 4:
232
- stats = _b.sent();
233
- if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
234
- return [4 /*yield*/, iterate(controllers, current)];
235
- case 5:
236
- _b.sent();
237
- return [3 /*break*/, 8];
238
- case 6:
239
- if (!(file.substring(file.length - 3) === ".".concat(EXTENSION))) return [3 /*break*/, 8];
240
- return [4 /*yield*/, (_c = current, Promise.resolve().then(function () { return __importStar(require(_c)); }))];
241
- case 7:
242
- external_1 = _b.sent();
243
- for (key in external_1) {
244
- instance = external_1[key];
245
- if (Reflect.getMetadata("path", instance) !== undefined)
246
- controllers.push(instance);
247
- }
248
- _b.label = 8;
249
- case 8:
250
- directory_1_1 = directory_1.next();
251
- return [3 /*break*/, 3];
252
- case 9: return [3 /*break*/, 12];
253
- case 10:
254
- e_3_1 = _b.sent();
255
- e_3 = { error: e_3_1 };
256
- return [3 /*break*/, 12];
257
- case 11:
258
- try {
259
- if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
260
- }
261
- finally { if (e_3) throw e_3.error; }
262
- return [7 /*endfinally*/];
263
- case 12: return [2 /*return*/];
264
- }
265
- });
266
- });
267
- }
268
148
  })(EncryptedModule = exports.EncryptedModule || (exports.EncryptedModule = {}));
269
- var EXTENSION = detect_ts_node_1.default ? "ts" : "js";
270
149
  //# sourceMappingURL=EncryptedModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedModule.js","sourceRoot":"","sources":["../../src/decorators/EncryptedModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EncryptedModule.js","sourceRoot":"","sources":["../../src/decorators/EncryptedModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAwD;AAGxD,kEAAuE;AACvE,8DAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,eAAe,CAC3B,QAAwB,EACxB,QAA2D;IAE3D,OAAO,UAAU,MAAW;;QACxB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO;;YAE/C,KAAgB,IAAA,KAAA,SAAA,QAAQ,CAAC,WAAW,CAAA,gBAAA;gBAA/B,IAAM,CAAC,WAAA;gBACR,IAAI,OAAO,CAAC,WAAW,CAAC,2CAAuB,EAAE,CAAC,CAAC,KAAK,KAAK;oBACzD,OAAO,CAAC,cAAc,CAAC,2CAAuB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aAAA;;;;;;;;;IACzE,CAAC,CAAC;AACN,CAAC;AAZD,0CAYC;AAED,WAAiB,eAAe;IAC5B;;;;;;;;;;;OAWG;IACH,SAAsB,OAAO,CACzB,IAAY,EACZ,QAA2D;;;;;4BAGpB,qBAAM,IAAA,kCAAgB,EAAC,IAAI,CAAC,EAAA;;wBAA7D,WAAW,GAAsB,SAA4B;;4BAInE;4BAAoB,CAAC;4BAAf,YAAY;gCADjB,eAAe,CAAC,EAAE,WAAW,aAAA,EAAE,EAAE,QAAQ,CAAC;+BACrC,YAAY,CAAG;4BAAD,mBAAC;yBAAA,AAArB;wBACA,sBAAO,YAAY,EAAC;;;;KACvB;IAXqB,uBAAO,UAW5B,CAAA;AACL,CAAC,EAzBgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAyB/B"}
@@ -1 +1,3 @@
1
- export {};
1
+ /// <reference types="node" />
2
+ import http from "http";
3
+ export declare function headers_to_object(headers: http.IncomingHttpHeaders): Record<string, string>;
@@ -28,9 +28,6 @@ var __read = (this && this.__read) || function (o, n) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.headers_to_object = void 0;
31
- /**
32
- * @internal
33
- */
34
31
  function headers_to_object(headers) {
35
32
  var e_1, _a;
36
33
  var output = {};
@@ -1 +1 @@
1
- {"version":3,"file":"headers_to_object.js","sourceRoot":"","sources":["../../../src/decorators/internal/headers_to_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;GAEG;AACH,SAAgB,iBAAiB,CAC7B,OAAiC;;IAEjC,IAAM,MAAM,GAA2B,EAAE,CAAC;;QAC1C,KAA2B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,gBAAA;YAAvC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;SAAA;;;;;;;;;IAClE,OAAO,MAAM,CAAC;AAClB,CAAC;AAPD,8CAOC"}
1
+ {"version":3,"file":"headers_to_object.js","sourceRoot":"","sources":["../../../src/decorators/internal/headers_to_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAgB,iBAAiB,CAC7B,OAAiC;;IAEjC,IAAM,MAAM,GAA2B,EAAE,CAAC;;QAC1C,KAA2B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,gBAAA;YAAvC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;SAAA;;;;;;;;;IAClE,OAAO,MAAM,CAAC;AAClB,CAAC;AAPD,8CAOC"}
@@ -0,0 +1,2 @@
1
+ import { Creator } from "../../typings/Creator";
2
+ export declare function load_controllers(path: string): Promise<Creator<object>[]>;
@@ -0,0 +1,153 @@
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 (g && (g = 0, op[0] && (_ = 0)), _) 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 __importDefault = (this && this.__importDefault) || function (mod) {
73
+ return (mod && mod.__esModule) ? mod : { "default": mod };
74
+ };
75
+ Object.defineProperty(exports, "__esModule", { value: true });
76
+ exports.load_controllers = void 0;
77
+ var detect_ts_node_1 = __importDefault(require("detect-ts-node"));
78
+ var fs_1 = __importDefault(require("fs"));
79
+ function load_controllers(path) {
80
+ return __awaiter(this, void 0, void 0, function () {
81
+ var output;
82
+ return __generator(this, function (_a) {
83
+ switch (_a.label) {
84
+ case 0:
85
+ output = [];
86
+ return [4 /*yield*/, iterate(output, path)];
87
+ case 1:
88
+ _a.sent();
89
+ return [2 /*return*/, output];
90
+ }
91
+ });
92
+ });
93
+ }
94
+ exports.load_controllers = load_controllers;
95
+ function iterate(controllers, path) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var directory, directory_1, directory_1_1, file, current, stats, external_1, key, instance, e_1_1;
98
+ var e_1, _a;
99
+ return __generator(this, function (_b) {
100
+ var _c;
101
+ switch (_b.label) {
102
+ case 0: return [4 /*yield*/, fs_1.default.promises.readdir(path)];
103
+ case 1:
104
+ directory = _b.sent();
105
+ _b.label = 2;
106
+ case 2:
107
+ _b.trys.push([2, 10, 11, 12]);
108
+ directory_1 = __values(directory), directory_1_1 = directory_1.next();
109
+ _b.label = 3;
110
+ case 3:
111
+ if (!!directory_1_1.done) return [3 /*break*/, 9];
112
+ file = directory_1_1.value;
113
+ current = "".concat(path, "/").concat(file);
114
+ return [4 /*yield*/, fs_1.default.promises.lstat(current)];
115
+ case 4:
116
+ stats = _b.sent();
117
+ if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
118
+ return [4 /*yield*/, iterate(controllers, current)];
119
+ case 5:
120
+ _b.sent();
121
+ return [3 /*break*/, 8];
122
+ case 6:
123
+ if (!(file.substring(file.length - 3) === ".".concat(EXTENSION))) return [3 /*break*/, 8];
124
+ return [4 /*yield*/, (_c = current, Promise.resolve().then(function () { return __importStar(require(_c)); }))];
125
+ case 7:
126
+ external_1 = _b.sent();
127
+ for (key in external_1) {
128
+ instance = external_1[key];
129
+ if (Reflect.getMetadata("path", instance) !== undefined)
130
+ controllers.push(instance);
131
+ }
132
+ _b.label = 8;
133
+ case 8:
134
+ directory_1_1 = directory_1.next();
135
+ return [3 /*break*/, 3];
136
+ case 9: return [3 /*break*/, 12];
137
+ case 10:
138
+ e_1_1 = _b.sent();
139
+ e_1 = { error: e_1_1 };
140
+ return [3 /*break*/, 12];
141
+ case 11:
142
+ try {
143
+ if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
144
+ }
145
+ finally { if (e_1) throw e_1.error; }
146
+ return [7 /*endfinally*/];
147
+ case 12: return [2 /*return*/];
148
+ }
149
+ });
150
+ });
151
+ }
152
+ var EXTENSION = detect_ts_node_1.default ? "ts" : "js";
153
+ //# sourceMappingURL=load_controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load_controller.js","sourceRoot":"","sources":["../../../src/decorators/internal/load_controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAwC;AACxC,0CAAoB;AAIpB,SAAsB,gBAAgB,CAClC,IAAY;;;;;;oBAEN,MAAM,GAAU,EAAE,CAAC;oBACzB,qBAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAA;;oBAA3B,SAA2B,CAAC;oBAC5B,sBAAO,MAAM,EAAC;;;;CACjB;AAND,4CAMC;AAED,SAAe,OAAO,CAClB,WAA8B,EAC9B,IAAY;;;;;;;wBAEgB,qBAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA;;oBAArD,SAAS,GAAa,SAA+B;;;;oBACxC,cAAA,SAAA,SAAS,CAAA;;;;oBAAjB,IAAI;oBACL,OAAO,GAAW,UAAG,IAAI,cAAI,IAAI,CAAE,CAAC;oBAClB,qBAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAA;;oBAAlD,KAAK,GAAa,SAAgC;yBAEpD,CAAA,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAA,EAA5B,wBAA4B;oBAAE,qBAAM,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAA;;oBAAnC,SAAmC,CAAC;;;yBAC7D,CAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,WAAI,SAAS,CAAE,CAAA,EAAnD,wBAAmD;oBAClC,2BAAa,OAAO,8EAAC;;oBAArC,aAAgB,SAAqB;oBAC3C,KAAW,GAAG,IAAI,UAAQ,EAAE;wBAClB,QAAQ,GAAoB,UAAQ,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,SAAS;4BACnD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAClC;;;;;;;;;;;;;;;;;;;;CAGZ;AAED,IAAM,SAAS,GAAG,wBAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC"}
@@ -1 +1,3 @@
1
- export {};
1
+ import express from "express";
2
+ import { Observable } from "rxjs";
3
+ export declare function route_error(request: express.Request, error: any): Observable<never>;
@@ -31,9 +31,6 @@ exports.route_error = void 0;
31
31
  var common_1 = require("@nestjs/common");
32
32
  var rxjs_1 = require("rxjs");
33
33
  var ExceptionManager_1 = require("../../utils/ExceptionManager");
34
- /**
35
- * @internal
36
- */
37
34
  function route_error(request, error) {
38
35
  error = (function () {
39
36
  var e_1, _a;
@@ -1 +1 @@
1
- {"version":3,"file":"route_error.js","sourceRoot":"","sources":["../../../src/decorators/internal/route_error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA+C;AAE/C,6BAA8C;AAE9C,iEAAgE;AAEhE;;GAEG;AACH,SAAgB,WAAW,CACvB,OAAwB,EACxB,KAAU;IAEV,KAAK,GAAG,CAAC;;QACL,aAAa;QACb,IAAI,KAAK,YAAY,sBAAa;YAAE,OAAO,KAAK,CAAC;;YAEjD,0BAA0B;YAC1B,KAAiC,IAAA,KAAA,SAAA,mCAAgB,CAAC,MAAM,CAAA,gBAAA;gBAA7C,IAAA,KAAA,mBAAkB,EAAjB,OAAO,QAAA,EAAE,OAAO,QAAA;gBACxB,IAAI,KAAK,YAAY,OAAO;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;aAAA;;;;;;;;;QAExD,uBAAuB;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI;QACA,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;KAC7B;IAAC,WAAM,GAAE;IAEV,UAAU,CAAC;;;YACP,KAAuB,IAAA,KAAA,SAAA,mCAAgB,CAAC,SAAS,CAAA,gBAAA,4BAAE;gBAA9C,IAAM,QAAQ,WAAA;gBACf,IAAI;oBACA,IAAM,GAAG,GAAuB,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;wBAC1D,GAAG,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;iBAC3B;gBAAC,WAAM,GAAE;aACb;;;;;;;;;IACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAO,IAAA,iBAAU,EAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;AACnC,CAAC;AA/BD,kCA+BC"}
1
+ {"version":3,"file":"route_error.js","sourceRoot":"","sources":["../../../src/decorators/internal/route_error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA+C;AAE/C,6BAA8C;AAE9C,iEAAgE;AAEhE,SAAgB,WAAW,CACvB,OAAwB,EACxB,KAAU;IAEV,KAAK,GAAG,CAAC;;QACL,aAAa;QACb,IAAI,KAAK,YAAY,sBAAa;YAAE,OAAO,KAAK,CAAC;;YAEjD,0BAA0B;YAC1B,KAAiC,IAAA,KAAA,SAAA,mCAAgB,CAAC,MAAM,CAAA,gBAAA;gBAA7C,IAAA,KAAA,mBAAkB,EAAjB,OAAO,QAAA,EAAE,OAAO,QAAA;gBACxB,IAAI,KAAK,YAAY,OAAO;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;aAAA;;;;;;;;;QAExD,uBAAuB;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI;QACA,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;KAC7B;IAAC,WAAM,GAAE;IAEV,UAAU,CAAC;;;YACP,KAAuB,IAAA,KAAA,SAAA,mCAAgB,CAAC,SAAS,CAAA,gBAAA,4BAAE;gBAA9C,IAAM,QAAQ,WAAA;gBACf,IAAI;oBACA,IAAM,GAAG,GAAuB,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;wBAC1D,GAAG,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;iBAC3B;gBAAC,WAAM,GAAE;aACb;;;;;;;;;IACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAO,IAAA,iBAAU,EAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;AACnC,CAAC;AA/BD,kCA+BC"}
package/lib/module.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./decorators/DynamicModule";
1
2
  export * from "./decorators/EncryptedBody";
2
3
  export * from "./decorators/EncryptedController";
3
4
  export * from "./decorators/EncryptedModule";
@@ -7,3 +8,4 @@ export * from "./decorators/PlainBody";
7
8
  export * from "./decorators/TypedBody";
8
9
  export * from "./decorators/TypedParam";
9
10
  export * from "./decorators/TypedRoute";
11
+ export * from "./options/INestiaTransformOptions";
package/lib/module.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./decorators/DynamicModule"), exports);
17
18
  __exportStar(require("./decorators/EncryptedBody"), exports);
18
19
  __exportStar(require("./decorators/EncryptedController"), exports);
19
20
  __exportStar(require("./decorators/EncryptedModule"), exports);
@@ -23,4 +24,5 @@ __exportStar(require("./decorators/PlainBody"), exports);
23
24
  __exportStar(require("./decorators/TypedBody"), exports);
24
25
  __exportStar(require("./decorators/TypedParam"), exports);
25
26
  __exportStar(require("./decorators/TypedRoute"), exports);
27
+ __exportStar(require("./options/INestiaTransformOptions"), exports);
26
28
  //# sourceMappingURL=module.js.map
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,mEAAiD;AACjD,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,0DAAwC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C;AAC3C,mEAAiD;AACjD,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,0DAAwC;AACxC,oEAAkD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/core",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Super-fast validation decorators of NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -0,0 +1,16 @@
1
+ import { Module } from "@nestjs/common";
2
+
3
+ import { Creator } from "../typings/Creator";
4
+ import { load_controllers } from "./internal/load_controller";
5
+
6
+ export namespace DynamicModule {
7
+ export async function mount(path: string): Promise<object> {
8
+ // LOAD CONTROLLERS
9
+ const controllers: Creator<object>[] = await load_controllers(path);
10
+
11
+ // RETURN WITH DECORATING
12
+ @Module({ controllers })
13
+ class NestiaModule {}
14
+ return NestiaModule;
15
+ }
16
+ }