@nestia/core 3.0.5 → 3.1.0-dev.20240426
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/adaptors/WebSocketAdaptor.d.ts +21 -0
- package/lib/adaptors/WebSocketAdaptor.js +277 -0
- package/lib/adaptors/WebSocketAdaptor.js.map +1 -0
- package/lib/decorators/DynamicModule.js +12 -59
- package/lib/decorators/DynamicModule.js.map +1 -1
- package/lib/decorators/EncryptedBody.js +36 -73
- package/lib/decorators/EncryptedBody.js.map +1 -1
- package/lib/decorators/EncryptedController.js +2 -2
- package/lib/decorators/EncryptedController.js.map +1 -1
- package/lib/decorators/EncryptedModule.js +24 -107
- package/lib/decorators/EncryptedModule.js.map +1 -1
- package/lib/decorators/EncryptedRoute.js +43 -119
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/PlainBody.js +24 -61
- package/lib/decorators/PlainBody.js.map +1 -1
- package/lib/decorators/SwaggerCustomizer.js +2 -2
- package/lib/decorators/SwaggerCustomizer.js.map +1 -1
- package/lib/decorators/TypedBody.js +12 -14
- package/lib/decorators/TypedBody.js.map +1 -1
- package/lib/decorators/TypedException.js +5 -5
- package/lib/decorators/TypedException.js.map +1 -1
- package/lib/decorators/TypedFormData.js +88 -291
- package/lib/decorators/TypedFormData.js.map +1 -1
- package/lib/decorators/TypedHeaders.js +6 -6
- package/lib/decorators/TypedHeaders.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +5 -6
- package/lib/decorators/TypedParam.js +14 -15
- package/lib/decorators/TypedParam.js.map +1 -1
- package/lib/decorators/TypedQuery.d.ts +2 -2
- package/lib/decorators/TypedQuery.js +52 -129
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.js +31 -107
- package/lib/decorators/TypedRoute.js.map +1 -1
- package/lib/decorators/WebSocketRoute.d.ts +120 -0
- package/lib/decorators/WebSocketRoute.js +202 -0
- package/lib/decorators/WebSocketRoute.js.map +1 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.d.ts +25 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.js +3 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.js.map +1 -0
- package/lib/decorators/internal/NoTransformConfigureError.js +1 -1
- package/lib/decorators/internal/NoTransformConfigureError.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.js +67 -131
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
- package/lib/decorators/internal/get_path_and_stringify.js +57 -71
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/decorators/internal/get_text_body.js +7 -46
- package/lib/decorators/internal/get_text_body.js.map +1 -1
- package/lib/decorators/internal/headers_to_object.js +3 -42
- package/lib/decorators/internal/headers_to_object.js.map +1 -1
- package/lib/decorators/internal/load_controller.js +29 -106
- package/lib/decorators/internal/load_controller.js.map +1 -1
- package/lib/decorators/internal/route_error.js +15 -65
- package/lib/decorators/internal/route_error.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.js +44 -54
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/decorators/internal/validate_request_form_data.js +36 -44
- package/lib/decorators/internal/validate_request_form_data.js.map +1 -1
- package/lib/decorators/internal/validate_request_headers.js +36 -44
- package/lib/decorators/internal/validate_request_headers.js.map +1 -1
- package/lib/decorators/internal/validate_request_query.js +36 -44
- package/lib/decorators/internal/validate_request_query.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/module.d.ts +10 -9
- package/lib/module.js +10 -9
- package/lib/module.js.map +1 -1
- package/lib/programmers/PlainBodyProgrammer.js +29 -44
- package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedBodyProgrammer.js +57 -82
- package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedExceptionProgrammer.js +51 -54
- package/lib/programmers/TypedExceptionProgrammer.js.map +1 -1
- package/lib/programmers/TypedFormDataBodyProgrammer.js +50 -73
- package/lib/programmers/TypedFormDataBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedHeadersProgrammer.js +24 -43
- package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
- package/lib/programmers/TypedParamProgrammer.js +11 -28
- package/lib/programmers/TypedParamProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryBodyProgrammer.js +24 -43
- package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.js +24 -43
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryRouteProgrammer.js +22 -39
- package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +22 -39
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js +12 -29
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js +10 -27
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQuerifyProgrammer.js +33 -69
- package/lib/programmers/http/HttpQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js +11 -28
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/internal/CoreMetadataUtil.js +12 -37
- package/lib/programmers/internal/CoreMetadataUtil.js.map +1 -1
- package/lib/transform.js +8 -8
- package/lib/transform.js.map +1 -1
- package/lib/transformers/FileTransformer.js +35 -66
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/MethodTransformer.js +36 -50
- package/lib/transformers/MethodTransformer.js.map +1 -1
- package/lib/transformers/NodeTransformer.js +8 -12
- package/lib/transformers/NodeTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +75 -90
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/lib/transformers/ParameterTransformer.js +18 -24
- package/lib/transformers/ParameterTransformer.js.map +1 -1
- package/lib/transformers/TypedExceptionTransformer.js +25 -27
- package/lib/transformers/TypedExceptionTransformer.js.map +1 -1
- package/lib/transformers/TypedRouteTransformer.js +52 -88
- package/lib/transformers/TypedRouteTransformer.js.map +1 -1
- package/lib/utils/ArrayUtil.d.ts +3 -0
- package/lib/utils/ArrayUtil.js +11 -0
- package/lib/utils/ArrayUtil.js.map +1 -0
- package/lib/utils/ExceptionManager.js +9 -31
- package/lib/utils/ExceptionManager.js.map +1 -1
- package/lib/utils/Singleton.js +6 -7
- package/lib/utils/Singleton.js.map +1 -1
- package/lib/utils/SourceFinder.js +38 -215
- package/lib/utils/SourceFinder.js.map +1 -1
- package/lib/utils/VersioningStrategy.d.ts +9 -0
- package/lib/utils/VersioningStrategy.js +17 -0
- package/lib/utils/VersioningStrategy.js.map +1 -0
- package/package.json +9 -5
- package/src/adaptors/WebSocketAdaptor.ts +414 -0
- package/src/decorators/TypedParam.ts +5 -6
- package/src/decorators/TypedQuery.ts +251 -251
- package/src/decorators/WebSocketRoute.ts +249 -0
- package/src/decorators/internal/IWebSocketRouteReflect.ts +23 -0
- package/src/decorators/internal/validate_request_body.ts +72 -72
- package/src/decorators/internal/validate_request_form_data.ts +75 -75
- package/src/decorators/internal/validate_request_headers.ts +83 -83
- package/src/decorators/internal/validate_request_query.ts +71 -71
- package/src/module.ts +20 -16
- package/src/transformers/ParameterDecoratorTransformer.ts +129 -120
- package/src/typings/get-function-location.d.ts +7 -0
- package/src/utils/ArrayUtil.ts +7 -0
- package/src/utils/VersioningStrategy.ts +27 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArrayUtil = void 0;
|
|
4
|
+
var ArrayUtil;
|
|
5
|
+
(function (ArrayUtil) {
|
|
6
|
+
function has(array, ...items) {
|
|
7
|
+
return items.every((elem) => array.find((org) => org === elem) !== undefined);
|
|
8
|
+
}
|
|
9
|
+
ArrayUtil.has = has;
|
|
10
|
+
})(ArrayUtil || (exports.ArrayUtil = ArrayUtil = {}));
|
|
11
|
+
//# sourceMappingURL=ArrayUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../../src/utils/ArrayUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,SAAS,CAMzB;AAND,WAAiB,SAAS;IACxB,SAAgB,GAAG,CAAI,KAAU,EAAE,GAAG,KAAU;QAC9C,OAAO,KAAK,CAAC,KAAK,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,SAAS,CAC1D,CAAC;IACJ,CAAC;IAJe,aAAG,MAIlB,CAAA;AACH,CAAC,EANgB,SAAS,yBAAT,SAAS,QAMzB"}
|
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
3
|
exports.ExceptionManager = void 0;
|
|
20
|
-
|
|
21
|
-
|
|
4
|
+
const fetcher_1 = require("@nestia/fetcher");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
22
6
|
/**
|
|
23
7
|
* Exception manager for HTTP server.
|
|
24
8
|
*
|
|
@@ -54,15 +38,11 @@ var ExceptionManager;
|
|
|
54
38
|
* @param closure A closure function converting to the `HttpException` class
|
|
55
39
|
*/
|
|
56
40
|
function insert(creator, closure) {
|
|
57
|
-
|
|
41
|
+
const index = ExceptionManager.tuples.findIndex((tuple) => tuple[0] === creator);
|
|
58
42
|
if (index !== -1)
|
|
59
43
|
ExceptionManager.tuples.splice(index, 1);
|
|
60
44
|
ExceptionManager.tuples.push([creator, closure]);
|
|
61
|
-
ExceptionManager.tuples.sort(
|
|
62
|
-
var _c = __read(_a, 1), x = _c[0];
|
|
63
|
-
var _d = __read(_b, 1), y = _d[0];
|
|
64
|
-
return (x.prototype instanceof y ? -1 : 1);
|
|
65
|
-
});
|
|
45
|
+
ExceptionManager.tuples.sort(([x], [y]) => (x.prototype instanceof y ? -1 : 1));
|
|
66
46
|
}
|
|
67
47
|
ExceptionManager.insert = insert;
|
|
68
48
|
/**
|
|
@@ -72,7 +52,7 @@ var ExceptionManager;
|
|
|
72
52
|
* @returns Whether be erased or not
|
|
73
53
|
*/
|
|
74
54
|
function erase(creator) {
|
|
75
|
-
|
|
55
|
+
const index = ExceptionManager.tuples.findIndex((tuple) => tuple[0] === creator);
|
|
76
56
|
if (index === -1)
|
|
77
57
|
return false;
|
|
78
58
|
ExceptionManager.tuples.splice(index, 1);
|
|
@@ -96,10 +76,8 @@ var ExceptionManager;
|
|
|
96
76
|
*/
|
|
97
77
|
ExceptionManager.listeners = new Set();
|
|
98
78
|
})(ExceptionManager || (exports.ExceptionManager = ExceptionManager = {}));
|
|
99
|
-
ExceptionManager.insert(fetcher_1.HttpError,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, error.status);
|
|
104
|
-
});
|
|
79
|
+
ExceptionManager.insert(fetcher_1.HttpError, (error) => new common_1.HttpException({
|
|
80
|
+
path: error.path,
|
|
81
|
+
message: error.message,
|
|
82
|
+
}, error.status));
|
|
105
83
|
//# sourceMappingURL=ExceptionManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExceptionManager.js","sourceRoot":"","sources":["../../src/utils/ExceptionManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExceptionManager.js","sourceRoot":"","sources":["../../src/utils/ExceptionManager.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2CAA+C;AAI/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,IAAiB,gBAAgB,CAsEhC;AAtED,WAAiB,gBAAgB;IAC/B;;;;;;;OAOG;IACH,SAAgB,MAAM,CACpB,OAAmB,EACnB,OAAmB;QAEnB,MAAM,KAAK,GAAW,iBAAA,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QACxE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,iBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE1C,iBAAA,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAChC,iBAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IATe,uBAAM,SASrB,CAAA;IAED;;;;;OAKG;IACH,SAAgB,KAAK,CAAkB,OAAmB;QACxD,MAAM,KAAK,GAAW,iBAAA,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QACxE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/B,iBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IANe,sBAAK,QAMpB,CAAA;IAED,SAAgB,EAAE,CAAC,OAA4B;QAC7C,iBAAA,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAFe,mBAAE,KAEjB,CAAA;IAED,SAAgB,GAAG,CAAC,OAA4B;QAC9C,iBAAA,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAFe,oBAAG,MAElB,CAAA;IAqBD;;OAEG;IACU,uBAAM,GAAwC,EAAE,CAAC;IAE9D;;OAEG;IACU,0BAAS,GAA6B,IAAI,GAAG,EAAE,CAAC;AAC/D,CAAC,EAtEgB,gBAAgB,gCAAhB,gBAAgB,QAsEhC;AAED,gBAAgB,CAAC,MAAM,CACrB,mBAAS,EACT,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,sBAAa,CACf;IACE,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,OAAO,EAAE,KAAK,CAAC,OAAO;CACvB,EACD,KAAK,CAAC,MAAM,CACb,CACJ,CAAC"}
|
package/lib/utils/Singleton.js
CHANGED
|
@@ -4,21 +4,20 @@ exports.Singleton = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class Singleton {
|
|
8
|
+
constructor(closure_) {
|
|
9
9
|
this.closure_ = closure_;
|
|
10
10
|
this.value_ = NOT_MOUNTED_YET;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
get() {
|
|
13
13
|
if (this.value_ === NOT_MOUNTED_YET)
|
|
14
14
|
this.value_ = this.closure_();
|
|
15
15
|
return this.value_;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
}());
|
|
16
|
+
}
|
|
17
|
+
}
|
|
19
18
|
exports.Singleton = Singleton;
|
|
20
19
|
/**
|
|
21
20
|
* @internal
|
|
22
21
|
*/
|
|
23
|
-
|
|
22
|
+
const NOT_MOUNTED_YET = {};
|
|
24
23
|
//# sourceMappingURL=Singleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Singleton.js","sourceRoot":"","sources":["../../src/utils/Singleton.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"Singleton.js","sourceRoot":"","sources":["../../src/utils/Singleton.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,SAAS;IAGpB,YAAoC,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QACnD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;IAChC,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,MAAW,CAAC;IAC1B,CAAC;CACF;AAXD,8BAWC;AAED;;GAEG;AACH,MAAM,eAAe,GAAG,EAAE,CAAC"}
|
|
@@ -8,230 +8,53 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
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;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
-
if (!m) return o;
|
|
41
|
-
var i = m.call(o), r, ar = [], e;
|
|
42
|
-
try {
|
|
43
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
-
}
|
|
45
|
-
catch (error) { e = { error: error }; }
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e) throw e.error; }
|
|
51
|
-
}
|
|
52
|
-
return ar;
|
|
53
|
-
};
|
|
54
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
55
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
56
|
-
if (ar || !(i in from)) {
|
|
57
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
58
|
-
ar[i] = from[i];
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
62
|
-
};
|
|
63
|
-
var __values = (this && this.__values) || function(o) {
|
|
64
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
65
|
-
if (m) return m.call(o);
|
|
66
|
-
if (o && typeof o.length === "number") return {
|
|
67
|
-
next: function () {
|
|
68
|
-
if (o && i >= o.length) o = void 0;
|
|
69
|
-
return { value: o && o[i++], done: !o };
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
73
|
-
};
|
|
74
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
75
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
76
13
|
};
|
|
77
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
78
15
|
exports.SourceFinder = void 0;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const glob_1 = __importDefault(require("glob"));
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
82
19
|
var SourceFinder;
|
|
83
20
|
(function (SourceFinder) {
|
|
84
|
-
|
|
85
|
-
SourceFinder.find = function (props) { return __awaiter(_this, void 0, void 0, function () {
|
|
86
|
-
var dict;
|
|
21
|
+
SourceFinder.find = (props) => __awaiter(this, void 0, void 0, function* () {
|
|
87
22
|
var _a;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
23
|
+
const dict = new Set();
|
|
24
|
+
yield emplace(props.filter)(props.include)((str) => dict.add(str));
|
|
25
|
+
if ((_a = props.exclude) === null || _a === void 0 ? void 0 : _a.length)
|
|
26
|
+
yield emplace(props.filter)(props.exclude)((str) => dict.delete(str));
|
|
27
|
+
return [...dict];
|
|
28
|
+
});
|
|
29
|
+
const emplace = (filter) => (input) => (closure) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
for (const pattern of input) {
|
|
31
|
+
for (const file of yield _Glob(path_1.default.resolve(pattern))) {
|
|
32
|
+
const stats = yield fs_1.default.promises.stat(file);
|
|
33
|
+
if (stats.isDirectory() === true)
|
|
34
|
+
yield iterate(filter)(closure)(file);
|
|
35
|
+
else if (stats.isFile() && filter(file))
|
|
36
|
+
closure(file);
|
|
101
37
|
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const iterate = (filter) => (closure) => (location) => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const directory = yield fs_1.default.promises.readdir(location);
|
|
42
|
+
for (const file of directory) {
|
|
43
|
+
const next = path_1.default.resolve(`${location}/${file}`);
|
|
44
|
+
const stats = yield fs_1.default.promises.stat(next);
|
|
45
|
+
if (stats.isDirectory() === true)
|
|
46
|
+
yield iterate(filter)(closure)(next);
|
|
47
|
+
else if (stats.isFile() && filter(next))
|
|
48
|
+
closure(next);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const _Glob = (pattern) => new Promise((resolve, reject) => {
|
|
52
|
+
(0, glob_1.default)(pattern, (err, matches) => {
|
|
53
|
+
if (err)
|
|
54
|
+
reject(err);
|
|
55
|
+
else
|
|
56
|
+
resolve(matches.map((str) => path_1.default.resolve(str)));
|
|
102
57
|
});
|
|
103
|
-
});
|
|
104
|
-
var emplace = function (filter) {
|
|
105
|
-
return function (input) {
|
|
106
|
-
return function (closure) { return __awaiter(_this, void 0, void 0, function () {
|
|
107
|
-
var input_1, input_1_1, pattern, _a, _b, file, stats, e_1_1, e_2_1;
|
|
108
|
-
var e_2, _c, e_1, _d;
|
|
109
|
-
return __generator(this, function (_e) {
|
|
110
|
-
switch (_e.label) {
|
|
111
|
-
case 0:
|
|
112
|
-
_e.trys.push([0, 14, 15, 16]);
|
|
113
|
-
input_1 = __values(input), input_1_1 = input_1.next();
|
|
114
|
-
_e.label = 1;
|
|
115
|
-
case 1:
|
|
116
|
-
if (!!input_1_1.done) return [3 /*break*/, 13];
|
|
117
|
-
pattern = input_1_1.value;
|
|
118
|
-
_e.label = 2;
|
|
119
|
-
case 2:
|
|
120
|
-
_e.trys.push([2, 10, 11, 12]);
|
|
121
|
-
e_1 = void 0;
|
|
122
|
-
return [4 /*yield*/, _Glob(path_1.default.resolve(pattern))];
|
|
123
|
-
case 3:
|
|
124
|
-
_a = (__values.apply(void 0, [_e.sent()])), _b = _a.next();
|
|
125
|
-
_e.label = 4;
|
|
126
|
-
case 4:
|
|
127
|
-
if (!!_b.done) return [3 /*break*/, 9];
|
|
128
|
-
file = _b.value;
|
|
129
|
-
return [4 /*yield*/, fs_1.default.promises.stat(file)];
|
|
130
|
-
case 5:
|
|
131
|
-
stats = _e.sent();
|
|
132
|
-
if (!(stats.isDirectory() === true)) return [3 /*break*/, 7];
|
|
133
|
-
return [4 /*yield*/, iterate(filter)(closure)(file)];
|
|
134
|
-
case 6:
|
|
135
|
-
_e.sent();
|
|
136
|
-
return [3 /*break*/, 8];
|
|
137
|
-
case 7:
|
|
138
|
-
if (stats.isFile() && filter(file))
|
|
139
|
-
closure(file);
|
|
140
|
-
_e.label = 8;
|
|
141
|
-
case 8:
|
|
142
|
-
_b = _a.next();
|
|
143
|
-
return [3 /*break*/, 4];
|
|
144
|
-
case 9: return [3 /*break*/, 12];
|
|
145
|
-
case 10:
|
|
146
|
-
e_1_1 = _e.sent();
|
|
147
|
-
e_1 = { error: e_1_1 };
|
|
148
|
-
return [3 /*break*/, 12];
|
|
149
|
-
case 11:
|
|
150
|
-
try {
|
|
151
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
152
|
-
}
|
|
153
|
-
finally { if (e_1) throw e_1.error; }
|
|
154
|
-
return [7 /*endfinally*/];
|
|
155
|
-
case 12:
|
|
156
|
-
input_1_1 = input_1.next();
|
|
157
|
-
return [3 /*break*/, 1];
|
|
158
|
-
case 13: return [3 /*break*/, 16];
|
|
159
|
-
case 14:
|
|
160
|
-
e_2_1 = _e.sent();
|
|
161
|
-
e_2 = { error: e_2_1 };
|
|
162
|
-
return [3 /*break*/, 16];
|
|
163
|
-
case 15:
|
|
164
|
-
try {
|
|
165
|
-
if (input_1_1 && !input_1_1.done && (_c = input_1.return)) _c.call(input_1);
|
|
166
|
-
}
|
|
167
|
-
finally { if (e_2) throw e_2.error; }
|
|
168
|
-
return [7 /*endfinally*/];
|
|
169
|
-
case 16: return [2 /*return*/];
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
}); };
|
|
173
|
-
};
|
|
174
|
-
};
|
|
175
|
-
var iterate = function (filter) {
|
|
176
|
-
return function (closure) {
|
|
177
|
-
return function (location) { return __awaiter(_this, void 0, void 0, function () {
|
|
178
|
-
var directory, directory_1, directory_1_1, file, next, stats, e_3_1;
|
|
179
|
-
var e_3, _a;
|
|
180
|
-
return __generator(this, function (_b) {
|
|
181
|
-
switch (_b.label) {
|
|
182
|
-
case 0: return [4 /*yield*/, fs_1.default.promises.readdir(location)];
|
|
183
|
-
case 1:
|
|
184
|
-
directory = _b.sent();
|
|
185
|
-
_b.label = 2;
|
|
186
|
-
case 2:
|
|
187
|
-
_b.trys.push([2, 9, 10, 11]);
|
|
188
|
-
directory_1 = __values(directory), directory_1_1 = directory_1.next();
|
|
189
|
-
_b.label = 3;
|
|
190
|
-
case 3:
|
|
191
|
-
if (!!directory_1_1.done) return [3 /*break*/, 8];
|
|
192
|
-
file = directory_1_1.value;
|
|
193
|
-
next = path_1.default.resolve("".concat(location, "/").concat(file));
|
|
194
|
-
return [4 /*yield*/, fs_1.default.promises.stat(next)];
|
|
195
|
-
case 4:
|
|
196
|
-
stats = _b.sent();
|
|
197
|
-
if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
|
|
198
|
-
return [4 /*yield*/, iterate(filter)(closure)(next)];
|
|
199
|
-
case 5:
|
|
200
|
-
_b.sent();
|
|
201
|
-
return [3 /*break*/, 7];
|
|
202
|
-
case 6:
|
|
203
|
-
if (stats.isFile() && filter(next))
|
|
204
|
-
closure(next);
|
|
205
|
-
_b.label = 7;
|
|
206
|
-
case 7:
|
|
207
|
-
directory_1_1 = directory_1.next();
|
|
208
|
-
return [3 /*break*/, 3];
|
|
209
|
-
case 8: return [3 /*break*/, 11];
|
|
210
|
-
case 9:
|
|
211
|
-
e_3_1 = _b.sent();
|
|
212
|
-
e_3 = { error: e_3_1 };
|
|
213
|
-
return [3 /*break*/, 11];
|
|
214
|
-
case 10:
|
|
215
|
-
try {
|
|
216
|
-
if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
|
|
217
|
-
}
|
|
218
|
-
finally { if (e_3) throw e_3.error; }
|
|
219
|
-
return [7 /*endfinally*/];
|
|
220
|
-
case 11: return [2 /*return*/];
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
}); };
|
|
224
|
-
};
|
|
225
|
-
};
|
|
226
|
-
var _Glob = function (pattern) {
|
|
227
|
-
return new Promise(function (resolve, reject) {
|
|
228
|
-
(0, glob_1.default)(pattern, function (err, matches) {
|
|
229
|
-
if (err)
|
|
230
|
-
reject(err);
|
|
231
|
-
else
|
|
232
|
-
resolve(matches.map(function (str) { return path_1.default.resolve(str); }));
|
|
233
|
-
});
|
|
234
|
-
});
|
|
235
|
-
};
|
|
58
|
+
});
|
|
236
59
|
})(SourceFinder || (exports.SourceFinder = SourceFinder = {}));
|
|
237
60
|
//# sourceMappingURL=SourceFinder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../src/utils/SourceFinder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../src/utils/SourceFinder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { VERSION_NEUTRAL, VersionValue } from "@nestjs/common/interfaces";
|
|
2
|
+
export declare namespace VersioningStrategy {
|
|
3
|
+
interface IConfig {
|
|
4
|
+
prefix: string;
|
|
5
|
+
defaultVersion?: VersionValue;
|
|
6
|
+
}
|
|
7
|
+
const cast: (value: VersionValue | undefined) => Array<string | typeof VERSION_NEUTRAL>;
|
|
8
|
+
const merge: (config: IConfig | undefined) => (values: Array<string | typeof VERSION_NEUTRAL>) => string[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersioningStrategy = void 0;
|
|
4
|
+
var VersioningStrategy;
|
|
5
|
+
(function (VersioningStrategy) {
|
|
6
|
+
VersioningStrategy.cast = (value) => value === undefined ? [] : Array.isArray(value) ? value : [value];
|
|
7
|
+
VersioningStrategy.merge = (config) => (values) => {
|
|
8
|
+
if (config === undefined)
|
|
9
|
+
return [""];
|
|
10
|
+
const set = new Set(values);
|
|
11
|
+
const array = set.size === 0 ? VersioningStrategy.cast(config.defaultVersion) : Array.from(set);
|
|
12
|
+
return !!(array === null || array === void 0 ? void 0 : array.length)
|
|
13
|
+
? array.map((x) => typeof x === "symbol" ? "" : `${config.prefix}${x}`)
|
|
14
|
+
: [];
|
|
15
|
+
};
|
|
16
|
+
})(VersioningStrategy || (exports.VersioningStrategy = VersioningStrategy = {}));
|
|
17
|
+
//# sourceMappingURL=VersioningStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersioningStrategy.js","sourceRoot":"","sources":["../../src/utils/VersioningStrategy.ts"],"names":[],"mappings":";;;AAEA,IAAiB,kBAAkB,CAwBlC;AAxBD,WAAiB,kBAAkB;IAMpB,uBAAI,GAAG,CAClB,KAA+B,EACS,EAAE,CAC1C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvD,wBAAK,GAChB,CAAC,MAA2B,EAAE,EAAE,CAChC,CAAC,MAA8C,EAAY,EAAE;QAC3D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,GAAG,GAAyC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,KAAK,GACT,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YACpB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CACpD;YACH,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC;AACN,CAAC,EAxBgB,kBAAkB,kCAAlB,kBAAkB,QAwBlC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.1.0-dev.20240426",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -36,20 +36,23 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://nestia.io",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@nestia/fetcher": "^3.0.
|
|
39
|
+
"@nestia/fetcher": "^3.1.0-dev.20240426",
|
|
40
40
|
"@nestjs/common": ">=7.0.1",
|
|
41
41
|
"@nestjs/core": ">=7.0.1",
|
|
42
42
|
"@samchon/openapi": "^0.1.18",
|
|
43
43
|
"detect-ts-node": "^1.0.5",
|
|
44
44
|
"glob": "^7.2.0",
|
|
45
45
|
"multer": "1.4.5-lts.1",
|
|
46
|
+
"path-parser": "^6.1.0",
|
|
46
47
|
"raw-body": "^2.0.0",
|
|
47
48
|
"reflect-metadata": ">=0.1.12",
|
|
48
49
|
"rxjs": ">=6.0.3",
|
|
49
|
-
"
|
|
50
|
+
"tgrid": "^0.11.1",
|
|
51
|
+
"typia": "^6.0.3",
|
|
52
|
+
"ws": "^7.5.3"
|
|
50
53
|
},
|
|
51
54
|
"peerDependencies": {
|
|
52
|
-
"@nestia/fetcher": ">=3.0.
|
|
55
|
+
"@nestia/fetcher": ">=3.1.0-dev.20240426",
|
|
53
56
|
"@nestjs/common": ">=7.0.1",
|
|
54
57
|
"@nestjs/core": ">=7.0.1",
|
|
55
58
|
"reflect-metadata": ">=0.1.12",
|
|
@@ -64,7 +67,8 @@
|
|
|
64
67
|
"@types/glob": "^7.2.0",
|
|
65
68
|
"@types/inquirer": "^9.0.3",
|
|
66
69
|
"@types/multer": "^1.4.11",
|
|
67
|
-
"@types/ts-expose-internals": "npm:ts-expose-internals@5.
|
|
70
|
+
"@types/ts-expose-internals": "npm:ts-expose-internals@5.4.5",
|
|
71
|
+
"@types/ws": "^8.5.10",
|
|
68
72
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
69
73
|
"@typescript-eslint/parser": "^5.46.1",
|
|
70
74
|
"commander": "^10.0.0",
|