formflux 0.2.10 → 0.2.12

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.
@@ -16,8 +16,6 @@ var _EventHandlers = _interopRequireDefault(require("./EventHandlers"));
16
16
  var _FormFluxError = _interopRequireDefault(require("./FormFluxError"));
17
17
  exports.FormfluxError = _FormFluxError.default;
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- /// <reference path="./express.d.ts" />
20
-
21
19
  class Formflux {
22
20
  static diskStorage(options) {
23
21
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"FormFlux.js","names":["_FormFlux","require","exports","options","optionFields","optionSingle","File","_ExtractContent","_interopRequireDefault","_WriteFileContent","_SetBodyContentToReq","_setFileNameToBody","_setDatatoReqobj","_EventHandlers","_FormFluxError","FormfluxError","default","e","__esModule","Formflux","diskStorage","any","req","res","next","_req$headers$content","obj","Buffer","from","buff","reqType","headers","includes","boundary","split","on","chunk","push","_obj$modifiedReq$toSt","modifiedReq","concat","data","toString","pop","shift","ExtractFileContent","extraction","populateReqObj","populate","writeBool","parseBool","checkCompletion","writeComplete","parsecomplete","EventHandlers","message","writeFileContent","writeContent","attachFileToReqBody","setFileNameToBody","setFileNames","setContentToBody","setBody","err","fields","_req$headers$content2","_obj$modifiedReq$toSt2","single","field","_req$headers$content3","_obj$modifiedReq$toSt3","memoryStorage","_req$headers$content4","_obj$modifiedReq$toSt4","_req$headers$content5","_obj$modifiedReq$toSt5","_req$headers$content6","_obj$modifiedReq$toSt6","bodyParser","_req$headers$content7","_obj$modifiedReq$toSt7","_default"],"sources":["../../src/FormFlux.ts"],"sourcesContent":["/// <reference path=\"./express.d.ts\" />\nimport { NextFunction, Request, Response } from \"express\";\nimport { options, reqObj, optionFields, optionSingle, File } from \"./FormFlux.Types\";\nimport ExtractFileContent from \"./ExtractContent\";\nimport writeFileContent from \"./WriteFileContent\";\nimport setContentToBody from \"./SetBodyContentToReq\";\nimport setFileNameToBody from \"./setFileNameToBody\";\nimport populateReqObj from \"./setDatatoReqobj\";\nimport EventHandlers from \"./EventHandlers\";\nimport FormfluxError from \"./FormFluxError\";\n\nclass Formflux {\n\n static diskStorage(options: options) {\n return {\n any() {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"disk\").writeContent();\n // new setFileContentToReq(obj).setFileNames(req);\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n\n single(field: string) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"single\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n static memoryStorage(options: optionSingle) {\n return {\n any() {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n single(field: string) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n new writeFileContent(req, obj, options, \"single\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n bodyParser() {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, null, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n next();\n })\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n }\n\n}\n\nexport default Formflux;\nexport { FormfluxError, optionFields, options, optionSingle, File };"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormFlux.js","names":["_FormFlux","require","exports","options","optionFields","optionSingle","File","_ExtractContent","_interopRequireDefault","_WriteFileContent","_SetBodyContentToReq","_setFileNameToBody","_setDatatoReqobj","_EventHandlers","_FormFluxError","FormfluxError","default","e","__esModule","Formflux","diskStorage","any","req","res","next","_req$headers$content","obj","Buffer","from","buff","reqType","headers","includes","boundary","split","on","chunk","push","_obj$modifiedReq$toSt","modifiedReq","concat","data","toString","pop","shift","ExtractFileContent","extraction","populateReqObj","populate","writeBool","parseBool","checkCompletion","writeComplete","parsecomplete","EventHandlers","message","writeFileContent","writeContent","attachFileToReqBody","setFileNameToBody","setFileNames","setContentToBody","setBody","err","fields","_req$headers$content2","_obj$modifiedReq$toSt2","single","field","_req$headers$content3","_obj$modifiedReq$toSt3","memoryStorage","_req$headers$content4","_obj$modifiedReq$toSt4","_req$headers$content5","_obj$modifiedReq$toSt5","_req$headers$content6","_obj$modifiedReq$toSt6","bodyParser","_req$headers$content7","_obj$modifiedReq$toSt7","_default"],"sources":["../../src/FormFlux.ts"],"sourcesContent":["import { options, reqObj, optionFields, optionSingle, File } from \"./FormFlux.Types\";\nimport ExtractFileContent from \"./ExtractContent\";\nimport writeFileContent from \"./WriteFileContent\";\nimport setContentToBody from \"./SetBodyContentToReq\";\nimport setFileNameToBody from \"./setFileNameToBody\";\nimport populateReqObj from \"./setDatatoReqobj\";\nimport EventHandlers from \"./EventHandlers\";\nimport FormfluxError from \"./FormFluxError\";\n\nclass Formflux {\n\n static diskStorage(options: options) {\n return {\n any() {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"disk\").writeContent();\n // new setFileContentToReq(obj).setFileNames(req);\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n\n single(field: string) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"single\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n static memoryStorage(options: optionSingle) {\n return {\n any() {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n single(field: string) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n new writeFileContent(req, obj, options, \"single\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n bodyParser() {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, null, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n next();\n })\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n }\n\n}\n\nexport default Formflux;\nexport { FormfluxError, optionFields, options, optionSingle, File };"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,3 @@
1
- /// <reference path="./express.d.ts" />
2
-
3
1
  import { options, optionFields, optionSingle, File } from "./FormFlux.Types";
4
2
  import ExtractFileContent from "./ExtractContent";
5
3
  import writeFileContent from "./WriteFileContent";
@@ -1 +1 @@
1
- {"version":3,"file":"FormFlux.js","names":["options","optionFields","optionSingle","File","ExtractFileContent","writeFileContent","setContentToBody","setFileNameToBody","populateReqObj","EventHandlers","FormfluxError","Formflux","diskStorage","any","req","res","next","_req$headers$content","obj","Buffer","from","buff","reqType","headers","includes","boundary","split","on","chunk","push","_obj$modifiedReq$toSt","modifiedReq","concat","data","toString","pop","shift","extraction","populate","writeBool","parseBool","checkCompletion","writeComplete","parsecomplete","message","writeContent","attachFileToReqBody","setFileNames","setBody","err","fields","_req$headers$content2","_obj$modifiedReq$toSt2","single","field","_req$headers$content3","_obj$modifiedReq$toSt3","memoryStorage","_req$headers$content4","_obj$modifiedReq$toSt4","_req$headers$content5","_obj$modifiedReq$toSt5","_req$headers$content6","_obj$modifiedReq$toSt6","bodyParser","_req$headers$content7","_obj$modifiedReq$toSt7"],"sources":["../../src/FormFlux.ts"],"sourcesContent":["/// <reference path=\"./express.d.ts\" />\nimport { NextFunction, Request, Response } from \"express\";\nimport { options, reqObj, optionFields, optionSingle, File } from \"./FormFlux.Types\";\nimport ExtractFileContent from \"./ExtractContent\";\nimport writeFileContent from \"./WriteFileContent\";\nimport setContentToBody from \"./SetBodyContentToReq\";\nimport setFileNameToBody from \"./setFileNameToBody\";\nimport populateReqObj from \"./setDatatoReqobj\";\nimport EventHandlers from \"./EventHandlers\";\nimport FormfluxError from \"./FormFluxError\";\n\nclass Formflux {\n\n static diskStorage(options: options) {\n return {\n any() {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"disk\").writeContent();\n // new setFileContentToReq(obj).setFileNames(req);\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n\n single(field: string) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"single\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n static memoryStorage(options: optionSingle) {\n return {\n any() {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n single(field: string) {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n new writeFileContent(req, obj, options, \"single\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n bodyParser() {\n return async function (req: Request, res: Response, next: NextFunction): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, null, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n next();\n })\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n }\n\n}\n\nexport default Formflux;\nexport { FormfluxError, optionFields, options, optionSingle, File };"],"mappings":"AAAA;;AAEA,SAASA,OAAO,EAAUC,YAAY,EAAEC,YAAY,EAAEC,IAAI,QAAQ,kBAAkB;AACpF,OAAOC,kBAAkB,MAAM,kBAAkB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,MAAMC,QAAQ,CAAC;EAEX,OAAOC,WAAWA,CAACZ,OAAgB,EAAE;IACjC,OAAO;MACHa,GAAGA,CAAA,EAAG;QACF,OAAO,gBAAgBC,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;UAAA,IAAAC,oBAAA;UACnF,IAAIC,GAAW,GAAG;YACd,aAAa,EAAE,EAAE;YACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE;UAEf,CAAC;UACD,IAAIC,IAAmB,GAAG,EAAE;UAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;UACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;UAErF,IAAIe,QAAQ,IAAAR,oBAAA,GAAGH,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3BN,oBAAA,CAA6BS,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;UAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;YAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;UACpB,CAAC,CAAC;UACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;YAChB,IAAI;cAAA,IAAAG,qBAAA;cACAZ,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;cAEvCH,GAAG,CAACe,IAAI,IAAAH,qBAAA,GAAGZ,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlCJ,qBAAA,CAAoCJ,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;cACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;cACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;cAEhB;cACA;cACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAElB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAACqC,UAAU,CAAC,CAAC;;cAE7D;cACA,IAAI7B,cAAc,CAACU,GAAG,CAAC,CAACoB,QAAQ,CAAC,CAAC;cAElC,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;gBACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;cACd,CAAC;cAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCJ,SAAS,GAAG,IAAI;gBAChBC,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF/B,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCL,SAAS,GAAG,IAAI;gBAChBE,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAGF,IAAInC,gBAAgB,CAACS,GAAG,EAAEI,GAAG,EAAElB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC6C,YAAY,CAAC,CAAC;cACrE,IAAI7C,OAAO,CAAC8C,mBAAmB,IAAI9C,OAAO,CAAC8C,mBAAmB,IAAI,IAAI,EAClE,IAAIvC,iBAAiB,CAACW,GAAG,CAAC,CAAC6B,YAAY,CAACjC,GAAG,CAAC;cAEhD,IAAIR,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;YAE1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;cACVjC,IAAI,CAACiC,GAAG,CAAC;YACb;UACJ,CAAC,CAAC;UAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;YAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QAEN,CAAC;MACL,CAAC;MACDwC,MAAMA,CAACjD,YAA0B,EAAE;QAC/B,OAAO,gBAAgBa,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;UAAA,IAAAmC,qBAAA;UACnF,IAAIjC,GAAW,GAAG;YACd,aAAa,EAAE,EAAE;YACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE;UAEf,CAAC;UACD,IAAIC,IAAmB,GAAG,EAAE;UAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;UACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;UACrF,IAAIe,QAAQ,IAAA0B,qBAAA,GAAGrC,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3B4B,qBAAA,CAA6BzB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;UAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;YAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;UACpB,CAAC,CAAC;UACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;YAChB,IAAI;cAAA,IAAAyB,sBAAA;cACAlC,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;cAEvCH,GAAG,CAACe,IAAI,IAAAmB,sBAAA,GAAGlC,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlCkB,sBAAA,CAAoC1B,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;cACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;cACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;cAEhB;cACA;cACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAElB,OAAO,EAAEC,YAAY,EAAE,IAAI,CAAC,CAACoC,UAAU,CAAC,CAAC;;cAErE;cACA,IAAI7B,cAAc,CAACU,GAAG,CAAC,CAACoB,QAAQ,CAAC,CAAC;cAElC,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;gBACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;cACd,CAAC;cAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCJ,SAAS,GAAG,IAAI;gBAChBC,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF/B,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCL,SAAS,GAAG,IAAI;gBAChBE,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAGF,IAAInC,gBAAgB,CAACS,GAAG,EAAEI,GAAG,EAAElB,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC6C,YAAY,CAAC,CAAC;cACxE;cACA,IAAI7C,OAAO,CAAC8C,mBAAmB,IAAI9C,OAAO,CAAC8C,mBAAmB,IAAI,IAAI,EAClE,IAAIvC,iBAAiB,CAACW,GAAG,CAAC,CAAC6B,YAAY,CAACjC,GAAG,CAAC;cAEhD,IAAIR,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;YAE1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;cACVjC,IAAI,CAACiC,GAAG,CAAC;YACb;UACJ,CAAC,CAAC;UAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;YAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QACN,CAAC;MACL,CAAC;MAED2C,MAAMA,CAACC,KAAa,EAAE;QAClB,OAAO,gBAAgBxC,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;UAAA,IAAAuC,qBAAA;UACnF,IAAIrC,GAAW,GAAG;YACd,aAAa,EAAE,EAAE;YACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE;UAEf,CAAC;UACD,IAAIC,IAAmB,GAAG,EAAE;UAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;UACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;UACrF,IAAIe,QAAQ,IAAA8B,qBAAA,GAAGzC,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3BgC,qBAAA,CAA6B7B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;UAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;YAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;UACpB,CAAC,CAAC;UACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;YAChB,IAAI;cAAA,IAAA6B,sBAAA;cACAtC,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;cAEvCH,GAAG,CAACe,IAAI,IAAAuB,sBAAA,GAAGtC,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlCsB,sBAAA,CAAoC9B,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;cACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;cACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;cAEhB;cACA;cACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAElB,OAAO,EAAE,IAAI,EAAEsD,KAAK,CAAC,CAACjB,UAAU,CAAC,CAAC;;cAE9D;cACA,IAAI7B,cAAc,CAACU,GAAG,CAAC,CAACoB,QAAQ,CAAC,CAAC;cAElC,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;gBACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;cACd,CAAC;cAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCJ,SAAS,GAAG,IAAI;gBAChBC,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF/B,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCL,SAAS,GAAG,IAAI;gBAChBE,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAGF,IAAInC,gBAAgB,CAACS,GAAG,EAAEI,GAAG,EAAElB,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC6C,YAAY,CAAC,CAAC;cACxE,IAAI7C,OAAO,CAAC8C,mBAAmB,IAAI9C,OAAO,CAAC8C,mBAAmB,IAAI,IAAI,EAClE,IAAIvC,iBAAiB,CAACW,GAAG,CAAC,CAAC6B,YAAY,CAACjC,GAAG,CAAC;cAEhD,IAAIR,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;YAC1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;cACVjC,IAAI,CAACiC,GAAG,CAAC;YACb;UACJ,CAAC,CAAC;UAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;YAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QACN,CAAC;MACL;IACJ,CAAC;EACL;EAEA,OAAO+C,aAAaA,CAACzD,OAAqB,EAAE;IACxC,OAAO;MACHa,GAAGA,CAAA,EAAG;QACF,OAAO,gBAAgBC,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;UAAA,IAAA0C,qBAAA;UACnF,IAAIxC,GAAW,GAAG;YACd,aAAa,EAAE,EAAE;YACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE;UAEf,CAAC;UACD,IAAIC,IAAmB,GAAG,EAAE;UAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;UACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;UACrF,IAAIe,QAAQ,IAAAiC,qBAAA,GAAG5C,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3BmC,qBAAA,CAA6BhC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;UAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;YAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;UACpB,CAAC,CAAC;UACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;YAChB,IAAI;cAAA,IAAAgC,sBAAA;cACAzC,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;cAEvCH,GAAG,CAACe,IAAI,IAAA0B,sBAAA,GAAGzC,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlCyB,sBAAA,CAAoCjC,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;cACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;cACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;cAEhB;cACA;cACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAElB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAACqC,UAAU,CAAC,CAAC;;cAE7D;cACA,IAAI7B,cAAc,CAACU,GAAG,CAAC,CAACoB,QAAQ,CAAC,CAAC;cAElC,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;gBACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;cACd,CAAC;cAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCJ,SAAS,GAAG,IAAI;gBAChBC,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF/B,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCL,SAAS,GAAG,IAAI;gBAChBE,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAGF,IAAInC,gBAAgB,CAACS,GAAG,EAAEI,GAAG,EAAElB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC6C,YAAY,CAAC,CAAC;cACvE,IAAI7C,OAAO,CAAC8C,mBAAmB,IAAI9C,OAAO,CAAC8C,mBAAmB,IAAI,IAAI,EAClE,IAAIvC,iBAAiB,CAACW,GAAG,CAAC,CAAC6B,YAAY,CAACjC,GAAG,CAAC;cAEhD,IAAIR,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;YAC1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;cACVjC,IAAI,CAACiC,GAAG,CAAC;YACb;UACJ,CAAC,CAAC;UAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;YAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QACN,CAAC;MACL,CAAC;MACDwC,MAAMA,CAACjD,YAA0B,EAAE;QAC/B,OAAO,gBAAgBa,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;UAAA,IAAA4C,qBAAA;UACnF,IAAI1C,GAAW,GAAG;YACd,aAAa,EAAE,EAAE;YACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE;UAEf,CAAC;UACD,IAAIC,IAAmB,GAAG,EAAE;UAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;UACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;UACrF,IAAIe,QAAQ,IAAAmC,qBAAA,GAAG9C,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3BqC,qBAAA,CAA6BlC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;UAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;YAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;UACpB,CAAC,CAAC;UACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;YAChB,IAAI;cAAA,IAAAkC,sBAAA;cACA3C,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;cAEvCH,GAAG,CAACe,IAAI,IAAA4B,sBAAA,GAAG3C,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlC2B,sBAAA,CAAoCnC,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;cACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;cACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;cAEhB;cACA;cACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAElB,OAAO,EAAEC,YAAY,EAAE,IAAI,CAAC,CAACoC,UAAU,CAAC,CAAC;;cAErE;cACA,IAAI7B,cAAc,CAACU,GAAG,CAAC,CAACoB,QAAQ,CAAC,CAAC;cAElC,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;gBACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;cACd,CAAC;cAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCJ,SAAS,GAAG,IAAI;gBAChBC,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF/B,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCL,SAAS,GAAG,IAAI;gBAChBE,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAGF,IAAInC,gBAAgB,CAACS,GAAG,EAAEI,GAAG,EAAElB,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC6C,YAAY,CAAC,CAAC;cAC1E,IAAI7C,OAAO,CAAC8C,mBAAmB,IAAI9C,OAAO,CAAC8C,mBAAmB,IAAI,IAAI,EAClE,IAAIvC,iBAAiB,CAACW,GAAG,CAAC,CAAC6B,YAAY,CAACjC,GAAG,CAAC;cAEhD,IAAIR,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;YAC1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;cACVjC,IAAI,CAACiC,GAAG,CAAC;YACb;UACJ,CAAC,CAAC;UAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;YAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QACN,CAAC;MACL,CAAC;MACD2C,MAAMA,CAACC,KAAa,EAAE;QAClB,OAAO,gBAAgBxC,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;UAAA,IAAA8C,qBAAA;UACnF,IAAI5C,GAAW,GAAG;YACd,aAAa,EAAE,EAAE;YACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE;UAEf,CAAC;UACD,IAAIC,IAAmB,GAAG,EAAE;UAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;UACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;UACrF,IAAIe,QAAQ,IAAAqC,qBAAA,GAAGhD,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3BuC,qBAAA,CAA6BpC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;UAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;YAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;UACpB,CAAC,CAAC;UACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;YAChB,IAAI;cAAA,IAAAoC,sBAAA;cACA7C,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;cAEvCH,GAAG,CAACe,IAAI,IAAA8B,sBAAA,GAAG7C,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlC6B,sBAAA,CAAoCrC,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;cACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;cACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;cAEhB;cACA;cACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAElB,OAAO,EAAE,IAAI,EAAEsD,KAAK,CAAC,CAACjB,UAAU,CAAC,CAAC;;cAE9D;cACA,IAAI7B,cAAc,CAACU,GAAG,CAAC,CAACoB,QAAQ,CAAC,CAAC;cAElC,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,SAAkB,GAAG,KAAK;cAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;gBACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;cACd,CAAC;cAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCJ,SAAS,GAAG,IAAI;gBAChBC,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF/B,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;gBACtCL,SAAS,GAAG,IAAI;gBAChBE,eAAe,CAACF,SAAS,EAAEC,SAAS,CAAC;cACzC,CAAC,CAAC;cAEF,IAAInC,gBAAgB,CAACS,GAAG,EAAEI,GAAG,EAAElB,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC6C,YAAY,CAAC,CAAC;cAC1E,IAAI7C,OAAO,CAAC8C,mBAAmB,IAAI9C,OAAO,CAAC8C,mBAAmB,IAAI,IAAI,EAClE,IAAIvC,iBAAiB,CAACW,GAAG,CAAC,CAAC6B,YAAY,CAACjC,GAAG,CAAC;cAEhD,IAAIR,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;YAC1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;cACVjC,IAAI,CAACiC,GAAG,CAAC;YACb;UACJ,CAAC,CAAC;UAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;YAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QACN,CAAC;MACL;IACJ,CAAC;EACL;EAEAsD,UAAUA,CAAA,EAAG;IACT,OAAO,gBAAgBlD,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAiB;MAAA,IAAAiD,qBAAA;MACnF,IAAI/C,GAAW,GAAG;QACd,aAAa,EAAE,EAAE;QACjB,aAAa,EAAEC,MAAM,CAACC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,EAAE;QACtB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,SAAS,EAAE;MAEf,CAAC;MACD,IAAIC,IAAmB,GAAG,EAAE;MAC5B,IAAIC,OAAO,GAAGR,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC;MACzC,IAAID,OAAO,IAAI,CAACA,OAAO,CAACE,QAAQ,CAAC,qBAAqB,CAAC,EACnD,MAAM,IAAId,aAAa,CAAC,mDAAmD,EAAE,GAAG,CAAC;MAErF,IAAIe,QAAQ,IAAAwC,qBAAA,GAAGnD,GAAG,CAACS,OAAO,CAAC,cAAc,CAAC,qBAA3B0C,qBAAA,CAA6BvC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;MAEjEZ,GAAG,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAa,IAAK;QAC9BP,IAAI,CAACQ,IAAI,CAACD,KAAK,CAAC;MACpB,CAAC,CAAC;MACFd,GAAG,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;QAChB,IAAI;UAAA,IAAAuC,sBAAA;UACAhD,GAAG,CAACa,WAAW,GAAGZ,MAAM,CAACa,MAAM,CAACX,IAAI,CAAC,CAAC,CAAC;;UAEvCH,GAAG,CAACe,IAAI,IAAAiC,sBAAA,GAAGhD,GAAG,CAACa,WAAW,CAACG,QAAQ,CAAC,QAAQ,CAAC,qBAAlCgC,sBAAA,CAAoCxC,KAAK,CAAC,KAAKD,QAAQ,EAAE,CAAC,CAAC,CAAC;UACvEP,GAAG,CAACe,IAAI,CAACE,GAAG,CAAC,CAAC;UACdjB,GAAG,CAACe,IAAI,CAACG,KAAK,CAAC,CAAC;;UAEhB;UACA;UACA,IAAIhC,kBAAkB,CAACc,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAACmB,UAAU,CAAC,CAAC;;UAE1D;UACA,IAAIE,SAAkB,GAAG,KAAK;UAC9B,IAAIC,SAAkB,GAAG,KAAK;UAC9B,IAAIC,eAAe,GAAGA,CAACC,aAAsB,EAAEC,aAAsB,KAAK;YACtE,IAAID,aAAa,IAAIC,aAAa,EAC9B3B,IAAI,CAAC,CAAC;UACd,CAAC;UAEDP,aAAa,CAACkB,EAAE,CAAC,UAAU,EAAGiB,OAAO,IAAK;YACtCJ,SAAS,GAAG,IAAI;YAChBxB,IAAI,CAAC,CAAC;UACV,CAAC,CAAC;UAEF,IAAIV,gBAAgB,CAACY,GAAG,CAAC,CAAC8B,OAAO,CAAClC,GAAG,CAAC;QAE1C,CAAC,CAAC,OAAOmC,GAAG,EAAE;UACVjC,IAAI,CAACiC,GAAG,CAAC;QACb;MACJ,CAAC,CAAC;MAEFnC,GAAG,CAACa,EAAE,CAAC,OAAO,EAAE,MAAM;QAClBX,IAAI,CAAC,IAAIN,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;MAC9D,CAAC,CAAC;IACN,CAAC;EACL;AAEJ;AAEA,eAAeC,QAAQ;AACvB,SAASD,aAAa,EAAET,YAAY,EAAED,OAAO,EAAEE,YAAY,EAAEC,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"FormFlux.js","names":["options","optionFields","optionSingle","File","ExtractFileContent","writeFileContent","setContentToBody","setFileNameToBody","populateReqObj","EventHandlers","FormfluxError","Formflux","diskStorage","any","req","res","next","_req$headers$content","obj","Buffer","from","buff","reqType","headers","includes","boundary","split","on","chunk","push","_obj$modifiedReq$toSt","modifiedReq","concat","data","toString","pop","shift","extraction","populate","writeBool","parseBool","checkCompletion","writeComplete","parsecomplete","message","writeContent","attachFileToReqBody","setFileNames","setBody","err","fields","_req$headers$content2","_obj$modifiedReq$toSt2","single","field","_req$headers$content3","_obj$modifiedReq$toSt3","memoryStorage","_req$headers$content4","_obj$modifiedReq$toSt4","_req$headers$content5","_obj$modifiedReq$toSt5","_req$headers$content6","_obj$modifiedReq$toSt6","bodyParser","_req$headers$content7","_obj$modifiedReq$toSt7"],"sources":["../../src/FormFlux.ts"],"sourcesContent":["import { options, reqObj, optionFields, optionSingle, File } from \"./FormFlux.Types\";\nimport ExtractFileContent from \"./ExtractContent\";\nimport writeFileContent from \"./WriteFileContent\";\nimport setContentToBody from \"./SetBodyContentToReq\";\nimport setFileNameToBody from \"./setFileNameToBody\";\nimport populateReqObj from \"./setDatatoReqobj\";\nimport EventHandlers from \"./EventHandlers\";\nimport FormfluxError from \"./FormFluxError\";\n\nclass Formflux {\n\n static diskStorage(options: options) {\n return {\n any() {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"disk\").writeContent();\n // new setFileContentToReq(obj).setFileNames(req);\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n\n single(field: string) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"single\", \"disk\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n static memoryStorage(options: optionSingle) {\n return {\n any() {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"any\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n fields(optionFields: optionFields) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, optionFields, null).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n\n new writeFileContent(req, obj, options, \"fields\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err)\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n single(field: string) {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, options, null, field).extraction();\n\n //To*********SetFileDataToReqObj\n new populateReqObj(obj).populate();\n\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n EventHandlers.on(\"writeEnd\", (message) => {\n writeBool = true;\n checkCompletion(writeBool, parseBool);\n })\n\n new writeFileContent(req, obj, options, \"single\", \"memory\").writeContent();\n if (options.attachFileToReqBody && options.attachFileToReqBody == true)\n new setFileNameToBody(obj).setFileNames(req);\n\n new setContentToBody(obj).setBody(req);\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n },\n }\n }\n\n bodyParser() {\n return async function (req: any, res: any, next: any): Promise<void> {\n let obj: reqObj = {\n \"originalReq\": \"\",\n \"modifiedReq\": Buffer.from(\"\"),\n \"data\": [],\n \"content\": [],\n \"metaData\": [],\n \"mimeType\": [],\n \"fieldNameBody\": [],\n \"fileName\": [],\n \"modifiedFileName\": [],\n \"contentBody\": [],\n \"fieldNameFile\": [],\n \"filePath\": [],\n \"filesize\": [],\n \"streams\": []\n\n };\n let buff: Array<Buffer> = [];\n let reqType = req.headers[\"content-type\"];\n if (reqType && !reqType.includes(\"multipart/form-data\"))\n throw new FormfluxError(\"Invalid Request Type.Expected multipart/form-data\", 400);\n\n let boundary = req.headers[\"content-type\"]?.split(\"boundary=\")[1];\n\n req.on(\"data\", (chunk: Buffer) => {\n buff.push(chunk);\n })\n req.on(\"end\", () => {\n try {\n obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer\n\n obj.data = obj.modifiedReq.toString(\"binary\")?.split(`--${boundary}`); // separating the boundary\n obj.data.pop();\n obj.data.shift();\n\n //*****Defaults*****\n //To*********extract content\n new ExtractFileContent(obj, null, null, null).extraction();\n\n //To*********SetFileDataToReqObj\n let writeBool: boolean = false;\n let parseBool: boolean = false;\n let checkCompletion = (writeComplete: boolean, parsecomplete: boolean) => {\n if (writeComplete && parsecomplete)\n next();\n }\n\n EventHandlers.on(\"parseEnd\", (message) => {\n parseBool = true;\n next();\n })\n\n new setContentToBody(obj).setBody(req);\n\n } catch (err) {\n next(err);\n }\n })\n\n req.on(\"error\", () => {\n next(new FormfluxError(\"Error in recieving request\", 500));\n })\n }\n }\n\n}\n\nexport default Formflux;\nexport { FormfluxError, optionFields, options, optionSingle, File };"],"mappings":"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","ignoreList":[]}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "formflux",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "A package to upload files to a server and parsing multipart-formData requests",
5
5
  "main": "./dist/cjs/FormFlux.js",
6
6
  "module": "./dist/esm/FormFlux.js",
@@ -1,18 +1,17 @@
1
- import { NextFunction, Request, Response } from "express";
2
1
  import { options, optionFields, optionSingle, File } from "./FormFlux.Types";
3
2
  import FormfluxError from "./FormFluxError";
4
3
  declare class Formflux {
5
4
  static diskStorage(options: options): {
6
- any(): (req: Request, res: Response, next: NextFunction) => Promise<void>;
7
- fields(optionFields: optionFields): (req: Request, res: Response, next: NextFunction) => Promise<void>;
8
- single(field: string): (req: Request, res: Response, next: NextFunction) => Promise<void>;
5
+ any(): (req: any, res: any, next: any) => Promise<void>;
6
+ fields(optionFields: optionFields): (req: any, res: any, next: any) => Promise<void>;
7
+ single(field: string): (req: any, res: any, next: any) => Promise<void>;
9
8
  };
10
9
  static memoryStorage(options: optionSingle): {
11
- any(): (req: Request, res: Response, next: NextFunction) => Promise<void>;
12
- fields(optionFields: optionFields): (req: Request, res: Response, next: NextFunction) => Promise<void>;
13
- single(field: string): (req: Request, res: Response, next: NextFunction) => Promise<void>;
10
+ any(): (req: any, res: any, next: any) => Promise<void>;
11
+ fields(optionFields: optionFields): (req: any, res: any, next: any) => Promise<void>;
12
+ single(field: string): (req: any, res: any, next: any) => Promise<void>;
14
13
  };
15
- bodyParser(): (req: Request, res: Response, next: NextFunction) => Promise<void>;
14
+ bodyParser(): (req: any, res: any, next: any) => Promise<void>;
16
15
  }
17
16
  export default Formflux;
18
17
  export { FormfluxError, optionFields, options, optionSingle, File };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "formflux",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "A package to upload files to a server and parsing multipart-formData requests",
5
5
  "main": "./dist/cjs/FormFlux.js",
6
6
  "module": "./dist/esm/FormFlux.js",