read-excel-file 5.7.1 → 5.8.0

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 (213) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +45 -19
  3. package/bundle/read-excel-file.min.js +1 -1
  4. package/bundle/read-excel-file.min.js.map +1 -1
  5. package/commonjs/read/coordinates.js +7 -10
  6. package/commonjs/read/coordinates.js.map +1 -1
  7. package/commonjs/read/dropEmptyColumns.js +6 -18
  8. package/commonjs/read/dropEmptyColumns.js.map +1 -1
  9. package/commonjs/read/dropEmptyColumns.test.js.map +1 -1
  10. package/commonjs/read/dropEmptyRows.js +11 -23
  11. package/commonjs/read/dropEmptyRows.js.map +1 -1
  12. package/commonjs/read/dropEmptyRows.test.js.map +1 -1
  13. package/commonjs/read/getData.js +31 -43
  14. package/commonjs/read/getData.js.map +1 -1
  15. package/commonjs/read/isDateTimestamp.js +51 -40
  16. package/commonjs/read/isDateTimestamp.js.map +1 -1
  17. package/commonjs/read/parseCell.js +3 -10
  18. package/commonjs/read/parseCell.js.map +1 -1
  19. package/commonjs/read/parseCellValue.js +28 -59
  20. package/commonjs/read/parseCellValue.js.map +1 -1
  21. package/commonjs/read/parseCells.js +3 -7
  22. package/commonjs/read/parseCells.js.map +1 -1
  23. package/commonjs/read/parseDate.js +5 -5
  24. package/commonjs/read/parseDate.js.map +1 -1
  25. package/commonjs/read/parseDate.test.js.map +1 -1
  26. package/commonjs/read/parseDimensions.js +6 -18
  27. package/commonjs/read/parseDimensions.js.map +1 -1
  28. package/commonjs/read/parseFilePaths.js +4 -11
  29. package/commonjs/read/parseFilePaths.js.map +1 -1
  30. package/commonjs/read/parseProperties.js +6 -8
  31. package/commonjs/read/parseProperties.js.map +1 -1
  32. package/commonjs/read/parseSharedStrings.js +0 -3
  33. package/commonjs/read/parseSharedStrings.js.map +1 -1
  34. package/commonjs/read/parseSheet.js +3 -7
  35. package/commonjs/read/parseSheet.js.map +1 -1
  36. package/commonjs/read/parseStyles.js +13 -21
  37. package/commonjs/read/parseStyles.js.map +1 -1
  38. package/commonjs/read/readSheetNamesBrowser.js +0 -3
  39. package/commonjs/read/readSheetNamesBrowser.js.map +1 -1
  40. package/commonjs/read/readSheetNamesNode.js +0 -3
  41. package/commonjs/read/readSheetNamesNode.js.map +1 -1
  42. package/commonjs/read/readSheetNamesNode.test.js.map +1 -1
  43. package/commonjs/read/readSheetNamesWebWorker.js +0 -3
  44. package/commonjs/read/readSheetNamesWebWorker.js.map +1 -1
  45. package/commonjs/read/readXlsx.js +34 -42
  46. package/commonjs/read/readXlsx.js.map +1 -1
  47. package/commonjs/read/readXlsxFileBrowser.js +0 -5
  48. package/commonjs/read/readXlsxFileBrowser.js.map +1 -1
  49. package/commonjs/read/readXlsxFileContents.js +12 -22
  50. package/commonjs/read/readXlsxFileContents.js.map +1 -1
  51. package/commonjs/read/readXlsxFileNode.js +0 -5
  52. package/commonjs/read/readXlsxFileNode.js.map +1 -1
  53. package/commonjs/read/readXlsxFileNode.test.js.map +1 -1
  54. package/commonjs/read/readXlsxFileWebWorker.js +0 -5
  55. package/commonjs/read/readXlsxFileWebWorker.js.map +1 -1
  56. package/commonjs/read/schema/convertMapToSchema.js +1 -8
  57. package/commonjs/read/schema/convertMapToSchema.js.map +1 -1
  58. package/commonjs/read/schema/convertMapToSchema.test.js.map +1 -1
  59. package/commonjs/read/schema/convertToJson.js +143 -142
  60. package/commonjs/read/schema/convertToJson.js.map +1 -1
  61. package/commonjs/read/schema/convertToJson.legacy.js +60 -0
  62. package/commonjs/read/schema/convertToJson.legacy.js.map +1 -0
  63. package/commonjs/read/schema/convertToJson.legacy.test.js.map +1 -0
  64. package/commonjs/read/schema/convertToJson.spreadsheet.js +25 -0
  65. package/commonjs/read/schema/convertToJson.spreadsheet.js.map +1 -0
  66. package/commonjs/read/schema/convertToJson.spreadsheet.test.js.map +1 -0
  67. package/commonjs/read/schema/convertToJson.test.js.map +1 -1
  68. package/commonjs/read/unpackXlsxFileBrowser.js +3 -9
  69. package/commonjs/read/unpackXlsxFileBrowser.js.map +1 -1
  70. package/commonjs/read/unpackXlsxFileNode.js +9 -15
  71. package/commonjs/read/unpackXlsxFileNode.js.map +1 -1
  72. package/commonjs/types/Boolean.js +0 -4
  73. package/commonjs/types/Boolean.js.map +1 -1
  74. package/commonjs/types/Date.js +0 -12
  75. package/commonjs/types/Date.js.map +1 -1
  76. package/commonjs/types/Email.js +0 -7
  77. package/commonjs/types/Email.js.map +1 -1
  78. package/commonjs/types/Email.test.js.map +1 -1
  79. package/commonjs/types/Integer.js +0 -7
  80. package/commonjs/types/Integer.js.map +1 -1
  81. package/commonjs/types/Integer.test.js.map +1 -1
  82. package/commonjs/types/InvalidError.js +8 -28
  83. package/commonjs/types/InvalidError.js.map +1 -1
  84. package/commonjs/types/Number.js +2 -10
  85. package/commonjs/types/Number.js.map +1 -1
  86. package/commonjs/types/String.js +4 -11
  87. package/commonjs/types/String.js.map +1 -1
  88. package/commonjs/types/URL.js +5 -8
  89. package/commonjs/types/URL.js.map +1 -1
  90. package/commonjs/types/URL.test.js.map +1 -1
  91. package/commonjs/xml/dom.js +6 -25
  92. package/commonjs/xml/dom.js.map +1 -1
  93. package/commonjs/xml/xlsx.js +1 -24
  94. package/commonjs/xml/xlsx.js.map +1 -1
  95. package/commonjs/xml/xml.js +1 -4
  96. package/commonjs/xml/xml.js.map +1 -1
  97. package/commonjs/xml/xmlBrowser.js +1 -2
  98. package/commonjs/xml/xmlBrowser.js.map +1 -1
  99. package/commonjs/xml/xpath/xlsx-xpath.js +3 -16
  100. package/commonjs/xml/xpath/xlsx-xpath.js.map +1 -1
  101. package/commonjs/xml/xpath/xpathBrowser.js +3 -5
  102. package/commonjs/xml/xpath/xpathBrowser.js.map +1 -1
  103. package/commonjs/xml/xpath/xpathNode.js +1 -5
  104. package/commonjs/xml/xpath/xpathNode.js.map +1 -1
  105. package/map/index.cjs +2 -0
  106. package/map/index.cjs.js +7 -0
  107. package/map/index.d.ts +11 -0
  108. package/map/index.js +1 -0
  109. package/map/package.json +17 -0
  110. package/modules/read/coordinates.js +7 -8
  111. package/modules/read/coordinates.js.map +1 -1
  112. package/modules/read/dropEmptyColumns.js +6 -17
  113. package/modules/read/dropEmptyColumns.js.map +1 -1
  114. package/modules/read/dropEmptyColumns.test.js.map +1 -1
  115. package/modules/read/dropEmptyRows.js +11 -22
  116. package/modules/read/dropEmptyRows.js.map +1 -1
  117. package/modules/read/dropEmptyRows.test.js.map +1 -1
  118. package/modules/read/getData.js +31 -39
  119. package/modules/read/getData.js.map +1 -1
  120. package/modules/read/isDateTimestamp.js +52 -39
  121. package/modules/read/isDateTimestamp.js.map +1 -1
  122. package/modules/read/parseCell.js +6 -6
  123. package/modules/read/parseCell.js.map +1 -1
  124. package/modules/read/parseCellValue.js +30 -55
  125. package/modules/read/parseCellValue.js.map +1 -1
  126. package/modules/read/parseCells.js +3 -3
  127. package/modules/read/parseCells.js.map +1 -1
  128. package/modules/read/parseDate.js +5 -4
  129. package/modules/read/parseDate.js.map +1 -1
  130. package/modules/read/parseDate.test.js.map +1 -1
  131. package/modules/read/parseDimensions.js +9 -17
  132. package/modules/read/parseDimensions.js.map +1 -1
  133. package/modules/read/parseFilePaths.js +5 -10
  134. package/modules/read/parseFilePaths.js.map +1 -1
  135. package/modules/read/parseProperties.js +8 -7
  136. package/modules/read/parseProperties.js.map +1 -1
  137. package/modules/read/parseSharedStrings.js +0 -1
  138. package/modules/read/parseSharedStrings.js.map +1 -1
  139. package/modules/read/parseSheet.js +3 -2
  140. package/modules/read/parseSheet.js.map +1 -1
  141. package/modules/read/parseStyles.js +16 -21
  142. package/modules/read/parseStyles.js.map +1 -1
  143. package/modules/read/readSheetNamesBrowser.js +1 -1
  144. package/modules/read/readSheetNamesBrowser.js.map +1 -1
  145. package/modules/read/readSheetNamesNode.js +1 -1
  146. package/modules/read/readSheetNamesNode.js.map +1 -1
  147. package/modules/read/readSheetNamesNode.test.js.map +1 -1
  148. package/modules/read/readSheetNamesWebWorker.js +1 -1
  149. package/modules/read/readSheetNamesWebWorker.js.map +1 -1
  150. package/modules/read/readXlsx.js +37 -35
  151. package/modules/read/readXlsx.js.map +1 -1
  152. package/modules/read/readXlsxFileBrowser.js +1 -1
  153. package/modules/read/readXlsxFileBrowser.js.map +1 -1
  154. package/modules/read/readXlsxFileContents.js +12 -17
  155. package/modules/read/readXlsxFileContents.js.map +1 -1
  156. package/modules/read/readXlsxFileNode.js +1 -1
  157. package/modules/read/readXlsxFileNode.js.map +1 -1
  158. package/modules/read/readXlsxFileNode.test.js.map +1 -1
  159. package/modules/read/readXlsxFileWebWorker.js +1 -1
  160. package/modules/read/readXlsxFileWebWorker.js.map +1 -1
  161. package/modules/read/schema/convertMapToSchema.js +1 -7
  162. package/modules/read/schema/convertMapToSchema.js.map +1 -1
  163. package/modules/read/schema/convertMapToSchema.test.js.map +1 -1
  164. package/modules/read/schema/convertToJson.js +143 -133
  165. package/modules/read/schema/convertToJson.js.map +1 -1
  166. package/modules/read/schema/convertToJson.legacy.js +53 -0
  167. package/modules/read/schema/convertToJson.legacy.js.map +1 -0
  168. package/modules/read/schema/convertToJson.legacy.test.js.map +1 -0
  169. package/modules/read/schema/convertToJson.spreadsheet.js +19 -0
  170. package/modules/read/schema/convertToJson.spreadsheet.js.map +1 -0
  171. package/modules/read/schema/convertToJson.spreadsheet.test.js.map +1 -0
  172. package/modules/read/schema/convertToJson.test.js.map +1 -1
  173. package/modules/read/unpackXlsxFileBrowser.js +4 -7
  174. package/modules/read/unpackXlsxFileBrowser.js.map +1 -1
  175. package/modules/read/unpackXlsxFileNode.js +9 -7
  176. package/modules/read/unpackXlsxFileNode.js.map +1 -1
  177. package/modules/types/Boolean.js +0 -1
  178. package/modules/types/Boolean.js.map +1 -1
  179. package/modules/types/Date.js +0 -8
  180. package/modules/types/Date.js.map +1 -1
  181. package/modules/types/Email.js +0 -2
  182. package/modules/types/Email.js.map +1 -1
  183. package/modules/types/Email.test.js.map +1 -1
  184. package/modules/types/Integer.js +0 -2
  185. package/modules/types/Integer.js.map +1 -1
  186. package/modules/types/Integer.test.js.map +1 -1
  187. package/modules/types/InvalidError.js +7 -25
  188. package/modules/types/InvalidError.js.map +1 -1
  189. package/modules/types/Number.js +2 -7
  190. package/modules/types/Number.js.map +1 -1
  191. package/modules/types/String.js +4 -8
  192. package/modules/types/String.js.map +1 -1
  193. package/modules/types/URL.js +5 -4
  194. package/modules/types/URL.js.map +1 -1
  195. package/modules/types/URL.test.js.map +1 -1
  196. package/modules/xml/dom.js +6 -18
  197. package/modules/xml/dom.js.map +1 -1
  198. package/modules/xml/xlsx.js +4 -13
  199. package/modules/xml/xlsx.js.map +1 -1
  200. package/modules/xml/xml.js.map +1 -1
  201. package/modules/xml/xmlBrowser.js.map +1 -1
  202. package/modules/xml/xpath/xlsx-xpath.js +2 -1
  203. package/modules/xml/xpath/xlsx-xpath.js.map +1 -1
  204. package/modules/xml/xpath/xpathBrowser.js +3 -4
  205. package/modules/xml/xpath/xpathBrowser.js.map +1 -1
  206. package/modules/xml/xpath/xpathNode.js +1 -0
  207. package/modules/xml/xpath/xpathNode.js.map +1 -1
  208. package/package.json +6 -1
  209. package/schema/index.cjs +2 -2
  210. package/schema/index.cjs.js +2 -2
  211. package/schema/index.d.ts +7 -2
  212. package/schema/index.js +1 -1
  213. package/types.d.ts +25 -2
