formflux 0.1.0 → 0.1.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/dist/EventHandlers.d.ts +7 -0
- package/dist/ExtractContent.d.ts +11 -0
- package/dist/FormFlux.Types.d.ts +51 -0
- package/dist/FormFlux.d.ts +16 -0
- package/dist/FormFluxError.d.ts +5 -0
- package/dist/SetBodyContentToReq.d.ts +10 -0
- package/dist/SetFileContentToReqFile.d.ts +11 -0
- package/dist/WriteFileContent.d.ts +17 -0
- package/dist/cjs/EventHandlers.js +16 -0
- package/dist/cjs/EventHandlers.js.map +1 -0
- package/dist/cjs/ExtractContent.js +146 -0
- package/dist/cjs/ExtractContent.js.map +1 -0
- package/dist/cjs/FormFlux.Types.js +2 -0
- package/dist/cjs/FormFlux.Types.js.map +1 -0
- package/dist/cjs/FormFlux.js +480 -0
- package/dist/cjs/FormFlux.js.map +1 -0
- package/dist/cjs/FormFluxError.js +14 -0
- package/dist/cjs/FormFluxError.js.map +1 -0
- package/dist/cjs/SetBodyContentToReq.js +100 -0
- package/dist/cjs/SetBodyContentToReq.js.map +1 -0
- package/dist/cjs/SetFileContentToReqFile.js +64 -0
- package/dist/cjs/SetFileContentToReqFile.js.map +1 -0
- package/dist/cjs/WriteFileContent.js +139 -0
- package/dist/cjs/WriteFileContent.js.map +1 -0
- package/dist/cjs/defaultOptions.js +14 -0
- package/dist/cjs/defaultOptions.js.map +1 -0
- package/dist/cjs/helpers/resBodyMaker.js +33 -0
- package/dist/cjs/helpers/resBodyMaker.js.map +1 -0
- package/dist/cjs/setDatatoReqobj.js +24 -0
- package/dist/cjs/setDatatoReqobj.js.map +1 -0
- package/dist/cjs/setFileNameToBody.js +103 -0
- package/dist/cjs/setFileNameToBody.js.map +1 -0
- package/dist/defaultOptions.d.ts +2 -0
- package/dist/esm/EventHandlers.js +11 -0
- package/dist/esm/EventHandlers.js.map +1 -0
- package/dist/esm/ExtractContent.js +141 -0
- package/dist/esm/ExtractContent.js.map +1 -0
- package/dist/esm/FormFlux.Types.js +2 -0
- package/dist/esm/FormFlux.Types.js.map +1 -0
- package/dist/esm/FormFlux.js +475 -0
- package/dist/esm/FormFlux.js.map +1 -0
- package/dist/esm/FormFluxError.js +10 -0
- package/dist/esm/FormFluxError.js.map +1 -0
- package/dist/esm/SetBodyContentToReq.js +95 -0
- package/dist/esm/SetBodyContentToReq.js.map +1 -0
- package/dist/esm/SetFileContentToReqFile.js +59 -0
- package/dist/esm/SetFileContentToReqFile.js.map +1 -0
- package/dist/esm/WriteFileContent.js +134 -0
- package/dist/esm/WriteFileContent.js.map +1 -0
- package/dist/esm/defaultOptions.js +10 -0
- package/dist/esm/defaultOptions.js.map +1 -0
- package/dist/esm/helpers/resBodyMaker.js +29 -0
- package/dist/esm/helpers/resBodyMaker.js.map +1 -0
- package/dist/esm/setDatatoReqobj.js +20 -0
- package/dist/esm/setDatatoReqobj.js.map +1 -0
- package/dist/esm/setFileNameToBody.js +98 -0
- package/dist/esm/setFileNameToBody.js.map +1 -0
- package/dist/helpers/resBodyMaker.d.ts +1 -0
- package/dist/package.json +61 -0
- package/dist/setDatatoReqobj.d.ts +7 -0
- package/dist/setFileNameToBody.d.ts +10 -0
- package/package.json +13 -3
- package/script/babel-package.js +3 -0
- package/script/babel-preset.js +21 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _EventHandlers = _interopRequireDefault(require("./EventHandlers"));
|
|
6
|
+
var _resBodyMaker = _interopRequireDefault(require("./helpers/resBodyMaker"));
|
|
7
|
+
var _FormFluxError = _interopRequireDefault(require("./FormFluxError"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
class setContentToBody {
|
|
10
|
+
constructor(obj) {
|
|
11
|
+
this.obj = void 0;
|
|
12
|
+
this.obj = obj;
|
|
13
|
+
}
|
|
14
|
+
setBody(req) {
|
|
15
|
+
try {
|
|
16
|
+
req.body = req.body ? req.body : {};
|
|
17
|
+
if (this.obj.contentBody.length > 0) {
|
|
18
|
+
for (let i = 0; i < this.obj.contentBody.length; i++) {
|
|
19
|
+
if (/\[.*\]/.test(this.obj.fieldNameBody[i])) {
|
|
20
|
+
this.nestedData(req, this.obj.fieldNameBody[i], this.obj.contentBody[i]);
|
|
21
|
+
} else req.body[`${this.obj.fieldNameBody[i]}`] = this.obj.contentBody[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
_EventHandlers.default.emitMessage("parseEnd", "parse commplete");
|
|
25
|
+
} catch (err) {
|
|
26
|
+
throw new _FormFluxError.default("Error in parsing form data.Invalid Format!", 400);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
nestedData(req, fieldName, data) {
|
|
30
|
+
let outer = fieldName.substring(0, fieldName.indexOf("["));
|
|
31
|
+
let inners = fieldName.substring(fieldName.indexOf("["));
|
|
32
|
+
let i = 0;
|
|
33
|
+
let current;
|
|
34
|
+
let prev;
|
|
35
|
+
let temp = inners.match(/\[([^\]]+)\]/g).map(s => s.slice(1, -1)); // [a,b,c] => [a,b,c]
|
|
36
|
+
if (!req.body[`${outer}`]) {
|
|
37
|
+
for (let i = temp.length - 1; i >= 0; i--) {
|
|
38
|
+
if (!isNaN(temp[i])) {
|
|
39
|
+
if (!prev) {
|
|
40
|
+
current = [data];
|
|
41
|
+
prev = current;
|
|
42
|
+
} else {
|
|
43
|
+
current = [prev];
|
|
44
|
+
prev = current;
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
if (!prev) {
|
|
48
|
+
current = {
|
|
49
|
+
[`${temp[i]}`]: data
|
|
50
|
+
};
|
|
51
|
+
prev = current;
|
|
52
|
+
} else {
|
|
53
|
+
current = {
|
|
54
|
+
[`${temp[i]}`]: prev
|
|
55
|
+
};
|
|
56
|
+
prev = current;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
req.body[`${outer}`] = current;
|
|
61
|
+
} else {
|
|
62
|
+
temp.unshift(outer);
|
|
63
|
+
this.getNestedField(req, req.body, temp, temp[temp.length - 1], data, 0, req.body);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// mapping.....
|
|
68
|
+
getNestedField(req, obj, posArr, keySearch, data, i, prevObj) {
|
|
69
|
+
if (i == posArr.length - 1) {
|
|
70
|
+
// reached last position set the value
|
|
71
|
+
if (Array.isArray(obj)) {
|
|
72
|
+
if (!isNaN(posArr[i])) {
|
|
73
|
+
// if the current position is a number then it is an array
|
|
74
|
+
obj[posArr[i]] ? obj[posArr[i]] = data : obj.push(data);
|
|
75
|
+
return;
|
|
76
|
+
} else {
|
|
77
|
+
obj[posArr[i]] = data; // needs some checking
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
} else {
|
|
81
|
+
// it is an objct
|
|
82
|
+
obj[posArr[i]] = data;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (!obj[posArr[i]]) {
|
|
87
|
+
if (!isNaN(posArr[i])) {
|
|
88
|
+
obj[posArr[i]] = (0, _resBodyMaker.default)(posArr, i + 1, data); // create the rest
|
|
89
|
+
return;
|
|
90
|
+
} else {
|
|
91
|
+
obj[posArr[i]] = (0, _resBodyMaker.default)(posArr, i + 1, data);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
prevObj = obj[posArr[i]];
|
|
96
|
+
this.getNestedField(req, obj[posArr[i]], posArr, keySearch, data, i + 1, prevObj);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
var _default = exports.default = setContentToBody;
|
|
100
|
+
//# sourceMappingURL=SetBodyContentToReq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetBodyContentToReq.js","names":["_EventHandlers","_interopRequireDefault","require","_resBodyMaker","_FormFluxError","e","__esModule","default","setContentToBody","constructor","obj","setBody","req","body","contentBody","length","i","test","fieldNameBody","nestedData","EventHandlers","emitMessage","err","FormfluxError","fieldName","data","outer","substring","indexOf","inners","current","prev","temp","match","map","s","slice","isNaN","unshift","getNestedField","posArr","keySearch","prevObj","Array","isArray","push","createNewBody","_default","exports"],"sources":["../../src/SetBodyContentToReq.ts"],"sourcesContent":["import EventHandlers from \"./EventHandlers\";\nimport { reqObj } from \"./FormFlux.Types\";\nimport { Request } from \"express\";\nimport createNewBody from \"./helpers/resBodyMaker\";\nimport FormfluxError from \"./FormFluxError\";\n\nclass setContentToBody {\n private obj: reqObj;\n constructor(obj: reqObj) {\n this.obj = obj;\n }\n\n setBody(req: Request): void {\n try {\n req.body = req.body ? req.body : {};\n if (this.obj.contentBody.length > 0) {\n for (let i = 0; i < this.obj.contentBody.length; i++) {\n if (/\\[.*\\]/.test(this.obj.fieldNameBody[i])) {\n this.nestedData(req, this.obj.fieldNameBody[i], this.obj.contentBody[i]);\n } else\n req.body[`${this.obj.fieldNameBody[i]}`] = this.obj.contentBody[i];\n }\n }\n EventHandlers.emitMessage(\"parseEnd\", \"parse commplete\");\n } catch (err) {\n throw new FormfluxError(\"Error in parsing form data.Invalid Format!\", 400);\n }\n }\n\n nestedData(req: Request, fieldName: string, data: any) {\n let outer = fieldName.substring(0, fieldName.indexOf(\"[\"));\n let inners = fieldName.substring(fieldName.indexOf(\"[\"));\n let i = 0;\n let current: any;\n let prev: any;\n let temp = inners.match(/\\[([^\\]]+)\\]/g).map(s => s.slice(1, -1)); // [a,b,c] => [a,b,c]\n if (!req.body[`${outer}`]) {\n for (let i = temp.length - 1; i >= 0; i--) {\n if (!isNaN(temp[i] as any)) {\n if (!prev) {\n current = [data]\n prev = current;\n }\n else {\n current = [prev]\n prev = current;\n }\n }\n else {\n if (!prev) {\n current = { [`${temp[i]}`]: data };\n prev = current;\n }\n else {\n current = { [`${temp[i]}`]: prev }\n prev = current;\n }\n }\n }\n req.body[`${outer}`] = current;\n }\n else {\n temp.unshift(outer);\n this.getNestedField(req, req.body, temp, temp[temp.length - 1], data, 0, req.body);\n }\n }\n\n // mapping.....\n getNestedField(req: Request, obj: object, posArr: Array<any>, keySearch: any, data: any, i: number, prevObj: object) {\n if (i == posArr.length - 1) { // reached last position set the value\n if (Array.isArray(obj)) {\n if (!isNaN(posArr[i])) { // if the current position is a number then it is an array\n obj[posArr[i]] ? obj[posArr[i]] = data : obj.push(data);\n return;\n } else {\n obj[posArr[i]] = data // needs some checking\n return;\n }\n } else { // it is an objct\n obj[posArr[i]] = data;\n return;\n }\n }\n\n if (!obj[posArr[i]]) {\n if (!isNaN(posArr[i])) {\n obj[posArr[i]] = createNewBody(posArr, i + 1, data); // create the rest\n return;\n }\n else {\n obj[posArr[i]] = createNewBody(posArr, i + 1, data);\n return;\n }\n }\n prevObj = obj[posArr[i]];\n this.getNestedField(req, obj[posArr[i]], posArr, keySearch, data, i + 1, prevObj);\n }\n}\n\nexport default setContentToBody;"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _FormFluxError = _interopRequireDefault(require("./FormFluxError"));
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
class setFileContentToReq {
|
|
8
|
+
constructor(req, obj, forReason, storage) {
|
|
9
|
+
this.obj = void 0;
|
|
10
|
+
this.req = void 0;
|
|
11
|
+
this.for = void 0;
|
|
12
|
+
this.storage = void 0;
|
|
13
|
+
this.req = req;
|
|
14
|
+
this.obj = obj;
|
|
15
|
+
this.for = forReason;
|
|
16
|
+
this.storage = storage;
|
|
17
|
+
}
|
|
18
|
+
setFileNames(fileObj, field) {
|
|
19
|
+
switch (this.storage) {
|
|
20
|
+
case "disk":
|
|
21
|
+
{
|
|
22
|
+
if (this.for == "any") {
|
|
23
|
+
delete fileObj["buffer"];
|
|
24
|
+
if (!Array.isArray(this.req["files"])) this.req["files"] = [];
|
|
25
|
+
fileObj["filepath"] = fileObj["filepath"];
|
|
26
|
+
this.req["files"].push(fileObj);
|
|
27
|
+
} else if (this.for == "fields") {
|
|
28
|
+
delete fileObj["buffer"];
|
|
29
|
+
if (!this.req["files"]) this.req["files"] = {};
|
|
30
|
+
if (this.req["files"][`${field}`]) this.req["files"][`${field}`].push(fileObj);else {
|
|
31
|
+
this.req["files"][`${field}`] = [];
|
|
32
|
+
this.req["files"][`${field}`].push(fileObj);
|
|
33
|
+
}
|
|
34
|
+
} else if (this.for == "single") {
|
|
35
|
+
delete fileObj["buffer"];
|
|
36
|
+
this.req["file"] = fileObj;
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
case "memory":
|
|
41
|
+
{
|
|
42
|
+
delete fileObj["filepath"];
|
|
43
|
+
if (this.for == "any") {
|
|
44
|
+
if (!Array.isArray(this.req["files"])) this.req["files"] = [];
|
|
45
|
+
fileObj["buffer"] = fileObj["buffer"];
|
|
46
|
+
this.req["files"].push(fileObj);
|
|
47
|
+
} else if (this.for == "fields") {
|
|
48
|
+
if (!this.req["files"]) this.req["files"] = {};
|
|
49
|
+
if (this.req["files"][`${field}`]) this.req["files"][`${field}`].push(fileObj);else {
|
|
50
|
+
this.req["files"][`${field}`] = [];
|
|
51
|
+
this.req["files"][`${field}`].push(fileObj);
|
|
52
|
+
}
|
|
53
|
+
} else if (this.for == "single") {
|
|
54
|
+
this.req["file"] = fileObj;
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
default:
|
|
59
|
+
throw new _FormFluxError.default("Invalid storage option", 400);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
var _default = exports.default = setFileContentToReq;
|
|
64
|
+
//# sourceMappingURL=SetFileContentToReqFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetFileContentToReqFile.js","names":["_FormFluxError","_interopRequireDefault","require","e","__esModule","default","setFileContentToReq","constructor","req","obj","forReason","storage","for","setFileNames","fileObj","field","Array","isArray","push","FormfluxError","_default","exports"],"sources":["../../src/SetFileContentToReqFile.ts"],"sourcesContent":["import { Request } from \"express\";\nimport { reqObj } from \"./FormFlux.Types\";\nimport FormfluxError from \"./FormFluxError\";\n\nclass setFileContentToReq {\n private obj: reqObj;\n private req: Request;\n private for: \"any\" | \"fields\" | \"single\";\n private storage: \"memory\" | \"disk\";\n constructor(req: Request, obj: reqObj, forReason: \"any\" | \"fields\" | \"single\", storage: \"memory\" | \"disk\") {\n this.req = req;\n this.obj = obj;\n this.for = forReason;\n this.storage = storage;\n }\n\n setFileNames(fileObj: any, field: string | null): void {\n switch (this.storage) {\n case \"disk\": {\n if (this.for == \"any\") {\n delete fileObj[\"buffer\"];\n if (!Array.isArray(this.req[\"files\"])) this.req[\"files\"] = [];\n fileObj[\"filepath\"] = fileObj[\"filepath\"];\n this.req[\"files\"].push(fileObj);\n }\n else if (this.for == \"fields\") {\n delete fileObj[\"buffer\"];\n if (!this.req[\"files\"]) this.req[\"files\"] = {};\n if (this.req[\"files\"][`${field}`])\n this.req[\"files\"][`${field}`].push(fileObj);\n else {\n this.req[\"files\"][`${field}`] = [];\n this.req[\"files\"][`${field}`].push(fileObj);\n }\n }\n else if (this.for == \"single\") {\n delete fileObj[\"buffer\"];\n this.req[\"file\"] = fileObj;\n }\n break;\n }\n\n case \"memory\": {\n delete fileObj[\"filepath\"];\n if (this.for == \"any\") {\n if (!Array.isArray(this.req[\"files\"])) this.req[\"files\"] = [];\n fileObj[\"buffer\"] = fileObj[\"buffer\"];\n this.req[\"files\"].push(fileObj);\n }\n else if (this.for == \"fields\") {\n if (!this.req[\"files\"]) this.req[\"files\"] = {};\n if (this.req[\"files\"][`${field}`])\n this.req[\"files\"][`${field}`].push(fileObj);\n else {\n this.req[\"files\"][`${field}`] = [];\n this.req[\"files\"][`${field}`].push(fileObj);\n }\n }\n else if (this.for == \"single\") {\n this.req[\"file\"] = fileObj;\n }\n break;\n }\n\n default: throw new FormfluxError(\"Invalid storage option\", 400);\n }\n }\n}\n\nexport default setFileContentToReq;"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _fs = require("fs");
|
|
6
|
+
var _FormFluxError = _interopRequireDefault(require("./FormFluxError"));
|
|
7
|
+
var _SetFileContentToReqFile = _interopRequireDefault(require("./SetFileContentToReqFile"));
|
|
8
|
+
var _EventHandlers = _interopRequireDefault(require("./EventHandlers"));
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
class writeFileContent {
|
|
12
|
+
constructor(req, obj, options, forReason, storage) {
|
|
13
|
+
this.obj = void 0;
|
|
14
|
+
this.options = void 0;
|
|
15
|
+
this.req = void 0;
|
|
16
|
+
this.for = void 0;
|
|
17
|
+
this.storage = void 0;
|
|
18
|
+
this.obj = obj;
|
|
19
|
+
this.options = options;
|
|
20
|
+
this.req = req;
|
|
21
|
+
this.for = forReason;
|
|
22
|
+
this.storage = storage;
|
|
23
|
+
}
|
|
24
|
+
writeContent() {
|
|
25
|
+
let flag = 0;
|
|
26
|
+
if (this.obj.content.length > 0) {
|
|
27
|
+
for (let i = 0; i < this.obj.metaData.length; i++) {
|
|
28
|
+
var _this$obj$metaData$i, _this$obj$content$i, _this$obj$fileName$i, _this$obj$fieldNameFi;
|
|
29
|
+
if (((_this$obj$metaData$i = this.obj.metaData[i]) == null ? void 0 : _this$obj$metaData$i.length) != 0 && ((_this$obj$content$i = this.obj.content[i]) == null ? void 0 : _this$obj$content$i.length) != 0, ((_this$obj$fileName$i = this.obj.fileName[i]) == null ? void 0 : _this$obj$fileName$i.length) != 0 && ((_this$obj$fieldNameFi = this.obj.fieldNameFile[i]) == null ? void 0 : _this$obj$fieldNameFi.length) != 0) {
|
|
30
|
+
this.singleFile(i, this.obj.metaData[i], this.obj.content[i], this.obj.filesize[i], this.obj.fieldNameFile[i]);
|
|
31
|
+
flag++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (flag == 0 || this.storage == "memory") {
|
|
36
|
+
_EventHandlers.default.emitMessage("writeEnd", "write finish");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
singleFile(count, metaData, content, filesize, fieldname) {
|
|
40
|
+
let header = metaData.split(`filename="`)[1];
|
|
41
|
+
let fileName = header.substring(0, header.indexOf(`"`));
|
|
42
|
+
let access = true;
|
|
43
|
+
if (this.options.fileFilter) this.options.fileFilter(this.req, {
|
|
44
|
+
originalname: fileName,
|
|
45
|
+
mimetype: metaData.split("Content-Type: ")[1],
|
|
46
|
+
filesize,
|
|
47
|
+
fieldname
|
|
48
|
+
}, (error, bool) => {
|
|
49
|
+
access = this.callBackFilter(error, bool);
|
|
50
|
+
});
|
|
51
|
+
if (!access) throw new _FormFluxError.default("Invalid file", 400);
|
|
52
|
+
this.options.filename(this.req, {
|
|
53
|
+
originalname: fileName,
|
|
54
|
+
mimetype: metaData.split("Content-Type: ")[1],
|
|
55
|
+
filesize,
|
|
56
|
+
fieldname
|
|
57
|
+
}, (error, fileName) => {
|
|
58
|
+
this.callBackFilename(error, fileName);
|
|
59
|
+
});
|
|
60
|
+
this.obj.fileName.push(fileName);
|
|
61
|
+
if (this.storage == "disk") {
|
|
62
|
+
this.options["destination"](this.req, {
|
|
63
|
+
originalname: fileName,
|
|
64
|
+
mimetype: metaData.split("Content-Type: ")[1],
|
|
65
|
+
filesize
|
|
66
|
+
}, (error, filepath) => {
|
|
67
|
+
this.callBackfilepath(error, filepath);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (this.for == "any") {
|
|
71
|
+
new _SetFileContentToReqFile.default(this.req, this.obj, "any", this.storage).setFileNames({
|
|
72
|
+
originalname: fileName,
|
|
73
|
+
mimetype: metaData.split("Content-Type: ")[1],
|
|
74
|
+
filepath: this.obj.filePath[count],
|
|
75
|
+
filesize: Buffer.from(content).length,
|
|
76
|
+
filename: `${this.obj.modifiedFileName[count]}`,
|
|
77
|
+
fieldname,
|
|
78
|
+
buffer: content
|
|
79
|
+
}, null);
|
|
80
|
+
} else if (this.for == "fields") {
|
|
81
|
+
new _SetFileContentToReqFile.default(this.req, this.obj, "fields", this.storage).setFileNames({
|
|
82
|
+
originalname: fileName,
|
|
83
|
+
mimetype: metaData.split("Content-Type: ")[1],
|
|
84
|
+
filepath: this.obj.filePath[count],
|
|
85
|
+
filesize: Buffer.from(content).length,
|
|
86
|
+
filename: `${this.obj.modifiedFileName[count]}`,
|
|
87
|
+
fieldname,
|
|
88
|
+
buffer: content
|
|
89
|
+
}, fieldname);
|
|
90
|
+
} else if (this.for == "single") {
|
|
91
|
+
new _SetFileContentToReqFile.default(this.req, this.obj, "single", this.storage).setFileNames({
|
|
92
|
+
originalname: fileName,
|
|
93
|
+
mimetype: metaData.split("Content-Type: ")[1],
|
|
94
|
+
filepath: this.obj.filePath[count],
|
|
95
|
+
filesize: Buffer.from(content).length,
|
|
96
|
+
filename: `${this.obj.modifiedFileName[count]}`,
|
|
97
|
+
fieldname,
|
|
98
|
+
buffer: content
|
|
99
|
+
}, null);
|
|
100
|
+
}
|
|
101
|
+
if (!this.obj.modifiedFileName[count]) throw new _FormFluxError.default("Filename not found", 404);
|
|
102
|
+
if (this.storage == "disk" && !this.obj.filePath[count]) throw new _FormFluxError.default("Destination path not found", 404);
|
|
103
|
+
if (this.storage == "disk") {
|
|
104
|
+
let writeFile = (0, _fs.createWriteStream)(this.obj.filePath[count]);
|
|
105
|
+
this.obj.streams.push(writeFile);
|
|
106
|
+
writeFile.write(content);
|
|
107
|
+
writeFile.end();
|
|
108
|
+
writeFile.on("error", err => {
|
|
109
|
+
for (let i = 0; i < this.obj.streams.length; i++) {
|
|
110
|
+
this.obj.streams[i].destroy(err);
|
|
111
|
+
if ((0, _fs.existsSync)(this.obj.filePath[i])) (0, _fs.unlinkSync)(this.obj.filePath[i]);
|
|
112
|
+
}
|
|
113
|
+
throw new Error(err.message);
|
|
114
|
+
});
|
|
115
|
+
writeFile.on("close", () => {
|
|
116
|
+
_EventHandlers.default.emitMessage("writeEnd", "write finish");
|
|
117
|
+
});
|
|
118
|
+
_EventHandlers.default.on("parseError", () => {
|
|
119
|
+
this.obj.streams[0].destroy(new _FormFluxError.default("Error in parsing form data.Invalid Format!", 400));
|
|
120
|
+
throw new _FormFluxError.default("Error in parsing form data.Invalid Format!", 400);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
callBackFilename(error, fileName) {
|
|
125
|
+
if (error) throw error;
|
|
126
|
+
this.obj.modifiedFileName.push(fileName);
|
|
127
|
+
}
|
|
128
|
+
callBackfilepath(error, filepath) {
|
|
129
|
+
if (error) throw error;
|
|
130
|
+
let len = this.obj.modifiedFileName.length;
|
|
131
|
+
this.obj.filePath.push(_path.default.resolve(filepath, `${this.obj.modifiedFileName[len - 1]}`));
|
|
132
|
+
}
|
|
133
|
+
callBackFilter(error, bool) {
|
|
134
|
+
if (error) throw error;
|
|
135
|
+
return bool;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
var _default = exports.default = writeFileContent;
|
|
139
|
+
//# sourceMappingURL=WriteFileContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WriteFileContent.js","names":["_fs","require","_FormFluxError","_interopRequireDefault","_SetFileContentToReqFile","_EventHandlers","_path","e","__esModule","default","writeFileContent","constructor","req","obj","options","forReason","storage","for","writeContent","flag","content","length","i","metaData","_this$obj$metaData$i","_this$obj$content$i","_this$obj$fileName$i","_this$obj$fieldNameFi","fileName","fieldNameFile","singleFile","filesize","EventHandlers","emitMessage","count","fieldname","header","split","substring","indexOf","access","fileFilter","originalname","mimetype","error","bool","callBackFilter","FormfluxError","filename","callBackFilename","push","filepath","callBackfilepath","setFileContentToReq","setFileNames","filePath","Buffer","from","modifiedFileName","buffer","writeFile","createWriteStream","streams","write","end","on","err","destroy","existsSync","unlinkSync","Error","message","len","path","resolve","_default","exports"],"sources":["../../src/WriteFileContent.ts"],"sourcesContent":["import { Request } from \"express\";\nimport { options, optionSingle, reqObj } from \"./FormFlux.Types\";\nimport { createWriteStream, existsSync, unlinkSync } from \"fs\";\nimport FormfluxError from \"./FormFluxError\";\nimport setFileContentToReq from \"./SetFileContentToReqFile\";\nimport EventHandlers from \"./EventHandlers\";\nimport path from \"path\";\nclass writeFileContent {\n\n private obj: reqObj\n private options: options | optionSingle;\n private req: Request;\n private for: \"any\" | \"fields\" | \"single\";\n private storage: \"memory\" | \"disk\";\n constructor(req: Request, obj: reqObj, options: options | optionSingle, forReason: \"any\" | \"fields\" | \"single\", storage: \"memory\" | \"disk\") {\n this.obj = obj;\n this.options = options;\n this.req = req;\n this.for = forReason;\n this.storage = storage;\n\n }\n\n writeContent(): void {\n let flag = 0;\n if (this.obj.content.length > 0) {\n for (let i = 0; i < this.obj.metaData.length; i++)\n if (this.obj.metaData[i]?.length != 0 && this.obj.content[i]?.length != 0, this.obj.fileName[i]?.length != 0 && this.obj.fieldNameFile[i]?.length != 0) {\n this.singleFile(i, this.obj.metaData[i], this.obj.content[i], this.obj.filesize[i], this.obj.fieldNameFile[i]);\n flag++;\n }\n }\n if (flag == 0 || this.storage == \"memory\") {\n EventHandlers.emitMessage(\"writeEnd\", \"write finish\");\n }\n\n }\n\n singleFile(count: number, metaData: string, content: Buffer, filesize: number, fieldname: string): void {\n\n let header = metaData.split(`filename=\"`)[1];\n let fileName = header.substring(0, header.indexOf(`\"`));\n let access: boolean = true;\n\n if (this.options.fileFilter)\n this.options.fileFilter(this.req, { originalname: fileName, mimetype: metaData.split(\"Content-Type: \")[1], filesize, fieldname }, (error: FormfluxError | null, bool: boolean) => {\n access = this.callBackFilter(error, bool);\n })\n\n if (!access) throw new FormfluxError(\"Invalid file\", 400);\n\n this.options.filename(this.req, { originalname: fileName, mimetype: metaData.split(\"Content-Type: \")[1], filesize, fieldname }, (error: FormfluxError | null, fileName: string) => {\n this.callBackFilename(error, fileName);\n })\n\n this.obj.fileName.push(fileName);\n\n if (this.storage == \"disk\") {\n this.options[\"destination\"](\n this.req,\n { originalname: fileName, mimetype: metaData.split(\"Content-Type: \")[1], filesize },\n (error: FormfluxError | null, filepath: string) => {\n this.callBackfilepath(error, filepath);\n }\n );\n }\n\n if (this.for == \"any\") {\n new setFileContentToReq(this.req, this.obj, \"any\", this.storage).setFileNames(\n {\n originalname: fileName, mimetype: metaData.split(\"Content-Type: \")[1],\n filepath: this.obj.filePath[count],\n filesize: Buffer.from(content).length,\n filename: `${this.obj.modifiedFileName[count]}`,\n fieldname,\n buffer: content\n },\n null\n );\n } else if (this.for == \"fields\") {\n new setFileContentToReq(this.req, this.obj, \"fields\", this.storage).setFileNames(\n {\n originalname: fileName, mimetype: metaData.split(\"Content-Type: \")[1],\n filepath: this.obj.filePath[count],\n filesize: Buffer.from(content).length,\n filename: `${this.obj.modifiedFileName[count]}`,\n fieldname,\n buffer: content\n },\n fieldname\n );\n } else if (this.for == \"single\") {\n new setFileContentToReq(this.req, this.obj, \"single\", this.storage).setFileNames(\n {\n originalname: fileName, mimetype: metaData.split(\"Content-Type: \")[1],\n filepath: this.obj.filePath[count],\n filesize: Buffer.from(content).length,\n filename: `${this.obj.modifiedFileName[count]}`,\n fieldname,\n buffer: content\n },\n null\n );\n }\n if (!this.obj.modifiedFileName[count]) throw new FormfluxError(\"Filename not found\", 404);\n if (this.storage == \"disk\" && !this.obj.filePath[count]) throw new FormfluxError(\"Destination path not found\", 404);\n\n if (this.storage == \"disk\") {\n let writeFile = createWriteStream(this.obj.filePath[count]);\n this.obj.streams.push(writeFile);\n writeFile.write(content);\n writeFile.end();\n writeFile.on(\"error\", (err) => {\n for (let i = 0; i < this.obj.streams.length; i++) {\n this.obj.streams[i].destroy(err);\n if (existsSync(this.obj.filePath[i])) unlinkSync(this.obj.filePath[i]);\n }\n throw new Error(err.message);\n });\n writeFile.on(\"close\", () => {\n EventHandlers.emitMessage(\"writeEnd\", \"write finish\");\n });\n EventHandlers.on(\"parseError\", () => {\n this.obj.streams[0].destroy(\n new FormfluxError(\"Error in parsing form data.Invalid Format!\", 400)\n );\n throw new FormfluxError(\"Error in parsing form data.Invalid Format!\", 400);\n });\n }\n }\n\n callBackFilename(error: FormfluxError | null, fileName: string): void {\n if (error) throw error;\n this.obj.modifiedFileName.push(fileName);\n }\n\n callBackfilepath(error: FormfluxError | null, filepath: string): void {\n if (error) throw error;\n let len = this.obj.modifiedFileName.length;\n this.obj.filePath.push(path.resolve(filepath, `${this.obj.modifiedFileName[len - 1]}`));\n }\n\n callBackFilter(error: FormfluxError | null, bool: boolean): boolean {\n if (error) throw error;\n return bool;\n }\n}\n\nexport default writeFileContent;\n"],"mappings":";;;;AAEA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,cAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAwB,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AACxB,MAAMG,gBAAgB,CAAC;EAOnBC,WAAWA,CAACC,GAAY,EAAEC,GAAW,EAAEC,OAA+B,EAAEC,SAAsC,EAAEC,OAA0B,EAAE;IAAA,KALpIH,GAAG;IAAA,KACHC,OAAO;IAAA,KACPF,GAAG;IAAA,KACHK,GAAG;IAAA,KACHD,OAAO;IAEX,IAAI,CAACH,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACF,GAAG,GAAGA,GAAG;IACd,IAAI,CAACK,GAAG,GAAGF,SAAS;IACpB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAE1B;EAEAE,YAAYA,CAAA,EAAS;IACjB,IAAIC,IAAI,GAAG,CAAC;IACZ,IAAI,IAAI,CAACN,GAAG,CAACO,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;MAC7B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACT,GAAG,CAACU,QAAQ,CAACF,MAAM,EAAEC,CAAC,EAAE;QAAA,IAAAE,oBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,qBAAA;QAC7C,IAAI,EAAAH,oBAAA,OAAI,CAACX,GAAG,CAACU,QAAQ,CAACD,CAAC,CAAC,qBAApBE,oBAAA,CAAsBH,MAAM,KAAI,CAAC,IAAI,EAAAI,mBAAA,OAAI,CAACZ,GAAG,CAACO,OAAO,CAACE,CAAC,CAAC,qBAAnBG,mBAAA,CAAqBJ,MAAM,KAAI,CAAC,EAAE,EAAAK,oBAAA,OAAI,CAACb,GAAG,CAACe,QAAQ,CAACN,CAAC,CAAC,qBAApBI,oBAAA,CAAsBL,MAAM,KAAI,CAAC,IAAI,EAAAM,qBAAA,OAAI,CAACd,GAAG,CAACgB,aAAa,CAACP,CAAC,CAAC,qBAAzBK,qBAAA,CAA2BN,MAAM,KAAI,CAAC,EAAE;UACpJ,IAAI,CAACS,UAAU,CAACR,CAAC,EAAE,IAAI,CAACT,GAAG,CAACU,QAAQ,CAACD,CAAC,CAAC,EAAE,IAAI,CAACT,GAAG,CAACO,OAAO,CAACE,CAAC,CAAC,EAAE,IAAI,CAACT,GAAG,CAACkB,QAAQ,CAACT,CAAC,CAAC,EAAE,IAAI,CAACT,GAAG,CAACgB,aAAa,CAACP,CAAC,CAAC,CAAC;UAC9GH,IAAI,EAAE;QACV;MAAC;IACT;IACA,IAAIA,IAAI,IAAI,CAAC,IAAI,IAAI,CAACH,OAAO,IAAI,QAAQ,EAAE;MACvCgB,sBAAa,CAACC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC;IACzD;EAEJ;EAEAH,UAAUA,CAACI,KAAa,EAAEX,QAAgB,EAAEH,OAAe,EAAEW,QAAgB,EAAEI,SAAiB,EAAQ;IAEpG,IAAIC,MAAM,GAAGb,QAAQ,CAACc,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAIT,QAAQ,GAAGQ,MAAM,CAACE,SAAS,CAAC,CAAC,EAAEF,MAAM,CAACG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,IAAIC,MAAe,GAAG,IAAI;IAE1B,IAAI,IAAI,CAAC1B,OAAO,CAAC2B,UAAU,EACvB,IAAI,CAAC3B,OAAO,CAAC2B,UAAU,CAAC,IAAI,CAAC7B,GAAG,EAAE;MAAE8B,YAAY,EAAEd,QAAQ;MAAEe,QAAQ,EAAEpB,QAAQ,CAACc,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;MAAEN,QAAQ;MAAEI;IAAU,CAAC,EAAE,CAACS,KAA2B,EAAEC,IAAa,KAAK;MAC9KL,MAAM,GAAG,IAAI,CAACM,cAAc,CAACF,KAAK,EAAEC,IAAI,CAAC;IAC7C,CAAC,CAAC;IAEN,IAAI,CAACL,MAAM,EAAE,MAAM,IAAIO,sBAAa,CAAC,cAAc,EAAE,GAAG,CAAC;IAEzD,IAAI,CAACjC,OAAO,CAACkC,QAAQ,CAAC,IAAI,CAACpC,GAAG,EAAE;MAAE8B,YAAY,EAAEd,QAAQ;MAAEe,QAAQ,EAAEpB,QAAQ,CAACc,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;MAAEN,QAAQ;MAAEI;IAAU,CAAC,EAAE,CAACS,KAA2B,EAAEhB,QAAgB,KAAK;MAC/K,IAAI,CAACqB,gBAAgB,CAACL,KAAK,EAAEhB,QAAQ,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,CAACf,GAAG,CAACe,QAAQ,CAACsB,IAAI,CAACtB,QAAQ,CAAC;IAEhC,IAAI,IAAI,CAACZ,OAAO,IAAI,MAAM,EAAE;MACxB,IAAI,CAACF,OAAO,CAAC,aAAa,CAAC,CACvB,IAAI,CAACF,GAAG,EACR;QAAE8B,YAAY,EAAEd,QAAQ;QAAEe,QAAQ,EAAEpB,QAAQ,CAACc,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAAEN;MAAS,CAAC,EACnF,CAACa,KAA2B,EAAEO,QAAgB,KAAK;QAC/C,IAAI,CAACC,gBAAgB,CAACR,KAAK,EAAEO,QAAQ,CAAC;MAC1C,CACJ,CAAC;IACL;IAEA,IAAI,IAAI,CAAClC,GAAG,IAAI,KAAK,EAAE;MACnB,IAAIoC,gCAAmB,CAAC,IAAI,CAACzC,GAAG,EAAE,IAAI,CAACC,GAAG,EAAE,KAAK,EAAE,IAAI,CAACG,OAAO,CAAC,CAACsC,YAAY,CACzE;QACIZ,YAAY,EAAEd,QAAQ;QAAEe,QAAQ,EAAEpB,QAAQ,CAACc,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACrEc,QAAQ,EAAE,IAAI,CAACtC,GAAG,CAAC0C,QAAQ,CAACrB,KAAK,CAAC;QAClCH,QAAQ,EAAEyB,MAAM,CAACC,IAAI,CAACrC,OAAO,CAAC,CAACC,MAAM;QACrC2B,QAAQ,EAAE,GAAG,IAAI,CAACnC,GAAG,CAAC6C,gBAAgB,CAACxB,KAAK,CAAC,EAAE;QAC/CC,SAAS;QACTwB,MAAM,EAAEvC;MACZ,CAAC,EACD,IACJ,CAAC;IACL,CAAC,MAAM,IAAI,IAAI,CAACH,GAAG,IAAI,QAAQ,EAAE;MAC7B,IAAIoC,gCAAmB,CAAC,IAAI,CAACzC,GAAG,EAAE,IAAI,CAACC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAACG,OAAO,CAAC,CAACsC,YAAY,CAC5E;QACIZ,YAAY,EAAEd,QAAQ;QAAEe,QAAQ,EAAEpB,QAAQ,CAACc,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACrEc,QAAQ,EAAE,IAAI,CAACtC,GAAG,CAAC0C,QAAQ,CAACrB,KAAK,CAAC;QAClCH,QAAQ,EAAEyB,MAAM,CAACC,IAAI,CAACrC,OAAO,CAAC,CAACC,MAAM;QACrC2B,QAAQ,EAAE,GAAG,IAAI,CAACnC,GAAG,CAAC6C,gBAAgB,CAACxB,KAAK,CAAC,EAAE;QAC/CC,SAAS;QACTwB,MAAM,EAAEvC;MACZ,CAAC,EACDe,SACJ,CAAC;IACL,CAAC,MAAM,IAAI,IAAI,CAAClB,GAAG,IAAI,QAAQ,EAAE;MAC7B,IAAIoC,gCAAmB,CAAC,IAAI,CAACzC,GAAG,EAAE,IAAI,CAACC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAACG,OAAO,CAAC,CAACsC,YAAY,CAC5E;QACIZ,YAAY,EAAEd,QAAQ;QAAEe,QAAQ,EAAEpB,QAAQ,CAACc,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACrEc,QAAQ,EAAE,IAAI,CAACtC,GAAG,CAAC0C,QAAQ,CAACrB,KAAK,CAAC;QAClCH,QAAQ,EAAEyB,MAAM,CAACC,IAAI,CAACrC,OAAO,CAAC,CAACC,MAAM;QACrC2B,QAAQ,EAAE,GAAG,IAAI,CAACnC,GAAG,CAAC6C,gBAAgB,CAACxB,KAAK,CAAC,EAAE;QAC/CC,SAAS;QACTwB,MAAM,EAAEvC;MACZ,CAAC,EACD,IACJ,CAAC;IACL;IACA,IAAI,CAAC,IAAI,CAACP,GAAG,CAAC6C,gBAAgB,CAACxB,KAAK,CAAC,EAAE,MAAM,IAAIa,sBAAa,CAAC,oBAAoB,EAAE,GAAG,CAAC;IACzF,IAAI,IAAI,CAAC/B,OAAO,IAAI,MAAM,IAAI,CAAC,IAAI,CAACH,GAAG,CAAC0C,QAAQ,CAACrB,KAAK,CAAC,EAAE,MAAM,IAAIa,sBAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC;IAEnH,IAAI,IAAI,CAAC/B,OAAO,IAAI,MAAM,EAAE;MACxB,IAAI4C,SAAS,GAAG,IAAAC,qBAAiB,EAAC,IAAI,CAAChD,GAAG,CAAC0C,QAAQ,CAACrB,KAAK,CAAC,CAAC;MAC3D,IAAI,CAACrB,GAAG,CAACiD,OAAO,CAACZ,IAAI,CAACU,SAAS,CAAC;MAChCA,SAAS,CAACG,KAAK,CAAC3C,OAAO,CAAC;MACxBwC,SAAS,CAACI,GAAG,CAAC,CAAC;MACfJ,SAAS,CAACK,EAAE,CAAC,OAAO,EAAGC,GAAG,IAAK;QAC3B,KAAK,IAAI5C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACT,GAAG,CAACiD,OAAO,CAACzC,MAAM,EAAEC,CAAC,EAAE,EAAE;UAC9C,IAAI,CAACT,GAAG,CAACiD,OAAO,CAACxC,CAAC,CAAC,CAAC6C,OAAO,CAACD,GAAG,CAAC;UAChC,IAAI,IAAAE,cAAU,EAAC,IAAI,CAACvD,GAAG,CAAC0C,QAAQ,CAACjC,CAAC,CAAC,CAAC,EAAE,IAAA+C,cAAU,EAAC,IAAI,CAACxD,GAAG,CAAC0C,QAAQ,CAACjC,CAAC,CAAC,CAAC;QAC1E;QACA,MAAM,IAAIgD,KAAK,CAACJ,GAAG,CAACK,OAAO,CAAC;MAChC,CAAC,CAAC;MACFX,SAAS,CAACK,EAAE,CAAC,OAAO,EAAE,MAAM;QACxBjC,sBAAa,CAACC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC;MACzD,CAAC,CAAC;MACFD,sBAAa,CAACiC,EAAE,CAAC,YAAY,EAAE,MAAM;QACjC,IAAI,CAACpD,GAAG,CAACiD,OAAO,CAAC,CAAC,CAAC,CAACK,OAAO,CACvB,IAAIpB,sBAAa,CAAC,4CAA4C,EAAE,GAAG,CACvE,CAAC;QACD,MAAM,IAAIA,sBAAa,CAAC,4CAA4C,EAAE,GAAG,CAAC;MAC9E,CAAC,CAAC;IACN;EACJ;EAEAE,gBAAgBA,CAACL,KAA2B,EAAEhB,QAAgB,EAAQ;IAClE,IAAIgB,KAAK,EAAE,MAAMA,KAAK;IACtB,IAAI,CAAC/B,GAAG,CAAC6C,gBAAgB,CAACR,IAAI,CAACtB,QAAQ,CAAC;EAC5C;EAEAwB,gBAAgBA,CAACR,KAA2B,EAAEO,QAAgB,EAAQ;IAClE,IAAIP,KAAK,EAAE,MAAMA,KAAK;IACtB,IAAI4B,GAAG,GAAG,IAAI,CAAC3D,GAAG,CAAC6C,gBAAgB,CAACrC,MAAM;IAC1C,IAAI,CAACR,GAAG,CAAC0C,QAAQ,CAACL,IAAI,CAACuB,aAAI,CAACC,OAAO,CAACvB,QAAQ,EAAE,GAAG,IAAI,CAACtC,GAAG,CAAC6C,gBAAgB,CAACc,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;EAC3F;EAEA1B,cAAcA,CAACF,KAA2B,EAAEC,IAAa,EAAW;IAChE,IAAID,KAAK,EAAE,MAAMA,KAAK;IACtB,OAAOC,IAAI;EACf;AACJ;AAAC,IAAA8B,QAAA,GAAAC,OAAA,CAAAnE,OAAA,GAEcC,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.defaultOptions = void 0;
|
|
5
|
+
let defaultOptions = exports.defaultOptions = {
|
|
6
|
+
attachFileToReqBody: false,
|
|
7
|
+
filename: (req, file, cb) => {
|
|
8
|
+
cb(null, file.originalname);
|
|
9
|
+
},
|
|
10
|
+
destination: (req, file, cb) => {
|
|
11
|
+
cb(null, "");
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=defaultOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultOptions.js","names":["defaultOptions","exports","attachFileToReqBody","filename","req","file","cb","originalname","destination"],"sources":["../../src/defaultOptions.ts"],"sourcesContent":["import { options } from \"./FormFlux.Types\";\n\nexport let defaultOptions: options = {\n attachFileToReqBody: false,\n filename: (req, file, cb) => {\n cb(null, file.originalname);\n },\n destination: (req, file, cb) => {\n cb(null, \"\");\n }\n}"],"mappings":";;;;AAEO,IAAIA,cAAuB,GAAAC,OAAA,CAAAD,cAAA,GAAG;EACjCE,mBAAmB,EAAE,KAAK;EAC1BC,QAAQ,EAAEA,CAACC,GAAG,EAAEC,IAAI,EAAEC,EAAE,KAAK;IACzBA,EAAE,CAAC,IAAI,EAAED,IAAI,CAACE,YAAY,CAAC;EAC/B,CAAC;EACDC,WAAW,EAAEA,CAACJ,GAAG,EAAEC,IAAI,EAAEC,EAAE,KAAK;IAC5BA,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;EAChB;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = createNewBody;
|
|
5
|
+
function createNewBody(posArr, j, data) {
|
|
6
|
+
let current;
|
|
7
|
+
let prev;
|
|
8
|
+
for (let i = posArr.length - 1; i >= j; i--) {
|
|
9
|
+
if (!isNaN(posArr[i])) {
|
|
10
|
+
if (!prev) {
|
|
11
|
+
current = [data];
|
|
12
|
+
prev = current;
|
|
13
|
+
} else {
|
|
14
|
+
current = [prev];
|
|
15
|
+
prev = current;
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
if (!prev) {
|
|
19
|
+
current = {
|
|
20
|
+
[`${posArr[i]}`]: data
|
|
21
|
+
};
|
|
22
|
+
prev = current;
|
|
23
|
+
} else {
|
|
24
|
+
current = {
|
|
25
|
+
[`${posArr[i]}`]: prev
|
|
26
|
+
};
|
|
27
|
+
prev = current;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return current;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=resBodyMaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resBodyMaker.js","names":["createNewBody","posArr","j","data","current","prev","i","length","isNaN"],"sources":["../../../src/helpers/resBodyMaker.ts"],"sourcesContent":["\nexport default function createNewBody(posArr:Array<string>, j:number, data:any): object {\n let current: any;\n let prev: any;\n\n for (let i = posArr.length - 1; i >= j; i--) {\n if (!isNaN(posArr[i] as any))\n if (!prev) {\n current = [data]\n prev = current;\n }\n else {\n current = [prev]\n prev = current;\n }\n else {\n if (!prev) {\n current = { [`${posArr[i]}`]: data };\n prev = current;\n }\n else {\n current = { [`${posArr[i]}`]: prev }\n prev = current;\n }\n }\n }\n return current;\n }"],"mappings":";;;;AACe,SAASA,aAAaA,CAACC,MAAoB,EAAEC,CAAQ,EAAEC,IAAQ,EAAU;EAChF,IAAIC,OAAY;EAChB,IAAIC,IAAS;EAEb,KAAK,IAAIC,CAAC,GAAGL,MAAM,CAACM,MAAM,GAAG,CAAC,EAAED,CAAC,IAAIJ,CAAC,EAAEI,CAAC,EAAE,EAAE;IACzC,IAAI,CAACE,KAAK,CAACP,MAAM,CAACK,CAAC,CAAQ,CAAC;MACxB,IAAI,CAACD,IAAI,EAAE;QACPD,OAAO,GAAG,CAACD,IAAI,CAAC;QAChBE,IAAI,GAAGD,OAAO;MAClB,CAAC,MACI;QACDA,OAAO,GAAG,CAACC,IAAI,CAAC;QAChBA,IAAI,GAAGD,OAAO;MAClB;IAAC,OACA;MACD,IAAI,CAACC,IAAI,EAAE;QACPD,OAAO,GAAG;UAAE,CAAC,GAAGH,MAAM,CAACK,CAAC,CAAC,EAAE,GAAGH;QAAK,CAAC;QACpCE,IAAI,GAAGD,OAAO;MAClB,CAAC,MACI;QACDA,OAAO,GAAG;UAAE,CAAC,GAAGH,MAAM,CAACK,CAAC,CAAC,EAAE,GAAGD;QAAK,CAAC;QACpCA,IAAI,GAAGD,OAAO;MAClB;IACJ;EACJ;EACA,OAAOA,OAAO;AAClB","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
class populateReqObj {
|
|
6
|
+
constructor(obj) {
|
|
7
|
+
this.obj = void 0;
|
|
8
|
+
this.obj = obj;
|
|
9
|
+
}
|
|
10
|
+
populate() {
|
|
11
|
+
for (let i = 0; i < this.obj.metaData.length; i++) {
|
|
12
|
+
{
|
|
13
|
+
if (this.obj.metaData[i].includes(`filename=`)) {
|
|
14
|
+
let header = this.obj.metaData[i].split(`filename="`)[1];
|
|
15
|
+
// let fileName = header.substring(0, header.indexOf(`"`));
|
|
16
|
+
this.obj.mimeType.push(this.obj.metaData[i].split("Content-Type: ")[1]);
|
|
17
|
+
this.obj.filesize.push(Buffer.from(this.obj.content[i]).length);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
var _default = exports.default = populateReqObj;
|
|
24
|
+
//# sourceMappingURL=setDatatoReqobj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setDatatoReqobj.js","names":["populateReqObj","constructor","obj","populate","i","metaData","length","includes","header","split","mimeType","push","filesize","Buffer","from","content","_default","exports","default"],"sources":["../../src/setDatatoReqobj.ts"],"sourcesContent":["import { reqObj } from \"./FormFlux.Types\";\nclass populateReqObj {\n obj: reqObj;\n constructor(obj: reqObj) {\n this.obj = obj;\n }\n\n populate(): void {\n for (let i = 0; i < this.obj.metaData.length; i++) {\n {\n if (this.obj.metaData[i].includes(`filename=`)) {\n let header = this.obj.metaData[i].split(`filename=\"`)[1];\n // let fileName = header.substring(0, header.indexOf(`\"`));\n this.obj.mimeType.push(this.obj.metaData[i].split(\"Content-Type: \")[1]);\n this.obj.filesize.push(Buffer.from(this.obj.content[i]).length);\n }\n }\n }\n }\n}\n\nexport default populateReqObj;"],"mappings":";;;;AACA,MAAMA,cAAc,CAAC;EAEjBC,WAAWA,CAACC,GAAW,EAAE;IAAA,KADzBA,GAAG;IAEC,IAAI,CAACA,GAAG,GAAGA,GAAG;EAClB;EAEAC,QAAQA,CAAA,EAAS;IACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACF,GAAG,CAACG,QAAQ,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;MAC/C;QACI,IAAI,IAAI,CAACF,GAAG,CAACG,QAAQ,CAACD,CAAC,CAAC,CAACG,QAAQ,CAAC,WAAW,CAAC,EAAE;UAC5C,IAAIC,MAAM,GAAG,IAAI,CAACN,GAAG,CAACG,QAAQ,CAACD,CAAC,CAAC,CAACK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;UACxD;UACA,IAAI,CAACP,GAAG,CAACQ,QAAQ,CAACC,IAAI,CAAC,IAAI,CAACT,GAAG,CAACG,QAAQ,CAACD,CAAC,CAAC,CAACK,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;UACvE,IAAI,CAACP,GAAG,CAACU,QAAQ,CAACD,IAAI,CAACE,MAAM,CAACC,IAAI,CAAC,IAAI,CAACZ,GAAG,CAACa,OAAO,CAACX,CAAC,CAAC,CAAC,CAACE,MAAM,CAAC;QACnE;MACJ;IACJ;EACJ;AACJ;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEclB,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _resBodyMaker = _interopRequireDefault(require("./helpers/resBodyMaker"));
|
|
6
|
+
var _EventHandlers = _interopRequireDefault(require("./EventHandlers"));
|
|
7
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
class setFileNameToBody {
|
|
9
|
+
constructor(obj) {
|
|
10
|
+
this.obj = void 0;
|
|
11
|
+
this.obj = obj;
|
|
12
|
+
}
|
|
13
|
+
setFileNames(req) {
|
|
14
|
+
try {
|
|
15
|
+
req.body = req.body ? req.body : {};
|
|
16
|
+
for (let i = 0; i < this.obj.metaData.length; i++) {
|
|
17
|
+
if (this.obj.fileName.length > 0) {
|
|
18
|
+
if (/\[.*\]/.test(this.obj.fieldNameFile[i])) {
|
|
19
|
+
this.nestedData(req, this.obj.fieldNameFile[i], this.obj.fileName[i]);
|
|
20
|
+
}
|
|
21
|
+
if (!req.body[`${this.obj.fieldNameFile[i]}`] && !/\[.*\]/.test(this.obj.fieldNameFile[i])) req.body[`${this.obj.fieldNameFile[i]}`] = this.obj.modifiedFileName[i];else if (req.body[`${this.obj.fieldNameFile[i]}`] && !/\[.*\]/.test(this.obj.fieldNameFile[i])) req.body[`${this.obj.fieldNameFile[i]}`] = [req.body[`${this.obj.fieldNameFile[i]}`], this.obj.modifiedFileName[i]].flat();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
} catch (err) {
|
|
25
|
+
console.log(err);
|
|
26
|
+
_EventHandlers.default.emit("parseError", {
|
|
27
|
+
message: "Error in parsing form data.Invalid Format!",
|
|
28
|
+
code: 400
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
nestedData(req, fieldName, data) {
|
|
33
|
+
let outer = fieldName.substring(0, fieldName.indexOf("["));
|
|
34
|
+
let inners = fieldName.substring(fieldName.indexOf("["));
|
|
35
|
+
let i = 0;
|
|
36
|
+
let current;
|
|
37
|
+
let prev;
|
|
38
|
+
let temp = inners.match(/\[([^\]]+)\]/g).map(s => s.slice(1, -1)); // [a,b,c] => [a,b,c]
|
|
39
|
+
if (!req.body[`${outer}`]) {
|
|
40
|
+
for (let i = temp.length - 1; i >= 0; i--) {
|
|
41
|
+
if (!isNaN(temp[i])) {
|
|
42
|
+
if (!prev) {
|
|
43
|
+
current = [data];
|
|
44
|
+
prev = current;
|
|
45
|
+
} else {
|
|
46
|
+
current = [prev];
|
|
47
|
+
prev = current;
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
if (!prev) {
|
|
51
|
+
current = {
|
|
52
|
+
[`${temp[i]}`]: data
|
|
53
|
+
};
|
|
54
|
+
prev = current;
|
|
55
|
+
} else {
|
|
56
|
+
current = {
|
|
57
|
+
[`${temp[i]}`]: prev
|
|
58
|
+
};
|
|
59
|
+
prev = current;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
req.body[`${outer}`] = current;
|
|
64
|
+
} else {
|
|
65
|
+
temp.unshift(outer);
|
|
66
|
+
this.getNestedField(req, req.body, temp, temp[temp.length - 1], data, 0, req.body);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// mapping.....
|
|
71
|
+
getNestedField(req, obj, posArr, keySearch, data, i, prevObj) {
|
|
72
|
+
if (i == posArr.length - 1) {
|
|
73
|
+
// reached last position set the value
|
|
74
|
+
if (Array.isArray(obj)) {
|
|
75
|
+
if (!isNaN(posArr[i])) {
|
|
76
|
+
// if the current position is a number then it is an array
|
|
77
|
+
obj[posArr[i]] ? obj[posArr[i]] = data : obj.push(data);
|
|
78
|
+
return;
|
|
79
|
+
} else {
|
|
80
|
+
obj[posArr[i]] = data; // needs some checking
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
// it is an objct
|
|
85
|
+
obj[posArr[i]] = data;
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (!obj[posArr[i]]) {
|
|
90
|
+
if (!isNaN(posArr[i])) {
|
|
91
|
+
obj[posArr[i]] = (0, _resBodyMaker.default)(posArr, i + 1, data); // create the rest
|
|
92
|
+
return;
|
|
93
|
+
} else {
|
|
94
|
+
obj[posArr[i]] = (0, _resBodyMaker.default)(posArr, i + 1, data);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
prevObj = obj[posArr[i]];
|
|
99
|
+
this.getNestedField(req, obj[posArr[i]], posArr, keySearch, data, i + 1, prevObj);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
var _default = exports.default = setFileNameToBody;
|
|
103
|
+
//# sourceMappingURL=setFileNameToBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setFileNameToBody.js","names":["_resBodyMaker","_interopRequireDefault","require","_EventHandlers","e","__esModule","default","setFileNameToBody","constructor","obj","setFileNames","req","body","i","metaData","length","fileName","test","fieldNameFile","nestedData","modifiedFileName","flat","err","console","log","EventHandlers","emit","message","code","fieldName","data","outer","substring","indexOf","inners","current","prev","temp","match","map","s","slice","isNaN","unshift","getNestedField","posArr","keySearch","prevObj","Array","isArray","push","createNewBody","_default","exports"],"sources":["../../src/setFileNameToBody.ts"],"sourcesContent":["import { Request } from \"express\";\nimport { reqObj } from \"./FormFlux.Types\";\nimport createNewBody from \"./helpers/resBodyMaker\";\nimport EventHandlers from \"./EventHandlers\";\n\nclass setFileNameToBody {\n private obj: reqObj\n constructor(obj: reqObj) {\n this.obj = obj;\n }\n\n setFileNames(req: Request): void {\n try {\n req.body = req.body ? req.body : {};\n for (let i = 0; i < this.obj.metaData.length; i++) {\n if (this.obj.fileName.length > 0) {\n\n if (/\\[.*\\]/.test(this.obj.fieldNameFile[i])) {\n this.nestedData(req, this.obj.fieldNameFile[i], this.obj.fileName[i]);\n } \n if (!req.body[`${this.obj.fieldNameFile[i]}`] && !/\\[.*\\]/.test(this.obj.fieldNameFile[i]))\n req.body[`${this.obj.fieldNameFile[i]}`] = this.obj.modifiedFileName[i];\n else if (req.body[`${this.obj.fieldNameFile[i]}`] && !/\\[.*\\]/.test(this.obj.fieldNameFile[i]))\n req.body[`${this.obj.fieldNameFile[i]}`] = [req.body[`${this.obj.fieldNameFile[i]}`], this.obj.modifiedFileName[i]].flat();\n }\n }\n } catch (err) {\n console.log(err);\n EventHandlers.emit(\"parseError\",{message:\"Error in parsing form data.Invalid Format!\",code:400});\n }\n }\n\n nestedData(req: Request, fieldName: string, data: any) {\n let outer = fieldName.substring(0, fieldName.indexOf(\"[\"));\n let inners = fieldName.substring(fieldName.indexOf(\"[\"));\n let i = 0;\n let current: any;\n let prev: any;\n let temp = inners.match(/\\[([^\\]]+)\\]/g).map(s => s.slice(1, -1)); // [a,b,c] => [a,b,c]\n if (!req.body[`${outer}`]) {\n for (let i = temp.length - 1; i >= 0; i--) {\n if (!isNaN(temp[i] as any)) {\n if (!prev) {\n current = [data]\n prev = current;\n }\n else {\n current = [prev]\n prev = current;\n }\n }\n else {\n if (!prev) {\n current = { [`${temp[i]}`]: data };\n prev = current;\n }\n else {\n current = { [`${temp[i]}`]: prev }\n prev = current;\n }\n }\n }\n req.body[`${outer}`] = current;\n }\n else {\n temp.unshift(outer);\n this.getNestedField(req, req.body, temp, temp[temp.length - 1], data, 0, req.body);\n }\n }\n\n // mapping.....\n getNestedField(req: Request, obj: object, posArr: Array<any>, keySearch: any, data: any, i: number, prevObj: object) {\n if (i == posArr.length - 1) { // reached last position set the value\n if (Array.isArray(obj)) {\n if (!isNaN(posArr[i])) { // if the current position is a number then it is an array\n obj[posArr[i]] ? obj[posArr[i]] = data : obj.push(data);\n return;\n } else {\n obj[posArr[i]] = data // needs some checking\n return;\n }\n } else { // it is an objct\n obj[posArr[i]] = data;\n return;\n }\n }\n\n if (!obj[posArr[i]]) {\n if (!isNaN(posArr[i])) {\n obj[posArr[i]] = createNewBody(posArr, i + 1, data); // create the rest\n return;\n }\n else {\n obj[posArr[i]] = createNewBody(posArr, i + 1, data);\n return;\n }\n }\n prevObj = obj[posArr[i]];\n this.getNestedField(req, obj[posArr[i]], posArr, keySearch, data, i + 1, prevObj);\n }\n\n}\n\nexport default setFileNameToBody;"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import EventEmitter from "node:events";
|
|
2
|
+
class EventHandlers extends EventEmitter {
|
|
3
|
+
constructor() {
|
|
4
|
+
super();
|
|
5
|
+
}
|
|
6
|
+
emitMessage(eventName, message) {
|
|
7
|
+
this.emit(eventName, message);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export default new EventHandlers();
|
|
11
|
+
//# sourceMappingURL=EventHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventHandlers.js","names":["EventEmitter","EventHandlers","constructor","emitMessage","eventName","message","emit"],"sources":["../../src/EventHandlers.ts"],"sourcesContent":["import EventEmitter from \"node:events\";\n\n class EventHandlers extends EventEmitter {\n constructor() {\n super();\n }\n\n emitMessage(eventName: string, message: string | object) {\n this.emit(eventName, message);\n }\n}\n\nexport default new EventHandlers();"],"mappings":"AAAA,OAAOA,YAAY,MAAM,aAAa;AAErC,MAAMC,aAAa,SAASD,YAAY,CAAC;EACtCE,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,CAAC;EACX;EAEAC,WAAWA,CAACC,SAAiB,EAAEC,OAAwB,EAAE;IACrD,IAAI,CAACC,IAAI,CAACF,SAAS,EAAEC,OAAO,CAAC;EACjC;AACJ;AAEA,eAAe,IAAIJ,aAAa,CAAC,CAAC","ignoreList":[]}
|