flamerest 1.0.64 → 1.0.66

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 (2) hide show
  1. package/REST.js +57 -31
  2. package/package.json +1 -1
package/REST.js CHANGED
@@ -504,38 +504,64 @@ class FLAMEREST {
504
504
  // Если в один из параметров передан FileList или input[type=file], т.е. нужно загрузить файлы
505
505
  for (let val in values) {
506
506
 
507
- // Преобразуем
508
- let value = values[val];
509
- let isRef = false;
510
- if (value instanceof Object
511
- && value.hasOwnProperty('_value')
512
- && (
513
- value._value instanceof Event ||
514
- value._value instanceof HTMLInputElement ||
515
- value._value instanceof ClipboardEvent ||
516
- value._value instanceof DataTransfer ||
517
- value._value instanceof FileList
518
- )
519
- ) { value = value.value; isRef = true }
520
-
521
- if (value instanceof Event && value.target instanceof HTMLInputElement && value.target.type === 'file') value = value.target.files;
522
- if (value instanceof HTMLInputElement && value.type === 'file') value = value.files;
523
- if (value instanceof ClipboardEvent) value = value.clipboardData.files;
524
- if (value instanceof DataTransfer) value = value.files;
525
- if (value instanceof FileList) {
526
- let newValues = [];
527
- value = Array.from(value);
528
- for (let file in value) {
529
- newValues.push({
530
- 'name': value[file].name,
531
- 'data': await this.readFileAsync(value[file]),
532
- 'id': this.generateID(32)
533
- });
507
+ // Пустые значения нам не нужны
508
+ if (values[val] === undefined || values[val] === null) continue;
509
+
510
+ // Любой вариант захода делаем массивом
511
+ let valuesArr = [];
512
+ if (values[val] instanceof Array) valuesArr = values[val];
513
+ else valuesArr = [values[val]];
514
+
515
+ // Идём по каждому значению в массиве
516
+ for (let valueKey in valuesArr) {
517
+
518
+ const value = valuesArr[valueKey];
519
+
520
+ // Преобразуем
521
+ let isRef = false;
522
+ if (value instanceof Object
523
+ && value.hasOwnProperty('_value')
524
+ && (
525
+ value._value instanceof Event ||
526
+ value._value instanceof HTMLInputElement ||
527
+ value._value instanceof ClipboardEvent ||
528
+ value._value instanceof DataTransfer ||
529
+ value._value instanceof FileList
530
+ )
531
+ ) { value = value.value; isRef = true }
532
+
533
+ if (value instanceof Event && value.target instanceof HTMLInputElement && value.target.type === 'file') value = value.target.files;
534
+ if (value instanceof HTMLInputElement && value.type === 'file') value = value.files;
535
+ if (value instanceof ClipboardEvent) value = value.clipboardData.files;
536
+ if (value instanceof DataTransfer) value = value.files;
537
+ if (value instanceof FileList) {
538
+ let newValues = [];
539
+ value = Array.from(value);
540
+ for (let file in value) {
541
+ newValues.push({
542
+ 'name': value[file].name,
543
+ 'data': await this.readFileAsync(value[file]),
544
+ 'id': this.generateID(32)
545
+ });
546
+ }
547
+
548
+ /*
549
+ if (isRef)
550
+ values[val].value = newValues;
551
+ else
552
+ values[val] = newValues;
553
+ */
554
+
555
+ if (values[val] instanceof Array) {
556
+ values[val].splice(valueKey);
557
+ values[val].push(...newValues);
558
+ }
559
+ else {
560
+ values[val] = newValues;
561
+ }
562
+
563
+
534
564
  }
535
- if (isRef)
536
- values[val].value = newValues;
537
- else
538
- values[val] = newValues;
539
565
  }
540
566
  }
541
567
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flamerest",
3
- "version": "1.0.64",
3
+ "version": "1.0.66",
4
4
  "description": "",
5
5
  "main": "REST.js",
6
6
  "typings": "./REST.d.ts",