@@ -7,12 +7,10 @@ exports.calculateDimensions = calculateDimensions;
7
7
  exports.parseCellCoordinates = parseCellCoordinates;
8
8
  // Maps "A1"-like coordinates to `{ row, column }` numeric coordinates.
9
9
  var LETTERS = ["", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
10
-
11
10
  function calculateDimensions(cells) {
12
11
  var comparator = function comparator(a, b) {
13
12
  return a - b;
14
13
  };
15
-
16
14
  var allRows = cells.map(function (cell) {
17
15
  return cell.row;
18
16
  }).sort(comparator);
@@ -30,29 +28,28 @@ function calculateDimensions(cells) {
30
28
  row: maxRow,
31
29
  column: maxCol
32
30
  }];
33
- } // Converts a letter coordinate to a digit coordinate.
34
- // Examples: "A" -> 1, "B" -> 2, "Z" -> 26, "AA" -> 27, etc.
35
-
31
+ }
36
32
 
33
+ // Converts a letter coordinate to a digit coordinate.
34
+ // Examples: "A" -> 1, "B" -> 2, "Z" -> 26, "AA" -> 27, etc.
37
35
  function columnLettersToNumber(columnLetters) {
38
36
  // `for ... of ...` would require Babel polyfill for iterating a string.
39
37
  var n = 0;
40
38
  var i = 0;
41
-
42
39
  while (i < columnLetters.length) {
43
40
  n *= 26;
44
41
  n += LETTERS.indexOf(columnLetters[i]);
45
42
  i++;
46
43
  }
47
-
48
44
  return n;
49
45
  }
