formflux 0.1.1 → 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/cjs/EventHandlers.js +16 -0
  2. package/dist/cjs/EventHandlers.js.map +1 -0
  3. package/dist/cjs/ExtractContent.js +146 -0
  4. package/dist/cjs/ExtractContent.js.map +1 -0
  5. package/dist/cjs/FormFlux.Types.js +2 -0
  6. package/dist/cjs/FormFlux.Types.js.map +1 -0
  7. package/dist/cjs/FormFlux.js +480 -0
  8. package/dist/cjs/FormFlux.js.map +1 -0
  9. package/dist/cjs/FormFluxError.js +14 -0
  10. package/dist/cjs/FormFluxError.js.map +1 -0
  11. package/dist/cjs/SetBodyContentToReq.js +100 -0
  12. package/dist/cjs/SetBodyContentToReq.js.map +1 -0
  13. package/dist/cjs/SetFileContentToReqFile.js +64 -0
  14. package/dist/cjs/SetFileContentToReqFile.js.map +1 -0
  15. package/dist/cjs/WriteFileContent.js +139 -0
  16. package/dist/cjs/WriteFileContent.js.map +1 -0
  17. package/dist/cjs/defaultOptions.js +14 -0
  18. package/dist/cjs/defaultOptions.js.map +1 -0
  19. package/dist/cjs/helpers/resBodyMaker.js +33 -0
  20. package/dist/cjs/helpers/resBodyMaker.js.map +1 -0
  21. package/dist/cjs/setDatatoReqobj.js +24 -0
  22. package/dist/cjs/setDatatoReqobj.js.map +1 -0
  23. package/dist/cjs/setFileNameToBody.js +103 -0
  24. package/dist/cjs/setFileNameToBody.js.map +1 -0
  25. package/dist/declarations/EventHandlers.d.ts +7 -0
  26. package/dist/declarations/ExtractContent.d.ts +11 -0
  27. package/dist/declarations/FormFlux.Types.d.ts +51 -0
  28. package/dist/declarations/FormFlux.d.ts +16 -0
  29. package/dist/declarations/FormFluxError.d.ts +5 -0
  30. package/dist/declarations/SetBodyContentToReq.d.ts +10 -0
  31. package/dist/declarations/SetFileContentToReqFile.d.ts +11 -0
  32. package/dist/declarations/WriteFileContent.d.ts +17 -0
  33. package/dist/declarations/defaultOptions.d.ts +2 -0
  34. package/dist/declarations/helpers/resBodyMaker.d.ts +1 -0
  35. package/dist/declarations/setDatatoReqobj.d.ts +7 -0
  36. package/dist/declarations/setFileNameToBody.d.ts +10 -0
  37. package/dist/esm/EventHandlers.js +11 -0
  38. package/dist/esm/EventHandlers.js.map +1 -0
  39. package/dist/esm/ExtractContent.js +141 -0
  40. package/dist/esm/ExtractContent.js.map +1 -0
  41. package/dist/esm/FormFlux.Types.js +2 -0
  42. package/dist/esm/FormFlux.Types.js.map +1 -0
  43. package/dist/esm/FormFlux.js +475 -0
  44. package/dist/esm/FormFlux.js.map +1 -0
  45. package/dist/esm/FormFluxError.js +10 -0
  46. package/dist/esm/FormFluxError.js.map +1 -0
  47. package/dist/esm/SetBodyContentToReq.js +95 -0
  48. package/dist/esm/SetBodyContentToReq.js.map +1 -0
  49. package/dist/esm/SetFileContentToReqFile.js +59 -0
  50. package/dist/esm/SetFileContentToReqFile.js.map +1 -0
  51. package/dist/esm/WriteFileContent.js +134 -0
  52. package/dist/esm/WriteFileContent.js.map +1 -0
  53. package/dist/esm/defaultOptions.js +10 -0
  54. package/dist/esm/defaultOptions.js.map +1 -0
  55. package/dist/esm/helpers/resBodyMaker.js +29 -0
  56. package/dist/esm/helpers/resBodyMaker.js.map +1 -0
  57. package/dist/esm/setDatatoReqobj.js +20 -0
  58. package/dist/esm/setDatatoReqobj.js.map +1 -0
  59. package/dist/esm/setFileNameToBody.js +98 -0
  60. package/dist/esm/setFileNameToBody.js.map +1 -0
  61. package/dist/package.json +61 -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,475 @@
