@nestia/core 0.2.1 → 1.0.1
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.d.ts +10 -10
- package/lib/decorators/internal/get_path_and_stringify.js +2 -0
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/options/INestiaTransformOptions.d.ts +1 -1
- package/lib/transformers/RouteTransformer.js +2 -0
- package/lib/transformers/RouteTransformer.js.map +1 -1
- package/package.json +3 -3
- package/src/decorators/EncryptedRoute.ts +2 -2
- package/src/decorators/internal/get_path_and_stringify.ts +2 -1
- package/src/options/INestiaTransformOptions.ts +1 -1
- package/src/transformers/RouteTransformer.ts +3 -1
|
@@ -29,8 +29,8 @@ export declare namespace EncryptedRoute {
|
|
|
29
29
|
*/
|
|
30
30
|
const Get: {
|
|
31
31
|
(path?: string | string[]): MethodDecorator;
|
|
32
|
-
<T>(stringify?: IResponseBodyStringifier<T> | undefined): MethodDecorator;
|
|
33
|
-
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | undefined): MethodDecorator;
|
|
32
|
+
<T>(stringify?: IResponseBodyStringifier<T> | null | undefined): MethodDecorator;
|
|
33
|
+
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | null | undefined): MethodDecorator;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Encrypted router decorator function for the GET method.
|
|
@@ -40,8 +40,8 @@ export declare namespace EncryptedRoute {
|
|
|
40
40
|
*/
|
|
41
41
|
const Post: {
|
|
42
42
|
(path?: string | string[]): MethodDecorator;
|
|
43
|
-
<T>(stringify?: IResponseBodyStringifier<T> | undefined): MethodDecorator;
|
|
44
|
-
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | undefined): MethodDecorator;
|
|
43
|
+
<T>(stringify?: IResponseBodyStringifier<T> | null | undefined): MethodDecorator;
|
|
44
|
+
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | null | undefined): MethodDecorator;
|
|
45
45
|
};
|
|
46
46
|
/**
|
|
47
47
|
* Encrypted router decorator function for the PATCH method.
|
|
@@ -51,8 +51,8 @@ export declare namespace EncryptedRoute {
|
|
|
51
51
|
*/
|
|
52
52
|
const Patch: {
|
|
53
53
|
(path?: string | string[]): MethodDecorator;
|
|
54
|
-
<T>(stringify?: IResponseBodyStringifier<T> | undefined): MethodDecorator;
|
|
55
|
-
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | undefined): MethodDecorator;
|
|
54
|
+
<T>(stringify?: IResponseBodyStringifier<T> | null | undefined): MethodDecorator;
|
|
55
|
+
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | null | undefined): MethodDecorator;
|
|
56
56
|
};
|
|
57
57
|
/**
|
|
58
58
|
* Encrypted router decorator function for the PUT method.
|
|
@@ -62,8 +62,8 @@ export declare namespace EncryptedRoute {
|
|
|
62
62
|
*/
|
|
63
63
|
const Put: {
|
|
64
64
|
(path?: string | string[]): MethodDecorator;
|
|
65
|
-
<T>(stringify?: IResponseBodyStringifier<T> | undefined): MethodDecorator;
|
|
66
|
-
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | undefined): MethodDecorator;
|
|
65
|
+
<T>(stringify?: IResponseBodyStringifier<T> | null | undefined): MethodDecorator;
|
|
66
|
+
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | null | undefined): MethodDecorator;
|
|
67
67
|
};
|
|
68
68
|
/**
|
|
69
69
|
* Encrypted router decorator function for the DELETE method.
|
|
@@ -73,7 +73,7 @@ export declare namespace EncryptedRoute {
|
|
|
73
73
|
*/
|
|
74
74
|
const Delete: {
|
|
75
75
|
(path?: string | string[]): MethodDecorator;
|
|
76
|
-
<T>(stringify?: IResponseBodyStringifier<T> | undefined): MethodDecorator;
|
|
77
|
-
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | undefined): MethodDecorator;
|
|
76
|
+
<T>(stringify?: IResponseBodyStringifier<T> | null | undefined): MethodDecorator;
|
|
77
|
+
<T_1>(path: string | string[], stringify?: IResponseBodyStringifier<T_1> | null | undefined): MethodDecorator;
|
|
78
78
|
};
|
|
79
79
|
}
|
|
@@ -23,6 +23,8 @@ var take = function (method) {
|
|
|
23
23
|
return function (functor) {
|
|
24
24
|
if (functor === undefined)
|
|
25
25
|
throw new Error("Error on nestia.core.".concat(method, "(): no stringify function provided."));
|
|
26
|
+
else if (functor === null)
|
|
27
|
+
return JSON.stringify;
|
|
26
28
|
else if (functor.type === "stringify")
|
|
27
29
|
return functor.stringify;
|
|
28
30
|
else if (functor.type === "assert")
|
|
@@ -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;AAC9D,+BAAoD;AAI7C,IAAM,sBAAsB,GAC/B,UAAC,MAAc;IACf,OAAA;QACI,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAEd,IAAM,IAAI,GACN,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YACrB,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,CAAC,CAAC,IAAI,CAAC;QACf,IAAM,OAAO,GACT,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;AAZD,CAYC,CAAC;AAdO,QAAA,sBAAsB,0BAc7B;AAEN,IAAM,IAAI,GACN,UAAC,MAAc;IACf,OAAA,UAAI,
|
|
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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ITransformOptions } from "typia/lib/transformers/ITransformOptions";
|
|
2
2
|
export interface INestiaTransformOptions extends ITransformOptions {
|
|
3
3
|
validate?: "assert" | "is" | "validate";
|
|
4
|
-
stringify?: "stringify" | "assert" | "is" | "validate";
|
|
4
|
+
stringify?: "stringify" | "assert" | "is" | "validate" | null;
|
|
5
5
|
}
|
|
@@ -92,6 +92,8 @@ var RouteTransformer;
|
|
|
92
92
|
return parameter("assert", AssertStringifyProgrammer_1.AssertStringifyProgrammer.generate);
|
|
93
93
|
else if (project.options.stringify === "validate")
|
|
94
94
|
return parameter("validate", ValidateStringifyProgrammer_1.ValidateStringifyProgrammer.generate);
|
|
95
|
+
else if (project.options.stringify === null)
|
|
96
|
+
return typescript_1.default.factory.createNull();
|
|
95
97
|
return parameter("is", IsStringifyProgrammer_1.IsStringifyProgrammer.generate);
|
|
96
98
|
})();
|
|
97
99
|
// UPDATE DECORATOR FUNCTION CALL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/RouteTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAC5B,6FAA4F;AAC5F,qFAAoF;AACpF,iFAAgF;AAChF,iGAAgG;AAKhG,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"RouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/RouteTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAC5B,6FAA4F;AAC5F,qFAAoF;AACpF,iFAAgF;AAChF,iGAAgG;AAKhG,IAAiB,gBAAgB,CA0HhC;AA1HD,WAAiB,gBAAgB;IAC7B,SAAgB,SAAS,CACrB,OAAgC,EAChC,IAAa,EACb,SAAuB;QAEvB,IAAI,CAAC,oBAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACjE,OAAO,oBAAE,CAAC,OAAO,CAAC,eAAe,CAC7B,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CACjD,CAAC;IACN,CAAC;IATe,0BAAS,YASxB,CAAA;IAED,SAAS,SAAS,CACd,OAAgC,EAChC,IAAa,EACb,UAA6B;QAE7B,MAAM;QACN,cAAc;QACd,MAAM;QACN,kBAAkB;QAClB,IAAM,SAAS,GACX,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QAE5D,0BAA0B;QAC1B,IAAM,IAAI,GAAY,CAAC;YACnB,iBAAiB;YACjB,IAAM,QAAQ,GAAW,cAAI,CAAC,OAAO,CACjC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CACjD,CAAC;YACF,IACI,SAAS,CAAC,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAA5B,CAA4B,CAAC;gBACtD,SAAS,CAAC,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,KAAK,GAAG,EAAhB,CAAgB,CAAC;gBAE1C,OAAO,KAAK,CAAC;YAEjB,0BAA0B;YAC1B,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;iBAC9C,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,IAAM,IAAI,GACN,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1D,IAAM,MAAI,GAAY,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;aACrD;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,UAAU,CAAC;QAEtC,kBAAkB;QAClB,IAAM,QAAQ,GACV,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAE9C,MAAM;QACN,iBAAiB;QACjB,MAAM;QACN,0BAA0B;QAC1B,IAAM,SAAS,GAAG,UACd,GAAW,EACX,UAGwC;YAExC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;gBACrC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACtC;gBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CACnD;aACJ,CAAC;QATF,CASE,CAAC;QACP,IAAM,SAAS,GAAkB,CAAC;YAC9B,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,WAAW;gBACzC,OAAO,SAAS,CAAC,WAAW,EAAE,yCAAmB,CAAC,QAAQ,CAAC,CAAC;iBAC3D,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ;gBAC3C,OAAO,SAAS,CAAC,QAAQ,EAAE,qDAAyB,CAAC,QAAQ,CAAC,CAAC;iBAC9D,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU;gBAC7C,OAAO,SAAS,CACZ,UAAU,EACV,yDAA2B,CAAC,QAAQ,CACvC,CAAC;iBACD,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;gBACvC,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;QAEL,iCAAiC;QACjC,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,UAAU,EACV,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,aAAa,yCACpB,UAAU,CAAC,SAAS,YAAE,SAAS,UACtC,CAAC;IACN,CAAC;IAED,SAAS,QAAQ,CAAC,OAAuB,EAAE,IAAa;QACpD,OAAO,CACH,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7C,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;YACnC,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;YACnC,CAAE,OAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAC1C,CAAC;IACN,CAAC;IAED,IAAM,OAAO,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACjD,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG;QAC9B,OAAA,cAAI,CAAC,IAAI,CACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,KAAK,EACL,YAAY,EACZ,UAAG,GAAG,UAAO,CAChB;IAPD,CAOC,CACJ,CAAC;IACF,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG;QAC9B,OAAA,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAG,GAAG,QAAK,CAAC,CAAC;IAAnE,CAAmE,CACtE,CAAC;AACN,CAAC,EA1HgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA0HhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"typescript": "^4.9.4"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@nestia/fetcher": "^0.
|
|
53
|
+
"@nestia/fetcher": "^1.0.0",
|
|
54
54
|
"@nestjs/common": "*",
|
|
55
55
|
"@nestjs/core": "*",
|
|
56
56
|
"@nestjs/platform-express": "*",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"raw-body": "*",
|
|
59
59
|
"reflect-metadata": "*",
|
|
60
60
|
"rxjs": "*",
|
|
61
|
-
"typia": "^3.4.
|
|
61
|
+
"typia": "^3.4.11"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"ttypescript": ">= 1.5.15",
|
|
@@ -93,11 +93,11 @@ export namespace EncryptedRoute {
|
|
|
93
93
|
function Generator(method: "Get" | "Post" | "Put" | "Patch" | "Delete") {
|
|
94
94
|
function route(path?: string | string[]): MethodDecorator;
|
|
95
95
|
function route<T>(
|
|
96
|
-
stringify?: IResponseBodyStringifier<T
|
|
96
|
+
stringify?: IResponseBodyStringifier<T> | null,
|
|
97
97
|
): MethodDecorator;
|
|
98
98
|
function route<T>(
|
|
99
99
|
path: string | string[],
|
|
100
|
-
stringify?: IResponseBodyStringifier<T
|
|
100
|
+
stringify?: IResponseBodyStringifier<T> | null,
|
|
101
101
|
): MethodDecorator;
|
|
102
102
|
|
|
103
103
|
function route(...args: any[]): MethodDecorator {
|
|
@@ -21,11 +21,12 @@ export const get_path_and_stringify =
|
|
|
21
21
|
|
|
22
22
|
const take =
|
|
23
23
|
(method: string) =>
|
|
24
|
-
<T>(functor?: IResponseBodyStringifier<T>) => {
|
|
24
|
+
<T>(functor?: IResponseBodyStringifier<T> | null) => {
|
|
25
25
|
if (functor === undefined)
|
|
26
26
|
throw new Error(
|
|
27
27
|
`Error on nestia.core.${method}(): no stringify function provided.`,
|
|
28
28
|
);
|
|
29
|
+
else if (functor === null) return JSON.stringify;
|
|
29
30
|
else if (functor.type === "stringify") return functor.stringify;
|
|
30
31
|
else if (functor.type === "assert") return assert(functor.assert);
|
|
31
32
|
else if (functor.type === "is") return is(functor.is);
|
|
@@ -2,5 +2,5 @@ import { ITransformOptions } from "typia/lib/transformers/ITransformOptions";
|
|
|
2
2
|
|
|
3
3
|
export interface INestiaTransformOptions extends ITransformOptions {
|
|
4
4
|
validate?: "assert" | "is" | "validate";
|
|
5
|
-
stringify?: "stringify" | "assert" | "is" | "validate";
|
|
5
|
+
stringify?: "stringify" | "assert" | "is" | "validate" | null;
|
|
6
6
|
}
|
|
@@ -83,7 +83,7 @@ export namespace RouteTransformer {
|
|
|
83
83
|
programmer(project, expression.expression)(type),
|
|
84
84
|
),
|
|
85
85
|
]);
|
|
86
|
-
const stringify: ts.
|
|
86
|
+
const stringify: ts.Expression = (() => {
|
|
87
87
|
if (project.options.stringify === "stringify")
|
|
88
88
|
return parameter("stringify", StringifyProgrammer.generate);
|
|
89
89
|
else if (project.options.stringify === "assert")
|
|
@@ -93,6 +93,8 @@ export namespace RouteTransformer {
|
|
|
93
93
|
"validate",
|
|
94
94
|
ValidateStringifyProgrammer.generate,
|
|
95
95
|
);
|
|
96
|
+
else if (project.options.stringify === null)
|
|
97
|
+
return ts.factory.createNull();
|
|
96
98
|
return parameter("is", IsStringifyProgrammer.generate);
|
|
97
99
|
})();
|
|
98
100
|
|