50
-
51
46
  function parseCellCoordinates(coords) {
52
47
  // Coordinate examples: "AA2091", "R988", "B1".
53
48
  coords = coords.split(/(\d+)/);
54
- return [// Row.
55
- parseInt(coords[1]), // Column.
49
+ return [
50
+ // Row.
51
+ parseInt(coords[1]),
52
+ // Column.
56
53
  columnLettersToNumber(coords[0].trim())];
57
54
  }
58
55
  //# sourceMappingURL=coordinates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coordinates.js","names":["LETTERS","calculateDimensions","cells","comparator","a","b","allRows","map","cell","row","sort","allCols","column","minRow","maxRow","length","minCol","maxCol","columnLettersToNumber","columnLetters","n","i","indexOf","parseCellCoordinates","coords","split","parseInt","trim"],"sources":["../../source/read/coordinates.js"],"sourcesContent":["// Maps \"A1\"-like coordinates to `{ row, column }` numeric coordinates.\r\nconst LETTERS = [\"\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"]\r\n\r\nexport function calculateDimensions (cells) {\r\n const comparator = (a, b) => a - b\r\n const allRows = cells.map(cell => cell.row).sort(comparator)\r\n const allCols = cells.map(cell => cell.column).sort(comparator)\r\n const minRow = allRows[0]\r\n const maxRow = allRows[allRows.length - 1]\r\n const minCol = allCols[0]\r\n const maxCol = allCols[allCols.length - 1]\r\n\r\n return [\r\n { row: minRow, column: minCol },\r\n { row: maxRow, column: maxCol }\r\n ]\r\n}\r\n\r\n// Converts a letter coordinate to a digit coordinate.\r\n// Examples: \"A\" -> 1, \"B\" -> 2, \"Z\" -> 26, \"AA\" -> 27, etc.\r\nfunction columnLettersToNumber(columnLetters) {\r\n // `for ... of ...` would require Babel polyfill for iterating a string.\r\n let n = 0\r\n let i = 0\r\n while (i < columnLetters.length) {\r\n n *= 26\r\n n += LETTERS.indexOf(columnLetters[i])\r\n i++\r\n }\r\n return n\r\n}\r\n\r\nexport function parseCellCoordinates(coords) {\r\n // Coordinate examples: \"AA2091\", \"R988\", \"B1\".\r\n coords = coords.split(/(\\d+)/)\r\n return [\r\n // Row.\r\n parseInt(coords[1]),\r\n // Column.\r\n columnLettersToNumber(coords[0].trim())\r\n ]\r\n}"],"mappings":";;;;;;;AAAA;AACA,IAAMA,OAAO,GAAG,CAAC,EAAD,EAAK,GAAL,EAAU,GAAV,EAAe,GAAf,EAAoB,GAApB,EAAyB,GAAzB,EAA8B,GAA9B,EAAmC,GAAnC,EAAwC,GAAxC,EAA6C,GAA7C,EAAkD,GAAlD,EAAuD,GAAvD,EAA4D,GAA5D,EAAiE,GAAjE,EAAsE,GAAtE,EAA2E,GAA3E,EAAgF,GAAhF,EAAqF,GAArF,EAA0F,GAA1F,EAA+F,GAA/F,EAAoG,GAApG,EAAyG,GAAzG,EAA8G,GAA9G,EAAmH,GAAnH,EAAwH,GAAxH,EAA6H,GAA7H,EAAkI,GAAlI,CAAhB;;AAEO,SAASC,mBAAT,CAA8BC,KAA9B,EAAqC;EAC1C,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,CAAD,EAAIC,CAAJ;IAAA,OAAUD,CAAC,GAAGC,CAAd;EAAA,CAAnB;;EACA,IAAMC,OAAO,GAAGJ,KAAK,CAACK,GAAN,CAAU,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,GAAT;EAAA,CAAd,EAA4BC,IAA5B,CAAiCP,UAAjC,CAAhB;EACA,IAAMQ,OAAO,GAAGT,KAAK,CAACK,GAAN,CAAU,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACI,MAAT;EAAA,CAAd,EAA+BF,IAA/B,CAAoCP,UAApC,CAAhB;EACA,IAAMU,MAAM,GAAGP,OAAO,CAAC,CAAD,CAAtB;EACA,IAAMQ,MAAM,GAAGR,OAAO,CAACA,OAAO,CAACS,MAAR,GAAiB,CAAlB,CAAtB;EACA,IAAMC,MAAM,GAAGL,OAAO,CAAC,CAAD,CAAtB;EACA,IAAMM,MAAM,GAAGN,OAAO,CAACA,OAAO,CAACI,MAAR,GAAiB,CAAlB,CAAtB;EAEA,OAAO,CACL;IAAEN,GAAG,EAAEI,MAAP;IAAeD,MAAM,EAAEI;EAAvB,CADK,EAEL;IAAEP,GAAG,EAAEK,MAAP;IAAeF,MAAM,EAAEK;EAAvB,CAFK,CAAP;AAID,C,CAED;AACA;;;AACA,SAASC,qBAAT,CAA+BC,aAA/B,EAA8C;EAC5C;EACA,IAAIC,CAAC,GAAG,CAAR;EACA,IAAIC,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,aAAa,CAACJ,MAAzB,EAAiC;IAC/BK,CAAC,IAAI,EAAL;IACAA,CAAC,IAAIpB,OAAO,CAACsB,OAAR,CAAgBH,aAAa,CAACE,CAAD,CAA7B,CAAL;IACAA,CAAC;EACF;;EACD,OAAOD,CAAP;AACD;;AAEM,SAASG,oBAAT,CAA8BC,MAA9B,EAAsC;EAC3C;EACAA,MAAM,GAAGA,MAAM,CAACC,KAAP,CAAa,OAAb,CAAT;EACA,OAAO,CACL;EACAC,QAAQ,CAACF,MAAM,CAAC,CAAD,CAAP,CAFH,EAGL;EACAN,qBAAqB,CAACM,MAAM,CAAC,CAAD,CAAN,CAAUG,IAAV,EAAD,CAJhB,CAAP;AAMD"}
1
+ {"version":3,"file":"coordinates.js","names":["LETTERS","calculateDimensions","cells","comparator","a","b","allRows","map","cell","row","sort","allCols","column","minRow","maxRow","length","minCol","maxCol","columnLettersToNumber","columnLetters","n","i","indexOf","parseCellCoordinates","coords","split","parseInt","trim"],"sources":["../../source/read/coordinates.js"],"sourcesContent":["// Maps \"A1\"-like coordinates to `{ row, column }` numeric coordinates.\r\nconst LETTERS = [\"\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"]\r\n\r\nexport function calculateDimensions (cells) {\r\n const comparator = (a, b) => a - b\r\n const allRows = cells.map(cell => cell.row).sort(comparator)\r\n const allCols = cells.map(cell => cell.column).sort(comparator)\r\n const minRow = allRows[0]\r\n const maxRow = allRows[allRows.length - 1]\r\n const minCol = allCols[0]\r\n const maxCol = allCols[allCols.length - 1]\r\n\r\n return [\r\n { row: minRow, column: minCol },\r\n { row: maxRow, column: maxCol }\r\n ]\r\n}\r\n\r\n// Converts a letter coordinate to a digit coordinate.\r\n// Examples: \"A\" -> 1, \"B\" -> 2, \"Z\" -> 26, \"AA\" -> 27, etc.\r\nfunction columnLettersToNumber(columnLetters) {\r\n // `for ... of ...` would require Babel polyfill for iterating a string.\r\n let n = 0\r\n let i = 0\r\n while (i < columnLetters.length) {\r\n n *= 26\r\n n += LETTERS.indexOf(columnLetters[i])\r\n i++\r\n }\r\n return n\r\n}\r\n\r\nexport function parseCellCoordinates(coords) {\r\n // Coordinate examples: \"AA2091\", \"R988\", \"B1\".\r\n coords = coords.split(/(\\d+)/)\r\n return [\r\n // Row.\r\n parseInt(coords[1]),\r\n // Column.\r\n columnLettersToNumber(coords[0].trim())\r\n ]\r\n}"],"mappings":";;;;;;;AAAA;AACA,IAAMA,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAE/I,SAASC,mBAAmBA,CAAEC,KAAK,EAAE;EAC1C,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,GAAGC,CAAC;EAAA;EAClC,IAAMC,OAAO,GAAGJ,KAAK,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,GAAG;EAAA,EAAC,CAACC,IAAI,CAACP,UAAU,CAAC;EAC5D,IAAMQ,OAAO,GAAGT,KAAK,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACI,MAAM;EAAA,EAAC,CAACF,IAAI,CAACP,UAAU,CAAC;EAC/D,IAAMU,MAAM,GAAGP,OAAO,CAAC,CAAC,CAAC;EACzB,IAAMQ,MAAM,GAAGR,OAAO,CAACA,OAAO,CAACS,MAAM,GAAG,CAAC,CAAC;EAC1C,IAAMC,MAAM,GAAGL,OAAO,CAAC,CAAC,CAAC;EACzB,IAAMM,MAAM,GAAGN,OAAO,CAACA,OAAO,CAACI,MAAM,GAAG,CAAC,CAAC;EAE1C,OAAO,CACL;IAAEN,GAAG,EAAEI,MAAM;IAAED,MAAM,EAAEI;EAAO,CAAC,EAC/B;IAAEP,GAAG,EAAEK,MAAM;IAAEF,MAAM,EAAEK;EAAO,CAAC,CAChC;AACH;;AAEA;AACA;AACA,SAASC,qBAAqBA,CAACC,aAAa,EAAE;EAC5C;EACA,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAGF,aAAa,CAACJ,MAAM,EAAE;IAC/BK,CAAC,IAAI,EAAE;IACPA,CAAC,IAAIpB,OAAO,CAACsB,OAAO,CAACH,aAAa,CAACE,CAAC,CAAC,CAAC;IACtCA,CAAC,EAAE;EACL;EACA,OAAOD,CAAC;AACV;AAEO,SAASG,oBAAoBA,CAACC,MAAM,EAAE;EAC3C;EACAA,MAAM,GAAGA,MAAM,CAACC,KAAK,CAAC,OAAO,CAAC;EAC9B,OAAO;EACL;EACAC,QAAQ,CAACF,MAAM,CAAC,CAAC,CAAC,CAAC;EACnB;EACAN,qBAAqB,CAACM,MAAM,CAAC,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC,CACxC;AACH"}
@@ -4,38 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = dropEmptyColumns;
7
-
8
7
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
-
10
8
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
-
12
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13
-
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
10
  function dropEmptyColumns(data) {
15
11
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
16
- _ref$accessor = _ref.accessor,
17
- accessor = _ref$accessor === void 0 ? function (_) {
18
- return _;
19
- } : _ref$accessor,
20
- onlyTrimAtTheEnd = _ref.onlyTrimAtTheEnd;
21
-
12
+ _ref$accessor = _ref.accessor,
13
+ accessor = _ref$accessor === void 0 ? function (_) {
14
+ return _;
15
+ } : _ref$accessor,
16
+ onlyTrimAtTheEnd = _ref.onlyTrimAtTheEnd;
22
17
  var i = data[0].length - 1;
23
-
24
18
  while (i >= 0) {
25
19
  var empty = true;
26
-
27
20
  for (var _iterator = _createForOfIteratorHelperLoose(data), _step; !(_step = _iterator()).done;) {
28
21
  var row = _step.value;
29
-
30
22
  if (accessor(row[i]) !== null) {
31
23
  empty = false;
32
24
  break;
33
25
  }
34
26
  }
35
-
36
27
  if (empty) {
37
28
  var j = 0;
38
-
39
29
  while (j < data.length) {
40
30
  data[j].splice(i, 1);
41
31
  j++;
@@ -43,10 +33,8 @@ function dropEmptyColumns(data) {
43
33
  } else if (onlyTrimAtTheEnd) {
44
34
  break;
45
35
  }
46
-
47
36
  i--;
48
37
  }
49
-
50
38
  return data;
51
39
  }
52
40
  //# sourceMappingURL=dropEmptyColumns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropEmptyColumns.js","names":["dropEmptyColumns","data","accessor","_","onlyTrimAtTheEnd","i","length","empty","row","j","splice"],"sources":["../../source/read/dropEmptyColumns.js"],"sourcesContent":["export default function dropEmptyColumns(data, {\r\n accessor = _ => _,\r\n onlyTrimAtTheEnd\r\n} = {}) {\r\n let i = data[0].length - 1\r\n while (i >= 0) {\r\n let empty = true\r\n for (const row of data) {\r\n if (accessor(row[i]) !== null) {\r\n empty = false\r\n break\r\n }\r\n }\r\n if (empty) {\r\n let j = 0;\r\n while (j < data.length) {\r\n data[j].splice(i, 1)\r\n j++\r\n }\r\n } else if (onlyTrimAtTheEnd) {\r\n break\r\n }\r\n i--\r\n }\r\n return data\r\n}"],"mappings":";;;;;;;;;;;;;AAAe,SAASA,gBAAT,CAA0BC,IAA1B,EAGP;EAAA,+EAAJ,EAAI;EAAA,yBAFNC,QAEM;EAAA,IAFNA,QAEM,8BAFK,UAAAC,CAAC;IAAA,OAAIA,CAAJ;EAAA,CAEN;EAAA,IADNC,gBACM,QADNA,gBACM;;EACN,IAAIC,CAAC,GAAGJ,IAAI,CAAC,CAAD,CAAJ,CAAQK,MAAR,GAAiB,CAAzB;;EACA,OAAOD,CAAC,IAAI,CAAZ,EAAe;IACb,IAAIE,KAAK,GAAG,IAAZ;;IACA,qDAAkBN,IAAlB,wCAAwB;MAAA,IAAbO,GAAa;;MACtB,IAAIN,QAAQ,CAACM,GAAG,CAACH,CAAD,CAAJ,CAAR,KAAqB,IAAzB,EAA+B;QAC7BE,KAAK,GAAG,KAAR;QACA;MACD;IACF;;IACD,IAAIA,KAAJ,EAAW;MACT,IAAIE,CAAC,GAAG,CAAR;;MACA,OAAOA,CAAC,GAAGR,IAAI,CAACK,MAAhB,EAAwB;QACtBL,IAAI,CAACQ,CAAD,CAAJ,CAAQC,MAAR,CAAeL,CAAf,EAAkB,CAAlB;QACAI,CAAC;MACF;IACF,CAND,MAMO,IAAIL,gBAAJ,EAAsB;MAC3B;IACD;;IACDC,CAAC;EACF;;EACD,OAAOJ,IAAP;AACD"}
1
+ {"version":3,"file":"dropEmptyColumns.js","names":["dropEmptyColumns","data","_ref","arguments","length","undefined","_ref$accessor","accessor","_","onlyTrimAtTheEnd","i","empty","_iterator","_createForOfIteratorHelperLoose","_step","done","row","value","j","splice"],"sources":["../../source/read/dropEmptyColumns.js"],"sourcesContent":["export default function dropEmptyColumns(data, {\r\n accessor = _ => _,\r\n onlyTrimAtTheEnd\r\n} = {}) {\r\n let i = data[0].length - 1\r\n while (i >= 0) {\r\n let empty = true\r\n for (const row of data) {\r\n if (accessor(row[i]) !== null) {\r\n empty = false\r\n break\r\n }\r\n }\r\n if (empty) {\r\n let j = 0;\r\n while (j < data.length) {\r\n data[j].splice(i, 1)\r\n j++\r\n }\r\n } else if (onlyTrimAtTheEnd) {\r\n break\r\n }\r\n i--\r\n }\r\n return data\r\n}"],"mappings":";;;;;;;;;AAAe,SAASA,gBAAgBA,CAACC,IAAI,EAGrC;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAJ,CAAC,CAAC;IAAAG,aAAA,GAAAJ,IAAA,CAFJK,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,UAAAE,CAAC;MAAA,OAAIA,CAAC;IAAA,IAAAF,aAAA;IACjBG,gBAAgB,GAAAP,IAAA,CAAhBO,gBAAgB;EAEhB,IAAIC,CAAC,GAAGT,IAAI,CAAC,CAAC,CAAC,CAACG,MAAM,GAAG,CAAC;EAC1B,OAAOM,CAAC,IAAI,CAAC,EAAE;IACb,IAAIC,KAAK,GAAG,IAAI;IAChB,SAAAC,SAAA,GAAAC,+BAAA,CAAkBZ,IAAI,GAAAa,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE;MAAA,IAAbC,GAAG,GAAAF,KAAA,CAAAG,KAAA;MACZ,IAAIV,QAAQ,CAACS,GAAG,CAACN,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7BC,KAAK,GAAG,KAAK;QACb;MACF;IACF;IACA,IAAIA,KAAK,EAAE;MACT,IAAIO,CAAC,GAAG,CAAC;MACT,OAAOA,CAAC,GAAGjB,IAAI,CAACG,MAAM,EAAE;QACtBH,IAAI,CAACiB,CAAC,CAAC,CAACC,MAAM,CAACT,CAAC,EAAE,CAAC,CAAC;QACpBQ,CAAC,EAAE;MACL;IACF,CAAC,MAAM,IAAIT,gBAAgB,EAAE;MAC3B;IACF;IACAC,CAAC,EAAE;EACL;EACA,OAAOT,IAAI;AACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropEmptyColumns.test.js","names":["describe","it","dropEmptyColumns","onlyTrimAtTheEnd","should","deep","equal"],"sources":["../../source/read/dropEmptyColumns.test.js"],"sourcesContent":["import dropEmptyColumns from './dropEmptyColumns.js'\r\n\r\ndescribe('dropEmptyColumns', () => {\r\n\tit('should drop empty columns (only at the end)', () => {\r\n\t\tdropEmptyColumns([\r\n\t\t\t[null, 'A', 'B', 'C', null, null],\r\n\t\t\t[null, 'D', null, null, null, null],\r\n\t\t\t[null, null, null, null, null, null],\r\n\t\t\t[null, null, 'E', 'F', 'G', null]\r\n\t\t], {\r\n\t\t\tonlyTrimAtTheEnd: true\r\n\t\t})\r\n\t\t.should.deep.equal([\r\n\t\t\t[null, 'A', 'B', 'C', null],\r\n\t\t\t[null, 'D', null, null, null],\r\n\t\t\t[null, null, null, null, null],\r\n\t\t\t[null, null, 'E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n\r\n\tit('should drop empty columns', () => {\r\n\t\tdropEmptyColumns([\r\n\t\t\t[null, 'A', 'B', 'C', null, null],\r\n\t\t\t[null, 'D', null, null, null, null],\r\n\t\t\t[null, null, null, null, null, null],\r\n\t\t\t[null, null, 'E', 'F', 'G', null]\r\n\t\t])\r\n\t\t.should.deep.equal([\r\n\t\t\t['A', 'B', 'C', null],\r\n\t\t\t['D', null, null, null],\r\n\t\t\t[null, null, null, null],\r\n\t\t\t[null, 'E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n})"],"mappings":";;AAAA;;;;AAEAA,QAAQ,CAAC,kBAAD,EAAqB,YAAM;EAClCC,EAAE,CAAC,6CAAD,EAAgD,YAAM;IACvD,IAAAC,4BAAA,EAAiB,CAChB,CAAC,IAAD,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,EAAsB,IAAtB,EAA4B,IAA5B,CADgB,EAEhB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,EAAkB,IAAlB,EAAwB,IAAxB,EAA8B,IAA9B,CAFgB,EAGhB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,CAHgB,EAIhB,CAAC,IAAD,EAAO,IAAP,EAAa,GAAb,EAAkB,GAAlB,EAAuB,GAAvB,EAA4B,IAA5B,CAJgB,CAAjB,EAKG;MACFC,gBAAgB,EAAE;IADhB,CALH,EAQCC,MARD,CAQQC,IARR,CAQaC,KARb,CAQmB,CAClB,CAAC,IAAD,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,EAAsB,IAAtB,CADkB,EAElB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,EAAkB,IAAlB,EAAwB,IAAxB,CAFkB,EAGlB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,CAHkB,EAIlB,CAAC,IAAD,EAAO,IAAP,EAAa,GAAb,EAAkB,GAAlB,EAAuB,GAAvB,CAJkB,CARnB;EAcA,CAfC,CAAF;EAiBAL,EAAE,CAAC,2BAAD,EAA8B,YAAM;IACrC,IAAAC,4BAAA,EAAiB,CAChB,CAAC,IAAD,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,EAAsB,IAAtB,EAA4B,IAA5B,CADgB,EAEhB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,EAAkB,IAAlB,EAAwB,IAAxB,EAA8B,IAA9B,CAFgB,EAGhB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,CAHgB,EAIhB,CAAC,IAAD,EAAO,IAAP,EAAa,GAAb,EAAkB,GAAlB,EAAuB,GAAvB,EAA4B,IAA5B,CAJgB,CAAjB,EAMCE,MAND,CAMQC,IANR,CAMaC,KANb,CAMmB,CAClB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,CADkB,EAElB,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,EAAkB,IAAlB,CAFkB,EAGlB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,CAHkB,EAIlB,CAAC,IAAD,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAJkB,CANnB;EAYA,CAbC,CAAF;AAcA,CAhCO,CAAR"}
1
+ {"version":3,"file":"dropEmptyColumns.test.js","names":["_dropEmptyColumns","_interopRequireDefault","require","obj","__esModule","describe","it","dropEmptyColumns","onlyTrimAtTheEnd","should","deep","equal"],"sources":["../../source/read/dropEmptyColumns.test.js"],"sourcesContent":["import dropEmptyColumns from './dropEmptyColumns.js'\r\n\r\ndescribe('dropEmptyColumns', () => {\r\n\tit('should drop empty columns (only at the end)', () => {\r\n\t\tdropEmptyColumns([\r\n\t\t\t[null, 'A', 'B', 'C', null, null],\r\n\t\t\t[null, 'D', null, null, null, null],\r\n\t\t\t[null, null, null, null, null, null],\r\n\t\t\t[null, null, 'E', 'F', 'G', null]\r\n\t\t], {\r\n\t\t\tonlyTrimAtTheEnd: true\r\n\t\t})\r\n\t\t.should.deep.equal([\r\n\t\t\t[null, 'A', 'B', 'C', null],\r\n\t\t\t[null, 'D', null, null, null],\r\n\t\t\t[null, null, null, null, null],\r\n\t\t\t[null, null, 'E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n\r\n\tit('should drop empty columns', () => {\r\n\t\tdropEmptyColumns([\r\n\t\t\t[null, 'A', 'B', 'C', null, null],\r\n\t\t\t[null, 'D', null, null, null, null],\r\n\t\t\t[null, null, null, null, null, null],\r\n\t\t\t[null, null, 'E', 'F', 'G', null]\r\n\t\t])\r\n\t\t.should.deep.equal([\r\n\t\t\t['A', 'B', 'C', null],\r\n\t\t\t['D', null, null, null],\r\n\t\t\t[null, null, null, null],\r\n\t\t\t[null, 'E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n})"],"mappings":";;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoD,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAEpDE,QAAQ,CAAC,kBAAkB,EAAE,YAAM;EAClCC,EAAE,CAAC,6CAA6C,EAAE,YAAM;IACvD,IAAAC,4BAAgB,EAAC,CAChB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EACjC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACnC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACpC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACjC,EAAE;MACFC,gBAAgB,EAAE;IACnB,CAAC,CAAC,CACDC,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAClB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAC3B,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC7B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC9B,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC3B,CAAC;EACH,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,YAAM;IACrC,IAAAC,4BAAgB,EAAC,CAChB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EACjC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACnC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACpC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACjC,CAAC,CACDE,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EACrB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACvB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACxB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACrB,CAAC;EACH,CAAC,CAAC;AACH,CAAC,CAAC"}
@@ -4,52 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = dropEmptyRows;
7
-
8
7
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
-
10
8
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
-
12
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13
-
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
10
  function dropEmptyRows(data) {
15
11
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
16
- rowMap = _ref.rowMap,
17
- _ref$accessor = _ref.accessor,
18
- accessor = _ref$accessor === void 0 ? function (_) {
19
- return _;
20
- } : _ref$accessor,
21
- onlyTrimAtTheEnd = _ref.onlyTrimAtTheEnd;
22
-
12
+ rowIndexMap = _ref.rowIndexMap,
13
+ _ref$accessor = _ref.accessor,
14
+ accessor = _ref$accessor === void 0 ? function (_) {
15
+ return _;
16
+ } : _ref$accessor,
17
+ onlyTrimAtTheEnd = _ref.onlyTrimAtTheEnd;
23
18
  // Drop empty rows.
24
19
  var i = data.length - 1;
25
-
26
20
  while (i >= 0) {
27
21
  // Check if the row is empty.
28
22
  var empty = true;
29
-
30
23
  for (var _iterator = _createForOfIteratorHelperLoose(data[i]), _step; !(_step = _iterator()).done;) {
31
24
  var cell = _step.value;
32
-
33
25
  if (accessor(cell) !== null) {
34
26
  empty = false;
35
27
  break;
36
28
  }
37
- } // Remove the empty row.
38
-
39
-
29
+ }
30
+ // Remove the empty row.
40
31
  if (empty) {
41
32
  data.splice(i, 1);
42
-
43
- if (rowMap) {
44
- rowMap.splice(i, 1);
33
+ if (rowIndexMap) {
34
+ rowIndexMap.splice(i, 1);
45
35
  }
46
36
  } else if (onlyTrimAtTheEnd) {
47
37
  break;
48
38
  }
49
-
50
39
  i--;
51
40
  }
52
-
53
41
  return data;
54
42
  }
55
43
  //# sourceMappingURL=dropEmptyRows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropEmptyRows.js","names":["dropEmptyRows","data","rowMap","accessor","_","onlyTrimAtTheEnd","i","length","empty","cell","splice"],"sources":["../../source/read/dropEmptyRows.js"],"sourcesContent":["export default function dropEmptyRows(data, {\r\n rowMap,\r\n accessor = _ => _,\r\n onlyTrimAtTheEnd\r\n} = {}) {\r\n // Drop empty rows.\r\n let i = data.length - 1\r\n while (i >= 0) {\r\n // Check if the row is empty.\r\n let empty = true\r\n for (const cell of data[i]) {\r\n if (accessor(cell) !== null) {\r\n empty = false\r\n break\r\n }\r\n }\r\n // Remove the empty row.\r\n if (empty) {\r\n data.splice(i, 1)\r\n if (rowMap) {\r\n rowMap.splice(i, 1)\r\n }\r\n } else if (onlyTrimAtTheEnd) {\r\n break\r\n }\r\n i--\r\n }\r\n return data\r\n}"],"mappings":";;;;;;;;;;;;;AAAe,SAASA,aAAT,CAAuBC,IAAvB,EAIP;EAAA,+EAAJ,EAAI;EAAA,IAHNC,MAGM,QAHNA,MAGM;EAAA,yBAFNC,QAEM;EAAA,IAFNA,QAEM,8BAFK,UAAAC,CAAC;IAAA,OAAIA,CAAJ;EAAA,CAEN;EAAA,IADNC,gBACM,QADNA,gBACM;;EACN;EACA,IAAIC,CAAC,GAAGL,IAAI,CAACM,MAAL,GAAc,CAAtB;;EACA,OAAOD,CAAC,IAAI,CAAZ,EAAe;IACb;IACA,IAAIE,KAAK,GAAG,IAAZ;;IACA,qDAAmBP,IAAI,CAACK,CAAD,CAAvB,wCAA4B;MAAA,IAAjBG,IAAiB;;MAC1B,IAAIN,QAAQ,CAACM,IAAD,CAAR,KAAmB,IAAvB,EAA6B;QAC3BD,KAAK,GAAG,KAAR;QACA;MACD;IACF,CARY,CASb;;;IACA,IAAIA,KAAJ,EAAW;MACTP,IAAI,CAACS,MAAL,CAAYJ,CAAZ,EAAe,CAAf;;MACA,IAAIJ,MAAJ,EAAY;QACVA,MAAM,CAACQ,MAAP,CAAcJ,CAAd,EAAiB,CAAjB;MACD;IACF,CALD,MAKO,IAAID,gBAAJ,EAAsB;MAC3B;IACD;;IACDC,CAAC;EACF;;EACD,OAAOL,IAAP;AACD"}
1
+ {"version":3,"file":"dropEmptyRows.js","names":["dropEmptyRows","data","_ref","arguments","length","undefined","rowIndexMap","_ref$accessor","accessor","_","onlyTrimAtTheEnd","i","empty","_iterator","_createForOfIteratorHelperLoose","_step","done","cell","value","splice"],"sources":["../../source/read/dropEmptyRows.js"],"sourcesContent":["export default function dropEmptyRows(data, {\r\n rowIndexMap,\r\n accessor = _ => _,\r\n onlyTrimAtTheEnd\r\n} = {}) {\r\n // Drop empty rows.\r\n let i = data.length - 1\r\n while (i >= 0) {\r\n // Check if the row is empty.\r\n let empty = true\r\n for (const cell of data[i]) {\r\n if (accessor(cell) !== null) {\r\n empty = false\r\n break\r\n }\r\n }\r\n // Remove the empty row.\r\n if (empty) {\r\n data.splice(i, 1)\r\n if (rowIndexMap) {\r\n rowIndexMap.splice(i, 1)\r\n }\r\n } else if (onlyTrimAtTheEnd) {\r\n break\r\n }\r\n i--\r\n }\r\n return data\r\n}"],"mappings":";;;;;;;;;AAAe,SAASA,aAAaA,CAACC,IAAI,EAIlC;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAJ,CAAC,CAAC;IAHJG,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IAAAC,aAAA,GAAAL,IAAA,CACXM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,UAAAE,CAAC;MAAA,OAAIA,CAAC;IAAA,IAAAF,aAAA;IACjBG,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;EAEhB;EACA,IAAIC,CAAC,GAAGV,IAAI,CAACG,MAAM,GAAG,CAAC;EACvB,OAAOO,CAAC,IAAI,CAAC,EAAE;IACb;IACA,IAAIC,KAAK,GAAG,IAAI;IAChB,SAAAC,SAAA,GAAAC,+BAAA,CAAmBb,IAAI,CAACU,CAAC,CAAC,GAAAI,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE;MAAA,IAAjBC,IAAI,GAAAF,KAAA,CAAAG,KAAA;MACb,IAAIV,QAAQ,CAACS,IAAI,CAAC,KAAK,IAAI,EAAE;QAC3BL,KAAK,GAAG,KAAK;QACb;MACF;IACF;IACA;IACA,IAAIA,KAAK,EAAE;MACTX,IAAI,CAACkB,MAAM,CAACR,CAAC,EAAE,CAAC,CAAC;MACjB,IAAIL,WAAW,EAAE;QACfA,WAAW,CAACa,MAAM,CAACR,CAAC,EAAE,CAAC,CAAC;MAC1B;IACF,CAAC,MAAM,IAAID,gBAAgB,EAAE;MAC3B;IACF;IACAC,CAAC,EAAE;EACL;EACA,OAAOV,IAAI;AACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropEmptyRows.test.js","names":["describe","it","dropEmptyRows","onlyTrimAtTheEnd","should","deep","equal","rowMap"],"sources":["../../source/read/dropEmptyRows.test.js"],"sourcesContent":["import dropEmptyRows from './dropEmptyRows.js'\r\n\r\ndescribe('dropEmptyRows', () => {\r\n\tit('should drop empty rows (only at the end)', () => {\r\n\t\tdropEmptyRows([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G'],\r\n\t\t\t[null, null, null]\r\n\t\t], {\r\n\t\t\tonlyTrimAtTheEnd: true\r\n\t\t})\r\n\t\t.should.deep.equal([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n\r\n\tit('should drop empty rows', () => {\r\n\t\tdropEmptyRows([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G'],\r\n\t\t\t[null, null, null]\r\n\t\t])\r\n\t\t.should.deep.equal([\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n\r\n\tit('should generate row map when dropping empty rows', () => {\r\n\t\tconst rowMap = [0, 1, 2, 3, 4]\r\n\r\n\t\tdropEmptyRows([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t],\r\n\t\t{ rowMap })\r\n\t\t.should.deep.equal([\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t])\r\n\r\n\t\trowMap.should.deep.equal([1, 2, 4])\r\n\t})\r\n})"],"mappings":";;AAAA;;;;AAEAA,QAAQ,CAAC,eAAD,EAAkB,YAAM;EAC/BC,EAAE,CAAC,0CAAD,EAA6C,YAAM;IACpD,IAAAC,yBAAA,EAAc,CACb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CADa,EAEb,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAFa,EAGb,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAHa,EAIb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAJa,EAKb,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CALa,EAMb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CANa,CAAd,EAOG;MACFC,gBAAgB,EAAE;IADhB,CAPH,EAUCC,MAVD,CAUQC,IAVR,CAUaC,KAVb,CAUmB,CAClB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CADkB,EAElB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAFkB,EAGlB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAHkB,EAIlB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAJkB,EAKlB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CALkB,CAVnB;EAiBA,CAlBC,CAAF;EAoBAL,EAAE,CAAC,wBAAD,EAA2B,YAAM;IAClC,IAAAC,yBAAA,EAAc,CACb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CADa,EAEb,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAFa,EAGb,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAHa,EAIb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAJa,EAKb,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CALa,EAMb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CANa,CAAd,EAQCE,MARD,CAQQC,IARR,CAQaC,KARb,CAQmB,CAClB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CADkB,EAElB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAFkB,EAGlB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAHkB,CARnB;EAaA,CAdC,CAAF;EAgBAL,EAAE,CAAC,kDAAD,EAAqD,YAAM;IAC5D,IAAMM,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;IAEA,IAAAL,yBAAA,EAAc,CACb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CADa,EAEb,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAFa,EAGb,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAHa,EAIb,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAJa,EAKb,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CALa,CAAd,EAOA;MAAEK,MAAM,EAANA;IAAF,CAPA,EAQCH,MARD,CAQQC,IARR,CAQaC,KARb,CAQmB,CAClB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CADkB,EAElB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAFkB,EAGlB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAHkB,CARnB;IAcAC,MAAM,CAACH,MAAP,CAAcC,IAAd,CAAmBC,KAAnB,CAAyB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAzB;EACA,CAlBC,CAAF;AAmBA,CAxDO,CAAR"}
1
+ {"version":3,"file":"dropEmptyRows.test.js","names":["_dropEmptyRows","_interopRequireDefault","require","obj","__esModule","describe","it","dropEmptyRows","onlyTrimAtTheEnd","should","deep","equal","rowIndexMap"],"sources":["../../source/read/dropEmptyRows.test.js"],"sourcesContent":["import dropEmptyRows from './dropEmptyRows.js'\r\n\r\ndescribe('dropEmptyRows', () => {\r\n\tit('should drop empty rows (only at the end)', () => {\r\n\t\tdropEmptyRows([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G'],\r\n\t\t\t[null, null, null]\r\n\t\t], {\r\n\t\t\tonlyTrimAtTheEnd: true\r\n\t\t})\r\n\t\t.should.deep.equal([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n\r\n\tit('should drop empty rows', () => {\r\n\t\tdropEmptyRows([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G'],\r\n\t\t\t[null, null, null]\r\n\t\t])\r\n\t\t.should.deep.equal([\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t])\r\n\t})\r\n\r\n\tit('should generate row map when dropping empty rows', () => {\r\n\t\tconst rowIndexMap = [0, 1, 2, 3, 4]\r\n\r\n\t\tdropEmptyRows([\r\n\t\t\t[null, null, null],\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t[null, null, null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t],\r\n\t\t{ rowIndexMap })\r\n\t\t.should.deep.equal([\r\n\t\t\t['A', 'B', 'C'],\r\n\t\t\t[null, 'D', null],\r\n\t\t\t['E', 'F', 'G']\r\n\t\t])\r\n\r\n\t\trowIndexMap.should.deep.equal([1, 2, 4])\r\n\t})\r\n})"],"mappings":";;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE9CE,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC/BC,EAAE,CAAC,0CAA0C,EAAE,YAAM;IACpD,IAAAC,yBAAa,EAAC,CACb,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAClB,EAAE;MACFC,gBAAgB,EAAE;IACnB,CAAC,CAAC,CACDC,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAClB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACf,CAAC;EACH,CAAC,CAAC;EAEFL,EAAE,CAAC,wBAAwB,EAAE,YAAM;IAClC,IAAAC,yBAAa,EAAC,CACb,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAClB,CAAC,CACDE,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACf,CAAC;EACH,CAAC,CAAC;EAEFL,EAAE,CAAC,kDAAkD,EAAE,YAAM;IAC5D,IAAMM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnC,IAAAL,yBAAa,EAAC,CACb,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACf,EACD;MAAEK,WAAW,EAAXA;IAAY,CAAC,CAAC,CACfH,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAClB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACf,CAAC;IAEFC,WAAW,CAACH,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACzC,CAAC,CAAC;AACH,CAAC,CAAC"}
@@ -4,65 +4,53 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = getData;
7
-
8
7
  var _dropEmptyRows = _interopRequireDefault(require("./dropEmptyRows.js"));
9
-
10
8
  var _dropEmptyColumns = _interopRequireDefault(require("./dropEmptyColumns.js"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
-
14
10
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
-
16
11
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
-
18
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
-
20
13
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
-
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
-
24
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
-
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
-
28
17
  function getData(sheet, options) {
29
18
  var dimensions = sheet.dimensions,
30
- cells = sheet.cells; // If the sheet is empty.
19
+ cells = sheet.cells;
31
20
 
21
+ // If the sheet is empty.
32
22
  if (cells.length === 0) {
33
23
  return [];
34
24
  }
35
-
36
25
  var _dimensions = _slicedToArray(dimensions, 2),
37
- leftTop = _dimensions[0],
38
- rightBottom = _dimensions[1]; // Don't discard empty rows or columns at the start.
26
+ leftTop = _dimensions[0],
27
+ rightBottom = _dimensions[1];
28
+
29
+ // Don't discard empty rows or columns at the start.
39
30
  // https://github.com/catamphetamine/read-excel-file/issues/102
40
31
  // const colsCount = (rightBottom.column - leftTop.column) + 1
41
32
  // const rowsCount = (rightBottom.row - leftTop.row) + 1
42
33
 
43
-
44
34
  var colsCount = rightBottom.column;
45
- var rowsCount = rightBottom.row; // Initialize spreadsheet data structure.
35
+ var rowsCount = rightBottom.row;
46
36
 
37
+ // Initialize spreadsheet data structure.
47
38
  var data = new Array(rowsCount);
48
39
  var i = 0;
49
-
50
40
  while (i < rowsCount) {
51
41
  data[i] = new Array(colsCount);
52
42
  var j = 0;
53
-
54
43
  while (j < colsCount) {
55
44
  data[i][j] = null;
56
45
  j++;
57
46
  }
58
-
59
47
  i++;
60
- } // Fill in spreadsheet `data`.
48
+ }
49
+
50
+ // Fill in spreadsheet `data`.
61
51
  // (this code implies that `cells` aren't necessarily sorted by row and column:
62
52
  // maybe that's not correct, this piece code was initially copy-pasted
63
53
  // from some other library that used `XPath`)
64
-
65
-
66
54
  for (var _iterator = _createForOfIteratorHelperLoose(cells), _step; !(_step = _iterator()).done;) {
67
55
  var cell = _step.value;
68
56
  // Don't discard empty rows or columns at the start.
@@ -70,37 +58,37 @@ function getData(sheet, options) {
70
58
  // const rowIndex = cell.row - leftTop.row
71
59
  // const columnIndex = cell.column - leftTop.column
72
60
  var rowIndex = cell.row - 1;
73
- var columnIndex = cell.column - 1; // Ignore the data in the cell if it's outside of the spreadsheet's "dimensions".
74
-
61
+ var columnIndex = cell.column - 1;
62
+ // Ignore the data in the cell if it's outside of the spreadsheet's "dimensions".
75
63
  if (columnIndex < colsCount && rowIndex < rowsCount) {
76
64
  data[rowIndex][columnIndex] = cell.value;
77
65
  }
78
- } // Fill in the row map.
79
-
80
-
81
- var rowMap = options.rowMap;
82
-
83
- if (rowMap) {
84
- var _i2 = 0;
66
+ }
85
67
 
86
- while (_i2 < data.length) {
87
- rowMap[_i2] = _i2;
88
- _i2++;
68
+ // Fill in the row map.
69
+ var rowIndexMap = options.rowMap;
70
+ if (rowIndexMap) {
71
+ var _i = 0;
72
+ while (_i < data.length) {
73
+ rowIndexMap[_i] = _i;
74
+ _i++;
89
75
  }
90
- } // Drop empty columns or rows.
91
-
76
+ }
92
77
 
78
+ // Drop empty columns or rows.
93
79
  data = (0, _dropEmptyRows["default"])((0, _dropEmptyColumns["default"])(data, {
94
80
  onlyTrimAtTheEnd: true
95
81
  }), {
96
82
  onlyTrimAtTheEnd: true,
97
- rowMap: rowMap
98
- }); // Optionally transform data before applying `schema`.
83
+ rowIndexMap: rowIndexMap
84
+ });
99
85
 
86
+ // Optionally transform data before applying `schema`.
100
87
  if (options.transformData) {
101
- data = options.transformData(data); // data = options.transformData(data, {
88
+ data = options.transformData(data);
89
+ // data = options.transformData(data, {
102
90
  // dropEmptyRowsAndColumns(data) {
103
- // return dropEmptyRows(dropEmptyColumns(data), { rowMap })
91
+ // return dropEmptyRows(dropEmptyColumns(data), { rowIndexMap })
104
92
  // }
105
93
  // })
106
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getData.js","names":["getData","sheet","options","dimensions","cells","length","leftTop","rightBottom","colsCount","column","rowsCount","row","data","Array","i","j","cell","rowIndex","columnIndex","value","rowMap","dropEmptyRows","dropEmptyColumns","onlyTrimAtTheEnd","transformData"],"sources":["../../source/read/getData.js"],"sourcesContent":["import dropEmptyRows from './dropEmptyRows.js'\r\nimport dropEmptyColumns from './dropEmptyColumns.js'\r\n\r\nexport default function getData(sheet, options) {\r\n const { dimensions, cells } = sheet\r\n\r\n // If the sheet is empty.\r\n if (cells.length === 0) {\r\n return []\r\n }\r\n\r\n const [leftTop, rightBottom] = dimensions\r\n\r\n // Don't discard empty rows or columns at the start.\r\n // https://github.com/catamphetamine/read-excel-file/issues/102\r\n // const colsCount = (rightBottom.column - leftTop.column) + 1\r\n // const rowsCount = (rightBottom.row - leftTop.row) + 1\r\n\r\n const colsCount = rightBottom.column\r\n const rowsCount = rightBottom.row\r\n\r\n // Initialize spreadsheet data structure.\r\n let data = new Array(rowsCount)\r\n let i = 0\r\n while (i < rowsCount) {\r\n data[i] = new Array(colsCount)\r\n let j = 0\r\n while (j < colsCount) {\r\n data[i][j] = null\r\n j++\r\n }\r\n i++\r\n }\r\n\r\n // Fill in spreadsheet `data`.\r\n // (this code implies that `cells` aren't necessarily sorted by row and column:\r\n // maybe that's not correct, this piece code was initially copy-pasted\r\n // from some other library that used `XPath`)\r\n for (const cell of cells) {\r\n // Don't discard empty rows or columns at the start.\r\n // https://github.com/catamphetamine/read-excel-file/issues/102\r\n // const rowIndex = cell.row - leftTop.row\r\n // const columnIndex = cell.column - leftTop.column\r\n const rowIndex = cell.row - 1\r\n const columnIndex = cell.column - 1\r\n // Ignore the data in the cell if it's outside of the spreadsheet's \"dimensions\".\r\n if (columnIndex < colsCount && rowIndex < rowsCount) {\r\n data[rowIndex][columnIndex] = cell.value\r\n }\r\n }\r\n\r\n // Fill in the row map.\r\n const { rowMap } = options\r\n if (rowMap) {\r\n let i = 0\r\n while (i < data.length) {\r\n rowMap[i] = i\r\n i++\r\n }\r\n }\r\n\r\n // Drop empty columns or rows.\r\n data = dropEmptyRows(\r\n dropEmptyColumns(data, { onlyTrimAtTheEnd: true }),\r\n { onlyTrimAtTheEnd: true, rowMap }\r\n )\r\n\r\n // Optionally transform data before applying `schema`.\r\n if (options.transformData) {\r\n data = options.transformData(data)\r\n // data = options.transformData(data, {\r\n // dropEmptyRowsAndColumns(data) {\r\n // return dropEmptyRows(dropEmptyColumns(data), { rowMap })\r\n // }\r\n // })\r\n }\r\n\r\n return data\r\n}"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;;;AAEe,SAASA,OAAT,CAAiBC,KAAjB,EAAwBC,OAAxB,EAAiC;EAC9C,IAAQC,UAAR,GAA8BF,KAA9B,CAAQE,UAAR;EAAA,IAAoBC,KAApB,GAA8BH,KAA9B,CAAoBG,KAApB,CAD8C,CAG9C;;EACA,IAAIA,KAAK,CAACC,MAAN,KAAiB,CAArB,EAAwB;IACtB,OAAO,EAAP;EACD;;EAED,iCAA+BF,UAA/B;EAAA,IAAOG,OAAP;EAAA,IAAgBC,WAAhB,kBAR8C,CAU9C;EACA;EACA;EACA;;;EAEA,IAAMC,SAAS,GAAGD,WAAW,CAACE,MAA9B;EACA,IAAMC,SAAS,GAAGH,WAAW,CAACI,GAA9B,CAhB8C,CAkB9C;;EACA,IAAIC,IAAI,GAAG,IAAIC,KAAJ,CAAUH,SAAV,CAAX;EACA,IAAII,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGJ,SAAX,EAAsB;IACpBE,IAAI,CAACE,CAAD,CAAJ,GAAU,IAAID,KAAJ,CAAUL,SAAV,CAAV;IACA,IAAIO,CAAC,GAAG,CAAR;;IACA,OAAOA,CAAC,GAAGP,SAAX,EAAsB;MACpBI,IAAI,CAACE,CAAD,CAAJ,CAAQC,CAAR,IAAa,IAAb;MACAA,CAAC;IACF;;IACDD,CAAC;EACF,CA7B6C,CA+B9C;EACA;EACA;EACA;;;EACA,qDAAmBV,KAAnB,wCAA0B;IAAA,IAAfY,IAAe;IACxB;IACA;IACA;IACA;IACA,IAAMC,QAAQ,GAAGD,IAAI,CAACL,GAAL,GAAW,CAA5B;IACA,IAAMO,WAAW,GAAGF,IAAI,CAACP,MAAL,GAAc,CAAlC,CANwB,CAOxB;;IACA,IAAIS,WAAW,GAAGV,SAAd,IAA2BS,QAAQ,GAAGP,SAA1C,EAAqD;MACnDE,IAAI,CAACK,QAAD,CAAJ,CAAeC,WAAf,IAA8BF,IAAI,CAACG,KAAnC;IACD;EACF,CA9C6C,CAgD9C;;;EACA,IAAQC,MAAR,GAAmBlB,OAAnB,CAAQkB,MAAR;;EACA,IAAIA,MAAJ,EAAY;IACV,IAAIN,GAAC,GAAG,CAAR;;IACA,OAAOA,GAAC,GAAGF,IAAI,CAACP,MAAhB,EAAwB;MACtBe,MAAM,CAACN,GAAD,CAAN,GAAYA,GAAZ;MACAA,GAAC;IACF;EACF,CAxD6C,CA0D9C;;;EACAF,IAAI,GAAG,IAAAS,yBAAA,EACL,IAAAC,4BAAA,EAAiBV,IAAjB,EAAuB;IAAEW,gBAAgB,EAAE;EAApB,CAAvB,CADK,EAEL;IAAEA,gBAAgB,EAAE,IAApB;IAA0BH,MAAM,EAANA;EAA1B,CAFK,CAAP,CA3D8C,CAgE9C;;EACA,IAAIlB,OAAO,CAACsB,aAAZ,EAA2B;IACzBZ,IAAI,GAAGV,OAAO,CAACsB,aAAR,CAAsBZ,IAAtB,CAAP,CADyB,CAEzB;IACA;IACA;IACA;IACA;EACD;;EAED,OAAOA,IAAP;AACD"}
1
+ {"version":3,"file":"getData.js","names":["_dropEmptyRows","_interopRequireDefault","require","_dropEmptyColumns","obj","__esModule","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","len","arr2","r","l","t","e","u","a","f","push","getData","sheet","options","dimensions","cells","_dimensions","leftTop","rightBottom","colsCount","column","rowsCount","row","data","j","_iterator","_step","cell","rowIndex","columnIndex","rowIndexMap","rowMap","dropEmptyRows","dropEmptyColumns","onlyTrimAtTheEnd","transformData"],"sources":["../../source/read/getData.js"],"sourcesContent":["import dropEmptyRows from './dropEmptyRows.js'\r\nimport dropEmptyColumns from './dropEmptyColumns.js'\r\n\r\nexport default function getData(sheet, options) {\r\n const { dimensions, cells } = sheet\r\n\r\n // If the sheet is empty.\r\n if (cells.length === 0) {\r\n return []\r\n }\r\n\r\n const [leftTop, rightBottom] = dimensions\r\n\r\n // Don't discard empty rows or columns at the start.\r\n // https://github.com/catamphetamine/read-excel-file/issues/102\r\n // const colsCount = (rightBottom.column - leftTop.column) + 1\r\n // const rowsCount = (rightBottom.row - leftTop.row) + 1\r\n\r\n const colsCount = rightBottom.column\r\n const rowsCount = rightBottom.row\r\n\r\n // Initialize spreadsheet data structure.\r\n let data = new Array(rowsCount)\r\n let i = 0\r\n while (i < rowsCount) {\r\n data[i] = new Array(colsCount)\r\n let j = 0\r\n while (j < colsCount) {\r\n data[i][j] = null\r\n j++\r\n }\r\n i++\r\n }\r\n\r\n // Fill in spreadsheet `data`.\r\n // (this code implies that `cells` aren't necessarily sorted by row and column:\r\n // maybe that's not correct, this piece code was initially copy-pasted\r\n // from some other library that used `XPath`)\r\n for (const cell of cells) {\r\n // Don't discard empty rows or columns at the start.\r\n // https://github.com/catamphetamine/read-excel-file/issues/102\r\n // const rowIndex = cell.row - leftTop.row\r\n // const columnIndex = cell.column - leftTop.column\r\n const rowIndex = cell.row - 1\r\n const columnIndex = cell.column - 1\r\n // Ignore the data in the cell if it's outside of the spreadsheet's \"dimensions\".\r\n if (columnIndex < colsCount && rowIndex < rowsCount) {\r\n data[rowIndex][columnIndex] = cell.value\r\n }\r\n }\r\n\r\n // Fill in the row map.\r\n const { rowMap: rowIndexMap } = options\r\n if (rowIndexMap) {\r\n let i = 0\r\n while (i < data.length) {\r\n rowIndexMap[i] = i\r\n i++\r\n }\r\n }\r\n\r\n // Drop empty columns or rows.\r\n data = dropEmptyRows(\r\n dropEmptyColumns(data, { onlyTrimAtTheEnd: true }),\r\n { onlyTrimAtTheEnd: true, rowIndexMap }\r\n )\r\n\r\n // Optionally transform data before applying `schema`.\r\n if (options.transformData) {\r\n data = options.transformData(data)\r\n // data = options.transformData(data, {\r\n // dropEmptyRowsAndColumns(data) {\r\n // return dropEmptyRows(dropEmptyColumns(data), { rowIndexMap })\r\n // }\r\n // })\r\n }\r\n\r\n return data\r\n}"],"mappings":"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"}