1
+ import ExtractFileContent from "./ExtractContent";
2
+ import writeFileContent from "./WriteFileContent";
3
+ import setContentToBody from "./SetBodyContentToReq";
4
+ import setFileNameToBody from "./setFileNameToBody";
5
+ import populateReqObj from "./setDatatoReqobj";
6
+ import EventHandlers from "./EventHandlers";
7
+ import FormfluxError from "./FormFluxError";
8
+ class Formflux {
9
+ static diskStorage(options) {
10
+ return {
11
+ any() {
12
+ return async function (req, res, next) {
13
+ var _req$headers$content;
14
+ let obj = {
15
+ "originalReq": "",
16
+ "modifiedReq": Buffer.from(""),
17
+ "data": [],
18
+ "content": [],
19
+ "metaData": [],
20
+ "mimeType": [],
21
+ "fieldNameBody": [],
22
+ "fileName": [],
23
+ "modifiedFileName": [],
24
+ "contentBody": [],
25
+ "fieldNameFile": [],
26
+ "filePath": [],
27
+ "filesize": [],
28
+ "streams": []
29
+ };
30
+ let buff = [];
31
+ let reqType = req.headers["content-type"];
32
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
33
+ let boundary = (_req$headers$content = req.headers["content-type"]) == null ? void 0 : _req$headers$content.split("boundary=")[1];
34
+ req.on("data", chunk => {
35
+ buff.push(chunk);
36
+ });
37
+ req.on("end", () => {
38
+ try {
39
+ var _obj$modifiedReq$toSt;
40
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
41
+
42
+ obj.data = (_obj$modifiedReq$toSt = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt.split(`--${boundary}`); // separating the boundary
43
+ obj.data.pop();
44
+ obj.data.shift();
45
+
46
+ //*****Defaults*****
47
+ //To*********extract content
48
+ new ExtractFileContent(obj, options, null, null).extraction();
49
+
50
+ //To*********SetFileDataToReqObj
51
+ new populateReqObj(obj).populate();
52
+ let writeBool = false;
53
+ let parseBool = false;
54
+ let checkCompletion = (writeComplete, parsecomplete) => {
55
+ if (writeComplete && parsecomplete) next();
56
+ };
57
+ EventHandlers.on("parseEnd", message => {
58
+ parseBool = true;
59
+ checkCompletion(writeBool, parseBool);
60
+ });
61
+ EventHandlers.on("writeEnd", message => {
62
+ writeBool = true;
63
+ checkCompletion(writeBool, parseBool);
64
+ });
65
+ new writeFileContent(req, obj, options, "any", "disk").writeContent();
66
+ if (options.attachFileToReqBody && options.attachFileToReqBody == true) new setFileNameToBody(obj).setFileNames(req);
67
+ new setContentToBody(obj).setBody(req);
68
+ } catch (err) {
69
+ next(err);
70
+ }
71
+ });
72
+ req.on("error", () => {
73
+ next(new FormfluxError("Error in recieving request", 500));
74
+ });
75
+ };
76
+ },
77
+ fields(optionFields) {
78
+ return async function (req, res, next) {
79
+ var _req$headers$content2;
80
+ let obj = {
81
+ "originalReq": "",
82
+ "modifiedReq": Buffer.from(""),
83
+ "data": [],
84
+ "content": [],
85
+ "metaData": [],
86
+ "mimeType": [],
87
+ "fieldNameBody": [],
88
+ "fileName": [],
89
+ "modifiedFileName": [],
90
+ "contentBody": [],
91
+ "fieldNameFile": [],
92
+ "filePath": [],
93
+ "filesize": [],
94
+ "streams": []
95
+ };
96
+ let buff = [];
97
+ let reqType = req.headers["content-type"];
98
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
99
+ let boundary = (_req$headers$content2 = req.headers["content-type"]) == null ? void 0 : _req$headers$content2.split("boundary=")[1];
100
+ req.on("data", chunk => {
101
+ buff.push(chunk);
102
+ });
103
+ req.on("end", () => {
104
+ try {
105
+ var _obj$modifiedReq$toSt2;
106
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
107
+
108
+ obj.data = (_obj$modifiedReq$toSt2 = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt2.split(`--${boundary}`); // separating the boundary
109
+ obj.data.pop();
110
+ obj.data.shift();
111
+
112
+ //*****Defaults*****
113
+ //To*********extract content
114
+ new ExtractFileContent(obj, options, optionFields, null).extraction();
115
+
116
+ //To*********SetFileDataToReqObj
117
+ new populateReqObj(obj).populate();
118
+ let writeBool = false;
119
+ let parseBool = false;
120
+ let checkCompletion = (writeComplete, parsecomplete) => {
121
+ if (writeComplete && parsecomplete) next();
122
+ };
123
+ EventHandlers.on("parseEnd", message => {
124
+ parseBool = true;
125
+ checkCompletion(writeBool, parseBool);
126
+ });
127
+ EventHandlers.on("writeEnd", message => {
128
+ writeBool = true;
129
+ checkCompletion(writeBool, parseBool);
130
+ });
131
+ new writeFileContent(req, obj, options, "fields", "disk").writeContent();
132
+ // new setFileContentToReq(obj).setFileNames(req);
133
+ if (options.attachFileToReqBody && options.attachFileToReqBody == true) new setFileNameToBody(obj).setFileNames(req);
134
+ new setContentToBody(obj).setBody(req);
135
+ } catch (err) {
136
+ next(err);
137
+ }
138
+ });
139
+ req.on("error", () => {
140
+ next(new FormfluxError("Error in recieving request", 500));
141
+ });
142
+ };
143
+ },
144
+ single(field) {
145
+ return async function (req, res, next) {
146
+ var _req$headers$content3;
147
+ let obj = {
148
+ "originalReq": "",
149
+ "modifiedReq": Buffer.from(""),
150
+ "data": [],
151
+ "content": [],
152
+ "metaData": [],
153
+ "mimeType": [],
154
+ "fieldNameBody": [],
155
+ "fileName": [],
156
+ "modifiedFileName": [],
157
+ "contentBody": [],
158
+ "fieldNameFile": [],
159
+ "filePath": [],
160
+ "filesize": [],
161
+ "streams": []
162
+ };
163
+ let buff = [];
164
+ let reqType = req.headers["content-type"];
165
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
166
+ let boundary = (_req$headers$content3 = req.headers["content-type"]) == null ? void 0 : _req$headers$content3.split("boundary=")[1];
167
+ req.on("data", chunk => {
168
+ buff.push(chunk);
169
+ });
170
+ req.on("end", () => {
171
+ try {
172
+ var _obj$modifiedReq$toSt3;
173
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
174
+
175
+ obj.data = (_obj$modifiedReq$toSt3 = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt3.split(`--${boundary}`); // separating the boundary
176
+ obj.data.pop();
177
+ obj.data.shift();
178
+
179
+ //*****Defaults*****
180
+ //To*********extract content
181
+ new ExtractFileContent(obj, options, null, field).extraction();
182
+
183
+ //To*********SetFileDataToReqObj
184
+ new populateReqObj(obj).populate();
185
+ let writeBool = false;
186
+ let parseBool = false;
187
+ let checkCompletion = (writeComplete, parsecomplete) => {
188
+ if (writeComplete && parsecomplete) next();
189
+ };
190
+ EventHandlers.on("parseEnd", message => {
191
+ parseBool = true;
192
+ checkCompletion(writeBool, parseBool);
193
+ });
194
+ EventHandlers.on("writeEnd", message => {
195
+ writeBool = true;
196
+ checkCompletion(writeBool, parseBool);
197
+ });
198
+ new writeFileContent(req, obj, options, "single", "disk").writeContent();
199
+ if (options.attachFileToReqBody && options.attachFileToReqBody == true) new setFileNameToBody(obj).setFileNames(req);
200
+ new setContentToBody(obj).setBody(req);
201
+ } catch (err) {
202
+ next(err);
203
+ }
204
+ });
205
+ req.on("error", () => {
206
+ next(new FormfluxError("Error in recieving request", 500));
207
+ });
208
+ };
209
+ }
210
+ };
211
+ }
212
+ static memoryStorage(options) {
213
+ return {
214
+ any() {
215
+ return async function (req, res, next) {
216
+ var _req$headers$content4;
217
+ let obj = {
218
+ "originalReq": "",
219
+ "modifiedReq": Buffer.from(""),
220
+ "data": [],
221
+ "content": [],
222
+ "metaData": [],
223
+ "mimeType": [],
224
+ "fieldNameBody": [],
225
+ "fileName": [],
226
+ "modifiedFileName": [],
227
+ "contentBody": [],
228
+ "fieldNameFile": [],
229
+ "filePath": [],
230
+ "filesize": [],
231
+ "streams": []
232
+ };
233
+ let buff = [];
234
+ let reqType = req.headers["content-type"];
235
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
236
+ let boundary = (_req$headers$content4 = req.headers["content-type"]) == null ? void 0 : _req$headers$content4.split("boundary=")[1];
237
+ req.on("data", chunk => {
238
+ buff.push(chunk);
239
+ });
240
+ req.on("end", () => {
241
+ try {
242
+ var _obj$modifiedReq$toSt4;
243
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
244
+
245
+ obj.data = (_obj$modifiedReq$toSt4 = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt4.split(`--${boundary}`); // separating the boundary
246
+ obj.data.pop();
247
+ obj.data.shift();
248
+
249
+ //*****Defaults*****
250
+ //To*********extract content
251
+ new ExtractFileContent(obj, options, null, null).extraction();
252
+
253
+ //To*********SetFileDataToReqObj
254
+ new populateReqObj(obj).populate();
255
+ let writeBool = false;
256
+ let parseBool = false;
257
+ let checkCompletion = (writeComplete, parsecomplete) => {
258
+ if (writeComplete && parsecomplete) next();
259
+ };
260
+ EventHandlers.on("parseEnd", message => {
261
+ parseBool = true;
262
+ checkCompletion(writeBool, parseBool);
263
+ });
264
+ EventHandlers.on("writeEnd", message => {
265
+ writeBool = true;
266
+ checkCompletion(writeBool, parseBool);
267
+ });
268
+ new writeFileContent(req, obj, options, "any", "memory").writeContent();
269
+ if (options.attachFileToReqBody && options.attachFileToReqBody == true) new setFileNameToBody(obj).setFileNames(req);
270
+ new setContentToBody(obj).setBody(req);
271
+ } catch (err) {
272
+ next(err);
273
+ }
274
+ });
275
+ req.on("error", () => {
276
+ next(new FormfluxError("Error in recieving request", 500));
277
+ });
278
+ };
279
+ },
280
+ fields(optionFields) {
281
+ return async function (req, res, next) {
282
+ var _req$headers$content5;
283
+ let obj = {
284
+ "originalReq": "",
285
+ "modifiedReq": Buffer.from(""),
286
+ "data": [],
287
+ "content": [],
288
+ "metaData": [],
289
+ "mimeType": [],
290
+ "fieldNameBody": [],
291
+ "fileName": [],
292
+ "modifiedFileName": [],
293
+ "contentBody": [],
294
+ "fieldNameFile": [],
295
+ "filePath": [],
296
+ "filesize": [],
297
+ "streams": []
298
+ };
299
+ let buff = [];
300
+ let reqType = req.headers["content-type"];
301
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
302
+ let boundary = (_req$headers$content5 = req.headers["content-type"]) == null ? void 0 : _req$headers$content5.split("boundary=")[1];
303
+ req.on("data", chunk => {
304
+ buff.push(chunk);
305
+ });
306
+ req.on("end", () => {
307
+ try {
308
+ var _obj$modifiedReq$toSt5;
309
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
310
+
311
+ obj.data = (_obj$modifiedReq$toSt5 = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt5.split(`--${boundary}`); // separating the boundary
312
+ obj.data.pop();
313
+ obj.data.shift();
314
+
315
+ //*****Defaults*****
316
+ //To*********extract content
317
+ new ExtractFileContent(obj, options, optionFields, null).extraction();
318
+
319
+ //To*********SetFileDataToReqObj
320
+ new populateReqObj(obj).populate();
321
+ let writeBool = false;
322
+ let parseBool = false;
323
+ let checkCompletion = (writeComplete, parsecomplete) => {
324
+ if (writeComplete && parsecomplete) next();
325
+ };
326
+ EventHandlers.on("parseEnd", message => {
327
+ parseBool = true;
328
+ checkCompletion(writeBool, parseBool);
329
+ });
330
+ EventHandlers.on("writeEnd", message => {
331
+ writeBool = true;
332
+ checkCompletion(writeBool, parseBool);
333
+ });
334
+ new writeFileContent(req, obj, options, "fields", "memory").writeContent();
335
+ if (options.attachFileToReqBody && options.attachFileToReqBody == true) new setFileNameToBody(obj).setFileNames(req);
336
+ new setContentToBody(obj).setBody(req);
337
+ } catch (err) {
338
+ next(err);
339
+ }
340
+ });
341
+ req.on("error", () => {
342
+ next(new FormfluxError("Error in recieving request", 500));
343
+ });
344
+ };
345
+ },
346
+ single(field) {
347
+ return async function (req, res, next) {
348
+ var _req$headers$content6;
349
+ let obj = {
350
+ "originalReq": "",
351
+ "modifiedReq": Buffer.from(""),
352
+ "data": [],
353
+ "content": [],
354
+ "metaData": [],
355
+ "mimeType": [],
356
+ "fieldNameBody": [],
357
+ "fileName": [],
358
+ "modifiedFileName": [],
359
+ "contentBody": [],
360
+ "fieldNameFile": [],
361
+ "filePath": [],
362
+ "filesize": [],
363
+ "streams": []
364
+ };
365
+ let buff = [];
366
+ let reqType = req.headers["content-type"];
367
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
368
+ let boundary = (_req$headers$content6 = req.headers["content-type"]) == null ? void 0 : _req$headers$content6.split("boundary=")[1];
369
+ req.on("data", chunk => {
370
+ buff.push(chunk);
371
+ });
372
+ req.on("end", () => {
373
+ try {
374
+ var _obj$modifiedReq$toSt6;
375
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
376
+
377
+ obj.data = (_obj$modifiedReq$toSt6 = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt6.split(`--${boundary}`); // separating the boundary
378
+ obj.data.pop();
379
+ obj.data.shift();
380
+
381
+ //*****Defaults*****
382
+ //To*********extract content
383
+ new ExtractFileContent(obj, options, null, field).extraction();
384
+
385
+ //To*********SetFileDataToReqObj
386
+ new populateReqObj(obj).populate();
387
+ let writeBool = false;
388
+ let parseBool = false;
389
+ let checkCompletion = (writeComplete, parsecomplete) => {
390
+ if (writeComplete && parsecomplete) next();
391
+ };
392
+ EventHandlers.on("parseEnd", message => {
393
+ parseBool = true;
394
+ checkCompletion(writeBool, parseBool);
395
+ });
396
+ EventHandlers.on("writeEnd", message => {
397
+ writeBool = true;
398
+ checkCompletion(writeBool, parseBool);
399
+ });
400
+ new writeFileContent(req, obj, options, "single", "memory").writeContent();
401
+ if (options.attachFileToReqBody && options.attachFileToReqBody == true) new setFileNameToBody(obj).setFileNames(req);
402
+ new setContentToBody(obj).setBody(req);
403
+ } catch (err) {
404
+ next(err);
405
+ }
406
+ });
407
+ req.on("error", () => {
408
+ next(new FormfluxError("Error in recieving request", 500));
409
+ });
410
+ };
411
+ }
412
+ };
413
+ }
414
+ bodyParser() {
415
+ return async function (req, res, next) {
416
+ var _req$headers$content7;
417
+ let obj = {
418
+ "originalReq": "",
419
+ "modifiedReq": Buffer.from(""),
420
+ "data": [],
421
+ "content": [],
422
+ "metaData": [],
423
+ "mimeType": [],
424
+ "fieldNameBody": [],
425
+ "fileName": [],
426
+ "modifiedFileName": [],
427
+ "contentBody": [],
428
+ "fieldNameFile": [],
429
+ "filePath": [],
430
+ "filesize": [],
431
+ "streams": []
432
+ };
433
+ let buff = [];
434
+ let reqType = req.headers["content-type"];
435
+ if (reqType && !reqType.includes("multipart/form-data")) throw new FormfluxError("Invalid Request Type.Expected multipart/form-data", 400);
436
+ let boundary = (_req$headers$content7 = req.headers["content-type"]) == null ? void 0 : _req$headers$content7.split("boundary=")[1];
437
+ req.on("data", chunk => {
438
+ buff.push(chunk);
439
+ });
440
+ req.on("end", () => {
441
+ try {
442
+ var _obj$modifiedReq$toSt7;
443
+ obj.modifiedReq = Buffer.concat(buff); // holding the concatinated buffer
444
+
445
+ obj.data = (_obj$modifiedReq$toSt7 = obj.modifiedReq.toString("binary")) == null ? void 0 : _obj$modifiedReq$toSt7.split(`--${boundary}`); // separating the boundary
446
+ obj.data.pop();
447
+ obj.data.shift();
448
+
449
+ //*****Defaults*****
450
+ //To*********extract content
451
+ new ExtractFileContent(obj, null, null, null).extraction();
452
+
453
+ //To*********SetFileDataToReqObj
454
+ let writeBool = false;
455
+ let parseBool = false;
456
+ let checkCompletion = (writeComplete, parsecomplete) => {
457
+ if (writeComplete && parsecomplete) next();
458
+ };
459
+ EventHandlers.on("parseEnd", message => {
460
+ parseBool = true;
461
+ next();
462
+ });
463
+ new setContentToBody(obj).setBody(req);
464
+ } catch (err) {
465
+ next(err);
466
+ }
467
+ });
468
+ req.on("error", () => {
469
+ next(new FormfluxError("Error in recieving request", 500));
470
+ });
471
+ };
472
+ }
473
+ }
474
+ export default Formflux;
475
+ //# sourceMappingURL=FormFlux.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFlux.js","names":["ExtractFileContent","writeFileContent","setContentToBody","setFileNameToBody","populateReqObj","EventHandlers","FormfluxError","Formflux","diskStorage","options","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","optionFields","_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 { NextFunction, Request, Response } from \"express\";\nimport { options, reqObj, optionFields, optionSingle } 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;"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ class FormfluxError extends Error {
2
+ constructor(message, statusCode = 500) {
3
+ super(message);
4
+ this.statusCode = void 0;
5
+ this.name = "FormfluxError";
6
+ this.statusCode = statusCode;
7
+ }
8
+ }
9
+ export default FormfluxError;
10
+ //# sourceMappingURL=FormFluxError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFluxError.js","names":["FormfluxError","Error","constructor","message","statusCode","name"],"sources":["../../src/FormFluxError.ts"],"sourcesContent":["class FormfluxError extends Error {\n private statusCode: number;\n constructor(message: string,statusCode: number=500) {\n super(message);\n this.name = \"FormfluxError\";\n this.statusCode=statusCode;\n }\n}\n\n\nexport default FormfluxError;\n\n\n\n"],"mappings":"AAAA,MAAMA,aAAa,SAASC,KAAK,CAAC;EAE9BC,WAAWA,CAACC,OAAe,EAACC,UAAkB,GAAC,GAAG,EAAE;IAChD,KAAK,CAACD,OAAO,CAAC;IAAC,KAFXC,UAAU;IAGd,IAAI,CAACC,IAAI,GAAG,eAAe;IAC3B,IAAI,CAACD,UAAU,GAACA,UAAU;EAC9B;AACJ;AAGA,eAAeJ,aAAa","ignoreList":[]}