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.
Files changed (64) hide show
  1. package/dist/EventHandlers.d.ts +7 -0
  2. package/dist/ExtractContent.d.ts +11 -0
  3. package/dist/FormFlux.Types.d.ts +51 -0
  4. package/dist/FormFlux.d.ts +16 -0
  5. package/dist/FormFluxError.d.ts +5 -0
  6. package/dist/SetBodyContentToReq.d.ts +10 -0
  7. package/dist/SetFileContentToReqFile.d.ts +11 -0
  8. package/dist/WriteFileContent.d.ts +17 -0
  9. package/dist/cjs/EventHandlers.js +16 -0
  10. package/dist/cjs/EventHandlers.js.map +1 -0
  11. package/dist/cjs/ExtractContent.js +146 -0
  12. package/dist/cjs/ExtractContent.js.map +1 -0
  13. package/dist/cjs/FormFlux.Types.js +2 -0
  14. package/dist/cjs/FormFlux.Types.js.map +1 -0
  15. package/dist/cjs/FormFlux.js +480 -0
  16. package/dist/cjs/FormFlux.js.map +1 -0
  17. package/dist/cjs/FormFluxError.js +14 -0
  18. package/dist/cjs/FormFluxError.js.map +1 -0
  19. package/dist/cjs/SetBodyContentToReq.js +100 -0
  20. package/dist/cjs/SetBodyContentToReq.js.map +1 -0
  21. package/dist/cjs/SetFileContentToReqFile.js +64 -0
  22. package/dist/cjs/SetFileContentToReqFile.js.map +1 -0
  23. package/dist/cjs/WriteFileContent.js +139 -0
  24. package/dist/cjs/WriteFileContent.js.map +1 -0
  25. package/dist/cjs/defaultOptions.js +14 -0
  26. package/dist/cjs/defaultOptions.js.map +1 -0
  27. package/dist/cjs/helpers/resBodyMaker.js +33 -0
  28. package/dist/cjs/helpers/resBodyMaker.js.map +1 -0
  29. package/dist/cjs/setDatatoReqobj.js +24 -0
  30. package/dist/cjs/setDatatoReqobj.js.map +1 -0
  31. package/dist/cjs/setFileNameToBody.js +103 -0
  32. package/dist/cjs/setFileNameToBody.js.map +1 -0
  33. package/dist/defaultOptions.d.ts +2 -0
  34. package/dist/esm/EventHandlers.js +11 -0
  35. package/dist/esm/EventHandlers.js.map +1 -0
  36. package/dist/esm/ExtractContent.js +141 -0
  37. package/dist/esm/ExtractContent.js.map +1 -0
  38. package/dist/esm/FormFlux.Types.js +2 -0
  39. package/dist/esm/FormFlux.Types.js.map +1 -0
  40. package/dist/esm/FormFlux.js +475 -0
  41. package/dist/esm/FormFlux.js.map +1 -0
  42. package/dist/esm/FormFluxError.js +10 -0
  43. package/dist/esm/FormFluxError.js.map +1 -0
  44. package/dist/esm/SetBodyContentToReq.js +95 -0
  45. package/dist/esm/SetBodyContentToReq.js.map +1 -0
  46. package/dist/esm/SetFileContentToReqFile.js +59 -0
  47. package/dist/esm/SetFileContentToReqFile.js.map +1 -0
  48. package/dist/esm/WriteFileContent.js +134 -0
  49. package/dist/esm/WriteFileContent.js.map +1 -0
  50. package/dist/esm/defaultOptions.js +10 -0
  51. package/dist/esm/defaultOptions.js.map +1 -0
  52. package/dist/esm/helpers/resBodyMaker.js +29 -0
  53. package/dist/esm/helpers/resBodyMaker.js.map +1 -0
  54. package/dist/esm/setDatatoReqobj.js +20 -0
  55. package/dist/esm/setDatatoReqobj.js.map +1 -0
  56. package/dist/esm/setFileNameToBody.js +98 -0
  57. package/dist/esm/setFileNameToBody.js.map +1 -0
  58. package/dist/helpers/resBodyMaker.d.ts +1 -0
  59. package/dist/package.json +61 -0
  60. package/dist/setDatatoReqobj.d.ts +7 -0
  61. package/dist/setFileNameToBody.d.ts +10 -0
  62. package/package.json +13 -3
  63. package/script/babel-package.js +3 -0
  64. 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,7 @@
1
+ import { reqObj } from "./FormFlux.Types";
2
+ declare class populateReqObj {
3
+ obj: reqObj;
4
+ constructor(obj: reqObj);
5
+ populate(): void;
6
+ }
7
+ export default populateReqObj;
@@ -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.0",
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": "rm -rf dist && tsc --project tsconfig.json && echo 'Built successfully'"
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,3 @@
1
+ const { copyFileSync } = require('fs');
2
+
3
+ copyFileSync('package.json', 'dist/package.json');
@@ -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
+ });