@nestia/core 2.5.2 → 2.5.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/{TypedMultipart.d.ts → TypedFormData.d.ts} +5 -5
- package/lib/decorators/{TypedMultipart.js → TypedFormData.js} +11 -11
- package/lib/decorators/TypedFormData.js.map +1 -0
- package/lib/decorators/internal/validate_request_multipart.js +2 -2
- package/lib/decorators/internal/validate_request_multipart.js.map +1 -1
- package/lib/module.d.ts +1 -1
- package/lib/module.js +1 -1
- package/lib/module.js.map +1 -1
- package/lib/programmers/{TypedMultipartBodyProgrammer.d.ts → TypedFormDataBodyProgrammer.d.ts} +1 -1
- package/lib/programmers/{TypedMultipartBodyProgrammer.js → TypedFormDataBodyProgrammer.js} +7 -7
- package/lib/programmers/TypedFormDataBodyProgrammer.js.map +1 -0
- package/lib/transformers/ParameterDecoratorTransformer.js +3 -3
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/package.json +3 -3
- package/src/decorators/{TypedMultipart.ts → TypedFormData.ts} +6 -6
- package/src/decorators/internal/validate_request_multipart.ts +2 -2
- package/src/module.ts +1 -1
- package/src/programmers/{TypedMultipartBodyProgrammer.ts → TypedFormDataBodyProgrammer.ts} +2 -2
- package/src/transformers/ParameterDecoratorTransformer.ts +3 -3
- package/lib/decorators/TypedMultipart.js.map +0 -1
- package/lib/programmers/TypedMultipartBodyProgrammer.js.map +0 -1
|
@@ -2,14 +2,14 @@ import { IRequestMultipartProps } from "../options/IRequestMulltipartProps";
|
|
|
2
2
|
/**
|
|
3
3
|
* Type safe multipart/form-data decorator.
|
|
4
4
|
*
|
|
5
|
-
* `
|
|
5
|
+
* `TypedFormData.Body()` is a request body decorator function for the
|
|
6
6
|
* `multipart/form-data` content type. It automatically casts property type
|
|
7
7
|
* following its DTO definition, and performs the type validation too.
|
|
8
8
|
*
|
|
9
|
-
* Also, `
|
|
9
|
+
* Also, `TypedFormData.Body()` is much easier and type safer than `@nest.UploadFile()`.
|
|
10
10
|
* If you're considering the [SDK library](https://nestia.io/docs/sdk/sdk) generation,
|
|
11
|
-
* only `
|
|
12
|
-
* `
|
|
11
|
+
* only `TypedFormData.Body()` can do it. Therefore, I recommend you to use
|
|
12
|
+
* `TypedFormData.Body()` instead of the `@nest.UploadFile()` function.
|
|
13
13
|
*
|
|
14
14
|
* For reference, target type `T` must follow such restriction. Of course, if actual
|
|
15
15
|
* form-data values are different with their promised type `T`,
|
|
@@ -24,7 +24,7 @@ import { IRequestMultipartProps } from "../options/IRequestMulltipartProps";
|
|
|
24
24
|
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
25
25
|
* @author Jeongho Nam - https://github.com/samchon
|
|
26
26
|
*/
|
|
27
|
-
export declare namespace
|
|
27
|
+
export declare namespace TypedFormData {
|
|
28
28
|
/**
|
|
29
29
|
* Request body decorator.
|
|
30
30
|
*
|
|
@@ -77,7 +77,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
77
77
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
78
78
|
};
|
|
79
79
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
80
|
-
exports.
|
|
80
|
+
exports.TypedFormData = void 0;
|
|
81
81
|
var common_1 = require("@nestjs/common");
|
|
82
82
|
var multer_1 = __importDefault(require("multer"));
|
|
83
83
|
var typia_1 = __importDefault(require("typia"));
|
|
@@ -86,14 +86,14 @@ var validate_request_multipart_1 = require("./internal/validate_request_multipar
|
|
|
86
86
|
/**
|
|
87
87
|
* Type safe multipart/form-data decorator.
|
|
88
88
|
*
|
|
89
|
-
* `
|
|
89
|
+
* `TypedFormData.Body()` is a request body decorator function for the
|
|
90
90
|
* `multipart/form-data` content type. It automatically casts property type
|
|
91
91
|
* following its DTO definition, and performs the type validation too.
|
|
92
92
|
*
|
|
93
|
-
* Also, `
|
|
93
|
+
* Also, `TypedFormData.Body()` is much easier and type safer than `@nest.UploadFile()`.
|
|
94
94
|
* If you're considering the [SDK library](https://nestia.io/docs/sdk/sdk) generation,
|
|
95
|
-
* only `
|
|
96
|
-
* `
|
|
95
|
+
* only `TypedFormData.Body()` can do it. Therefore, I recommend you to use
|
|
96
|
+
* `TypedFormData.Body()` instead of the `@nest.UploadFile()` function.
|
|
97
97
|
*
|
|
98
98
|
* For reference, target type `T` must follow such restriction. Of course, if actual
|
|
99
99
|
* form-data values are different with their promised type `T`,
|
|
@@ -108,8 +108,8 @@ var validate_request_multipart_1 = require("./internal/validate_request_multipar
|
|
|
108
108
|
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
109
109
|
* @author Jeongho Nam - https://github.com/samchon
|
|
110
110
|
*/
|
|
111
|
-
var
|
|
112
|
-
(function (
|
|
111
|
+
var TypedFormData;
|
|
112
|
+
(function (TypedFormData) {
|
|
113
113
|
/**
|
|
114
114
|
* Request body decorator.
|
|
115
115
|
*
|
|
@@ -132,7 +132,7 @@ var TypedMultipart;
|
|
|
132
132
|
});
|
|
133
133
|
});
|
|
134
134
|
};
|
|
135
|
-
return (0, common_1.createParamDecorator)(function
|
|
135
|
+
return (0, common_1.createParamDecorator)(function TypedFormDataBody(_unknown, context) {
|
|
136
136
|
return __awaiter(this, void 0, void 0, function () {
|
|
137
137
|
var http, request, data, _a, _b, _c, key, value, _d, _e, elem, output;
|
|
138
138
|
var e_1, _f, e_2, _g;
|
|
@@ -183,11 +183,11 @@ var TypedMultipart;
|
|
|
183
183
|
});
|
|
184
184
|
})();
|
|
185
185
|
}
|
|
186
|
-
|
|
186
|
+
TypedFormData.Body = Body;
|
|
187
187
|
Object.assign(Body, typia_1.default.http.assertFormData);
|
|
188
188
|
Object.assign(Body, typia_1.default.http.isFormData);
|
|
189
189
|
Object.assign(Body, typia_1.default.http.validateFormData);
|
|
190
|
-
})(
|
|
190
|
+
})(TypedFormData || (exports.TypedFormData = TypedFormData = {}));
|
|
191
191
|
/**
|
|
192
192
|
* @internal
|
|
193
193
|
*/
|
|
@@ -254,4 +254,4 @@ function isMultipartFormData(text) {
|
|
|
254
254
|
* @internal
|
|
255
255
|
*/
|
|
256
256
|
var app = new Singleton_1.Singleton(function () { return (0, multer_1.default)(); });
|
|
257
|
-
//# sourceMappingURL=
|
|
257
|
+
//# sourceMappingURL=TypedFormData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var typia_1 = __importDefault(require("typia"));
|
|
|
9
9
|
var NoTransformConfigureError_1 = require("./NoTransformConfigureError");
|
|
10
10
|
var validate_request_multipart = function (props) {
|
|
11
11
|
if (!props)
|
|
12
|
-
return function () { return (0, NoTransformConfigureError_1.NoTransformConfigureError)("
|
|
12
|
+
return function () { return (0, NoTransformConfigureError_1.NoTransformConfigureError)("TypedFormData.Bpdu"); };
|
|
13
13
|
else if (props.validator.type === "assert")
|
|
14
14
|
return assert(props.validator.assert);
|
|
15
15
|
else if (props.validator.type === "is")
|
|
@@ -17,7 +17,7 @@ var validate_request_multipart = function (props) {
|
|
|
17
17
|
else if (props.validator.type === "validate")
|
|
18
18
|
return validate(props.validator.validate);
|
|
19
19
|
return function () {
|
|
20
|
-
return new Error("Error on nestia.core.
|
|
20
|
+
return new Error("Error on nestia.core.TypedFormData.Body(): invalid typed validator.");
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
23
|
exports.validate_request_multipart = validate_request_multipart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_request_multipart.js","sourceRoot":"","sources":["../../../src/decorators/internal/validate_request_multipart.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAqD;AACrD,gDAA2D;AAG3D,yEAAwE;AAEjE,IAAM,0BAA0B,GAAG,UACxC,KAAiC;IAEjC,IAAI,CAAC,KAAK;QAAE,OAAO,cAAM,OAAA,IAAA,qDAAyB,EAAC,
|
|
1
|
+
{"version":3,"file":"validate_request_multipart.js","sourceRoot":"","sources":["../../../src/decorators/internal/validate_request_multipart.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAqD;AACrD,gDAA2D;AAG3D,yEAAwE;AAEjE,IAAM,0BAA0B,GAAG,UACxC,KAAiC;IAEjC,IAAI,CAAC,KAAK;QAAE,OAAO,cAAM,OAAA,IAAA,qDAAyB,EAAC,oBAAoB,CAAC,EAA/C,CAA+C,CAAC;SACpE,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ;QACxC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACnC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACjE,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,OAAA,IAAI,KAAK,CACP,qEAAqE,CACtE;IAFD,CAEC,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,0BAA0B,8BAarC;AAEF,IAAM,MAAM,GACV,UAAI,OAA+B;IACnC,OAAA,UAAC,KAAe;QACd,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb;;;eAA6B,GAAG,GAAG,CAAC;gBAClC,OAAO,IAAI,4BAAmB,CAAC;oBAC7B,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;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AAfD,CAeC,CAAC;AAEJ,IAAM,EAAE,GACN,UAAI,OAAsC;IAC1C,OAAA,UAAC,KAAe;QACd,IAAM,MAAM,GAAa,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,4BAAmB,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;AAHD,CAGC,CAAC;AAEJ,IAAM,QAAQ,GACZ,UAAI,OAA4C;IAChD,OAAA,UAAC,KAAe;QACd,IAAM,MAAM,GAAmB,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,OAAO;YACnB,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,IAAI,4BAAmB,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;IACT,CAAC;AARD,CAQC,CAAC;AAEJ,IAAM,OAAO,GAAG,4DAA4D,CAAC"}
|
package/lib/module.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export * from "./decorators/PlainBody";
|
|
|
8
8
|
export * from "./decorators/TypedBody";
|
|
9
9
|
export * from "./decorators/TypedException";
|
|
10
10
|
export * from "./decorators/TypedHeaders";
|
|
11
|
-
export * from "./decorators/
|
|
11
|
+
export * from "./decorators/TypedFormData";
|
|
12
12
|
export * from "./decorators/TypedParam";
|
|
13
13
|
export * from "./decorators/TypedRoute";
|
|
14
14
|
export * from "./decorators/TypedQuery";
|
package/lib/module.js
CHANGED
|
@@ -24,7 +24,7 @@ __exportStar(require("./decorators/PlainBody"), exports);
|
|
|
24
24
|
__exportStar(require("./decorators/TypedBody"), exports);
|
|
25
25
|
__exportStar(require("./decorators/TypedException"), exports);
|
|
26
26
|
__exportStar(require("./decorators/TypedHeaders"), exports);
|
|
27
|
-
__exportStar(require("./decorators/
|
|
27
|
+
__exportStar(require("./decorators/TypedFormData"), exports);
|
|
28
28
|
__exportStar(require("./decorators/TypedParam"), exports);
|
|
29
29
|
__exportStar(require("./decorators/TypedRoute"), exports);
|
|
30
30
|
__exportStar(require("./decorators/TypedQuery"), exports);
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C;AAC3C,mEAAiD;AACjD,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,8DAA4C;AAC5C,4DAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C;AAC3C,mEAAiD;AACjD,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,8DAA4C;AAC5C,4DAA0C;AAC1C,6DAA2C;AAC3C,0DAAwC;AACxC,0DAAwC;AACxC,0DAAwC;AACxC,oEAAkD"}
|
package/lib/programmers/{TypedMultipartBodyProgrammer.d.ts → TypedFormDataBodyProgrammer.d.ts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="ts-expose-internals/typescript" />
|
|
2
2
|
import ts from "typescript";
|
|
3
3
|
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
4
|
-
export declare namespace
|
|
4
|
+
export declare namespace TypedFormDataBodyProgrammer {
|
|
5
5
|
const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ObjectLiteralExpression;
|
|
6
6
|
}
|
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.TypedFormDataBodyProgrammer = void 0;
|
|
18
18
|
var typescript_1 = __importDefault(require("typescript"));
|
|
19
19
|
var LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
20
20
|
var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
@@ -24,9 +24,9 @@ var HttpFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpFormDataP
|
|
|
24
24
|
var HttpIsFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpIsFormDataProgrammer");
|
|
25
25
|
var HttpValidateFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpValidateFormDataProgrammer");
|
|
26
26
|
var TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
27
|
-
var
|
|
28
|
-
(function (
|
|
29
|
-
|
|
27
|
+
var TypedFormDataBodyProgrammer;
|
|
28
|
+
(function (TypedFormDataBodyProgrammer) {
|
|
29
|
+
TypedFormDataBodyProgrammer.generate = function (project) {
|
|
30
30
|
return function (modulo) {
|
|
31
31
|
return function (type) {
|
|
32
32
|
// VALIDATE TYPE
|
|
@@ -38,7 +38,7 @@ var TypedMultipartBodyProgrammer;
|
|
|
38
38
|
validate: HttpFormDataProgrammer_1.HttpFormDataProgrammer.validate,
|
|
39
39
|
})(collection)(type);
|
|
40
40
|
if (result.success === false)
|
|
41
|
-
throw TransformerError_1.TransformerError.from("nestia.core.
|
|
41
|
+
throw TransformerError_1.TransformerError.from("nestia.core.TypedFormData.Body")(result.errors);
|
|
42
42
|
var files = result.data.objects[0].properties
|
|
43
43
|
.filter(function (p) {
|
|
44
44
|
return isFile(p.value) ||
|
|
@@ -77,8 +77,8 @@ var TypedMultipartBodyProgrammer;
|
|
|
77
77
|
};
|
|
78
78
|
};
|
|
79
79
|
};
|
|
80
|
-
})(
|
|
80
|
+
})(TypedFormDataBodyProgrammer || (exports.TypedFormDataBodyProgrammer = TypedFormDataBodyProgrammer = {}));
|
|
81
81
|
var isFile = function (meta) {
|
|
82
82
|
return meta.natives.some(function (n) { return n === "File" || n === "Blob"; });
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=
|
|
84
|
+
//# sourceMappingURL=TypedFormDataBodyProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypedFormDataBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedFormDataBodyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ var path_1 = __importDefault(require("path"));
|
|
|
8
8
|
var typescript_1 = __importDefault(require("typescript"));
|
|
9
9
|
var PlainBodyProgrammer_1 = require("../programmers/PlainBodyProgrammer");
|
|
10
10
|
var TypedBodyProgrammer_1 = require("../programmers/TypedBodyProgrammer");
|
|
11
|
+
var TypedFormDataBodyProgrammer_1 = require("../programmers/TypedFormDataBodyProgrammer");
|
|
11
12
|
var TypedHeadersProgrammer_1 = require("../programmers/TypedHeadersProgrammer");
|
|
12
|
-
var TypedMultipartBodyProgrammer_1 = require("../programmers/TypedMultipartBodyProgrammer");
|
|
13
13
|
var TypedParamProgrammer_1 = require("../programmers/TypedParamProgrammer");
|
|
14
14
|
var TypedQueryBodyProgrammer_1 = require("../programmers/TypedQueryBodyProgrammer");
|
|
15
15
|
var TypedQueryProgrammer_1 = require("../programmers/TypedQueryProgrammer");
|
|
@@ -77,10 +77,10 @@ var FUNCTORS = {
|
|
|
77
77
|
? parameters
|
|
78
78
|
: [TypedQueryBodyProgrammer_1.TypedQueryBodyProgrammer.generate(project)(modulo)(type)];
|
|
79
79
|
}; }; }; },
|
|
80
|
-
"
|
|
80
|
+
"TypedFormData.Body": function (project) { return function (modulo) { return function (parameters) { return function (type) {
|
|
81
81
|
return parameters.length
|
|
82
82
|
? parameters
|
|
83
|
-
: [
|
|
83
|
+
: [TypedFormDataBodyProgrammer_1.TypedFormDataBodyProgrammer.generate(project)(modulo)(type)];
|
|
84
84
|
}; }; }; },
|
|
85
85
|
PlainBody: function (project) { return function (modulo) { return function (parameters) { return function (type) {
|
|
86
86
|
return parameters.length
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAG5B,0EAAyE;AACzE,0EAAyE;AACzE,gFAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://nestia.io",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@nestia/fetcher": "^2.5.
|
|
39
|
+
"@nestia/fetcher": "^2.5.3",
|
|
40
40
|
"@nestjs/common": ">=7.0.1",
|
|
41
41
|
"@nestjs/core": ">=7.0.1",
|
|
42
42
|
"@nestjs/platform-express": ">=7.0.1",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"typia": "^5.4.4"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@nestia/fetcher": ">=2.5.
|
|
53
|
+
"@nestia/fetcher": ">=2.5.3",
|
|
54
54
|
"@nestjs/common": ">=7.0.1",
|
|
55
55
|
"@nestjs/core": ">=7.0.1",
|
|
56
56
|
"@nestjs/platform-express": ">=7.0.1",
|
|
@@ -15,14 +15,14 @@ import { validate_request_multipart } from "./internal/validate_request_multipar
|
|
|
15
15
|
/**
|
|
16
16
|
* Type safe multipart/form-data decorator.
|
|
17
17
|
*
|
|
18
|
-
* `
|
|
18
|
+
* `TypedFormData.Body()` is a request body decorator function for the
|
|
19
19
|
* `multipart/form-data` content type. It automatically casts property type
|
|
20
20
|
* following its DTO definition, and performs the type validation too.
|
|
21
21
|
*
|
|
22
|
-
* Also, `
|
|
22
|
+
* Also, `TypedFormData.Body()` is much easier and type safer than `@nest.UploadFile()`.
|
|
23
23
|
* If you're considering the [SDK library](https://nestia.io/docs/sdk/sdk) generation,
|
|
24
|
-
* only `
|
|
25
|
-
* `
|
|
24
|
+
* only `TypedFormData.Body()` can do it. Therefore, I recommend you to use
|
|
25
|
+
* `TypedFormData.Body()` instead of the `@nest.UploadFile()` function.
|
|
26
26
|
*
|
|
27
27
|
* For reference, target type `T` must follow such restriction. Of course, if actual
|
|
28
28
|
* form-data values are different with their promised type `T`,
|
|
@@ -37,7 +37,7 @@ import { validate_request_multipart } from "./internal/validate_request_multipar
|
|
|
37
37
|
* @todo Change to ReadableStream through configuring storage engine of multer
|
|
38
38
|
* @author Jeongho Nam - https://github.com/samchon
|
|
39
39
|
*/
|
|
40
|
-
export namespace
|
|
40
|
+
export namespace TypedFormData {
|
|
41
41
|
/**
|
|
42
42
|
* Request body decorator.
|
|
43
43
|
*
|
|
@@ -67,7 +67,7 @@ export namespace TypedMultipart {
|
|
|
67
67
|
else resolve();
|
|
68
68
|
}),
|
|
69
69
|
);
|
|
70
|
-
return createParamDecorator(async function
|
|
70
|
+
return createParamDecorator(async function TypedFormDataBody(
|
|
71
71
|
_unknown: any,
|
|
72
72
|
context: ExecutionContext,
|
|
73
73
|
) {
|
|
@@ -7,7 +7,7 @@ import { NoTransformConfigureError } from "./NoTransformConfigureError";
|
|
|
7
7
|
export const validate_request_multipart = <T>(
|
|
8
8
|
props?: IRequestMultipartProps<T>,
|
|
9
9
|
) => {
|
|
10
|
-
if (!props) return () => NoTransformConfigureError("
|
|
10
|
+
if (!props) return () => NoTransformConfigureError("TypedFormData.Bpdu");
|
|
11
11
|
else if (props.validator.type === "assert")
|
|
12
12
|
return assert(props.validator.assert);
|
|
13
13
|
else if (props.validator.type === "is") return is(props.validator.is);
|
|
@@ -15,7 +15,7 @@ export const validate_request_multipart = <T>(
|
|
|
15
15
|
return validate(props.validator.validate);
|
|
16
16
|
return () =>
|
|
17
17
|
new Error(
|
|
18
|
-
`Error on nestia.core.
|
|
18
|
+
`Error on nestia.core.TypedFormData.Body(): invalid typed validator.`,
|
|
19
19
|
);
|
|
20
20
|
};
|
|
21
21
|
|
package/src/module.ts
CHANGED
|
@@ -8,7 +8,7 @@ export * from "./decorators/PlainBody";
|
|
|
8
8
|
export * from "./decorators/TypedBody";
|
|
9
9
|
export * from "./decorators/TypedException";
|
|
10
10
|
export * from "./decorators/TypedHeaders";
|
|
11
|
-
export * from "./decorators/
|
|
11
|
+
export * from "./decorators/TypedFormData";
|
|
12
12
|
export * from "./decorators/TypedParam";
|
|
13
13
|
export * from "./decorators/TypedRoute";
|
|
14
14
|
export * from "./decorators/TypedQuery";
|
|
@@ -13,7 +13,7 @@ import { TransformerError } from "typia/lib/transformers/TransformerError";
|
|
|
13
13
|
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
14
14
|
import { IRequestMultipartProps } from "../options/IRequestMulltipartProps";
|
|
15
15
|
|
|
16
|
-
export namespace
|
|
16
|
+
export namespace TypedFormDataBodyProgrammer {
|
|
17
17
|
export const generate =
|
|
18
18
|
(project: INestiaTransformProject) =>
|
|
19
19
|
(modulo: ts.LeftHandSideExpression) =>
|
|
@@ -30,7 +30,7 @@ export namespace TypedMultipartBodyProgrammer {
|
|
|
30
30
|
validate: HttpFormDataProgrammer.validate,
|
|
31
31
|
})(collection)(type);
|
|
32
32
|
if (result.success === false)
|
|
33
|
-
throw TransformerError.from("nestia.core.
|
|
33
|
+
throw TransformerError.from("nestia.core.TypedFormData.Body")(
|
|
34
34
|
result.errors,
|
|
35
35
|
);
|
|
36
36
|
|
|
@@ -4,8 +4,8 @@ import ts from "typescript";
|
|
|
4
4
|
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
5
5
|
import { PlainBodyProgrammer } from "../programmers/PlainBodyProgrammer";
|
|
6
6
|
import { TypedBodyProgrammer } from "../programmers/TypedBodyProgrammer";
|
|
7
|
+
import { TypedFormDataBodyProgrammer } from "../programmers/TypedFormDataBodyProgrammer";
|
|
7
8
|
import { TypedHeadersProgrammer } from "../programmers/TypedHeadersProgrammer";
|
|
8
|
-
import { TypedMultipartBodyProgrammer } from "../programmers/TypedMultipartBodyProgrammer";
|
|
9
9
|
import { TypedParamProgrammer } from "../programmers/TypedParamProgrammer";
|
|
10
10
|
import { TypedQueryBodyProgrammer } from "../programmers/TypedQueryBodyProgrammer";
|
|
11
11
|
import { TypedQueryProgrammer } from "../programmers/TypedQueryProgrammer";
|
|
@@ -93,10 +93,10 @@ const FUNCTORS: Record<string, Programmer> = {
|
|
|
93
93
|
parameters.length
|
|
94
94
|
? parameters
|
|
95
95
|
: [TypedQueryBodyProgrammer.generate(project)(modulo)(type)],
|
|
96
|
-
"
|
|
96
|
+
"TypedFormData.Body": (project) => (modulo) => (parameters) => (type) =>
|
|
97
97
|
parameters.length
|
|
98
98
|
? parameters
|
|
99
|
-
: [
|
|
99
|
+
: [TypedFormDataBodyProgrammer.generate(project)(modulo)(type)],
|
|
100
100
|
PlainBody: (project) => (modulo) => (parameters) => (type) =>
|
|
101
101
|
parameters.length
|
|
102
102
|
? parameters
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypedMultipart.js","sourceRoot":"","sources":["../../src/decorators/TypedMultipart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypedMultipartBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedMultipartBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAC5B,qEAAoE;AACpE,6EAA4E;AAC5E,uEAAsE;AACtE,wGAAuG;AACvG,4FAA2F;AAC3F,gGAA+F;AAC/F,4GAA2G;AAG3G,4EAA2E;AAK3E,IAAiB,4BAA4B,CAyF5C;AAzFD,WAAiB,4BAA4B;IAC9B,qCAAQ,GACnB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACZ,gBAAgB;gBAChB,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;gBAChE,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CACpC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;oBACA,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,+CAAsB,CAAC,QAAQ;iBAC1C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAC5D,MAAM,CAAC,MAAM,CACd,CAAC;gBAEJ,IAAM,KAAK,GACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU;qBAC9B,MAAM,CACL,UAAC,CAAC;oBACA,OAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;wBACf,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;gBADhD,CACgD,CACnD;qBACA,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAW;oBAC5C,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;iBAC3C,CAAC,EAHU,CAGV,CAAC,CAAC;gBAER,2BAA2B;gBAC3B,IAAM,SAAS,GACb,UAAC,GAAqD;oBACtD,OAAA,UACE,UAIwC;wBAExC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;4BACE,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,+BAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC/B;4BACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;gCACE,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACpC;gCACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,uBACL,OAAO,KACV,OAAO,EAAE;wCACP,OAAO,EAAE,KAAK;wCACd,MAAM,EAAE,KAAK;wCACb,UAAU,EAAE,KAAK;qCAClB,IACD,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACjB;6BACF,EACD,IAAI,CACL,CACF;yBACF,EACD,IAAI,CACL;oBA/BD,CA+BC;gBAtCH,CAsCG,CAAC;gBAEN,UAAU;gBACV,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC1C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,QAAQ;oBAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,mDAAwB,CAAC,KAAK,CAAC,CAAC;qBACpD,IACH,QAAQ,KAAK,UAAU;oBACvB,QAAQ,KAAK,gBAAgB;oBAC7B,QAAQ,KAAK,eAAe;oBAC5B,QAAQ,KAAK,eAAe;oBAE5B,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,+DAA8B,CAAC,KAAK,CAAC,CAAC;gBACrE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,2DAA4B,CAAC,KAAK,CAAC,CAAC;YACjE,CAAC;QApFD,CAoFC;IArFD,CAqFC,CAAC;AACN,CAAC,EAzFgB,4BAA4B,4CAA5B,4BAA4B,QAyF5C;AAED,IAAM,MAAM,GAAG,UAAC,IAAc;IAC5B,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,EAA5B,CAA4B,CAAC;AAAtD,CAAsD,CAAC"}
|