read-excel-file 5.5.1 → 5.5.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.
@@ -9,22 +9,28 @@ var _fflate = require("fflate");
9
9
 
10
10
  /**
11
11
  * Reads XLSX file in a browser.
12
- * @param {File} file - A `File` object being uploaded in the browser.
12
+ * @param {(File|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.
13
13
  * @return {Promise} Resolves to an object holding XLSX file entries.
14
14
  */
15
- function unpackXlsxFile(file) {
16
- return file.arrayBuffer().then(function (fileBuffer) {
17
- var archive = new Uint8Array(fileBuffer);
18
- var contents = (0, _fflate.unzipSync)(archive);
19
- return getContents(contents); // return new Promise((resolve, reject) => {
20
- // unzip(archive, (error, contents) => {
21
- // if (error) {
22
- // return reject(error)
23
- // }
24
- // return resolve(getContents(contents))
25
- // })
26
- // })
27
- });
15
+ function unpackXlsxFile(input) {
16
+ if (input instanceof File) {
17
+ return input.arrayBuffer().then(unpackXlsxArrayBuffer);
18
+ }
19
+
20
+ return unpackXlsxArrayBuffer(input);
21
+ }
22
+
23
+ function unpackXlsxArrayBuffer(arrayBuffer) {
24
+ var archive = new Uint8Array(arrayBuffer);
25
+ var contents = (0, _fflate.unzipSync)(archive);
26
+ return getContents(contents); // return new Promise((resolve, reject) => {
27
+ // unzip(archive, (error, contents) => {
28
+ // if (error) {
29
+ // return reject(error)
30
+ // }
31
+ // return resolve(getContents(contents))
32
+ // })
33
+ // })
28
34
  }
29
35
 
30
36
  function getContents(contents) {
@@ -1 +1 @@
1
- {"version":3,"file":"unpackXlsxFileBrowser.js","names":["unpackXlsxFile","file","arrayBuffer","then","fileBuffer","archive","Uint8Array","contents","unzipSync","getContents","unzippedFiles","Object","keys","key","strFromU8"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import { unzipSync, strFromU8 } from 'fflate'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {File} file - A `File` object being uploaded in the browser.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(file) {\r\n\treturn file.arrayBuffer().then((fileBuffer) => {\r\n\t\tconst archive = new Uint8Array(fileBuffer)\r\n\t\tconst contents = unzipSync(archive)\r\n\t\treturn getContents(contents)\r\n\t\t// return new Promise((resolve, reject) => {\r\n\t\t// \tunzip(archive, (error, contents) => {\r\n\t\t// \t\tif (error) {\r\n\t\t// \t\t\treturn reject(error)\r\n\t\t// \t\t}\r\n\t\t// \t\treturn resolve(getContents(contents))\r\n\t\t// \t})\r\n\t\t// })\r\n\t})\r\n}\r\n\r\nfunction getContents(contents) {\r\n\tconst unzippedFiles = []\r\n\tfor (const key of Object.keys(contents)) {\r\n\t\tunzippedFiles[key] = strFromU8(contents[key])\r\n\t}\r\n\treturn unzippedFiles\r\n}"],"mappings":";;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;EAC5C,OAAOA,IAAI,CAACC,WAAL,GAAmBC,IAAnB,CAAwB,UAACC,UAAD,EAAgB;IAC9C,IAAMC,OAAO,GAAG,IAAIC,UAAJ,CAAeF,UAAf,CAAhB;IACA,IAAMG,QAAQ,GAAG,IAAAC,iBAAA,EAAUH,OAAV,CAAjB;IACA,OAAOI,WAAW,CAACF,QAAD,CAAlB,CAH8C,CAI9C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACA,CAZM,CAAP;AAaA;;AAED,SAASE,WAAT,CAAqBF,QAArB,EAA+B;EAC9B,IAAMG,aAAa,GAAG,EAAtB;;EACA,gCAAkBC,MAAM,CAACC,IAAP,CAAYL,QAAZ,CAAlB,kCAAyC;IAApC,IAAMM,GAAG,mBAAT;IACJH,aAAa,CAACG,GAAD,CAAb,GAAqB,IAAAC,iBAAA,EAAUP,QAAQ,CAACM,GAAD,CAAlB,CAArB;EACA;;EACD,OAAOH,aAAP;AACA"}
1
+ {"version":3,"file":"unpackXlsxFileBrowser.js","names":["unpackXlsxFile","input","File","arrayBuffer","then","unpackXlsxArrayBuffer","archive","Uint8Array","contents","unzipSync","getContents","unzippedFiles","Object","keys","key","strFromU8"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import { unzipSync, strFromU8 } from 'fflate'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {(File|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n\tif (input instanceof File) {\r\n\t\treturn input.arrayBuffer().then(unpackXlsxArrayBuffer)\r\n\t}\r\n\treturn unpackXlsxArrayBuffer(input)\r\n}\r\n\r\nfunction unpackXlsxArrayBuffer(arrayBuffer) {\r\n\tconst archive = new Uint8Array(arrayBuffer)\r\n\tconst contents = unzipSync(archive)\r\n\treturn getContents(contents)\r\n\t// return new Promise((resolve, reject) => {\r\n\t// \tunzip(archive, (error, contents) => {\r\n\t// \t\tif (error) {\r\n\t// \t\t\treturn reject(error)\r\n\t// \t\t}\r\n\t// \t\treturn resolve(getContents(contents))\r\n\t// \t})\r\n\t// })\r\n}\r\n\r\nfunction getContents(contents) {\r\n\tconst unzippedFiles = []\r\n\tfor (const key of Object.keys(contents)) {\r\n\t\tunzippedFiles[key] = strFromU8(contents[key])\r\n\t}\r\n\treturn unzippedFiles\r\n}"],"mappings":";;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,KAAxB,EAA+B;EAC7C,IAAIA,KAAK,YAAYC,IAArB,EAA2B;IAC1B,OAAOD,KAAK,CAACE,WAAN,GAAoBC,IAApB,CAAyBC,qBAAzB,CAAP;EACA;;EACD,OAAOA,qBAAqB,CAACJ,KAAD,CAA5B;AACA;;AAED,SAASI,qBAAT,CAA+BF,WAA/B,EAA4C;EAC3C,IAAMG,OAAO,GAAG,IAAIC,UAAJ,CAAeJ,WAAf,CAAhB;EACA,IAAMK,QAAQ,GAAG,IAAAC,iBAAA,EAAUH,OAAV,CAAjB;EACA,OAAOI,WAAW,CAACF,QAAD,CAAlB,CAH2C,CAI3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;;AAED,SAASE,WAAT,CAAqBF,QAArB,EAA+B;EAC9B,IAAMG,aAAa,GAAG,EAAtB;;EACA,gCAAkBC,MAAM,CAACC,IAAP,CAAYL,QAAZ,CAAlB,kCAAyC;IAApC,IAAMM,GAAG,mBAAT;IACJH,aAAa,CAACG,GAAD,CAAb,GAAqB,IAAAC,iBAAA,EAAUP,QAAQ,CAACM,GAAD,CAAlB,CAArB;EACA;;EACD,OAAOH,aAAP;AACA"}
package/index.d.ts CHANGED
@@ -17,7 +17,7 @@ export {
17
17
 
18
18
  export function parseExcelDate(excelSerialDate: number) : typeof Date;
19
19
 
20
- type Input = File;
20
+ type Input = File | ArrayBuffer;
21
21
 
22
22
  export function readXlsxFile<T extends object>(input: Input, options: ParseWithSchemaOptions<T>) : Promise<ParsedObjectsResult<T>>;
23
23
  export function readXlsxFile<T extends object>(input: Input, options: ParseWithMapOptions) : Promise<ParsedObjectsResult<T>>;
@@ -1,23 +1,29 @@
1
1
  import { unzipSync, strFromU8 } from 'fflate';
2
2
  /**
3
3
  * Reads XLSX file in a browser.
4
- * @param {File} file - A `File` object being uploaded in the browser.
4
+ * @param {(File|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.
5
5
  * @return {Promise} Resolves to an object holding XLSX file entries.
6
6
  */
7
7
 
8
- export default function unpackXlsxFile(file) {
9
- return file.arrayBuffer().then(function (fileBuffer) {
10
- var archive = new Uint8Array(fileBuffer);
11
- var contents = unzipSync(archive);
12
- return getContents(contents); // return new Promise((resolve, reject) => {
13
- // unzip(archive, (error, contents) => {
14
- // if (error) {
15
- // return reject(error)
16
- // }
17
- // return resolve(getContents(contents))
18
- // })
19
- // })
20
- });
8
+ export default function unpackXlsxFile(input) {
9
+ if (input instanceof File) {
10
+ return input.arrayBuffer().then(unpackXlsxArrayBuffer);
11
+ }
12
+
13
+ return unpackXlsxArrayBuffer(input);
14
+ }
15
+
16
+ function unpackXlsxArrayBuffer(arrayBuffer) {
17
+ var archive = new Uint8Array(arrayBuffer);
18
+ var contents = unzipSync(archive);
19
+ return getContents(contents); // return new Promise((resolve, reject) => {
20
+ // unzip(archive, (error, contents) => {
21
+ // if (error) {
22
+ // return reject(error)
23
+ // }
24
+ // return resolve(getContents(contents))
25
+ // })
26
+ // })
21
27
  }
22
28
 
23
29
  function getContents(contents) {
@@ -1 +1 @@
1
- {"version":3,"file":"unpackXlsxFileBrowser.js","names":["unzipSync","strFromU8","unpackXlsxFile","file","arrayBuffer","then","fileBuffer","archive","Uint8Array","contents","getContents","unzippedFiles","Object","keys","key"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import { unzipSync, strFromU8 } from 'fflate'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {File} file - A `File` object being uploaded in the browser.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(file) {\r\n\treturn file.arrayBuffer().then((fileBuffer) => {\r\n\t\tconst archive = new Uint8Array(fileBuffer)\r\n\t\tconst contents = unzipSync(archive)\r\n\t\treturn getContents(contents)\r\n\t\t// return new Promise((resolve, reject) => {\r\n\t\t// \tunzip(archive, (error, contents) => {\r\n\t\t// \t\tif (error) {\r\n\t\t// \t\t\treturn reject(error)\r\n\t\t// \t\t}\r\n\t\t// \t\treturn resolve(getContents(contents))\r\n\t\t// \t})\r\n\t\t// })\r\n\t})\r\n}\r\n\r\nfunction getContents(contents) {\r\n\tconst unzippedFiles = []\r\n\tfor (const key of Object.keys(contents)) {\r\n\t\tunzippedFiles[key] = strFromU8(contents[key])\r\n\t}\r\n\treturn unzippedFiles\r\n}"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,SAApB,QAAqC,QAArC;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,IAAxB,EAA8B;EAC5C,OAAOA,IAAI,CAACC,WAAL,GAAmBC,IAAnB,CAAwB,UAACC,UAAD,EAAgB;IAC9C,IAAMC,OAAO,GAAG,IAAIC,UAAJ,CAAeF,UAAf,CAAhB;IACA,IAAMG,QAAQ,GAAGT,SAAS,CAACO,OAAD,CAA1B;IACA,OAAOG,WAAW,CAACD,QAAD,CAAlB,CAH8C,CAI9C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACA,CAZM,CAAP;AAaA;;AAED,SAASC,WAAT,CAAqBD,QAArB,EAA+B;EAC9B,IAAME,aAAa,GAAG,EAAtB;;EACA,gCAAkBC,MAAM,CAACC,IAAP,CAAYJ,QAAZ,CAAlB,kCAAyC;IAApC,IAAMK,GAAG,mBAAT;IACJH,aAAa,CAACG,GAAD,CAAb,GAAqBb,SAAS,CAACQ,QAAQ,CAACK,GAAD,CAAT,CAA9B;EACA;;EACD,OAAOH,aAAP;AACA"}
1
+ {"version":3,"file":"unpackXlsxFileBrowser.js","names":["unzipSync","strFromU8","unpackXlsxFile","input","File","arrayBuffer","then","unpackXlsxArrayBuffer","archive","Uint8Array","contents","getContents","unzippedFiles","Object","keys","key"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import { unzipSync, strFromU8 } from 'fflate'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {(File|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n\tif (input instanceof File) {\r\n\t\treturn input.arrayBuffer().then(unpackXlsxArrayBuffer)\r\n\t}\r\n\treturn unpackXlsxArrayBuffer(input)\r\n}\r\n\r\nfunction unpackXlsxArrayBuffer(arrayBuffer) {\r\n\tconst archive = new Uint8Array(arrayBuffer)\r\n\tconst contents = unzipSync(archive)\r\n\treturn getContents(contents)\r\n\t// return new Promise((resolve, reject) => {\r\n\t// \tunzip(archive, (error, contents) => {\r\n\t// \t\tif (error) {\r\n\t// \t\t\treturn reject(error)\r\n\t// \t\t}\r\n\t// \t\treturn resolve(getContents(contents))\r\n\t// \t})\r\n\t// })\r\n}\r\n\r\nfunction getContents(contents) {\r\n\tconst unzippedFiles = []\r\n\tfor (const key of Object.keys(contents)) {\r\n\t\tunzippedFiles[key] = strFromU8(contents[key])\r\n\t}\r\n\treturn unzippedFiles\r\n}"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,SAApB,QAAqC,QAArC;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,KAAxB,EAA+B;EAC7C,IAAIA,KAAK,YAAYC,IAArB,EAA2B;IAC1B,OAAOD,KAAK,CAACE,WAAN,GAAoBC,IAApB,CAAyBC,qBAAzB,CAAP;EACA;;EACD,OAAOA,qBAAqB,CAACJ,KAAD,CAA5B;AACA;;AAED,SAASI,qBAAT,CAA+BF,WAA/B,EAA4C;EAC3C,IAAMG,OAAO,GAAG,IAAIC,UAAJ,CAAeJ,WAAf,CAAhB;EACA,IAAMK,QAAQ,GAAGV,SAAS,CAACQ,OAAD,CAA1B;EACA,OAAOG,WAAW,CAACD,QAAD,CAAlB,CAH2C,CAI3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;;AAED,SAASC,WAAT,CAAqBD,QAArB,EAA+B;EAC9B,IAAME,aAAa,GAAG,EAAtB;;EACA,gCAAkBC,MAAM,CAACC,IAAP,CAAYJ,QAAZ,CAAlB,kCAAyC;IAApC,IAAMK,GAAG,mBAAT;IACJH,aAAa,CAACG,GAAD,CAAb,GAAqBd,SAAS,CAACS,QAAQ,CAACK,GAAD,CAAT,CAA9B;EACA;;EACD,OAAOH,aAAP;AACA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "read-excel-file",
3
- "version": "5.5.1",
3
+ "version": "5.5.2",
4
4
  "description": "Read small to medium `*.xlsx` files in a browser or Node.js. Parse to JSON with a strict schema.",
5
5
  "module": "index.js",
6
6
  "main": "index.cjs",
@@ -16,7 +16,7 @@ export {
16
16
 
17
17
  export function parseExcelDate(excelSerialDate: number) : typeof Date;
18
18
 
19
- type Input = File;
19
+ type Input = File | ArrayBuffer;
20
20
 
21
21
  export function readXlsxFile<T extends object>(input: Input, options: ParseWithSchemaOptions<T>) : Promise<ParsedObjectsResult<T>>;
22
22
  export function readXlsxFile<T extends object>(input: Input, options: ParseWithMapOptions) : Promise<ParsedObjectsResult<T>>;