@teselagen/file-utils 0.3.10 → 0.3.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.
package/index.js CHANGED
@@ -14580,7 +14580,7 @@ const setupCsvParserOptions = /* @__PURE__ */ __name((parserOptions = {}) => {
14580
14580
  }
14581
14581
  return papaParseOpts;
14582
14582
  }, "setupCsvParserOptions");
14583
- const normalizeCsvHeaderHelper = /* @__PURE__ */ __name((h) => lodashExports.snakeCase(h.toUpperCase()).toUpperCase(), "normalizeCsvHeaderHelper");
14583
+ const normalizeCsvHeaderHelper = /* @__PURE__ */ __name((h) => lodashExports.snakeCase(h).toUpperCase(), "normalizeCsvHeaderHelper");
14584
14584
  function normalizeCsvHeader(header) {
14585
14585
  if (header.startsWith("ext-") || header.startsWith("EXT-")) {
14586
14586
  return header;
@@ -14593,7 +14593,9 @@ const parseCsvFile = /* @__PURE__ */ __name((csvFile, parserOptions = {}) => {
14593
14593
  const opts = __spreadProps(__spreadValues(__spreadValues({}, defaultCsvParserOptions), setupCsvParserOptions(parserOptions)), {
14594
14594
  complete: (results) => {
14595
14595
  var _a;
14596
- if (results && ((_a = results.data) == null ? void 0 : _a.length) && results.errors && results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter`) {
14596
+ if (results && ((_a = results.data) == null ? void 0 : _a.length) && results.errors && (results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter` || results.errors.every(
14597
+ (e) => e.code === `TooFewFields` || e.code === `TooManyFields`
14598
+ ))) {
14597
14599
  return resolve(results);
14598
14600
  } else if (results && results.errors && results.errors.length) {
14599
14601
  return reject("Error in csv: " + JSON.stringify(results.errors));
@@ -14690,6 +14692,8 @@ const cleanCsvExport = /* @__PURE__ */ __name((rows) => {
14690
14692
  return rows;
14691
14693
  }, "cleanCsvExport");
14692
14694
  const filterFilesInZip = /* @__PURE__ */ __name((file, accepted) => __async(exports, null, function* () {
14695
+ if (!file || Array.isArray(file) && !file.length)
14696
+ return [];
14693
14697
  const zipExtracted = yield extractZipFiles(file);
14694
14698
  const acceptedFiles = [];
14695
14699
  for (const extFile of zipExtracted) {
package/index.mjs CHANGED
@@ -14578,7 +14578,7 @@ const setupCsvParserOptions = /* @__PURE__ */ __name((parserOptions = {}) => {
14578
14578
  }
14579
14579
  return papaParseOpts;
14580
14580
  }, "setupCsvParserOptions");
14581
- const normalizeCsvHeaderHelper = /* @__PURE__ */ __name((h) => lodashExports.snakeCase(h.toUpperCase()).toUpperCase(), "normalizeCsvHeaderHelper");
14581
+ const normalizeCsvHeaderHelper = /* @__PURE__ */ __name((h) => lodashExports.snakeCase(h).toUpperCase(), "normalizeCsvHeaderHelper");
14582
14582
  function normalizeCsvHeader(header) {
14583
14583
  if (header.startsWith("ext-") || header.startsWith("EXT-")) {
14584
14584
  return header;
@@ -14591,7 +14591,9 @@ const parseCsvFile = /* @__PURE__ */ __name((csvFile, parserOptions = {}) => {
14591
14591
  const opts = __spreadProps(__spreadValues(__spreadValues({}, defaultCsvParserOptions), setupCsvParserOptions(parserOptions)), {
14592
14592
  complete: (results) => {
14593
14593
  var _a;
14594
- if (results && ((_a = results.data) == null ? void 0 : _a.length) && results.errors && results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter`) {
14594
+ if (results && ((_a = results.data) == null ? void 0 : _a.length) && results.errors && (results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter` || results.errors.every(
14595
+ (e) => e.code === `TooFewFields` || e.code === `TooManyFields`
14596
+ ))) {
14595
14597
  return resolve(results);
14596
14598
  } else if (results && results.errors && results.errors.length) {
14597
14599
  return reject("Error in csv: " + JSON.stringify(results.errors));
@@ -14688,6 +14690,8 @@ const cleanCsvExport = /* @__PURE__ */ __name((rows) => {
14688
14690
  return rows;
14689
14691
  }, "cleanCsvExport");
14690
14692
  const filterFilesInZip = /* @__PURE__ */ __name((file, accepted) => __async(void 0, null, function* () {
14693
+ if (!file || Array.isArray(file) && !file.length)
14694
+ return [];
14691
14695
  const zipExtracted = yield extractZipFiles(file);
14692
14696
  const acceptedFiles = [];
14693
14697
  for (const extFile of zipExtracted) {
package/index.umd.js CHANGED
@@ -14582,7 +14582,7 @@ var __async = (__this, __arguments, generator) => {
14582
14582
  }
14583
14583
  return papaParseOpts;
14584
14584
  }, "setupCsvParserOptions");
14585
- const normalizeCsvHeaderHelper = /* @__PURE__ */ __name((h) => lodashExports.snakeCase(h.toUpperCase()).toUpperCase(), "normalizeCsvHeaderHelper");
14585
+ const normalizeCsvHeaderHelper = /* @__PURE__ */ __name((h) => lodashExports.snakeCase(h).toUpperCase(), "normalizeCsvHeaderHelper");
14586
14586
  function normalizeCsvHeader(header) {
14587
14587
  if (header.startsWith("ext-") || header.startsWith("EXT-")) {
14588
14588
  return header;
@@ -14595,7 +14595,9 @@ var __async = (__this, __arguments, generator) => {
14595
14595
  const opts = __spreadProps(__spreadValues(__spreadValues({}, defaultCsvParserOptions), setupCsvParserOptions(parserOptions)), {
14596
14596
  complete: (results) => {
14597
14597
  var _a;
14598
- if (results && ((_a = results.data) == null ? void 0 : _a.length) && results.errors && results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter`) {
14598
+ if (results && ((_a = results.data) == null ? void 0 : _a.length) && results.errors && (results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter` || results.errors.every(
14599
+ (e) => e.code === `TooFewFields` || e.code === `TooManyFields`
14600
+ ))) {
14599
14601
  return resolve(results);
14600
14602
  } else if (results && results.errors && results.errors.length) {
14601
14603
  return reject("Error in csv: " + JSON.stringify(results.errors));
@@ -14692,6 +14694,8 @@ var __async = (__this, __arguments, generator) => {
14692
14694
  return rows;
14693
14695
  }, "cleanCsvExport");
14694
14696
  const filterFilesInZip = /* @__PURE__ */ __name((file, accepted) => __async(this, null, function* () {
14697
+ if (!file || Array.isArray(file) && !file.length)
14698
+ return [];
14695
14699
  const zipExtracted = yield extractZipFiles(file);
14696
14700
  const acceptedFiles = [];
14697
14701
  for (const extFile of zipExtracted) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teselagen/file-utils",
3
- "version": "0.3.10",
3
+ "version": "0.3.12",
4
4
  "dependencies": {
5
5
  "bluebird": "^3.7.2",
6
6
  "jszip": "^3.10.1",
package/src/file-utils.js CHANGED
@@ -126,7 +126,7 @@ export const setupCsvParserOptions = (parserOptions = {}) => {
126
126
  return papaParseOpts;
127
127
  };
128
128
 
129
- const normalizeCsvHeaderHelper = h => snakeCase(h.toUpperCase()).toUpperCase();
129
+ const normalizeCsvHeaderHelper = h => snakeCase(h).toUpperCase();
130
130
 
131
131
  export function normalizeCsvHeader(header) {
132
132
  if (header.startsWith("ext-") || header.startsWith("EXT-")) {
@@ -145,8 +145,11 @@ export const parseCsvFile = (csvFile, parserOptions = {}) => {
145
145
  results &&
146
146
  results.data?.length &&
147
147
  results.errors &&
148
- results.errors.length === 1 &&
149
- results.errors[0].code === `UndetectableDelimiter`
148
+ ((results.errors.length === 1 &&
149
+ results.errors[0].code === `UndetectableDelimiter`) ||
150
+ results.errors.every(
151
+ e => e.code === `TooFewFields` || e.code === `TooManyFields`
152
+ ))
150
153
  ) {
151
154
  return resolve(results);
152
155
  } else if (results && results.errors && results.errors.length) {
@@ -288,6 +291,7 @@ export const cleanCsvExport = rows => {
288
291
  };
289
292
 
290
293
  export const filterFilesInZip = async (file, accepted) => {
294
+ if (!file || (Array.isArray(file) && !file.length)) return [];
291
295
  const zipExtracted = await extractZipFiles(file);
292
296
  const acceptedFiles = [];
293
297
  for (const extFile of zipExtracted) {