@nestia/core 2.0.0-dev.20230831-5 → 2.0.0-dev.20230901
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/decorators/EncryptedRoute.js +10 -7
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/TypedHeaders.js +2 -2
- package/lib/decorators/TypedHeaders.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +14 -13
- package/lib/decorators/TypedParam.js +16 -48
- package/lib/decorators/TypedParam.js.map +1 -1
- package/lib/decorators/TypedQuery.d.ts +2 -3
- package/lib/decorators/TypedQuery.js +4 -5
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.js +8 -5
- package/lib/decorators/TypedRoute.js.map +1 -1
- package/lib/decorators/internal/{TransformError.js → NoTransformConfigureError.js} +4 -4
- package/lib/decorators/internal/NoTransformConfigureError.js.map +1 -0
- package/lib/decorators/internal/get_path_and_stringify.js +2 -2
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.js +2 -2
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/programmers/PlainBodyProgrammer.js +17 -13
- package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedHeadersProgrammer.d.ts +3 -0
- package/lib/programmers/TypedHeadersProgrammer.js +86 -136
- package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
- package/lib/programmers/TypedParamProgrammer.d.ts +3 -1
- package/lib/programmers/TypedParamProgrammer.js +74 -67
- package/lib/programmers/TypedParamProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.d.ts +3 -0
- package/lib/programmers/TypedQueryProgrammer.js +88 -149
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +8 -8
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/lib/programmers/internal/CoreMetadataUtil.d.ts +5 -0
- package/lib/programmers/internal/CoreMetadataUtil.js +44 -0
- package/lib/programmers/internal/CoreMetadataUtil.js.map +1 -0
- package/lib/transform.d.ts +2 -1
- package/lib/transform.js +11 -3
- package/lib/transform.js.map +1 -1
- package/lib/transformers/FileTransformer.d.ts +1 -1
- package/lib/transformers/FileTransformer.js +16 -1
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +3 -1
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/package.json +5 -5
- package/src/decorators/EncryptedRoute.ts +9 -12
- package/src/decorators/TypedHeaders.ts +2 -2
- package/src/decorators/TypedParam.ts +30 -51
- package/src/decorators/TypedQuery.ts +4 -5
- package/src/decorators/TypedRoute.ts +5 -10
- package/src/decorators/internal/{TransformError.ts → NoTransformConfigureError.ts} +1 -1
- package/src/decorators/internal/get_path_and_stringify.ts +2 -2
- package/src/decorators/internal/validate_request_body.ts +2 -2
- package/src/programmers/PlainBodyProgrammer.ts +24 -19
- package/src/programmers/TypedHeadersProgrammer.ts +100 -106
- package/src/programmers/TypedParamProgrammer.ts +113 -79
- package/src/programmers/TypedQueryProgrammer.ts +115 -114
- package/src/programmers/TypedRouteProgrammer.ts +11 -8
- package/src/programmers/internal/CoreMetadataUtil.ts +21 -0
- package/src/transform.ts +14 -5
- package/src/transformers/FileTransformer.ts +7 -2
- package/src/transformers/ParameterDecoratorTransformer.ts +2 -1
- package/lib/decorators/internal/TransformError.js.map +0 -1
- /package/lib/decorators/internal/{TransformError.d.ts → NoTransformConfigureError.d.ts} +0 -0
|
@@ -35,16 +35,19 @@ var __values = (this && this.__values) || function(o) {
|
|
|
35
35
|
};
|
|
36
36
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
37
37
|
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
38
41
|
var e_1, _a, e_2, _b, e_3, _c;
|
|
39
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
43
|
exports.EncryptedRoute = void 0;
|
|
41
44
|
var AesPkcs5_1 = require("@nestia/fetcher/lib/AesPkcs5");
|
|
42
45
|
var common_1 = require("@nestjs/common");
|
|
43
46
|
var operators_1 = require("rxjs/operators");
|
|
44
|
-
var typia_1 = require("typia");
|
|
47
|
+
var typia_1 = __importDefault(require("typia"));
|
|
45
48
|
var Singleton_1 = require("../utils/Singleton");
|
|
46
49
|
var EncryptedConstant_1 = require("./internal/EncryptedConstant");
|
|
47
|
-
var
|
|
50
|
+
var NoTransformConfigureError_1 = require("./internal/NoTransformConfigureError");
|
|
48
51
|
var get_path_and_stringify_1 = require("./internal/get_path_and_stringify");
|
|
49
52
|
var headers_to_object_1 = require("./internal/headers_to_object");
|
|
50
53
|
var route_error_1 = require("./internal/route_error");
|
|
@@ -119,10 +122,10 @@ var EncryptedRoute;
|
|
|
119
122
|
})(EncryptedRoute || (exports.EncryptedRoute = EncryptedRoute = {}));
|
|
120
123
|
try {
|
|
121
124
|
for (var _d = __values([
|
|
122
|
-
typia_1.isStringify,
|
|
123
|
-
typia_1.assertStringify,
|
|
124
|
-
typia_1.validateStringify,
|
|
125
|
-
typia_1.stringify,
|
|
125
|
+
typia_1.default.json.isStringify,
|
|
126
|
+
typia_1.default.json.assertStringify,
|
|
127
|
+
typia_1.default.json.validateStringify,
|
|
128
|
+
typia_1.default.json.stringify,
|
|
126
129
|
]), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
127
130
|
var method = _e.value;
|
|
128
131
|
try {
|
|
@@ -179,7 +182,7 @@ var EncryptedRouteInterceptor = /** @class */ (function () {
|
|
|
179
182
|
return next.handle().pipe((0, operators_1.map)(function (value) {
|
|
180
183
|
var param = Reflect.getMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, context.getClass());
|
|
181
184
|
if (!param)
|
|
182
|
-
throw (0,
|
|
185
|
+
throw (0, NoTransformConfigureError_1.NoTransformConfigureError)("EncryptedRoute.".concat(_this.method));
|
|
183
186
|
var headers = new Singleton_1.Singleton(function () {
|
|
184
187
|
var request = http.getRequest();
|
|
185
188
|
return (0, headers_to_object_1.headers_to_object)(request.headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedRoute.js","sourceRoot":"","sources":["../../src/decorators/EncryptedRoute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EncryptedRoute.js","sourceRoot":"","sources":["../../src/decorators/EncryptedRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAwD;AAExD,yCAWwB;AAGxB,4CAAiD;AAEjD,gDAA0B;AAG1B,gDAA+C;AAC/C,kEAAuE;AACvE,kFAAiF;AACjF,4EAA2E;AAC3E,kEAAiE;AACjE,sDAAqD;AAErD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,IAAiB,cAAc,CAgE9B;AAhED,WAAiB,cAAc;IAC3B;;;;;OAKG;IACU,kBAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpC;;;;;OAKG;IACU,mBAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtC;;;;;OAKG;IACU,oBAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAExC;;;;;OAKG;IACU,kBAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpC;;;;;OAKG;IACU,qBAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1C,SAAS,SAAS,CAAC,MAAmD;QAUlE,SAAS,KAAK;YAAC,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YACnB,IAAA,KAAA,OAAoB,IAAA,+CAAsB,EAC5C,yBAAkB,MAAM,CAAE,CAC7B,wCAAI,IAAI,cAAC,EAFH,IAAI,QAAA,EAAE,SAAS,QAEZ,CAAC;YACX,OAAO,IAAA,wBAAe,EAClB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EACrB,IAAA,wBAAe,EACX,IAAI,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CACnD,CACJ,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,EAhEgB,cAAc,8BAAd,cAAc,QAgE9B;;IAED,KAAqB,IAAA,KAAA,SAAA;QACjB,eAAK,CAAC,IAAI,CAAC,WAAW;QACtB,eAAK,CAAC,IAAI,CAAC,eAAe;QAC1B,eAAK,CAAC,IAAI,CAAC,iBAAiB;QAC5B,eAAK,CAAC,IAAI,CAAC,SAAS;KACvB,CAAA,gBAAA;QALI,IAAM,MAAM,WAAA;;YAMb,KAA2B,IAAA,oBAAA,SAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAA,gBAAA;gBAAtC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;;oBAClB,KAAmB,IAAA,oBAAA,SAAA;wBACf,cAAc,CAAC,GAAG;wBAClB,cAAc,CAAC,MAAM;wBACrB,cAAc,CAAC,IAAI;wBACnB,cAAc,CAAC,GAAG;wBAClB,cAAc,CAAC,KAAK;qBACvB,CAAA,CAAA,gBAAA;wBANI,IAAM,IAAI,WAAA;wBAOV,IAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;qBAAA;;;;;;;;;aAAA;;;;;;;;;KAAA;;;;;;;;;AAEvC;;GAEG;AACH;IACI,mCACqB,MAAc,EACd,SAAiC;QADjC,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAwB;IACnD,CAAC;IAEG,6CAAS,GAAhB,UAAiB,OAAyB,EAAE,IAAiB;QAA7D,iBAuCC;QAtCG,IAAM,IAAI,GAAsB,OAAO,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACrB,IAAA,eAAG,EAAC,UAAC,KAAK;YACN,IAAM,KAAK,GAGO,OAAO,CAAC,WAAW,CACjC,2CAAuB,EACvB,OAAO,CAAC,QAAQ,EAAE,CACrB,CAAC;YACF,IAAI,CAAC,KAAK;gBACN,MAAM,IAAA,qDAAyB,EAC3B,yBAAkB,KAAI,CAAC,MAAM,CAAE,CAClC,CAAC;YAEN,IAAM,OAAO,GACT,IAAI,qBAAS,CAAC;gBACV,IAAM,OAAO,GAAoB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnD,OAAO,IAAA,qCAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACP,IAAM,IAAI,GAAuB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvD,IAAM,QAAQ,GACV,OAAO,KAAK,KAAK,UAAU;gBACvB,CAAC,CAAC,KAAK,CAAC;oBACF,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;oBACtB,IAAI,MAAA;oBACJ,SAAS,EAAE,QAAQ;iBACtB,CAAC;gBACJ,CAAC,CAAC,KAAK,CAAC;YAEhB,IAAM,QAAQ,GAAqB,IAAI,CAAC,WAAW,EAAE,CAAC;YACtD,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAE9C,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO,mBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,EACF,IAAA,sBAAU,EAAC,UAAC,GAAG,IAAK,OAAA,IAAA,yBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,EAAnC,CAAmC,CAAC,CAC3D,CAAC;IACN,CAAC;IACL,gCAAC;AAAD,CAAC,AA9CD,IA8CC;AAED;;GAEG;AACH,IAAM,OAAO,GAAG;IACZ,GAAG,cAAA;IACH,IAAI,eAAA;IACJ,GAAG,cAAA;IACH,KAAK,gBAAA;IACL,MAAM,iBAAA;CACT,CAAC"}
|
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.TypedHeaders = void 0;
|
|
27
27
|
var common_1 = require("@nestjs/common");
|
|
28
28
|
var typia_1 = __importStar(require("typia"));
|
|
29
|
-
var
|
|
29
|
+
var NoTransformConfigureError_1 = require("./internal/NoTransformConfigureError");
|
|
30
30
|
/**
|
|
31
31
|
* Type safe HTTP headers decorator.
|
|
32
32
|
*
|
|
@@ -70,7 +70,7 @@ var TransformError_1 = require("./internal/TransformError");
|
|
|
70
70
|
*/
|
|
71
71
|
function TypedHeaders(decoder) {
|
|
72
72
|
if (decoder === undefined)
|
|
73
|
-
throw (0,
|
|
73
|
+
throw (0, NoTransformConfigureError_1.NoTransformConfigureError)("TypedHeaders");
|
|
74
74
|
return (0, common_1.createParamDecorator)(function TypedHeaders(_unknown, context) {
|
|
75
75
|
var request = context
|
|
76
76
|
.switchToHttp()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedHeaders.js","sourceRoot":"","sources":["../../src/decorators/TypedHeaders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAIwB;AAIxB,6CAAsD;AAEtD,
|
|
1
|
+
{"version":3,"file":"TypedHeaders.js","sourceRoot":"","sources":["../../src/decorators/TypedHeaders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAIwB;AAIxB,6CAAsD;AAEtD,kFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,SAAgB,YAAY,CACxB,OAAuE;IAEvE,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAA,qDAAyB,EAAC,cAAc,CAAC,CAAC;IAE3E,OAAO,IAAA,6BAAoB,EAAC,SAAS,YAAY,CAC7C,QAAa,EACb,OAAyB;QAEzB,IAAM,OAAO,GAAqC,OAAO;aACpD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAClB,IAAI;YACA,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACnC;QAAC,OAAO,GAAG,EAAE;YACV;;;eAA6B,GAAG;gBAC5B,MAAM,IAAI,4BAAmB,CAAC;oBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EACH,+DAA+D;iBACtE,CAAC,CAAC;YACP,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AA3BD,oCA2BC;AAED;;GAEG;AACH,WAAiB,YAAY;IACZ,oBAAO,GAAG,UAAC,KAAyB;QAC7C,OAAA,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS;IAAlD,CAAkD,CAAC;IAC1C,mBAAM,GAAG,UAAC,KAAyB;QAC5C,OAAA,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;IAA/C,CAA+C,CAAC;IACvC,mBAAM,GAAG,UAAC,KAAyB;QAC5C,OAAA,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;IAA/C,CAA+C,CAAC;IACvC,mBAAM,GAAG,UAAC,KAAyB,IAAK,OAAA,KAAK,EAAL,CAAK,CAAC;AAC/D,CAAC,EARgB,YAAY,4BAAZ,YAAY,QAQ5B;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAM,CAAC,CAAC"}
|
|
@@ -3,29 +3,30 @@
|
|
|
3
3
|
*
|
|
4
4
|
* `TypedParam` is a decorator function getting specific typed parameter from the
|
|
5
5
|
* HTTP request URL. It's almost same with the {@link nest.Param}, but `TypedParam`
|
|
6
|
-
* automatically casts parameter value to be following its type
|
|
7
|
-
* {@link nest.Param} always parses all of the parameters as `string` type.
|
|
8
|
-
*
|
|
9
|
-
* Note that, if you just omit the `type` and `nullable` parameters, then
|
|
10
|
-
* `TypedParam` automatically determines the `type` and `nullable` values
|
|
11
|
-
* just by analyzing the parameter type. Only when you need to specify them
|
|
12
|
-
* are, you want to use the `uuid` type.
|
|
6
|
+
* automatically casts parameter value to be following its type, and validates it.
|
|
13
7
|
*
|
|
14
8
|
* ```typescript
|
|
9
|
+
* import { tags } from "typia";
|
|
10
|
+
*
|
|
15
11
|
* \@TypedRoute.Get("shopping/sales/:id/:no/:paused")
|
|
16
12
|
* public async pause
|
|
17
13
|
* (
|
|
18
|
-
* \@TypedParam("id", "uuid"), id: string
|
|
19
|
-
* \@TypedParam("no") id: number
|
|
20
|
-
* \@TypedParam("paused") paused: boolean | null
|
|
14
|
+
* \@TypedParam("id", "uuid"), id: string & tags.Format<"uuid">,
|
|
15
|
+
* \@TypedParam("no") id: number & tags.Type<"uint32">
|
|
16
|
+
* \@TypedParam("paused") paused: boolean | null
|
|
21
17
|
* ): Promise<void>;
|
|
22
18
|
* ```
|
|
23
19
|
*
|
|
24
20
|
* @param name URL Parameter name
|
|
25
|
-
* @param type If omit, automatically determined by the parameter type.
|
|
26
|
-
* @param nullable If omit, automatically determined by the parameter type.
|
|
27
21
|
* @returns Parameter decorator
|
|
28
22
|
*
|
|
29
23
|
* @author Jeongho Nam - https://github.com/samchon
|
|
30
24
|
*/
|
|
31
|
-
export declare function TypedParam(name: string,
|
|
25
|
+
export declare function TypedParam(name: string, props?: TypedParam.IProps<any>): ParameterDecorator;
|
|
26
|
+
export declare namespace TypedParam {
|
|
27
|
+
interface IProps<T> {
|
|
28
|
+
type: string;
|
|
29
|
+
cast: (value: string) => T;
|
|
30
|
+
is: (value: T) => boolean;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -2,76 +2,44 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypedParam = void 0;
|
|
4
4
|
var common_1 = require("@nestjs/common");
|
|
5
|
+
var NoTransformConfigureError_1 = require("./internal/NoTransformConfigureError");
|
|
5
6
|
/**
|
|
6
7
|
* Type safe URL parameter decorator.
|
|
7
8
|
*
|
|
8
9
|
* `TypedParam` is a decorator function getting specific typed parameter from the
|
|
9
10
|
* HTTP request URL. It's almost same with the {@link nest.Param}, but `TypedParam`
|
|
10
|
-
* automatically casts parameter value to be following its type
|
|
11
|
-
* {@link nest.Param} always parses all of the parameters as `string` type.
|
|
12
|
-
*
|
|
13
|
-
* Note that, if you just omit the `type` and `nullable` parameters, then
|
|
14
|
-
* `TypedParam` automatically determines the `type` and `nullable` values
|
|
15
|
-
* just by analyzing the parameter type. Only when you need to specify them
|
|
16
|
-
* are, you want to use the `uuid` type.
|
|
11
|
+
* automatically casts parameter value to be following its type, and validates it.
|
|
17
12
|
*
|
|
18
13
|
* ```typescript
|
|
14
|
+
* import { tags } from "typia";
|
|
15
|
+
*
|
|
19
16
|
* \@TypedRoute.Get("shopping/sales/:id/:no/:paused")
|
|
20
17
|
* public async pause
|
|
21
18
|
* (
|
|
22
|
-
* \@TypedParam("id", "uuid"), id: string
|
|
23
|
-
* \@TypedParam("no") id: number
|
|
24
|
-
* \@TypedParam("paused") paused: boolean | null
|
|
19
|
+
* \@TypedParam("id", "uuid"), id: string & tags.Format<"uuid">,
|
|
20
|
+
* \@TypedParam("no") id: number & tags.Type<"uint32">
|
|
21
|
+
* \@TypedParam("paused") paused: boolean | null
|
|
25
22
|
* ): Promise<void>;
|
|
26
23
|
* ```
|
|
27
24
|
*
|
|
28
25
|
* @param name URL Parameter name
|
|
29
|
-
* @param type If omit, automatically determined by the parameter type.
|
|
30
|
-
* @param nullable If omit, automatically determined by the parameter type.
|
|
31
26
|
* @returns Parameter decorator
|
|
32
27
|
*
|
|
33
28
|
* @author Jeongho Nam - https://github.com/samchon
|
|
34
29
|
*/
|
|
35
|
-
function TypedParam(name,
|
|
36
|
-
|
|
30
|
+
function TypedParam(name, props) {
|
|
31
|
+
if (props === undefined)
|
|
32
|
+
throw (0, NoTransformConfigureError_1.NoTransformConfigureError)("TypedParam");
|
|
33
|
+
return (0, common_1.createParamDecorator)(function TypedParam(_a, context) {
|
|
37
34
|
var request = context
|
|
38
35
|
.switchToHttp()
|
|
39
36
|
.getRequest();
|
|
40
37
|
var str = request.params[name];
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
else if (str === "false" || str === "0")
|
|
47
|
-
return false;
|
|
48
|
-
else
|
|
49
|
-
throw new common_1.BadRequestException("Value of the URL parameter '".concat(name, "' is not a boolean."));
|
|
50
|
-
}
|
|
51
|
-
else if (type === "number") {
|
|
52
|
-
var value = Number(str);
|
|
53
|
-
if (isNaN(value))
|
|
54
|
-
throw new common_1.BadRequestException("Value of the URL parameter \"".concat(name, "\" is not a number."));
|
|
55
|
-
return value;
|
|
56
|
-
}
|
|
57
|
-
else if (type === "uuid") {
|
|
58
|
-
if (UUID_PATTERN.test(str) === false)
|
|
59
|
-
throw new common_1.BadRequestException("Value of the URL parameter \"".concat(name, "\" is not a valid UUID."));
|
|
60
|
-
return str;
|
|
61
|
-
}
|
|
62
|
-
else if (type === "date") {
|
|
63
|
-
if (DATE_PATTERN.test(str) === false)
|
|
64
|
-
throw new common_1.BadRequestException("Value of the URL parameter \"".concat(name, "\" is not a valid date."));
|
|
65
|
-
return str;
|
|
66
|
-
}
|
|
67
|
-
else
|
|
68
|
-
return str;
|
|
69
|
-
}
|
|
70
|
-
TypedParam.nullable = !!nullable;
|
|
71
|
-
TypedParam.type = type;
|
|
72
|
-
return (0, common_1.createParamDecorator)(TypedParam)(name);
|
|
38
|
+
var value = props.cast(str);
|
|
39
|
+
if (props.is(value) === false)
|
|
40
|
+
throw new common_1.BadRequestException("Value of the URL parameter \"".concat(name, "\" is not ").concat(props.type, " type."));
|
|
41
|
+
return value;
|
|
42
|
+
})(name);
|
|
73
43
|
}
|
|
74
44
|
exports.TypedParam = TypedParam;
|
|
75
|
-
var UUID_PATTERN = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
76
|
-
var DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
|
|
77
45
|
//# sourceMappingURL=TypedParam.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedParam.js","sourceRoot":"","sources":["../../src/decorators/TypedParam.ts"],"names":[],"mappings":";;;AAAA,yCAIwB;AAIxB
|
|
1
|
+
{"version":3,"file":"TypedParam.js","sourceRoot":"","sources":["../../src/decorators/TypedParam.ts"],"names":[],"mappings":";;;AAAA,yCAIwB;AAIxB,kFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,UAAU,CACtB,IAAY,EACZ,KAA8B;IAE9B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAA,qDAAyB,EAAC,YAAY,CAAC,CAAC;IAEvE,OAAO,IAAA,6BAAoB,EAAC,SAAS,UAAU,CAC3C,EAAO,EACP,OAAyB;QAEzB,IAAM,OAAO,GAAqC,OAAO;aACpD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAClB,IAAM,GAAG,GAAY,OAAO,CAAC,MAAc,CAAC,IAAI,CAAC,CAAC;QAClD,IAAM,KAAK,GAAQ,KAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK;YAC1B,MAAM,IAAI,4BAAmB,CACzB,uCAA+B,IAAI,uBAC/B,KAAM,CAAC,IAAI,WACP,CACX,CAAC;QACN,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACb,CAAC;AAvBD,gCAuBC"}
|
|
@@ -11,9 +11,8 @@
|
|
|
11
11
|
*
|
|
12
12
|
* 1. Type `T` must be an object type
|
|
13
13
|
* 2. Do not allow dynamic property
|
|
14
|
-
* 3.
|
|
15
|
-
* 4.
|
|
16
|
-
* 5. By the way, union type never be not allowed
|
|
14
|
+
* 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
|
|
15
|
+
* 4. By the way, union type never be not allowed
|
|
17
16
|
*
|
|
18
17
|
* @returns Parameter decorator
|
|
19
18
|
* @author Jeongho Nam - https://github.com/samchon
|
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.TypedQuery = void 0;
|
|
27
27
|
var common_1 = require("@nestjs/common");
|
|
28
28
|
var typia_1 = __importStar(require("typia"));
|
|
29
|
-
var
|
|
29
|
+
var NoTransformConfigureError_1 = require("./internal/NoTransformConfigureError");
|
|
30
30
|
/**
|
|
31
31
|
* Type safe URL query decorator.
|
|
32
32
|
*
|
|
@@ -40,16 +40,15 @@ var TransformError_1 = require("./internal/TransformError");
|
|
|
40
40
|
*
|
|
41
41
|
* 1. Type `T` must be an object type
|
|
42
42
|
* 2. Do not allow dynamic property
|
|
43
|
-
* 3.
|
|
44
|
-
* 4.
|
|
45
|
-
* 5. By the way, union type never be not allowed
|
|
43
|
+
* 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
|
|
44
|
+
* 4. By the way, union type never be not allowed
|
|
46
45
|
*
|
|
47
46
|
* @returns Parameter decorator
|
|
48
47
|
* @author Jeongho Nam - https://github.com/samchon
|
|
49
48
|
*/
|
|
50
49
|
function TypedQuery(decoder) {
|
|
51
50
|
if (decoder === undefined)
|
|
52
|
-
throw (0,
|
|
51
|
+
throw (0, NoTransformConfigureError_1.NoTransformConfigureError)("TypedQuery");
|
|
53
52
|
return (0, common_1.createParamDecorator)(function TypedQuery(_unknown, context) {
|
|
54
53
|
var request = context
|
|
55
54
|
.switchToHttp()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQuery.js","sourceRoot":"","sources":["../../src/decorators/TypedQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAIwB;AAIxB,6CAAsD;AAEtD,
|
|
1
|
+
{"version":3,"file":"TypedQuery.js","sourceRoot":"","sources":["../../src/decorators/TypedQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,12 +35,15 @@ var __values = (this && this.__values) || function(o) {
|
|
|
35
35
|
};
|
|
36
36
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
37
37
|
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
38
41
|
var e_1, _a, e_2, _b, e_3, _c;
|
|
39
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
43
|
exports.TypedRoute = void 0;
|
|
41
44
|
var common_1 = require("@nestjs/common");
|
|
42
45
|
var operators_1 = require("rxjs/operators");
|
|
43
|
-
var typia_1 = require("typia");
|
|
46
|
+
var typia_1 = __importDefault(require("typia"));
|
|
44
47
|
var get_path_and_stringify_1 = require("./internal/get_path_and_stringify");
|
|
45
48
|
var route_error_1 = require("./internal/route_error");
|
|
46
49
|
/**
|
|
@@ -112,10 +115,10 @@ var TypedRoute;
|
|
|
112
115
|
})(TypedRoute || (exports.TypedRoute = TypedRoute = {}));
|
|
113
116
|
try {
|
|
114
117
|
for (var _d = __values([
|
|
115
|
-
typia_1.stringify,
|
|
116
|
-
typia_1.isStringify,
|
|
117
|
-
typia_1.assertStringify,
|
|
118
|
-
typia_1.validateStringify,
|
|
118
|
+
typia_1.default.json.stringify,
|
|
119
|
+
typia_1.default.json.isStringify,
|
|
120
|
+
typia_1.default.json.assertStringify,
|
|
121
|
+
typia_1.default.json.validateStringify,
|
|
119
122
|
]), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
120
123
|
var method = _e.value;
|
|
121
124
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedRoute.js","sourceRoot":"","sources":["../../src/decorators/TypedRoute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypedRoute.js","sourceRoot":"","sources":["../../src/decorators/TypedRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.NoTransformConfigureError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
function
|
|
7
|
+
function NoTransformConfigureError(method) {
|
|
8
8
|
return new Error("Error on nestia.core.".concat(method, "(): no transform has been configured. Run \"npx typia setup\" command, or check if you're using non-standard TypeScript compiler like Babel or SWC."));
|
|
9
9
|
}
|
|
10
|
-
exports.
|
|
11
|
-
//# sourceMappingURL=
|
|
10
|
+
exports.NoTransformConfigureError = NoTransformConfigureError;
|
|
11
|
+
//# sourceMappingURL=NoTransformConfigureError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoTransformConfigureError.js","sourceRoot":"","sources":["../../../src/decorators/internal/NoTransformConfigureError.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,yBAAyB,CAAC,MAAc;IACpD,OAAO,IAAI,KAAK,CACZ,+BAAwB,MAAM,wJAAmJ,CACpL,CAAC;AACN,CAAC;AAJD,8DAIC"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.get_path_and_stringify = void 0;
|
|
7
7
|
var common_1 = require("@nestjs/common");
|
|
8
8
|
var typia_1 = __importDefault(require("typia"));
|
|
9
|
-
var
|
|
9
|
+
var NoTransformConfigureError_1 = require("./NoTransformConfigureError");
|
|
10
10
|
var get_path_and_stringify = function (method) {
|
|
11
11
|
return function () {
|
|
12
12
|
var args = [];
|
|
@@ -26,7 +26,7 @@ exports.get_path_and_stringify = get_path_and_stringify;
|
|
|
26
26
|
var take = function (method) {
|
|
27
27
|
return function (functor) {
|
|
28
28
|
if (functor === undefined)
|
|
29
|
-
throw (0,
|
|
29
|
+
throw (0, NoTransformConfigureError_1.NoTransformConfigureError)(method);
|
|
30
30
|
else if (functor === null)
|
|
31
31
|
return JSON.stringify;
|
|
32
32
|
else if (functor.type === "stringify")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_path_and_stringify.js","sourceRoot":"","sources":["../../../src/decorators/internal/get_path_and_stringify.ts"],"names":[],"mappings":";;;;;;AAAA,yCAA8D;AAE9D,gDAA2D;AAG3D,
|
|
1
|
+
{"version":3,"file":"get_path_and_stringify.js","sourceRoot":"","sources":["../../../src/decorators/internal/get_path_and_stringify.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.validate_request_body = void 0;
|
|
7
7
|
var common_1 = require("@nestjs/common");
|
|
8
8
|
var typia_1 = __importDefault(require("typia"));
|
|
9
|
-
var
|
|
9
|
+
var NoTransformConfigureError_1 = require("./NoTransformConfigureError");
|
|
10
10
|
var validate_request_body = function (method) {
|
|
11
11
|
return function (validator) {
|
|
12
12
|
if (!validator)
|
|
13
|
-
return function () { return (0,
|
|
13
|
+
return function () { return (0, NoTransformConfigureError_1.NoTransformConfigureError)(method); };
|
|
14
14
|
else if (validator.type === "assert")
|
|
15
15
|
return assert(validator.assert);
|
|
16
16
|
else if (validator.type === "is")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_request_body.js","sourceRoot":"","sources":["../../../src/decorators/internal/validate_request_body.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAqD;AAErD,gDAA2D;AAG3D,
|
|
1
|
+
{"version":3,"file":"validate_request_body.js","sourceRoot":"","sources":["../../../src/decorators/internal/validate_request_body.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAqD;AAErD,gDAA2D;AAG3D,yEAAwE;AAEjE,IAAM,qBAAqB,GAC9B,UAAC,MAAc;IACf,OAAA,UAAI,SAAoC;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,cAAM,OAAA,IAAA,qDAAyB,EAAC,MAAM,CAAC,EAAjC,CAAiC,CAAC;aAC1D,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACjE,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACrD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;YAClC,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO;YACH,OAAA,IAAI,KAAK,CACL,+BAAwB,MAAM,iCAA8B,CAC/D;QAFD,CAEC,CAAC;IACV,CAAC;AAVD,CAUC,CAAC;AAZO,QAAA,qBAAqB,yBAY5B;AAEN,IAAM,MAAM,GACR,UAAI,OAAuB;IAC3B,OAAA,UAAC,IAAO;QACJ,IAAI;YACA,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,GAAG,EAAE;YACV;;;eAA6B,GAAG,GAAG;gBAC/B,OAAO,IAAI,4BAAmB,CAAC;oBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,OAAO;iBACnB,CAAC,CAAC;aACN;YACD,MAAM,GAAG,CAAC;SACb;IACL,CAAC;AAhBD,CAgBC,CAAC;AAEN,IAAM,EAAE,GACJ,UAAI,OAA6B;IACjC,OAAA,UAAC,IAAO;QACJ,IAAM,OAAO,GAAY,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,4BAAmB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;AAHD,CAGC,CAAC;AAEN,IAAM,QAAQ,GACV,UAAI,OAAoC;IACxC,OAAA,UAAC,IAAO;QACJ,IAAM,MAAM,GAAmB,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO;YACjB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,4BAAmB,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;IACb,CAAC;AARD,CAQC,CAAC;AAEN,IAAM,OAAO,GAAG,uDAAuD,CAAC"}
|
|
@@ -15,16 +15,20 @@ exports.PlainBodyProgrammer = void 0;
|
|
|
15
15
|
var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
16
16
|
var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
17
17
|
var AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
|
|
18
|
+
var TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
18
19
|
var PlainBodyProgrammer;
|
|
19
20
|
(function (PlainBodyProgrammer) {
|
|
20
21
|
PlainBodyProgrammer.generate = function (project) {
|
|
21
22
|
return function (modulo) {
|
|
22
23
|
return function (type) {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
var result = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
|
|
25
|
+
escape: false,
|
|
25
26
|
constant: true,
|
|
26
27
|
absorb: true,
|
|
27
|
-
|
|
28
|
+
validate: validate,
|
|
29
|
+
})(new MetadataCollection_1.MetadataCollection())(type);
|
|
30
|
+
if (result.success === false)
|
|
31
|
+
throw TransformerError_1.TransformerError.from("@core.nestia.TypedParam")(result.errors);
|
|
28
32
|
return [
|
|
29
33
|
AssertProgrammer_1.AssertProgrammer.write(__assign(__assign({}, project), { options: {
|
|
30
34
|
numeric: false,
|
|
@@ -37,22 +41,22 @@ var PlainBodyProgrammer;
|
|
|
37
41
|
};
|
|
38
42
|
})(PlainBodyProgrammer || (exports.PlainBodyProgrammer = PlainBodyProgrammer = {}));
|
|
39
43
|
var validate = function (metadata) {
|
|
40
|
-
var
|
|
44
|
+
var errors = [];
|
|
45
|
+
var insert = function (msg) { return errors.push(msg); };
|
|
46
|
+
var expected = (metadata.atomics.some(function (a) { return a.type === "string"; }) ? 1 : 0) +
|
|
41
47
|
metadata.templates.length +
|
|
42
48
|
metadata.constants
|
|
43
49
|
.filter(function (c) { return c.type === "string"; })
|
|
44
50
|
.map(function (c) { return c.values.length; })
|
|
45
51
|
.reduce(function (a, b) { return a + b; }, 0);
|
|
46
52
|
if (expected === 0 || expected !== metadata.size())
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
insert("only string type is allowed");
|
|
54
|
+
if (metadata.isRequired() === false)
|
|
55
|
+
insert("do not allow undefindable type");
|
|
56
|
+
if (metadata.nullable === true)
|
|
57
|
+
insert("do not allow nullable type");
|
|
52
58
|
else if (metadata.any === true)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var error = function (msg) {
|
|
56
|
-
return new Error("Error on nestia.core.PlainBody(): ".concat(msg, "."));
|
|
59
|
+
insert("do not allow any type");
|
|
60
|
+
return errors;
|
|
57
61
|
};
|
|
58
62
|
//# sourceMappingURL=PlainBodyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6EAA4E;AAC5E,uEAAsE;
|
|
1
|
+
{"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6EAA4E;AAC5E,uEAAsE;AACtE,2EAA0E;AAE1E,4EAA2E;AAI3E,IAAiB,mBAAmB,CA0BnC;AA1BD,WAAiB,mBAAmB;IACnB,4BAAQ,GACjB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACpD,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,UAAA;iBACX,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBACxB,MAAM,mCAAgB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAClD,MAAM,CAAC,MAAM,CAChB,CAAC;gBACN,OAAO;oBACH,mCAAgB,CAAC,KAAK,uBACf,OAAO,KACV,OAAO,EAAE;4BACL,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,KAAK;4BACb,UAAU,EAAE,KAAK;yBACpB,IACH,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;iBAC1B,CAAC;YACN,CAAC;QArBD,CAqBC;IAtBD,CAsBC,CAAC;AACV,CAAC,EA1BgB,mBAAmB,mCAAnB,mBAAmB,QA0BnC;AAED,IAAM,QAAQ,GAAG,UAAC,QAAkB;IAChC,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAM,MAAM,GAAG,UAAC,GAAW,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC;IAEjD,IAAM,QAAQ,GACV,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC,MAAM;QACzB,QAAQ,CAAC,SAAS;aACb,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;aAClC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,MAAM,EAAf,CAAe,CAAC;aAC3B,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;QAC9C,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,KAAK;QAC/B,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;QAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC;SAChE,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;QAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
+
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
3
|
+
import { Metadata } from "typia/lib/schemas/metadata/Metadata";
|
|
2
4
|
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
5
|
export declare namespace TypedHeadersProgrammer {
|
|
4
6
|
const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.Expression;
|
|
7
|
+
const validate: (meta: Metadata, explore: MetadataFactory.IExplore) => string[];
|
|
5
8
|
}
|