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,98 @@
|
|
|
1
|
+
import createNewBody from "./helpers/resBodyMaker";
|
|
2
|
+
import EventHandlers from "./EventHandlers";
|
|
3
|
+
class setFileNameToBody {
|
|
4
|
+
constructor(obj) {
|
|
5
|
+
this.obj = void 0;
|
|
6
|
+
this.obj = obj;
|
|
7
|
+
}
|
|
8
|
+
setFileNames(req) {
|
|
9
|
+
try {
|
|
10
|
+
req.body = req.body ? req.body : {};
|
|
11
|
+
for (let i = 0; i < this.obj.metaData.length; i++) {
|
|
12
|
+
if (this.obj.fileName.length > 0) {
|
|
13
|
+
if (/\[.*\]/.test(this.obj.fieldNameFile[i])) {
|
|
14
|
+
this.nestedData(req, this.obj.fieldNameFile[i], this.obj.fileName[i]);
|
|
15
|
+
}
|
|
16
|
+
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();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
} catch (err) {
|
|
20
|
+
console.log(err);
|
|
21
|
+
EventHandlers.emit("parseError", {
|
|
22
|
+
message: "Error in parsing form data.Invalid Format!",
|
|
23
|
+
code: 400
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
nestedData(req, fieldName, data) {
|
|
28
|
+
let outer = fieldName.substring(0, fieldName.indexOf("["));
|
|
29
|
+
let inners = fieldName.substring(fieldName.indexOf("["));
|
|
30
|
+
let i = 0;
|
|
31
|
+
let current;
|
|
32
|
+
let prev;
|
|
33
|
+
let temp = inners.match(/\[([^\]]+)\]/g).map(s => s.slice(1, -1)); // [a,b,c] => [a,b,c]
|
|
34
|
+
if (!req.body[`${outer}`]) {
|
|
35
|
+
for (let _i = temp.length - 1; _i >= 0; _i--) {
|
|
36
|
+
if (!isNaN(temp[_i])) {
|
|
37
|
+
if (!prev) {
|
|
38
|
+
current = [data];
|
|
39
|
+
prev = current;
|
|
40
|
+
} else {
|
|
41
|
+
current = [prev];
|
|
42
|
+
prev = current;
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
if (!prev) {
|
|
46
|
+
current = {
|
|
47
|
+
[`${temp[_i]}`]: data
|
|
48
|
+
};
|
|
49
|
+
prev = current;
|
|
50
|
+
} else {
|
|
51
|
+
current = {
|
|
52
|
+
[`${temp[_i]}`]: prev
|
|
53
|
+
};
|
|
54
|
+
prev = current;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
req.body[`${outer}`] = current;
|
|
59
|
+
} else {
|
|
60
|
+
temp.unshift(outer);
|
|
61
|
+
this.getNestedField(req, req.body, temp, temp[temp.length - 1], data, 0, req.body);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// mapping.....
|
|
66
|
+
getNestedField(req, obj, posArr, keySearch, data, i, prevObj) {
|
|
67
|
+
if (i == posArr.length - 1) {
|
|
68
|
+
// reached last position set the value
|
|
69
|
+
if (Array.isArray(obj)) {
|
|
70
|
+
if (!isNaN(posArr[i])) {
|
|
71
|
+
// if the current position is a number then it is an array
|
|
72
|
+
obj[posArr[i]] ? obj[posArr[i]] = data : obj.push(data);
|
|
73
|
+
return;
|
|
74
|
+
} else {
|
|
75
|
+
obj[posArr[i]] = data; // needs some checking
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
// it is an objct
|
|
80
|
+
obj[posArr[i]] = data;
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!obj[posArr[i]]) {
|
|
85
|
+
if (!isNaN(posArr[i])) {
|
|
86
|
+
obj[posArr[i]] = createNewBody(posArr, i + 1, data); // create the rest
|
|
87
|
+
return;
|
|
88
|
+
} else {
|
|
89
|
+
obj[posArr[i]] = createNewBody(posArr, i + 1, data);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
prevObj = obj[posArr[i]];
|
|
94
|
+
this.getNestedField(req, obj[posArr[i]], posArr, keySearch, data, i + 1, prevObj);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export default setFileNameToBody;
|
|
98
|
+
//# sourceMappingURL=setFileNameToBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setFileNameToBody.js","names":["createNewBody","EventHandlers","setFileNameToBody","constructor","obj","setFileNames","req","body","i","metaData","length","fileName","test","fieldNameFile","nestedData","modifiedFileName","flat","err","console","log","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"],"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 @@
|
|
|
1
|
+
export default function createNewBody(posArr: Array<string>, j: number, data: any): object;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "formflux",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "A package to upload files to a server and parsing multipart-formData requests",
|
|
5
|
+
"main": "./dist/FormFlux.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "npm run build:cjs && npm run build:esm && tsc --outDir dist/src && node script/babel-package.js",
|
|
8
|
+
"build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --presets=./script/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir dist/cjs --source-maps",
|
|
9
|
+
"build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --presets=./script/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir dist/esm --source-maps"
|
|
10
|
+
},
|
|
11
|
+
"types": "./dist/declarations/FormFlux.d.ts",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"FormFlux",
|
|
14
|
+
"formflux",
|
|
15
|
+
"Multer",
|
|
16
|
+
"multer",
|
|
17
|
+
"upload",
|
|
18
|
+
"file",
|
|
19
|
+
"fileuploading",
|
|
20
|
+
"file-upload",
|
|
21
|
+
"express-file-upload",
|
|
22
|
+
"nodejs",
|
|
23
|
+
"express",
|
|
24
|
+
"file handling",
|
|
25
|
+
"multipart/form-data",
|
|
26
|
+
"upload middleware",
|
|
27
|
+
"form data",
|
|
28
|
+
"REST API",
|
|
29
|
+
"file upload API",
|
|
30
|
+
"node file upload",
|
|
31
|
+
"javascript",
|
|
32
|
+
"http file upload",
|
|
33
|
+
"upload handler",
|
|
34
|
+
"image upload",
|
|
35
|
+
"document upload",
|
|
36
|
+
"backend upload"
|
|
37
|
+
],
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"import": "./dist/FormFlux.js",
|
|
41
|
+
"require": "./dist/FormFlux.js"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"author": "Arka",
|
|
45
|
+
"license": "ISC",
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "https://github.com/mondalArka/DocStreamPackage.git"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=14.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@babel/cli": "^7.24.1",
|
|
55
|
+
"@babel/preset-env": "^7.24.3",
|
|
56
|
+
"@babel/preset-typescript": "^7.24.1",
|
|
57
|
+
"@types/express": "^5.0.3",
|
|
58
|
+
"@types/node": "^18.11.18",
|
|
59
|
+
"typescript": "^5.8.3"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Request } from "express";
|
|
2
|
+
import { reqObj } from "./FormFlux.Types";
|
|
3
|
+
declare class setFileNameToBody {
|
|
4
|
+
private obj;
|
|
5
|
+
constructor(obj: reqObj);
|
|
6
|
+
setFileNames(req: Request): void;
|
|
7
|
+
nestedData(req: Request, fieldName: string, data: any): void;
|
|
8
|
+
getNestedField(req: Request, obj: object, posArr: Array<any>, keySearch: any, data: any, i: number, prevObj: object): void;
|
|
9
|
+
}
|
|
10
|
+
export default setFileNameToBody;
|
package/package.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "formflux",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A package to upload files to a server and parsing multipart-formData requests",
|
|
5
5
|
"main": "./dist/FormFlux.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"build": "
|
|
7
|
+
"build": "npm run build:cjs && npm run build:esm && tsc --outDir dist/src && node script/babel-package.js",
|
|
8
|
+
"build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --presets=./script/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir dist/cjs --source-maps",
|
|
9
|
+
"build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --presets=./script/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir dist/esm --source-maps"
|
|
8
10
|
},
|
|
9
11
|
"types": "./dist/declarations/FormFlux.d.ts",
|
|
10
12
|
"keywords": [
|
|
@@ -47,5 +49,13 @@
|
|
|
47
49
|
},
|
|
48
50
|
"engines": {
|
|
49
51
|
"node": ">=14.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@babel/cli": "^7.24.1",
|
|
55
|
+
"@babel/preset-env": "^7.24.3",
|
|
56
|
+
"@babel/preset-typescript": "^7.24.1",
|
|
57
|
+
"@types/express": "^5.0.3",
|
|
58
|
+
"@types/node": "^18.11.18",
|
|
59
|
+
"typescript": "^5.8.3"
|
|
50
60
|
}
|
|
51
|
-
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const BABEL_ENV = process.env.BABEL_ENV;
|
|
2
|
+
const isCommonJS = BABEL_ENV !== undefined && BABEL_ENV === 'cjs';
|
|
3
|
+
const isESM = BABEL_ENV !== undefined && BABEL_ENV === 'esm';
|
|
4
|
+
|
|
5
|
+
module.exports = () => ({
|
|
6
|
+
presets: [
|
|
7
|
+
['@babel/preset-typescript'],
|
|
8
|
+
[
|
|
9
|
+
'@babel/env',
|
|
10
|
+
{
|
|
11
|
+
bugfixes: true,
|
|
12
|
+
loose: true,
|
|
13
|
+
modules: isCommonJS ? 'commonjs' : false,
|
|
14
|
+
targets: {
|
|
15
|
+
esmodules: isESM ? true : undefined,
|
|
16
|
+
chrome: 70,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
],
|
|
21
|
+
});
|