@nestia/core 7.3.1 → 7.3.3
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/DynamicModule.d.ts +3 -2
- package/lib/decorators/DynamicModule.js +3 -2
- package/lib/decorators/DynamicModule.js.map +1 -1
- package/lib/decorators/EncryptedBody.d.ts +11 -11
- package/lib/decorators/EncryptedBody.js +13 -17
- package/lib/decorators/EncryptedBody.js.map +1 -1
- package/lib/decorators/EncryptedController.d.ts +15 -13
- package/lib/decorators/EncryptedController.js +15 -13
- package/lib/decorators/EncryptedController.js.map +1 -1
- package/lib/decorators/EncryptedModule.d.ts +22 -22
- package/lib/decorators/EncryptedModule.js +23 -25
- package/lib/decorators/EncryptedModule.js.map +1 -1
- package/lib/decorators/EncryptedRoute.d.ts +20 -20
- package/lib/decorators/EncryptedRoute.js +23 -29
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/HumanRoute.d.ts +3 -3
- package/lib/decorators/HumanRoute.js +3 -3
- package/lib/decorators/NoTransformConfigurationError.d.ts +10 -8
- package/lib/decorators/NoTransformConfigurationError.js +10 -8
- package/lib/decorators/NoTransformConfigurationError.js.map +1 -1
- package/lib/decorators/PlainBody.d.ts +7 -6
- package/lib/decorators/PlainBody.js +2 -6
- package/lib/decorators/PlainBody.js.map +1 -1
- package/lib/decorators/SwaggerCustomizer.d.ts +12 -30
- package/lib/decorators/SwaggerCustomizer.js +3 -3
- package/lib/decorators/TypedBody.d.ts +7 -7
- package/lib/decorators/TypedBody.js +8 -10
- package/lib/decorators/TypedBody.js.map +1 -1
- package/lib/decorators/TypedException.d.ts +41 -58
- package/lib/decorators/TypedException.js +1 -3
- package/lib/decorators/TypedException.js.map +1 -1
- package/lib/decorators/TypedFormData.d.ts +16 -16
- package/lib/decorators/TypedFormData.js +17 -23
- package/lib/decorators/TypedFormData.js.map +1 -1
- package/lib/decorators/TypedHeaders.d.ts +27 -25
- package/lib/decorators/TypedHeaders.js +27 -25
- package/lib/decorators/TypedHeaders.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +5 -5
- package/lib/decorators/TypedParam.js +5 -5
- package/lib/decorators/TypedQuery.d.ts +7 -6
- package/lib/decorators/TypedQuery.js +13 -24
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.d.ts +24 -34
- package/lib/decorators/TypedRoute.js +19 -28
- package/lib/decorators/TypedRoute.js.map +1 -1
- package/lib/decorators/WebSocketRoute.d.ts +33 -31
- package/lib/decorators/WebSocketRoute.js +34 -34
- package/lib/decorators/WebSocketRoute.js.map +1 -1
- package/lib/decorators/internal/EncryptedConstant.js +1 -3
- package/lib/decorators/internal/EncryptedConstant.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.js +7 -21
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
- package/lib/decorators/internal/get_path_and_stringify.js +6 -18
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/decorators/internal/get_text_body.js +2 -6
- package/lib/decorators/internal/get_text_body.js.map +1 -1
- package/lib/decorators/internal/headers_to_object.js +1 -3
- package/lib/decorators/internal/headers_to_object.js.map +1 -1
- package/lib/decorators/internal/is_request_body_undefined.js +1 -3
- package/lib/decorators/internal/is_request_body_undefined.js.map +1 -1
- package/lib/decorators/internal/load_controller.js +3 -7
- package/lib/decorators/internal/load_controller.js.map +1 -1
- package/lib/decorators/internal/route_error.js +1 -3
- package/lib/decorators/internal/route_error.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.js +5 -15
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/decorators/internal/validate_request_form_data.js +5 -15
- package/lib/decorators/internal/validate_request_form_data.js.map +1 -1
- package/lib/decorators/internal/validate_request_headers.js +5 -15
- package/lib/decorators/internal/validate_request_headers.js.map +1 -1
- package/lib/decorators/internal/validate_request_query.js +5 -15
- package/lib/decorators/internal/validate_request_query.js.map +1 -1
- package/lib/utils/ExceptionManager.d.ts +27 -20
- package/lib/utils/ExceptionManager.js +20 -20
- package/lib/utils/ExceptionManager.js.map +1 -1
- package/lib/utils/Singleton.js +2 -6
- package/lib/utils/Singleton.js.map +1 -1
- package/package.json +6 -6
- package/src/decorators/DynamicModule.ts +3 -2
- package/src/decorators/EncryptedBody.ts +13 -17
- package/src/decorators/EncryptedController.ts +15 -13
- package/src/decorators/EncryptedModule.ts +23 -25
- package/src/decorators/EncryptedRoute.ts +23 -29
- package/src/decorators/HumanRoute.ts +3 -3
- package/src/decorators/NoTransformConfigurationError.ts +10 -8
- package/src/decorators/PlainBody.ts +9 -12
- package/src/decorators/SwaggerCustomizer.ts +12 -30
- package/src/decorators/TypedBody.ts +8 -10
- package/src/decorators/TypedException.ts +42 -61
- package/src/decorators/TypedFormData.ts +34 -34
- package/src/decorators/TypedHeaders.ts +27 -25
- package/src/decorators/TypedParam.ts +5 -5
- package/src/decorators/TypedQuery.ts +13 -24
- package/src/decorators/TypedRoute.ts +28 -46
- package/src/decorators/WebSocketRoute.ts +34 -34
- package/src/decorators/internal/EncryptedConstant.ts +1 -3
- package/src/decorators/internal/get_path_and_querify.ts +7 -21
- package/src/decorators/internal/get_path_and_stringify.ts +6 -18
- package/src/decorators/internal/get_text_body.ts +2 -6
- package/src/decorators/internal/headers_to_object.ts +1 -3
- package/src/decorators/internal/is_request_body_undefined.ts +1 -3
- package/src/decorators/internal/load_controller.ts +3 -7
- package/src/decorators/internal/route_error.ts +1 -3
- package/src/decorators/internal/validate_request_body.ts +5 -15
- package/src/decorators/internal/validate_request_form_data.ts +5 -15
- package/src/decorators/internal/validate_request_headers.ts +5 -15
- package/src/decorators/internal/validate_request_query.ts +5 -15
- package/src/utils/ExceptionManager.ts +29 -26
- package/src/utils/Singleton.ts +2 -6
|
@@ -17,17 +17,19 @@ function NoTransformConfigurationError(method) {
|
|
|
17
17
|
* If you set this value to `false`, {@link NoTransformConfigurationError} will
|
|
18
18
|
* not throw an error.
|
|
19
19
|
*
|
|
20
|
-
* Even if you've not configured the plugin transformer of `tsconfig.json`
|
|
21
|
-
* the error will not be thrown and the program will be continued.
|
|
22
|
-
* validations and assertions will be skipped and the value
|
|
23
|
-
* Furthermore, unexpected behaviors may occur.
|
|
20
|
+
* Even if you've not configured the plugin transformer of `tsconfig.json`
|
|
21
|
+
* file, the error will not be thrown and the program will be continued.
|
|
22
|
+
* Instead, every validations and assertions will be skipped and the value
|
|
23
|
+
* will be returned as it is. Furthermore, unexpected behaviors may occur.
|
|
24
24
|
*
|
|
25
25
|
* Therefore, it is not recommended to set this value to `false` in production
|
|
26
|
-
* environment. Configure this value to be `false` only when you're debugging
|
|
26
|
+
* environment. Configure this value to be `false` only when you're debugging
|
|
27
|
+
* or testing.
|
|
27
28
|
*
|
|
28
|
-
* By the way, if you hope the `false` value to be set, you have to do it
|
|
29
|
-
* If you configure the `false` value after the
|
|
30
|
-
* composed, the value will not be
|
|
29
|
+
* By the way, if you hope the `false` value to be set, you have to do it
|
|
30
|
+
* before the first. If you configure the `false` value after the
|
|
31
|
+
* `@nestia/core` decorator functions are composed, the value will not be
|
|
32
|
+
* applied and the error will be thrown.
|
|
31
33
|
*/
|
|
32
34
|
NoTransformConfigurationError.throws = true;
|
|
33
35
|
})(NoTransformConfigurationError || (exports.NoTransformConfigurationError = NoTransformConfigurationError = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoTransformConfigurationError.js","sourceRoot":"","sources":["../../src/decorators/NoTransformConfigurationError.ts"],"names":[],"mappings":";;AAAA,sEAUC;AAVD,SAAgB,6BAA6B,CAAC,MAAc;IAC1D,IAAI,6BAA6B,CAAC,MAAM,KAAK,IAAI;QAC/C,MAAM,IAAI,KAAK,CACb;YACE,wBAAwB,MAAM,uCAAuC;YACrE,6GAA6G;YAC7G,6GAA6G;SAC9G,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,OAAO,SAAkB,CAAC;AAC5B,CAAC;AACD,WAAiB,6BAA6B;IAC5C
|
|
1
|
+
{"version":3,"file":"NoTransformConfigurationError.js","sourceRoot":"","sources":["../../src/decorators/NoTransformConfigurationError.ts"],"names":[],"mappings":";;AAAA,sEAUC;AAVD,SAAgB,6BAA6B,CAAC,MAAc;IAC1D,IAAI,6BAA6B,CAAC,MAAM,KAAK,IAAI;QAC/C,MAAM,IAAI,KAAK,CACb;YACE,wBAAwB,MAAM,uCAAuC;YACrE,6GAA6G;YAC7G,6GAA6G;SAC9G,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,OAAO,SAAkB,CAAC;AAC5B,CAAC;AACD,WAAiB,6BAA6B;IAC5C;;;;;;;;;;;;;;;;;;;OAmBG;IACQ,oCAAM,GAAG,IAAI,CAAC;AAC3B,CAAC,EAtBgB,6BAA6B,6CAA7B,6BAA6B,QAsB7C"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Plain body decorator.
|
|
3
3
|
*
|
|
4
|
-
* `PlainBody` is a decorator function getting full body text from the HTTP
|
|
4
|
+
* `PlainBody` is a decorator function getting full body text from the HTTP
|
|
5
|
+
* request.
|
|
5
6
|
*
|
|
6
|
-
* If you adjust the regular {@link Body} decorator function to the body
|
|
7
|
-
* you can't get the full body text because the {@link Body} tries to
|
|
8
|
-
* body text to JSON object. Therefore, `@nestia/core` provides this
|
|
9
|
-
* decorator function to get the full body text.
|
|
7
|
+
* If you adjust the regular {@link Body} decorator function to the body
|
|
8
|
+
* parameter, you can't get the full body text because the {@link Body} tries to
|
|
9
|
+
* convert the body text to JSON object. Therefore, `@nestia/core` provides this
|
|
10
|
+
* `PlainBody` decorator function to get the full body text.
|
|
10
11
|
*
|
|
11
12
|
* ```typescript
|
|
12
13
|
* \@TypedRoute.Post("memo")
|
|
@@ -16,7 +17,7 @@
|
|
|
16
17
|
* ): void;
|
|
17
18
|
* ```
|
|
18
19
|
*
|
|
19
|
-
* @return Parameter decorator
|
|
20
20
|
* @author Jeongho Nam - https://github.com/samchon
|
|
21
|
+
* @returns Parameter decorator
|
|
21
22
|
*/
|
|
22
23
|
export declare function PlainBody(): ParameterDecorator;
|
|
@@ -14,9 +14,7 @@ const common_1 = require("@nestjs/common");
|
|
|
14
14
|
const get_text_body_1 = require("./internal/get_text_body");
|
|
15
15
|
const is_request_body_undefined_1 = require("./internal/is_request_body_undefined");
|
|
16
16
|
const validate_request_body_1 = require("./internal/validate_request_body");
|
|
17
|
-
/**
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
17
|
+
/** @internal */
|
|
20
18
|
function PlainBody(assert) {
|
|
21
19
|
const checker = assert
|
|
22
20
|
? (0, validate_request_body_1.validate_request_body)("PlainBody")({
|
|
@@ -44,9 +42,7 @@ function PlainBody(assert) {
|
|
|
44
42
|
});
|
|
45
43
|
})();
|
|
46
44
|
}
|
|
47
|
-
/**
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
45
|
+
/** @internal */
|
|
50
46
|
const isTextPlain = (text) => text !== undefined &&
|
|
51
47
|
text
|
|
52
48
|
.split(";")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainBody.js","sourceRoot":"","sources":["../../src/decorators/PlainBody.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"PlainBody.js","sourceRoot":"","sources":["../../src/decorators/PlainBody.ts"],"names":[],"mappings":";;;;;;;;;;;AAqCA,8BA8BC;AAnED,2CAIwB;AAIxB,4DAAyD;AACzD,oFAAiF;AACjF,4EAAyE;AA0BzE,gBAAgB;AAChB,SAAgB,SAAS,CACvB,MAAmC;IAEnC,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC;YACjC,IAAI,EAAE,QAAQ;YACd,MAAM;SACP,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,IAAA,6BAAoB,EAAC,SAAe,SAAS,CAClD,KAAU,EACV,OAAyB;;YAEzB,MAAM,OAAO,GAAqC,OAAO;iBACtD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAChB,IACE,IAAA,qDAAyB,EAAC,OAAO,CAAC;gBAClC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAgB,CAAC,KAAK,IAAI;gBAEpD,OAAO,SAAS,CAAC;iBACd,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACpD,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAW,MAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAiB,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,KAAK,CAAC;YAClC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA,CAAC,EAAE,CAAC;AACP,CAAC;AAED,gBAAgB;AAChB,MAAM,WAAW,GAAG,CAAC,IAAa,EAAW,EAAE,CAC7C,IAAI,KAAK,SAAS;IAClB,IAAI;SACD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACxB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC"}
|
|
@@ -6,12 +6,12 @@ import { OpenApi } from "@samchon/openapi";
|
|
|
6
6
|
* customizing the swagger data with `npx nestia swagger` command. Furthermore,
|
|
7
7
|
* it is possible to add plugin properties starting with `x-` characters.
|
|
8
8
|
*
|
|
9
|
-
* In other words, this decorator function does not affect to the runtime,
|
|
10
|
-
*
|
|
9
|
+
* In other words, this decorator function does not affect to the runtime, but
|
|
10
|
+
* only for the swagger data customization.
|
|
11
11
|
*
|
|
12
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
12
13
|
* @param closure Callback function which can customize the swagger data
|
|
13
14
|
* @returns Method decorator
|
|
14
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
15
15
|
*/
|
|
16
16
|
export declare function SwaggerCustomizer(closure: (props: SwaggerCustomizer.IProps) => unknown): MethodDecorator;
|
|
17
17
|
export declare namespace SwaggerCustomizer {
|
|
@@ -23,21 +23,13 @@ export declare namespace SwaggerCustomizer {
|
|
|
23
23
|
* the swagger data.
|
|
24
24
|
*/
|
|
25
25
|
interface IProps {
|
|
26
|
-
/**
|
|
27
|
-
* Swagger data.
|
|
28
|
-
*/
|
|
26
|
+
/** Swagger data. */
|
|
29
27
|
swagger: OpenApi.IDocument;
|
|
30
|
-
/**
|
|
31
|
-
* Method of the route.
|
|
32
|
-
*/
|
|
28
|
+
/** Method of the route. */
|
|
33
29
|
method: string;
|
|
34
|
-
/**
|
|
35
|
-
* Path of the route.
|
|
36
|
-
*/
|
|
30
|
+
/** Path of the route. */
|
|
37
31
|
path: string;
|
|
38
|
-
/**
|
|
39
|
-
* Route data.
|
|
40
|
-
*/
|
|
32
|
+
/** Route data. */
|
|
41
33
|
route: OpenApi.IOperation;
|
|
42
34
|
/**
|
|
43
35
|
* Get neighbor endpoint data through the controller method.
|
|
@@ -54,26 +46,16 @@ export declare namespace SwaggerCustomizer {
|
|
|
54
46
|
*/
|
|
55
47
|
get(accessor: IAccessor): OpenApi.IOperation | undefined;
|
|
56
48
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Accessor for getting neighbor route data.
|
|
59
|
-
*/
|
|
49
|
+
/** Accessor for getting neighbor route data. */
|
|
60
50
|
interface IAccessor {
|
|
61
|
-
/**
|
|
62
|
-
* Path of the neighbor route.
|
|
63
|
-
*/
|
|
51
|
+
/** Path of the neighbor route. */
|
|
64
52
|
path: string;
|
|
65
|
-
/**
|
|
66
|
-
* Method of the neighbor route.
|
|
67
|
-
*/
|
|
53
|
+
/** Method of the neighbor route. */
|
|
68
54
|
method: string;
|
|
69
55
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Endpoint info of the route.
|
|
72
|
-
*/
|
|
56
|
+
/** Endpoint info of the route. */
|
|
73
57
|
interface ISwaggerEndpoint extends IAccessor {
|
|
74
|
-
/**
|
|
75
|
-
* Route data.
|
|
76
|
-
*/
|
|
58
|
+
/** Route data. */
|
|
77
59
|
route: OpenApi.IOperation;
|
|
78
60
|
}
|
|
79
61
|
}
|
|
@@ -8,12 +8,12 @@ exports.SwaggerCustomizer = SwaggerCustomizer;
|
|
|
8
8
|
* customizing the swagger data with `npx nestia swagger` command. Furthermore,
|
|
9
9
|
* it is possible to add plugin properties starting with `x-` characters.
|
|
10
10
|
*
|
|
11
|
-
* In other words, this decorator function does not affect to the runtime,
|
|
12
|
-
*
|
|
11
|
+
* In other words, this decorator function does not affect to the runtime, but
|
|
12
|
+
* only for the swagger data customization.
|
|
13
13
|
*
|
|
14
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
14
15
|
* @param closure Callback function which can customize the swagger data
|
|
15
16
|
* @returns Method decorator
|
|
16
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
17
17
|
*/
|
|
18
18
|
function SwaggerCustomizer(closure) {
|
|
19
19
|
return function SwaggerCustomizer(target, propertyKey, descriptor) {
|
|
@@ -2,15 +2,15 @@ import { IRequestBodyValidator } from "../options/IRequestBodyValidator";
|
|
|
2
2
|
/**
|
|
3
3
|
* Type safe body decorator.
|
|
4
4
|
*
|
|
5
|
-
* `TypedBody` is a decorator function getting `application/json` typed data
|
|
6
|
-
* request body. Also, it validates the request body data type through
|
|
7
|
-
* [typia](https://github.com/samchon/typia) and the validation speed is
|
|
8
|
-
*
|
|
5
|
+
* `TypedBody` is a decorator function getting `application/json` typed data
|
|
6
|
+
* from request body. Also, it validates the request body data type through
|
|
7
|
+
* [typia](https://github.com/samchon/typia) and the validation speed is maximum
|
|
8
|
+
* 20,000x times faster than `class-validator`.
|
|
9
9
|
*
|
|
10
|
-
* For reference, when the request body data is not following the promised type
|
|
11
|
-
* `BadRequestException` error (status code: 400) would be thrown.
|
|
10
|
+
* For reference, when the request body data is not following the promised type
|
|
11
|
+
* `T`, `BadRequestException` error (status code: 400) would be thrown.
|
|
12
12
|
*
|
|
13
|
-
* @param validator Custom validator if required. Default is `typia.assert()`
|
|
14
13
|
* @author Jeongho Nam - https://github.com/samchon
|
|
14
|
+
* @param validator Custom validator if required. Default is `typia.assert()`
|
|
15
15
|
*/
|
|
16
16
|
export declare function TypedBody<T>(validator?: IRequestBodyValidator<T>): ParameterDecorator;
|
|
@@ -7,16 +7,16 @@ const validate_request_body_1 = require("./internal/validate_request_body");
|
|
|
7
7
|
/**
|
|
8
8
|
* Type safe body decorator.
|
|
9
9
|
*
|
|
10
|
-
* `TypedBody` is a decorator function getting `application/json` typed data
|
|
11
|
-
* request body. Also, it validates the request body data type through
|
|
12
|
-
* [typia](https://github.com/samchon/typia) and the validation speed is
|
|
13
|
-
*
|
|
10
|
+
* `TypedBody` is a decorator function getting `application/json` typed data
|
|
11
|
+
* from request body. Also, it validates the request body data type through
|
|
12
|
+
* [typia](https://github.com/samchon/typia) and the validation speed is maximum
|
|
13
|
+
* 20,000x times faster than `class-validator`.
|
|
14
14
|
*
|
|
15
|
-
* For reference, when the request body data is not following the promised type
|
|
16
|
-
* `BadRequestException` error (status code: 400) would be thrown.
|
|
15
|
+
* For reference, when the request body data is not following the promised type
|
|
16
|
+
* `T`, `BadRequestException` error (status code: 400) would be thrown.
|
|
17
17
|
*
|
|
18
|
-
* @param validator Custom validator if required. Default is `typia.assert()`
|
|
19
18
|
* @author Jeongho Nam - https://github.com/samchon
|
|
19
|
+
* @param validator Custom validator if required. Default is `typia.assert()`
|
|
20
20
|
*/
|
|
21
21
|
function TypedBody(validator) {
|
|
22
22
|
const checker = (0, validate_request_body_1.validate_request_body)("TypedBody")(validator);
|
|
@@ -34,9 +34,7 @@ function TypedBody(validator) {
|
|
|
34
34
|
return request.body;
|
|
35
35
|
})();
|
|
36
36
|
}
|
|
37
|
-
/**
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
37
|
+
/** @internal */
|
|
40
38
|
const isApplicationJson = (text) => text !== undefined &&
|
|
41
39
|
text
|
|
42
40
|
.split(";")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedBody.js","sourceRoot":"","sources":["../../src/decorators/TypedBody.ts"],"names":[],"mappings":";;AA0BA,8BAsBC;AAhDD,2CAIwB;AAKxB,oFAAiF;AACjF,4EAAyE;AAEzE;;;;;;;;;;;;;GAaG;AACH,SAAgB,SAAS,CACvB,SAAoC;IAEpC,MAAM,OAAO,GAAG,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,IAAA,6BAAoB,EAAC,SAAS,SAAS,CAC5C,QAAa,EACb,OAAyB;QAEzB,MAAM,OAAO,GAAqC,OAAO;aACtD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAChB,IAAI,IAAA,qDAAyB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAc,CAAC,KAAK,IAAI;YACxE,OAAO,SAAS,CAAC;aACd,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK;YACnE,MAAM,IAAI,4BAAmB,CAC3B,8CAA8C,CAC/C,CAAC;QAEJ,MAAM,KAAK,GAAiB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC;QAChC,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"TypedBody.js","sourceRoot":"","sources":["../../src/decorators/TypedBody.ts"],"names":[],"mappings":";;AA0BA,8BAsBC;AAhDD,2CAIwB;AAKxB,oFAAiF;AACjF,4EAAyE;AAEzE;;;;;;;;;;;;;GAaG;AACH,SAAgB,SAAS,CACvB,SAAoC;IAEpC,MAAM,OAAO,GAAG,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,IAAA,6BAAoB,EAAC,SAAS,SAAS,CAC5C,QAAa,EACb,OAAyB;QAEzB,MAAM,OAAO,GAAqC,OAAO;aACtD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAChB,IAAI,IAAA,qDAAyB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAc,CAAC,KAAK,IAAI;YACxE,OAAO,SAAS,CAAC;aACd,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK;YACnE,MAAM,IAAI,4BAAmB,CAC3B,8CAA8C,CAC/C,CAAC;QAEJ,MAAM,KAAK,GAAiB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC;QAChC,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,gBAAgB;AAChB,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAW,EAAE,CACnD,IAAI,KAAK,SAAS;IAClB,IAAI;SACD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACxB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC"}
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Exception decorator.
|
|
5
5
|
*
|
|
6
|
-
* `TypedException` is a decorator function describing HTTP exception and its
|
|
7
|
-
* which could be occurred in the method.
|
|
6
|
+
* `TypedException` is a decorator function describing HTTP exception and its
|
|
7
|
+
* type which could be occurred in the method.
|
|
8
8
|
*
|
|
9
|
-
* For reference, this decorator function does not affect to the method's
|
|
10
|
-
* but only affects to the swagger documents generation. Also, it does
|
|
11
|
-
* the SDK library generation yet, but will be used in the
|
|
9
|
+
* For reference, this decorator function does not affect to the method's
|
|
10
|
+
* behavior, but only affects to the swagger documents generation. Also, it does
|
|
11
|
+
* not affect to the SDK library generation yet, but will be used in the
|
|
12
|
+
* future.
|
|
12
13
|
*
|
|
14
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
13
15
|
* @param props Properties for the exception
|
|
14
16
|
* @returns Method decorator
|
|
15
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
16
17
|
*/
|
|
17
18
|
export declare function TypedException(props: TypedException.IProps<unknown>): never;
|
|
18
19
|
/**
|
|
@@ -20,96 +21,78 @@ export declare function TypedException(props: TypedException.IProps<unknown>): n
|
|
|
20
21
|
*
|
|
21
22
|
* Exception decorator.
|
|
22
23
|
*
|
|
23
|
-
* `TypedException` is a decorator function describing HTTP exception and its
|
|
24
|
-
* which could be occurred in the method.
|
|
24
|
+
* `TypedException` is a decorator function describing HTTP exception and its
|
|
25
|
+
* type which could be occurred in the method.
|
|
25
26
|
*
|
|
26
|
-
* For reference, this decorator function does not affect to the method's
|
|
27
|
-
* but only affects to the swagger documents generation. Also, it does
|
|
28
|
-
* the SDK library generation yet, but will be used in the
|
|
27
|
+
* For reference, this decorator function does not affect to the method's
|
|
28
|
+
* behavior, but only affects to the swagger documents generation. Also, it does
|
|
29
|
+
* not affect to the SDK library generation yet, but will be used in the
|
|
30
|
+
* future.
|
|
29
31
|
*
|
|
32
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
33
|
+
* @deprecated Use {@link TypedException.IProps} typed function instead. This
|
|
34
|
+
* typed function is deprecated and will be removed in the next major update.
|
|
30
35
|
* @param status Status number or pattern like "2XX", "3XX", "4XX", "5XX"
|
|
31
36
|
* @param description Description about the exception
|
|
32
37
|
* @returns Method decorator
|
|
33
|
-
*
|
|
34
|
-
* @deprecated Use {@link TypedException.IProps} typed function instead.
|
|
35
|
-
* This typed function is deprecated and will be removed in the next major update.
|
|
36
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
37
38
|
*/
|
|
38
39
|
export declare function TypedException(status: number | "2XX" | "3XX" | "4XX" | "5XX", description?: string | undefined): never;
|
|
39
40
|
/**
|
|
40
41
|
* Exception decorator.
|
|
41
42
|
*
|
|
42
|
-
* `TypedException` is a decorator function describing HTTP exception and its
|
|
43
|
-
* which could be occurred in the method.
|
|
43
|
+
* `TypedException` is a decorator function describing HTTP exception and its
|
|
44
|
+
* type which could be occurred in the method.
|
|
44
45
|
*
|
|
45
|
-
* For reference, this decorator function does not affect to the method's
|
|
46
|
-
* but only affects to the swagger documents generation. Also, it does
|
|
47
|
-
* the SDK library generation yet, but will be used in the
|
|
46
|
+
* For reference, this decorator function does not affect to the method's
|
|
47
|
+
* behavior, but only affects to the swagger documents generation. Also, it does
|
|
48
|
+
* not affect to the SDK library generation yet, but will be used in the
|
|
49
|
+
* future.
|
|
48
50
|
*
|
|
51
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
49
52
|
* @template T Type of the exception
|
|
50
53
|
* @param props Properties for the exception
|
|
51
54
|
* @returns Method decorator
|
|
52
|
-
*
|
|
53
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
54
55
|
*/
|
|
55
56
|
export declare function TypedException<T>(props: TypedException.IProps<T>): MethodDecorator;
|
|
56
57
|
/**
|
|
57
58
|
* Exception decorator.
|
|
58
59
|
*
|
|
59
|
-
* `TypedException` is a decorator function describing HTTP exception and its
|
|
60
|
-
* which could be occurred in the method.
|
|
60
|
+
* `TypedException` is a decorator function describing HTTP exception and its
|
|
61
|
+
* type which could be occurred in the method.
|
|
61
62
|
*
|
|
62
|
-
* For reference, this decorator function does not affect to the method's
|
|
63
|
-
* but only affects to the swagger documents generation. Also, it does
|
|
64
|
-
* the SDK library generation yet, but will be used in the
|
|
63
|
+
* For reference, this decorator function does not affect to the method's
|
|
64
|
+
* behavior, but only affects to the swagger documents generation. Also, it does
|
|
65
|
+
* not affect to the SDK library generation yet, but will be used in the
|
|
66
|
+
* future.
|
|
65
67
|
*
|
|
68
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
69
|
+
* @deprecated Use {@link TypedException.IProps} typed function instead. This
|
|
70
|
+
* typed function is deprecated and will be removed in the next major update.
|
|
66
71
|
* @template T Type of the exception
|
|
67
72
|
* @param status Status number or pattern like "2XX", "3XX", "4XX", "5XX"
|
|
68
73
|
* @param description Description about the exception
|
|
69
74
|
* @returns Method decorator
|
|
70
|
-
*
|
|
71
|
-
* @deprecated Use {@link TypedException.IProps} typed function instead.
|
|
72
|
-
* This typed function is deprecated and will be removed in the next major update.
|
|
73
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
74
75
|
*/
|
|
75
76
|
export declare function TypedException<T>(status: number | "2XX" | "3XX" | "4XX" | "5XX", description?: string | undefined): MethodDecorator;
|
|
76
77
|
export declare namespace TypedException {
|
|
77
|
-
/**
|
|
78
|
-
* Properties for the exception.
|
|
79
|
-
*/
|
|
78
|
+
/** Properties for the exception. */
|
|
80
79
|
interface IProps<T> {
|
|
81
|
-
/**
|
|
82
|
-
* Status number or pattern like "2XX", "3XX", "4XX", "5XX".
|
|
83
|
-
*/
|
|
80
|
+
/** Status number or pattern like "2XX", "3XX", "4XX", "5XX". */
|
|
84
81
|
status: number | "2XX" | "3XX" | "4XX" | "5XX";
|
|
85
|
-
/**
|
|
86
|
-
* Description about the exception.
|
|
87
|
-
*/
|
|
82
|
+
/** Description about the exception. */
|
|
88
83
|
description?: string | undefined;
|
|
89
|
-
/**
|
|
90
|
-
* Example value.
|
|
91
|
-
*/
|
|
84
|
+
/** Example value. */
|
|
92
85
|
example?: T | undefined;
|
|
93
|
-
/**
|
|
94
|
-
* Collection of examples for the exception.
|
|
95
|
-
*/
|
|
86
|
+
/** Collection of examples for the exception. */
|
|
96
87
|
examples?: Record<string, IExample<T>> | undefined;
|
|
97
88
|
}
|
|
98
|
-
/**
|
|
99
|
-
* Metadata collected in the {@link IProps.examples}.
|
|
100
|
-
*/
|
|
89
|
+
/** Metadata collected in the {@link IProps.examples}. */
|
|
101
90
|
interface IExample<T> {
|
|
102
|
-
/**
|
|
103
|
-
* Summary of the example.
|
|
104
|
-
*/
|
|
91
|
+
/** Summary of the example. */
|
|
105
92
|
summary?: string | undefined;
|
|
106
|
-
/**
|
|
107
|
-
* Description of the example.
|
|
108
|
-
*/
|
|
93
|
+
/** Description of the example. */
|
|
109
94
|
description?: string | undefined;
|
|
110
|
-
/**
|
|
111
|
-
* Value of the example.
|
|
112
|
-
*/
|
|
95
|
+
/** Value of the example. */
|
|
113
96
|
value: T;
|
|
114
97
|
}
|
|
115
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedException.js","sourceRoot":"","sources":["../../src/decorators/TypedException.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"TypedException.js","sourceRoot":"","sources":["../../src/decorators/TypedException.ts"],"names":[],"mappings":";;AAyFA,wCA6BC;AA9BD,gBAAgB;AAChB,SAAgB,cAAc,CAAI,GAAG,IAAW;IAC9C,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QACzB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,SAAS,cAAc,CAC5B,MAAkB,EAClB,WAA4B,EAC5B,UAAwC;QAExC,MAAM,KAAK,GAAiC,CAAC,GAAG,EAAE;YAChD,MAAM,MAAM,GACV,OAAO,CAAC,WAAW,CACjB,uBAAuB,EACtB,MAAc,CAAC,WAAW,CAAC,CAC7B,CAAC;YACJ,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAExC,MAAM,MAAM,GAAiC,EAAE,CAAC;YAChD,OAAO,CAAC,cAAc,CACpB,uBAAuB,EACvB,MAAM,EACL,MAAc,CAAC,WAAW,CAAC,CAC7B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,EAAE,CAAC;QACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -5,32 +5,34 @@
|
|
|
5
5
|
* `multipart/form-data` content type. It automatically casts property type
|
|
6
6
|
* following its DTO definition, and performs the type validation too.
|
|
7
7
|
*
|
|
8
|
-
* Also, `TypedFormData.Body()` is much easier and type safer than
|
|
9
|
-
* If you're considering the [SDK
|
|
10
|
-
*
|
|
8
|
+
* Also, `TypedFormData.Body()` is much easier and type safer than
|
|
9
|
+
* `@nest.UploadFile()`. If you're considering the [SDK
|
|
10
|
+
* library](https://nestia.io/docs/sdk/sdk) generation, only
|
|
11
|
+
* `TypedFormData.Body()` can do it. Therefore, I recommend you to use
|
|
11
12
|
* `TypedFormData.Body()` instead of the `@nest.UploadFile()` function.
|
|
12
13
|
*
|
|
13
|
-
* For reference, target type `T` must follow such restriction. Of course, if
|
|
14
|
-
* form-data values are different with their promised type `T`,
|
|
14
|
+
* For reference, target type `T` must follow such restriction. Of course, if
|
|
15
|
+
* actual form-data values are different with their promised type `T`,
|
|
15
16
|
* `BadRequestException` error (status code: 400) would be thrown.
|
|
16
17
|
*
|
|
17
18
|
* 1. Type `T` must be an object type
|
|
18
19
|
* 2. Do not allow dynamic property
|
|
19
|
-
* 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
|
|
20
|
+
* 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
|
|
21
|
+
* types are allowed
|
|
20
22
|
* 4. By the way, union type never be not allowed
|
|
21
23
|
*
|
|
22
|
-
* By the way, if you're using `fastify`, you have to setup `fastify-multer`
|
|
23
|
-
*
|
|
24
|
+
* By the way, if you're using `fastify`, you have to setup `fastify-multer` and
|
|
25
|
+
* configure like below when composing the NestJS application. If you don't do
|
|
24
26
|
* that, `@TypedFormData.Body()` will not work properly, and throw 500 internal
|
|
25
27
|
* server error when `Blob` or `File` type being utilized.
|
|
26
28
|
*
|
|
27
29
|
* ```typescript
|
|
28
|
-
* import fastifyMulter from "fastify-multer";
|
|
29
30
|
* import { NestFactory } from "@nestjs/core";
|
|
30
31
|
* import {
|
|
31
32
|
* FastifyAdapter,
|
|
32
|
-
* NestFastifyApplication
|
|
33
|
+
* NestFastifyApplication,
|
|
33
34
|
* } from "@nestjs/platform-fastify";
|
|
35
|
+
* import fastifyMulter from "fastify-multer";
|
|
34
36
|
*
|
|
35
37
|
* export async function main() {
|
|
36
38
|
* const app = await NestFactory.create<NestFastifyApplication>(
|
|
@@ -42,8 +44,8 @@
|
|
|
42
44
|
* }
|
|
43
45
|
* ```
|
|
44
46
|
*
|
|
45
|
-
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
46
47
|
* @author Jeongho Nam - https://github.com/samchon
|
|
48
|
+
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
47
49
|
*/
|
|
48
50
|
export declare namespace TypedFormData {
|
|
49
51
|
/**
|
|
@@ -54,13 +56,11 @@ export declare namespace TypedFormData {
|
|
|
54
56
|
* Much easier and type safer than `@nest.UploadFile()` decorator.
|
|
55
57
|
*
|
|
56
58
|
* @param factory Factory function ncreating the `multer` or `fastify-multer`
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
+
* instance. In the factory function, you also can specify the multer
|
|
60
|
+
* composition options like `storage` engine.
|
|
59
61
|
*/
|
|
60
62
|
function Body<Multer extends IMulterBase>(factory: () => Multer | Promise<Multer>): ParameterDecorator;
|
|
61
|
-
/**
|
|
62
|
-
* Base type of the `multer` or `fastify-multer`.
|
|
63
|
-
*/
|
|
63
|
+
/** Base type of the `multer` or `fastify-multer`. */
|
|
64
64
|
interface IMulterBase {
|
|
65
65
|
single(fieldName: string): any;
|
|
66
66
|
array(fieldName: string, maxCount?: number): any;
|
|
@@ -20,32 +20,34 @@ const validate_request_form_data_1 = require("./internal/validate_request_form_d
|
|
|
20
20
|
* `multipart/form-data` content type. It automatically casts property type
|
|
21
21
|
* following its DTO definition, and performs the type validation too.
|
|
22
22
|
*
|
|
23
|
-
* Also, `TypedFormData.Body()` is much easier and type safer than
|
|
24
|
-
* If you're considering the [SDK
|
|
25
|
-
*
|
|
23
|
+
* Also, `TypedFormData.Body()` is much easier and type safer than
|
|
24
|
+
* `@nest.UploadFile()`. If you're considering the [SDK
|
|
25
|
+
* library](https://nestia.io/docs/sdk/sdk) generation, only
|
|
26
|
+
* `TypedFormData.Body()` can do it. Therefore, I recommend you to use
|
|
26
27
|
* `TypedFormData.Body()` instead of the `@nest.UploadFile()` function.
|
|
27
28
|
*
|
|
28
|
-
* For reference, target type `T` must follow such restriction. Of course, if
|
|
29
|
-
* form-data values are different with their promised type `T`,
|
|
29
|
+
* For reference, target type `T` must follow such restriction. Of course, if
|
|
30
|
+
* actual form-data values are different with their promised type `T`,
|
|
30
31
|
* `BadRequestException` error (status code: 400) would be thrown.
|
|
31
32
|
*
|
|
32
33
|
* 1. Type `T` must be an object type
|
|
33
34
|
* 2. Do not allow dynamic property
|
|
34
|
-
* 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
|
|
35
|
+
* 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
|
|
36
|
+
* types are allowed
|
|
35
37
|
* 4. By the way, union type never be not allowed
|
|
36
38
|
*
|
|
37
|
-
* By the way, if you're using `fastify`, you have to setup `fastify-multer`
|
|
38
|
-
*
|
|
39
|
+
* By the way, if you're using `fastify`, you have to setup `fastify-multer` and
|
|
40
|
+
* configure like below when composing the NestJS application. If you don't do
|
|
39
41
|
* that, `@TypedFormData.Body()` will not work properly, and throw 500 internal
|
|
40
42
|
* server error when `Blob` or `File` type being utilized.
|
|
41
43
|
*
|
|
42
44
|
* ```typescript
|
|
43
|
-
* import fastifyMulter from "fastify-multer";
|
|
44
45
|
* import { NestFactory } from "@nestjs/core";
|
|
45
46
|
* import {
|
|
46
47
|
* FastifyAdapter,
|
|
47
|
-
* NestFastifyApplication
|
|
48
|
+
* NestFastifyApplication,
|
|
48
49
|
* } from "@nestjs/platform-fastify";
|
|
50
|
+
* import fastifyMulter from "fastify-multer";
|
|
49
51
|
*
|
|
50
52
|
* export async function main() {
|
|
51
53
|
* const app = await NestFactory.create<NestFastifyApplication>(
|
|
@@ -57,14 +59,12 @@ const validate_request_form_data_1 = require("./internal/validate_request_form_d
|
|
|
57
59
|
* }
|
|
58
60
|
* ```
|
|
59
61
|
*
|
|
60
|
-
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
61
62
|
* @author Jeongho Nam - https://github.com/samchon
|
|
63
|
+
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
62
64
|
*/
|
|
63
65
|
var TypedFormData;
|
|
64
66
|
(function (TypedFormData) {
|
|
65
|
-
/**
|
|
66
|
-
* @internal
|
|
67
|
-
*/
|
|
67
|
+
/** @internal */
|
|
68
68
|
function Body(factory, props) {
|
|
69
69
|
if (typeof File === "undefined")
|
|
70
70
|
throw new Error("Error on TypedFormData.Body(): 'File' class is not supported in the older version of NodeJS. Upgrade the NodeJS to the modern.");
|
|
@@ -89,9 +89,7 @@ var TypedFormData;
|
|
|
89
89
|
}
|
|
90
90
|
TypedFormData.Body = Body;
|
|
91
91
|
})(TypedFormData || (exports.TypedFormData = TypedFormData = {}));
|
|
92
|
-
/**
|
|
93
|
-
* @internal
|
|
94
|
-
*/
|
|
92
|
+
/** @internal */
|
|
95
93
|
const decode = (multer, props) => {
|
|
96
94
|
const upload = multer.fields(props.files.map((file) => (Object.assign({ name: file.name }, (file.limit === 1 ? { maxCount: 1 } : {})))));
|
|
97
95
|
const interceptor = (request, response) => new Promise((resolve, reject) => upload(request, response, (error) => {
|
|
@@ -114,9 +112,7 @@ const decode = (multer, props) => {
|
|
|
114
112
|
return data;
|
|
115
113
|
});
|
|
116
114
|
};
|
|
117
|
-
/**
|
|
118
|
-
* @internal
|
|
119
|
-
*/
|
|
115
|
+
/** @internal */
|
|
120
116
|
const parseFiles = (data) => (files) => {
|
|
121
117
|
if (Array.isArray(files))
|
|
122
118
|
for (const file of files)
|
|
@@ -130,9 +126,7 @@ const parseFiles = (data) => (files) => {
|
|
|
130
126
|
type: file.mimetype,
|
|
131
127
|
}));
|
|
132
128
|
};
|
|
133
|
-
/**
|
|
134
|
-
* @internal
|
|
135
|
-
*/
|
|
129
|
+
/** @internal */
|
|
136
130
|
const isMultipartFormData = (text) => text !== undefined &&
|
|
137
131
|
text
|
|
138
132
|
.split(";")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AAMxB,kDAA+C;AAC/C,sFAAmF;AAEnF
|
|
1
|
+
{"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":"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"}
|