@nestia/core 2.5.6 → 2.5.7-dev.20240215-2
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/README.md +1 -1
- package/lib/decorators/EncryptedBody.js +3 -0
- package/lib/decorators/EncryptedBody.js.map +1 -1
- package/lib/decorators/EncryptedModule.js +3 -0
- package/lib/decorators/EncryptedModule.js.map +1 -1
- package/lib/decorators/PlainBody.js +3 -0
- package/lib/decorators/PlainBody.js.map +1 -1
- package/lib/decorators/TypedBody.js +3 -0
- package/lib/decorators/TypedBody.js.map +1 -1
- package/lib/decorators/TypedException.d.ts +0 -1
- package/lib/decorators/TypedException.js +0 -1
- package/lib/decorators/TypedException.js.map +1 -1
- package/lib/decorators/TypedFormData.js +9 -0
- package/lib/decorators/TypedFormData.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.js +3 -0
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.d.ts +1 -3
- package/lib/decorators/internal/validate_request_body.js +15 -0
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/decorators/internal/validate_request_form_data.d.ts +1 -3
- package/lib/decorators/internal/validate_request_form_data.js +15 -0
- package/lib/decorators/internal/validate_request_form_data.js.map +1 -1
- package/lib/decorators/internal/validate_request_headers.d.ts +1 -3
- package/lib/decorators/internal/validate_request_headers.js +15 -0
- package/lib/decorators/internal/validate_request_headers.js.map +1 -1
- package/lib/decorators/internal/validate_request_query.d.ts +1 -3
- package/lib/decorators/internal/validate_request_query.js +15 -0
- package/lib/decorators/internal/validate_request_query.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/lib/transformers/TypedExceptionTransformer.js +1 -1
- package/lib/transformers/TypedExceptionTransformer.js.map +1 -1
- package/lib/transformers/TypedRouteTransformer.js +1 -1
- package/lib/transformers/TypedRouteTransformer.js.map +1 -1
- package/package.json +11 -14
- package/src/decorators/EncryptedBody.ts +3 -0
- package/src/decorators/EncryptedModule.ts +3 -0
- package/src/decorators/PlainBody.ts +3 -0
- package/src/decorators/TypedBody.ts +3 -0
- package/src/decorators/TypedException.ts +3 -2
- package/src/decorators/TypedFormData.ts +15 -6
- package/src/decorators/TypedRoute.ts +144 -144
- package/src/decorators/internal/get_path_and_querify.ts +3 -0
- package/src/decorators/internal/load_controller.ts +51 -51
- package/src/decorators/internal/validate_request_body.ts +15 -0
- package/src/decorators/internal/validate_request_form_data.ts +15 -0
- package/src/decorators/internal/validate_request_headers.ts +15 -0
- package/src/decorators/internal/validate_request_query.ts +15 -0
- package/src/transformers/NodeTransformer.ts +16 -16
- package/src/transformers/ParameterDecoratorTransformer.ts +1 -7
- package/src/transformers/TypedExceptionTransformer.ts +0 -1
- package/src/transformers/TypedRouteTransformer.ts +1 -8
|
@@ -4,6 +4,9 @@ import typia, { IValidation, TypeGuardError } from "typia";
|
|
|
4
4
|
import { IRequestQueryValidator } from "../../options/IRequestQueryValidator";
|
|
5
5
|
import { NoTransformConfigureError } from "./NoTransformConfigureError";
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
7
10
|
export const validate_request_query = <T>(
|
|
8
11
|
validator?: IRequestQueryValidator<T>,
|
|
9
12
|
) => {
|
|
@@ -15,6 +18,9 @@ export const validate_request_query = <T>(
|
|
|
15
18
|
new Error(`Error on nestia.core.TypedQuery(): invalid typed validator.`);
|
|
16
19
|
};
|
|
17
20
|
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
18
24
|
const assert =
|
|
19
25
|
<T>(closure: (input: URLSearchParams) => T) =>
|
|
20
26
|
(input: URLSearchParams): T | BadRequestException => {
|
|
@@ -34,6 +40,9 @@ const assert =
|
|
|
34
40
|
}
|
|
35
41
|
};
|
|
36
42
|
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
37
46
|
const is =
|
|
38
47
|
<T>(closure: (input: URLSearchParams) => T | null) =>
|
|
39
48
|
(input: URLSearchParams): T | BadRequestException => {
|
|
@@ -41,6 +50,9 @@ const is =
|
|
|
41
50
|
return result !== null ? result : new BadRequestException(MESSAGE);
|
|
42
51
|
};
|
|
43
52
|
|
|
53
|
+
/**
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
44
56
|
const validate =
|
|
45
57
|
<T>(closure: (input: URLSearchParams) => IValidation<T>) =>
|
|
46
58
|
(input: URLSearchParams): T | BadRequestException => {
|
|
@@ -53,4 +65,7 @@ const validate =
|
|
|
53
65
|
});
|
|
54
66
|
};
|
|
55
67
|
|
|
68
|
+
/**
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
56
71
|
const MESSAGE = "Request query data is not following the promised type.";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
4
|
-
import { MethodTransformer } from "./MethodTransformer";
|
|
5
|
-
import { ParameterTransformer } from "./ParameterTransformer";
|
|
6
|
-
|
|
7
|
-
export namespace NodeTransformer {
|
|
8
|
-
export const transform =
|
|
9
|
-
(project: INestiaTransformProject) =>
|
|
10
|
-
(node: ts.Node): ts.Node =>
|
|
11
|
-
ts.isMethodDeclaration(node)
|
|
12
|
-
? MethodTransformer.transform(project)(node)
|
|
13
|
-
: ts.isParameter(node)
|
|
14
|
-
? ParameterTransformer.transform(project)(node)
|
|
15
|
-
: node;
|
|
16
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
4
|
+
import { MethodTransformer } from "./MethodTransformer";
|
|
5
|
+
import { ParameterTransformer } from "./ParameterTransformer";
|
|
6
|
+
|
|
7
|
+
export namespace NodeTransformer {
|
|
8
|
+
export const transform =
|
|
9
|
+
(project: INestiaTransformProject) =>
|
|
10
|
+
(node: ts.Node): ts.Node =>
|
|
11
|
+
ts.isMethodDeclaration(node)
|
|
12
|
+
? MethodTransformer.transform(project)(node)
|
|
13
|
+
: ts.isParameter(node)
|
|
14
|
+
? ParameterTransformer.transform(project)(node)
|
|
15
|
+
: node;
|
|
16
|
+
}
|
|
@@ -103,13 +103,7 @@ const FUNCTORS: Record<string, Programmer> = {
|
|
|
103
103
|
: [PlainBodyProgrammer.generate(project)(modulo)(type)],
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
const LIB_PATH = path.join(
|
|
107
|
-
"node_modules",
|
|
108
|
-
"@nestia",
|
|
109
|
-
"core",
|
|
110
|
-
"lib",
|
|
111
|
-
"decorators",
|
|
112
|
-
);
|
|
106
|
+
const LIB_PATH = path.join("@nestia", "core", "lib", "decorators");
|
|
113
107
|
const SRC_PATH = path.resolve(path.join(__dirname, "..", "decorators"));
|
|
114
108
|
|
|
115
109
|
const getName = (symbol: ts.Symbol): string => {
|
|
@@ -80,14 +80,7 @@ export namespace TypedRouteTransformer {
|
|
|
80
80
|
|
|
81
81
|
const CLASSES = ["EncryptedRoute", "TypedRoute", "TypedQuery"];
|
|
82
82
|
const LIB_PATHS = CLASSES.map((cla) =>
|
|
83
|
-
path.join(
|
|
84
|
-
"node_modules",
|
|
85
|
-
"@nestia",
|
|
86
|
-
"core",
|
|
87
|
-
"lib",
|
|
88
|
-
"decorators",
|
|
89
|
-
`${cla}.d.ts`,
|
|
90
|
-
),
|
|
83
|
+
path.join("@nestia", "core", "lib", "decorators", `${cla}.d.ts`),
|
|
91
84
|
);
|
|
92
85
|
const SRC_PATHS = CLASSES.map((cla) =>
|
|
93
86
|
path.resolve(path.join(__dirname, "..", "decorators", `${cla}.ts`)),
|