vovk 3.0.0-draft.22 → 3.0.0-draft.23
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/Segment.js +2 -0
- package/package.json +1 -1
- package/types.d.ts +1 -0
- package/utils/reqForm.d.ts +3 -0
- package/utils/reqForm.js +13 -0
package/Segment.js
CHANGED
|
@@ -10,6 +10,7 @@ const HttpException_1 = require("./HttpException");
|
|
|
10
10
|
const StreamJSONResponse_1 = require("./StreamJSONResponse");
|
|
11
11
|
const reqQuery_1 = __importDefault(require("./utils/reqQuery"));
|
|
12
12
|
const reqMeta_1 = __importDefault(require("./utils/reqMeta"));
|
|
13
|
+
const reqForm_1 = __importDefault(require("./utils/reqForm"));
|
|
13
14
|
class _Segment {
|
|
14
15
|
static getHeadersFromOptions(options) {
|
|
15
16
|
if (!options)
|
|
@@ -128,6 +129,7 @@ class _Segment {
|
|
|
128
129
|
body: () => req.json(),
|
|
129
130
|
query: () => (0, reqQuery_1.default)(req),
|
|
130
131
|
meta: (meta) => (0, reqMeta_1.default)(req, meta),
|
|
132
|
+
form: () => (0, reqForm_1.default)(req),
|
|
131
133
|
};
|
|
132
134
|
try {
|
|
133
135
|
const result = await staticMethod.call(controller, req, methodParams);
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ export interface _VovkRequest<BODY = undefined, QUERY extends object | undefined
|
|
|
74
74
|
body: () => Promise<BODY>;
|
|
75
75
|
query: () => QUERY;
|
|
76
76
|
meta: <T = Record<_KnownAny, _KnownAny>>(meta?: T | null) => T;
|
|
77
|
+
form: <T = _KnownAny>() => Promise<T>;
|
|
77
78
|
};
|
|
78
79
|
}
|
|
79
80
|
export type _ControllerStaticMethod<REQ extends _VovkRequest<_KnownAny, _KnownAny> = _VovkRequest<undefined, Record<string, string | string[]>>, PARAMS extends {
|
package/utils/reqForm.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = reqForm;
|
|
4
|
+
const formMap = new WeakMap();
|
|
5
|
+
async function reqForm(req) {
|
|
6
|
+
if (formMap.has(req)) {
|
|
7
|
+
return formMap.get(req);
|
|
8
|
+
}
|
|
9
|
+
const body = await req.formData();
|
|
10
|
+
const formData = Object.fromEntries(body.entries());
|
|
11
|
+
formMap.set(req, formData);
|
|
12
|
+
return formData;
|
|
13
|
+
}
|