read-excel-file 5.2.28 → 5.3.1

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 (165) hide show
  1. package/.gitlab-ci.yml +1 -1
  2. package/CHANGELOG.md +8 -3
  3. package/bundle/read-excel-file.min.js +2 -2
  4. package/bundle/read-excel-file.min.js.map +1 -1
  5. package/commonjs/package.json +1 -0
  6. package/commonjs/read/coordinates.js.map +1 -1
  7. package/commonjs/read/dropEmptyColumns.js.map +1 -1
  8. package/commonjs/read/dropEmptyColumns.test.js.map +1 -1
  9. package/commonjs/read/dropEmptyRows.js.map +1 -1
  10. package/commonjs/read/dropEmptyRows.test.js.map +1 -1
  11. package/commonjs/read/getData.js +3 -3
  12. package/commonjs/read/getData.js.map +1 -1
  13. package/commonjs/read/parseCell.js +3 -3
  14. package/commonjs/read/parseCell.js.map +1 -1
  15. package/commonjs/read/parseCellValue.js +1 -1
  16. package/commonjs/read/parseCellValue.js.map +1 -1
  17. package/commonjs/read/parseCells.js +2 -2
  18. package/commonjs/read/parseCells.js.map +1 -1
  19. package/commonjs/read/parseDate.js +39 -8
  20. package/commonjs/read/parseDate.js.map +1 -1
  21. package/commonjs/read/parseDate.test.js.map +1 -1
  22. package/commonjs/read/parseDimensions.js +3 -3
  23. package/commonjs/read/parseDimensions.js.map +1 -1
  24. package/commonjs/read/parseFilePaths.js +1 -1
  25. package/commonjs/read/parseFilePaths.js.map +1 -1
  26. package/commonjs/read/parseProperties.js +1 -1
  27. package/commonjs/read/parseProperties.js.map +1 -1
  28. package/commonjs/read/parseSharedStrings.js +1 -1
  29. package/commonjs/read/parseSharedStrings.js.map +1 -1
  30. package/commonjs/read/parseSheet.js +3 -3
  31. package/commonjs/read/parseSheet.js.map +1 -1
  32. package/commonjs/read/parseStyles.js +3 -3
  33. package/commonjs/read/parseStyles.js.map +1 -1
  34. package/commonjs/read/readSheetNamesBrowser.js +1 -1
  35. package/commonjs/read/readSheetNamesBrowser.js.map +1 -1
  36. package/commonjs/read/readSheetNamesNode.js +1 -1
  37. package/commonjs/read/readSheetNamesNode.js.map +1 -1
  38. package/commonjs/read/readSheetNamesNode.test.js.map +1 -1
  39. package/commonjs/read/readSheetNamesWebWorker.js +1 -1
  40. package/commonjs/read/readSheetNamesWebWorker.js.map +1 -1
  41. package/commonjs/read/readXlsx.js +8 -8
  42. package/commonjs/read/readXlsx.js.map +1 -1
  43. package/commonjs/read/readXlsxFileBrowser.js +3 -3
  44. package/commonjs/read/readXlsxFileBrowser.js.map +1 -1
  45. package/commonjs/read/readXlsxFileContents.js +5 -5
  46. package/commonjs/read/readXlsxFileContents.js.map +1 -1
  47. package/commonjs/read/readXlsxFileNode.js +3 -3
  48. package/commonjs/read/readXlsxFileNode.js.map +1 -1
  49. package/commonjs/read/readXlsxFileNode.test.js.map +1 -1
  50. package/commonjs/read/readXlsxFileWebWorker.js +3 -3
  51. package/commonjs/read/readXlsxFileWebWorker.js.map +1 -1
  52. package/commonjs/read/schema/convertMapToSchema.js +1 -1
  53. package/commonjs/read/schema/convertMapToSchema.js.map +1 -1
  54. package/commonjs/read/schema/convertMapToSchema.test.js.map +1 -1
  55. package/commonjs/read/schema/convertToJson.js +9 -9
  56. package/commonjs/read/schema/convertToJson.js.map +1 -1
  57. package/commonjs/read/schema/convertToJson.test.js.map +1 -1
  58. package/commonjs/read/unpackXlsxFileBrowser.js.map +1 -1
  59. package/commonjs/read/unpackXlsxFileNode.js.map +1 -1
  60. package/commonjs/types/Email.js.map +1 -1
  61. package/commonjs/types/Email.test.js.map +1 -1
  62. package/commonjs/types/Integer.js.map +1 -1
  63. package/commonjs/types/Integer.test.js.map +1 -1
  64. package/commonjs/types/URL.js.map +1 -1
  65. package/commonjs/types/URL.test.js.map +1 -1
  66. package/commonjs/xml/dom.js +1 -1
  67. package/commonjs/xml/dom.js.map +1 -1
  68. package/commonjs/xml/xlsx-xpath.js +7 -7
  69. package/commonjs/xml/xlsx-xpath.js.map +1 -1
  70. package/commonjs/xml/xlsx.js +8 -8
  71. package/commonjs/xml/xlsx.js.map +1 -1
  72. package/commonjs/xml/xml.js.map +1 -1
  73. package/commonjs/xml/xmlBrowser.js.map +1 -1
  74. package/commonjs/xml/xpathBrowser.js.map +1 -1
  75. package/commonjs/xml/xpathNode.js.map +1 -1
  76. package/index.cjs +7 -0
  77. package/index.cjs.js +12 -0
  78. package/index.js +6 -6
  79. package/modules/read/coordinates.js.map +1 -1
  80. package/modules/read/dropEmptyColumns.js.map +1 -1
  81. package/modules/read/dropEmptyColumns.test.js.map +1 -1
  82. package/modules/read/dropEmptyRows.js.map +1 -1
  83. package/modules/read/dropEmptyRows.test.js.map +1 -1
  84. package/modules/read/getData.js +3 -3
  85. package/modules/read/getData.js.map +1 -1
  86. package/modules/read/parseCell.js +3 -3
  87. package/modules/read/parseCell.js.map +1 -1
  88. package/modules/read/parseCellValue.js +1 -1
  89. package/modules/read/parseCellValue.js.map +1 -1
  90. package/modules/read/parseCells.js +2 -2
  91. package/modules/read/parseCells.js.map +1 -1
  92. package/modules/read/parseDate.js +39 -8
  93. package/modules/read/parseDate.js.map +1 -1
  94. package/modules/read/parseDate.test.js.map +1 -1
  95. package/modules/read/parseDimensions.js +3 -3
  96. package/modules/read/parseDimensions.js.map +1 -1
  97. package/modules/read/parseFilePaths.js +1 -1
  98. package/modules/read/parseFilePaths.js.map +1 -1
  99. package/modules/read/parseProperties.js +1 -1
  100. package/modules/read/parseProperties.js.map +1 -1
  101. package/modules/read/parseSharedStrings.js +1 -1
  102. package/modules/read/parseSharedStrings.js.map +1 -1
  103. package/modules/read/parseSheet.js +3 -3
  104. package/modules/read/parseSheet.js.map +1 -1
  105. package/modules/read/parseStyles.js +3 -3
  106. package/modules/read/parseStyles.js.map +1 -1
  107. package/modules/read/readSheetNamesBrowser.js +1 -1
  108. package/modules/read/readSheetNamesBrowser.js.map +1 -1
  109. package/modules/read/readSheetNamesNode.js +1 -1
  110. package/modules/read/readSheetNamesNode.js.map +1 -1
  111. package/modules/read/readSheetNamesNode.test.js.map +1 -1
  112. package/modules/read/readSheetNamesWebWorker.js +1 -1
  113. package/modules/read/readSheetNamesWebWorker.js.map +1 -1
  114. package/modules/read/readXlsx.js +8 -8
  115. package/modules/read/readXlsx.js.map +1 -1
  116. package/modules/read/readXlsxFileBrowser.js +3 -3
  117. package/modules/read/readXlsxFileBrowser.js.map +1 -1
  118. package/modules/read/readXlsxFileContents.js +5 -5
  119. package/modules/read/readXlsxFileContents.js.map +1 -1
  120. package/modules/read/readXlsxFileNode.js +3 -3
  121. package/modules/read/readXlsxFileNode.js.map +1 -1
  122. package/modules/read/readXlsxFileNode.test.js.map +1 -1
  123. package/modules/read/readXlsxFileWebWorker.js +3 -3
  124. package/modules/read/readXlsxFileWebWorker.js.map +1 -1
  125. package/modules/read/schema/convertMapToSchema.js +1 -1
  126. package/modules/read/schema/convertMapToSchema.js.map +1 -1
  127. package/modules/read/schema/convertMapToSchema.test.js.map +1 -1
  128. package/modules/read/schema/convertToJson.js +8 -8
  129. package/modules/read/schema/convertToJson.js.map +1 -1
  130. package/modules/read/schema/convertToJson.test.js.map +1 -1
  131. package/modules/read/unpackXlsxFileBrowser.js.map +1 -1
  132. package/modules/read/unpackXlsxFileNode.js.map +1 -1
  133. package/modules/types/Email.js.map +1 -1
  134. package/modules/types/Email.test.js.map +1 -1
  135. package/modules/types/Integer.js.map +1 -1
  136. package/modules/types/Integer.test.js.map +1 -1
  137. package/modules/types/URL.js.map +1 -1
  138. package/modules/types/URL.test.js.map +1 -1
  139. package/modules/xml/dom.js.map +1 -1
  140. package/modules/xml/xlsx-xpath.js.map +1 -1
  141. package/modules/xml/xlsx.js +1 -1
  142. package/modules/xml/xlsx.js.map +1 -1
  143. package/modules/xml/xml.js.map +1 -1
  144. package/modules/xml/xmlBrowser.js.map +1 -1
  145. package/modules/xml/xpathBrowser.js.map +1 -1
  146. package/modules/xml/xpathNode.js.map +1 -1
  147. package/node/index.cjs +7 -0
  148. package/node/index.cjs.js +12 -0
  149. package/node/index.js +6 -6
  150. package/node/package.json +9 -1
  151. package/package.json +46 -23
  152. package/{rollup.config.js → rollup.config.mjs} +0 -0
  153. package/runnable/create-commonjs-package-json.js +11 -0
  154. package/schema/{index.commonjs.js → index.cjs} +2 -2
  155. package/schema/index.cjs.js +7 -0
  156. package/schema/index.js +1 -1
  157. package/schema/package.json +9 -1
  158. package/web-worker/index.cjs +7 -0
  159. package/web-worker/index.cjs.js +12 -0
  160. package/web-worker/index.js +6 -6
  161. package/web-worker/package.json +9 -1
  162. package/babel.js +0 -5
  163. package/index.commonjs.js +0 -7
  164. package/node/index.commonjs.js +0 -7
  165. package/web-worker/index.commonjs.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../source/read/schema/convertToJson.test.js"],"names":["date","convertToUTCTimezone","Date","describe","it","should","deep","equal","parse","getTimezoneOffset","DATE","prop","type","NUMBER","Number","BOOLEAN","Boolean","STRING","String","PHONE","value","PHONE_TYPE","rows","errors","toISOString","number","phone","phoneType","string","required","error","row","column","NAMES","names","INTEGER","Integer","length","URL","EMAIL","Email","NAME","validate","Error","TRUE","FALSE","INVALID","rowMap","STATUS","oneOf","getTime"],"mappings":"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","sourcesContent":["import convertToJson, { parseArray, getBlock } from './convertToJson'\r\n\r\nimport Integer from '../../types/Integer'\r\nimport URL from '../../types/URL'\r\nimport Email from '../../types/Email'\r\n\r\nconst date = convertToUTCTimezone(new Date(2018, 3 - 1, 24))\r\n\r\ndescribe('convertToJson', () => {\r\n\tit('should parse arrays', () => {\r\n\t\tgetBlock('abc\"de,f\"g,h', ',', 0).should.deep.equal(['abcde,fg', 10])\r\n\t\tparseArray(' abc\"de,f\"g , h ').should.deep.equal(['abcde,fg', 'h'])\r\n\t})\r\n\r\n\tit('should convert to json', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING',\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t'123',\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc',\r\n\t\t\t\t'(123) 456-7890',\r\n\t\t\t\t'(123) 456-7890'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean',\r\n\t\t\t\ttype: Boolean\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string',\r\n\t\t\t\ttype: String\r\n\t\t\t},\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\ttype(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tphone: '+11234567890',\r\n\t\t\tphoneType: '+11234567890',\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should support schema entries with no `type`s', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t123,\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date'\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number'\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean'\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string'\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should require fields', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'required',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: null\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should parse arrays', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAMES'\r\n\t\t\t], [\r\n\t\t\t\t'Barack Obama, \"String, with, colons\", Donald Trump'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAMES: {\r\n\t\t\t\tprop: 'names',\r\n\t\t\t\ttype: [String]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tnames: ['Barack Obama', 'String, with, colons', 'Donald Trump']\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse integers', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'INTEGER'\r\n\t\t\t], [\r\n\t\t\t\t'1'\r\n\t\t\t], [\r\n\t\t\t\t'1.2'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tINTEGER: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Integer\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('INTEGER')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 1\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse URLs', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'URL'\r\n\t\t\t], [\r\n\t\t\t\t'https://kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'kremlin.ru'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tURL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: URL\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('URL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'https://kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse Emails', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'EMAIL'\r\n\t\t\t], [\r\n\t\t\t\t'vladimir.putin@kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tEMAIL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Email\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('EMAIL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'vladimir.putin@kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should call .validate()', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAME'\r\n\t\t\t], [\r\n\t\t\t\t'George Bush'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAME: {\r\n\t\t\t\tprop: 'name',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidate: (value) => {\r\n\t\t\t\t\tif (value === 'George Bush') {\r\n\t\t\t\t\t\tthrow new Error('custom-error')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'custom-error',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NAME',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'George Bush'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate booleans', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'TRUE',\r\n\t\t\t\t'FALSE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\ttrue,\r\n\t\t\t\tfalse,\r\n\t\t\t\t'TRUE'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tTRUE: {\r\n\t\t\t\tprop: 'true',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tFALSE: {\r\n\t\t\t\tprop: 'false',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Boolean,\r\n\t\t\tvalue: 'TRUE'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\ttrue: true,\r\n\t\t\tfalse: false\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate dates', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\t43183, // 03/24/2018',\r\n\t\t\t\t'-'\r\n\t\t\t], [\r\n\t\t\t\tdate, // 03/24/2018',,\r\n\t\t\t\t'-'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 2,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate\r\n\t\t}, {\r\n\t\t\tdate\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should throw parse() errors', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\t'123',\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE',\r\n\t\t\tvalue: '123'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE_TYPE',\r\n\t\t\tvalue: '123'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should map row numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\trowMap: [2, 5]\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 6,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'STARTED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(0)\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (not valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'SCHEDULED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'STATUS',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'SCHEDULED'\r\n\t\t}])\r\n\t})\r\n})\r\n\r\n\r\n// Converts timezone to UTC while preserving the same time\r\nfunction convertToUTCTimezone(date) {\r\n\t// Doesn't account for leap seconds but I guess that's ok\r\n\t// given that javascript's own `Date()` does not either.\r\n\t// https://www.timeanddate.com/time/leap-seconds-background.html\r\n\t//\r\n\t// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\r\n\t//\r\n\treturn new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)\r\n}\r\n"],"file":"convertToJson.test.js"}
1
+ {"version":3,"file":"convertToJson.test.js","names":["date","convertToUTCTimezone","Date","describe","it","getBlock","should","deep","equal","parseArray","convertToJson","parse","getTimezoneOffset","DATE","prop","type","NUMBER","Number","BOOLEAN","Boolean","STRING","String","PHONE","value","PHONE_TYPE","rows","errors","toISOString","number","phone","phoneType","string","required","error","row","column","NAMES","names","INTEGER","Integer","length","URL","EMAIL","Email","NAME","validate","Error","TRUE","FALSE","INVALID","rowMap","STATUS","oneOf","getTime"],"sources":["../../../source/read/schema/convertToJson.test.js"],"sourcesContent":["import convertToJson, { parseArray, getBlock } from './convertToJson.js'\r\n\r\nimport Integer from '../../types/Integer.js'\r\nimport URL from '../../types/URL.js'\r\nimport Email from '../../types/Email.js'\r\n\r\nconst date = convertToUTCTimezone(new Date(2018, 3 - 1, 24))\r\n\r\ndescribe('convertToJson', () => {\r\n\tit('should parse arrays', () => {\r\n\t\tgetBlock('abc\"de,f\"g,h', ',', 0).should.deep.equal(['abcde,fg', 10])\r\n\t\tparseArray(' abc\"de,f\"g , h ').should.deep.equal(['abcde,fg', 'h'])\r\n\t})\r\n\r\n\tit('should convert to json', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING',\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t'123',\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc',\r\n\t\t\t\t'(123) 456-7890',\r\n\t\t\t\t'(123) 456-7890'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean',\r\n\t\t\t\ttype: Boolean\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string',\r\n\t\t\t\ttype: String\r\n\t\t\t},\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\ttype(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tphone: '+11234567890',\r\n\t\t\tphoneType: '+11234567890',\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should support schema entries with no `type`s', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t123,\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date'\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number'\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean'\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string'\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should require fields', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'required',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: null\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should parse arrays', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAMES'\r\n\t\t\t], [\r\n\t\t\t\t'Barack Obama, \"String, with, colons\", Donald Trump'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAMES: {\r\n\t\t\t\tprop: 'names',\r\n\t\t\t\ttype: [String]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tnames: ['Barack Obama', 'String, with, colons', 'Donald Trump']\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse integers', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'INTEGER'\r\n\t\t\t], [\r\n\t\t\t\t'1'\r\n\t\t\t], [\r\n\t\t\t\t'1.2'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tINTEGER: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Integer\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('INTEGER')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 1\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse URLs', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'URL'\r\n\t\t\t], [\r\n\t\t\t\t'https://kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'kremlin.ru'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tURL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: URL\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('URL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'https://kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse Emails', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'EMAIL'\r\n\t\t\t], [\r\n\t\t\t\t'vladimir.putin@kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tEMAIL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Email\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('EMAIL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'vladimir.putin@kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should call .validate()', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAME'\r\n\t\t\t], [\r\n\t\t\t\t'George Bush'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAME: {\r\n\t\t\t\tprop: 'name',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidate: (value) => {\r\n\t\t\t\t\tif (value === 'George Bush') {\r\n\t\t\t\t\t\tthrow new Error('custom-error')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'custom-error',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NAME',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'George Bush'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate booleans', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'TRUE',\r\n\t\t\t\t'FALSE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\ttrue,\r\n\t\t\t\tfalse,\r\n\t\t\t\t'TRUE'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tTRUE: {\r\n\t\t\t\tprop: 'true',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tFALSE: {\r\n\t\t\t\tprop: 'false',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Boolean,\r\n\t\t\tvalue: 'TRUE'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\ttrue: true,\r\n\t\t\tfalse: false\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate dates', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\t43183, // 03/24/2018',\r\n\t\t\t\t'-'\r\n\t\t\t], [\r\n\t\t\t\tdate, // 03/24/2018',,\r\n\t\t\t\t'-'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 2,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate\r\n\t\t}, {\r\n\t\t\tdate\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should throw parse() errors', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\t'123',\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE',\r\n\t\t\tvalue: '123'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE_TYPE',\r\n\t\t\tvalue: '123'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should map row numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\trowMap: [2, 5]\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 6,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'STARTED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(0)\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (not valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'SCHEDULED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'STATUS',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'SCHEDULED'\r\n\t\t}])\r\n\t})\r\n})\r\n\r\n\r\n// Converts timezone to UTC while preserving the same time\r\nfunction convertToUTCTimezone(date) {\r\n\t// Doesn't account for leap seconds but I guess that's ok\r\n\t// given that javascript's own `Date()` does not either.\r\n\t// https://www.timeanddate.com/time/leap-seconds-background.html\r\n\t//\r\n\t// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\r\n\t//\r\n\treturn new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)\r\n}\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/read/unpackXlsxFileBrowser.js"],"names":["unpackXlsxFile","file","files","JSZip","loadAsync","then","zip","forEach","relativePath","zipEntry","dir","push","name","entries","Promise","all","map","async","content"],"mappings":";;;;;;;AAAA;;;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;AAC5C,MAAMC,KAAK,GAAG,EAAd;AAEA,SAAOC,kBAAMC,SAAN,CAAgBH,IAAhB,EAAsBI,IAAtB,CAA2B,UAACC,GAAD,EAAS;AAC1C,QAAMJ,KAAK,GAAG,EAAd;AACAI,IAAAA,GAAG,CAACC,OAAJ,CAAY,UAACC,YAAD,EAAeC,QAAf,EAA4B;AACvC,UAAI,CAACA,QAAQ,CAACC,GAAd,EAAmB;AAClBR,QAAAA,KAAK,CAACS,IAAN,CAAWF,QAAQ,CAACG,IAApB;AACA;AACD,KAJD;AAMA,QAAMC,OAAO,GAAG,EAAhB;AACA,WAAOC,OAAO,CAACC,GAAR,CAAYb,KAAK,CAACc,GAAN,CAAU,UAACf,IAAD,EAAU;AACtC,aAAOK,GAAG,CAACL,IAAJ,CAASA,IAAT,EAAegB,KAAf,CAAqB,QAArB,EAA+BZ,IAA/B,CAAoC,UAAAa,OAAO;AAAA,eAAIL,OAAO,CAACZ,IAAD,CAAP,GAAgBiB,OAApB;AAAA,OAA3C,CAAP;AACA,KAFkB,CAAZ,EAGNb,IAHM,CAGD;AAAA,aAAMQ,OAAN;AAAA,KAHC,CAAP;AAIA,GAbM,CAAP;AAcA","sourcesContent":["import JSZip from 'jszip'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {file} file - A file 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\tconst files = {}\r\n\r\n\treturn JSZip.loadAsync(file).then((zip) => {\r\n\t\tconst files = []\r\n\t\tzip.forEach((relativePath, zipEntry) => {\r\n\t\t\tif (!zipEntry.dir) {\r\n\t\t\t\tfiles.push(zipEntry.name)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst entries = {}\r\n\t\treturn Promise.all(files.map((file) => {\r\n\t\t\treturn zip.file(file).async('string').then(content => entries[file] = content)\r\n\t\t}))\r\n\t\t.then(() => entries)\r\n\t})\r\n}"],"file":"unpackXlsxFileBrowser.js"}
1
+ {"version":3,"file":"unpackXlsxFileBrowser.js","names":["unpackXlsxFile","file","files","JSZip","loadAsync","then","zip","forEach","relativePath","zipEntry","dir","push","name","entries","Promise","all","map","async","content"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import JSZip from 'jszip'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {file} file - A file 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\tconst files = {}\r\n\r\n\treturn JSZip.loadAsync(file).then((zip) => {\r\n\t\tconst files = []\r\n\t\tzip.forEach((relativePath, zipEntry) => {\r\n\t\t\tif (!zipEntry.dir) {\r\n\t\t\t\tfiles.push(zipEntry.name)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst entries = {}\r\n\t\treturn Promise.all(files.map((file) => {\r\n\t\t\treturn zip.file(file).async('string').then(content => entries[file] = content)\r\n\t\t}))\r\n\t\t.then(() => entries)\r\n\t})\r\n}"],"mappings":";;;;;;;AAAA;;;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;EAC5C,IAAMC,KAAK,GAAG,EAAd;EAEA,OAAOC,iBAAA,CAAMC,SAAN,CAAgBH,IAAhB,EAAsBI,IAAtB,CAA2B,UAACC,GAAD,EAAS;IAC1C,IAAMJ,KAAK,GAAG,EAAd;IACAI,GAAG,CAACC,OAAJ,CAAY,UAACC,YAAD,EAAeC,QAAf,EAA4B;MACvC,IAAI,CAACA,QAAQ,CAACC,GAAd,EAAmB;QAClBR,KAAK,CAACS,IAAN,CAAWF,QAAQ,CAACG,IAApB;MACA;IACD,CAJD;IAMA,IAAMC,OAAO,GAAG,EAAhB;IACA,OAAOC,OAAO,CAACC,GAAR,CAAYb,KAAK,CAACc,GAAN,CAAU,UAACf,IAAD,EAAU;MACtC,OAAOK,GAAG,CAACL,IAAJ,CAASA,IAAT,EAAegB,KAAf,CAAqB,QAArB,EAA+BZ,IAA/B,CAAoC,UAAAa,OAAO;QAAA,OAAIL,OAAO,CAACZ,IAAD,CAAP,GAAgBiB,OAApB;MAAA,CAA3C,CAAP;IACA,CAFkB,CAAZ,EAGNb,IAHM,CAGD;MAAA,OAAMQ,OAAN;IAAA,CAHC,CAAP;EAIA,CAbM,CAAP;AAcA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/read/unpackXlsxFileNode.js"],"names":["unpackXlsxFile","input","entries","stream","Stream","fs","createReadStream","Promise","resolve","reject","entryPromises","on","pipe","unzip","Parse","all","then","entry","contents","push","data","toString","path"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,KAAxB,EAA+B;AAC5C;AACA;AACA;AACA,MAAMC,OAAO,GAAG,EAAhB;AAEA,MAAMC,MAAM,GAAGF,KAAK,YAAYG,kBAAjB,GAA0BH,KAA1B,GAAkCI,eAAGC,gBAAH,CAAoBL,KAApB,CAAjD;AAEA,SAAO,IAAIM,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,QAAMC,aAAa,GAAG,EAAtB;AAEAP,IAAAA,MAAM,CACJ;AADI,KAEHQ,EAFH,CAEM,OAFN,EAEeF,MAFf,EAGGG,IAHH,CAGQC,qBAAMC,KAAN,EAHR,EAIE;AAJF,KAKGH,EALH,CAKM,OALN,EAKeF,MALf,EAMGE,EANH,CAMM,OANN,EAMe;AAAA,aAAOJ,OAAO,CAACQ,GAAR,CAAYL,aAAZ,EAA2BM,IAA3B,CAAgC;AAAA,eAAMR,OAAO,CAACN,OAAD,CAAb;AAAA,OAAhC,CAAP;AAAA,KANf,EAOGS,EAPH,CAOM,OAPN,EAOe,UAACM,KAAD,EAAW;AACtB,UAAIC,QAAQ,GAAG,EAAf,CADsB,CAEtB;;AACAR,MAAAA,aAAa,CAACS,IAAd,CAAmB,IAAIZ,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC1CS,QAAAA,KAAK,CACFN,EADH,CACM,MADN,EACc,UAAAS,IAAI;AAAA,iBAAIF,QAAQ,IAAIE,IAAI,CAACC,QAAL,EAAhB;AAAA,SADlB,EAEGV,EAFH,CAEM,KAFN,EAEa;AAAA,iBAAMH,OAAO,CAACN,OAAO,CAACe,KAAK,CAACK,IAAP,CAAP,GAAsBJ,QAAvB,CAAb;AAAA,SAFb;AAGD,OAJkB,CAAnB;AAKD,KAfH;AAgBD,GAnBM,CAAP;AAoBD","sourcesContent":["import fs from 'fs'\r\nimport Stream from 'stream'\r\nimport unzip from 'unzipper'\r\n\r\n/**\r\n * Reads XLSX file in Node.js.\r\n * @param {(string|Stream)} input - A Node.js readable stream or a path to a file.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n // XLSX file is a zip archive.\r\n // The `entries` object stores the files\r\n // and their contents from this XLSX zip archive.\r\n const entries = {}\r\n\r\n const stream = input instanceof Stream ? input : fs.createReadStream(input)\r\n\r\n return new Promise((resolve, reject) => {\r\n const entryPromises = []\r\n\r\n stream\r\n // This first \"error\" listener is for the original stream errors.\r\n .on('error', reject)\r\n .pipe(unzip.Parse())\r\n // This second \"error\" listener is for the unzip stream errors.\r\n .on('error', reject)\r\n .on('close', () => Promise.all(entryPromises).then(() => resolve(entries)))\r\n .on('entry', (entry) => {\r\n let contents = ''\r\n // To ignore an entry: `entry.autodrain()`.\r\n entryPromises.push(new Promise((resolve) => {\r\n entry\r\n .on('data', data => contents += data.toString())\r\n .on('end', () => resolve(entries[entry.path] = contents))\r\n }))\r\n })\r\n })\r\n}\r\n"],"file":"unpackXlsxFileNode.js"}
1
+ {"version":3,"file":"unpackXlsxFileNode.js","names":["unpackXlsxFile","input","entries","stream","Stream","fs","createReadStream","Promise","resolve","reject","entryPromises","on","pipe","unzip","Parse","all","then","entry","contents","push","data","toString","path"],"sources":["../../source/read/unpackXlsxFileNode.js"],"sourcesContent":["import fs from 'fs'\r\nimport Stream from 'stream'\r\nimport unzip from 'unzipper'\r\n\r\n/**\r\n * Reads XLSX file in Node.js.\r\n * @param {(string|Stream)} input - A Node.js readable stream or a path to a file.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n // XLSX file is a zip archive.\r\n // The `entries` object stores the files\r\n // and their contents from this XLSX zip archive.\r\n const entries = {}\r\n\r\n const stream = input instanceof Stream ? input : fs.createReadStream(input)\r\n\r\n return new Promise((resolve, reject) => {\r\n const entryPromises = []\r\n\r\n stream\r\n // This first \"error\" listener is for the original stream errors.\r\n .on('error', reject)\r\n .pipe(unzip.Parse())\r\n // This second \"error\" listener is for the unzip stream errors.\r\n .on('error', reject)\r\n .on('close', () => Promise.all(entryPromises).then(() => resolve(entries)))\r\n .on('entry', (entry) => {\r\n let contents = ''\r\n // To ignore an entry: `entry.autodrain()`.\r\n entryPromises.push(new Promise((resolve) => {\r\n entry\r\n .on('data', data => contents += data.toString())\r\n .on('end', () => resolve(entries[entry.path] = contents))\r\n }))\r\n })\r\n })\r\n}\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,KAAxB,EAA+B;EAC5C;EACA;EACA;EACA,IAAMC,OAAO,GAAG,EAAhB;EAEA,IAAMC,MAAM,GAAGF,KAAK,YAAYG,kBAAjB,GAA0BH,KAA1B,GAAkCI,cAAA,CAAGC,gBAAH,CAAoBL,KAApB,CAAjD;EAEA,OAAO,IAAIM,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IACtC,IAAMC,aAAa,GAAG,EAAtB;IAEAP,MAAM,CACJ;IADI,CAEHQ,EAFH,CAEM,OAFN,EAEeF,MAFf,EAGGG,IAHH,CAGQC,oBAAA,CAAMC,KAAN,EAHR,EAIE;IAJF,CAKGH,EALH,CAKM,OALN,EAKeF,MALf,EAMGE,EANH,CAMM,OANN,EAMe;MAAA,OAAOJ,OAAO,CAACQ,GAAR,CAAYL,aAAZ,EAA2BM,IAA3B,CAAgC;QAAA,OAAMR,OAAO,CAACN,OAAD,CAAb;MAAA,CAAhC,CAAP;IAAA,CANf,EAOGS,EAPH,CAOM,OAPN,EAOe,UAACM,KAAD,EAAW;MACtB,IAAIC,QAAQ,GAAG,EAAf,CADsB,CAEtB;;MACAR,aAAa,CAACS,IAAd,CAAmB,IAAIZ,OAAJ,CAAY,UAACC,OAAD,EAAa;QAC1CS,KAAK,CACFN,EADH,CACM,MADN,EACc,UAAAS,IAAI;UAAA,OAAIF,QAAQ,IAAIE,IAAI,CAACC,QAAL,EAAhB;QAAA,CADlB,EAEGV,EAFH,CAEM,KAFN,EAEa;UAAA,OAAMH,OAAO,CAACN,OAAO,CAACe,KAAK,CAACK,IAAP,CAAP,GAAsBJ,QAAvB,CAAb;QAAA,CAFb;MAGD,CAJkB,CAAnB;IAKD,CAfH;EAgBD,CAnBM,CAAP;AAoBD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Email.js"],"names":["Email","regexp","isEmail","value","test"],"mappings":";;;;;;;;AAAe,SAASA,KAAT,GAAiB,CAAE;;AAElC,IAAMC,MAAM,GAAG,0CAAf;;AAEO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AAC9B,SAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA","sourcesContent":["export default function Email() {}\r\n\r\nconst regexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i\r\n\r\nexport function isEmail(value) {\r\n\treturn regexp.test(value)\r\n}"],"file":"Email.js"}
1
+ {"version":3,"file":"Email.js","names":["Email","regexp","isEmail","value","test"],"sources":["../../source/types/Email.js"],"sourcesContent":["export default function Email() {}\r\n\r\nconst regexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i\r\n\r\nexport function isEmail(value) {\r\n\treturn regexp.test(value)\r\n}"],"mappings":";;;;;;;;AAAe,SAASA,KAAT,GAAiB,CAAE;;AAElC,IAAMC,MAAM,GAAG,0CAAf;;AAEO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;EAC9B,OAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Email.test.js"],"names":["describe","it","should","equal"],"mappings":";;AAAA;;AAEAA,QAAQ,CAAC,OAAD,EAAU,YAAM;AACvBC,EAAAA,EAAE,CAAC,0BAAD,EAA6B,YAAM;AACpC,wBAAQ,KAAR,EAAeC,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;AACA,wBAAQ,2BAAR,EAAqCD,MAArC,CAA4CC,KAA5C,CAAkD,IAAlD;AACA,GAHC,CAAF;AAIA,CALO,CAAR","sourcesContent":["import { isEmail } from './Email'\r\n\r\ndescribe('Email', () => {\r\n\tit('should validate an Email', () => {\r\n\t\tisEmail('123').should.equal(false)\r\n\t\tisEmail('vladimir.putin@kremlin.ru').should.equal(true)\r\n\t})\r\n})"],"file":"Email.test.js"}
1
+ {"version":3,"file":"Email.test.js","names":["describe","it","isEmail","should","equal"],"sources":["../../source/types/Email.test.js"],"sourcesContent":["import { isEmail } from './Email.js'\r\n\r\ndescribe('Email', () => {\r\n\tit('should validate an Email', () => {\r\n\t\tisEmail('123').should.equal(false)\r\n\t\tisEmail('vladimir.putin@kremlin.ru').should.equal(true)\r\n\t})\r\n})"],"mappings":";;AAAA;;AAEAA,QAAQ,CAAC,OAAD,EAAU,YAAM;EACvBC,EAAE,CAAC,0BAAD,EAA6B,YAAM;IACpC,IAAAC,cAAA,EAAQ,KAAR,EAAeC,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;IACA,IAAAF,cAAA,EAAQ,2BAAR,EAAqCC,MAArC,CAA4CC,KAA5C,CAAkD,IAAlD;EACA,CAHC,CAAF;AAIA,CALO,CAAR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Integer.js"],"names":["Integer","isInteger","x"],"mappings":";;;;;;;;AAAe,SAASA,OAAT,GAAmB,CAAE;;AAE7B,SAASC,SAAT,CAAmBC,CAAnB,EAAsB;AAC5B;AACA,SAAO,CAACA,CAAC,GAAG,CAAL,MAAYA,CAAnB;AACA","sourcesContent":["export default function Integer() {}\r\n\r\nexport function isInteger(x) {\r\n\t// https://stackoverflow.com/questions/14636536/how-to-check-if-a-variable-is-an-integer-in-javascript\r\n\treturn (x | 0) === x\r\n}"],"file":"Integer.js"}
1
+ {"version":3,"file":"Integer.js","names":["Integer","isInteger","x"],"sources":["../../source/types/Integer.js"],"sourcesContent":["export default function Integer() {}\r\n\r\nexport function isInteger(x) {\r\n\t// https://stackoverflow.com/questions/14636536/how-to-check-if-a-variable-is-an-integer-in-javascript\r\n\treturn (x | 0) === x\r\n}"],"mappings":";;;;;;;;AAAe,SAASA,OAAT,GAAmB,CAAE;;AAE7B,SAASC,SAAT,CAAmBC,CAAnB,EAAsB;EAC5B;EACA,OAAO,CAACA,CAAC,GAAG,CAAL,MAAYA,CAAnB;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Integer.test.js"],"names":["describe","it","should","equal"],"mappings":";;AAAA;;AAEAA,QAAQ,CAAC,SAAD,EAAY,YAAM;AACzBC,EAAAA,EAAE,CAAC,4BAAD,EAA+B,YAAM;AACtC;AACA;AACA,4BAAU,GAAV,EAAeC,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;AACA,4BAAU,CAAV,EAAaD,MAAb,CAAoBC,KAApB,CAA0B,IAA1B;AACA,GALC,CAAF;AAMA,CAPO,CAAR","sourcesContent":["import { isInteger } from './Integer'\r\n\r\ndescribe('Integer', () => {\r\n\tit('should validate an Integer', () => {\r\n\t\t// isInteger('1.2').should.equal(false)\r\n\t\t// isInteger('1').should.equal(true)\r\n\t\tisInteger(1.2).should.equal(false)\r\n\t\tisInteger(1).should.equal(true)\r\n\t})\r\n})"],"file":"Integer.test.js"}
1
+ {"version":3,"file":"Integer.test.js","names":["describe","it","isInteger","should","equal"],"sources":["../../source/types/Integer.test.js"],"sourcesContent":["import { isInteger } from './Integer.js'\r\n\r\ndescribe('Integer', () => {\r\n\tit('should validate an Integer', () => {\r\n\t\t// isInteger('1.2').should.equal(false)\r\n\t\t// isInteger('1').should.equal(true)\r\n\t\tisInteger(1.2).should.equal(false)\r\n\t\tisInteger(1).should.equal(true)\r\n\t})\r\n})"],"mappings":";;AAAA;;AAEAA,QAAQ,CAAC,SAAD,EAAY,YAAM;EACzBC,EAAE,CAAC,4BAAD,EAA+B,YAAM;IACtC;IACA;IACA,IAAAC,kBAAA,EAAU,GAAV,EAAeC,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;IACA,IAAAF,kBAAA,EAAU,CAAV,EAAaC,MAAb,CAAoBC,KAApB,CAA0B,IAA1B;EACA,CALC,CAAF;AAMA,CAPO,CAAR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/URL.js"],"names":["URL","regexp","isURL","value","test"],"mappings":";;;;;;;;AAAe,SAASA,GAAT,GAAe,CAAE,C,CAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAMC,MAAM,GAAG,+RAAf,C,CAEA;;AACO,SAASC,KAAT,CAAeC,KAAf,EAAsB;AAC5B,SAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA","sourcesContent":["export default function URL() {}\r\n\r\n// URL regexp explanation:\r\n//\r\n// /^\r\n//\r\n// \t(?:\r\n// \t // Matches optional \"http(s):\" or \"ftp:\":\r\n// \t\t(?:\r\n// \t\t\t(?:https?|ftp):\r\n// \t\t)?\r\n//\r\n// \t // Matches \"//\" (required):\r\n// \t\t\\/\\/\r\n// \t)\r\n//\r\n// \t// Matches a valid non-local IP address:\r\n// \t(?:\r\n// \t\t(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])\r\n// \t\t){2}\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4])\r\n// \t\t)\r\n//\r\n// \t // Or,\r\n// \t\t|\r\n//\r\n// \t // Matches an alpha-numeric domain name.\r\n// \t\t(?:\r\n// \t\t\t(?:\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff_-]{0,62}\r\n// \t\t\t)?\r\n// \t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\\.\r\n// \t\t)*\r\n// \t\t(?:\r\n// \t // Domain zone: \"com\", \"net\", etc (required):\r\n// \t\t\t[a-z\\u00a1-\\uffff]{2,}\r\n// \t\t)\r\n// \t)\r\n//\r\n// \t// Matches a colon and a port number:\r\n// \t(?::\\d{2,5})?\r\n//\r\n// \t// Matches everything after the \"origin\":\r\n// \t// * pathname\r\n// \t// * query\r\n// \t// * hash\r\n// \t(?:[/?#]\\S*)?\r\n//\r\n// $/i\r\n\r\nconst regexp = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)*(?:[a-z\\u00a1-\\uffff]{2,}))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i\r\n\r\n// https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url\r\nexport function isURL(value) {\r\n\treturn regexp.test(value)\r\n}"],"file":"URL.js"}
1
+ {"version":3,"file":"URL.js","names":["URL","regexp","isURL","value","test"],"sources":["../../source/types/URL.js"],"sourcesContent":["export default function URL() {}\r\n\r\n// URL regexp explanation:\r\n//\r\n// /^\r\n//\r\n// \t(?:\r\n// \t // Matches optional \"http(s):\" or \"ftp:\":\r\n// \t\t(?:\r\n// \t\t\t(?:https?|ftp):\r\n// \t\t)?\r\n//\r\n// \t // Matches \"//\" (required):\r\n// \t\t\\/\\/\r\n// \t)\r\n//\r\n// \t// Matches a valid non-local IP address:\r\n// \t(?:\r\n// \t\t(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])\r\n// \t\t){2}\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4])\r\n// \t\t)\r\n//\r\n// \t // Or,\r\n// \t\t|\r\n//\r\n// \t // Matches an alpha-numeric domain name.\r\n// \t\t(?:\r\n// \t\t\t(?:\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff_-]{0,62}\r\n// \t\t\t)?\r\n// \t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\\.\r\n// \t\t)*\r\n// \t\t(?:\r\n// \t // Domain zone: \"com\", \"net\", etc (required):\r\n// \t\t\t[a-z\\u00a1-\\uffff]{2,}\r\n// \t\t)\r\n// \t)\r\n//\r\n// \t// Matches a colon and a port number:\r\n// \t(?::\\d{2,5})?\r\n//\r\n// \t// Matches everything after the \"origin\":\r\n// \t// * pathname\r\n// \t// * query\r\n// \t// * hash\r\n// \t(?:[/?#]\\S*)?\r\n//\r\n// $/i\r\n\r\nconst regexp = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)*(?:[a-z\\u00a1-\\uffff]{2,}))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i\r\n\r\n// https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url\r\nexport function isURL(value) {\r\n\treturn regexp.test(value)\r\n}"],"mappings":";;;;;;;;AAAe,SAASA,GAAT,GAAe,CAAE,C,CAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAMC,MAAM,GAAG,+RAAf,C,CAEA;;AACO,SAASC,KAAT,CAAeC,KAAf,EAAsB;EAC5B,OAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/URL.test.js"],"names":["describe","it","should","equal"],"mappings":";;AAAA;;AAEAA,QAAQ,CAAC,KAAD,EAAQ,YAAM;AACrBC,EAAAA,EAAE,CAAC,uBAAD,EAA0B,YAAM;AACjC,oBAAM,KAAN,EAAaC,MAAb,CAAoBC,KAApB,CAA0B,KAA1B;AACA,oBAAM,2FAAN,EAAmGD,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH;AACA,GAHC,CAAF;AAIA,CALO,CAAR","sourcesContent":["import { isURL } from './URL'\r\n\r\ndescribe('URL', () => {\r\n\tit('should validate a URL', () => {\r\n\t\tisURL('123').should.equal(false)\r\n\t\tisURL('https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url').should.equal(true)\r\n\t})\r\n})"],"file":"URL.test.js"}
1
+ {"version":3,"file":"URL.test.js","names":["describe","it","isURL","should","equal"],"sources":["../../source/types/URL.test.js"],"sourcesContent":["import { isURL } from './URL.js'\r\n\r\ndescribe('URL', () => {\r\n\tit('should validate a URL', () => {\r\n\t\tisURL('123').should.equal(false)\r\n\t\tisURL('https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url').should.equal(true)\r\n\t})\r\n})"],"mappings":";;AAAA;;AAEAA,QAAQ,CAAC,KAAD,EAAQ,YAAM;EACrBC,EAAE,CAAC,uBAAD,EAA0B,YAAM;IACjC,IAAAC,UAAA,EAAM,KAAN,EAAaC,MAAb,CAAoBC,KAApB,CAA0B,KAA1B;IACA,IAAAF,UAAA,EAAM,2FAAN,EAAmGC,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH;EACA,CAHC,CAAF;AAIA,CALO,CAAR"}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.findChild = findChild;
7
7
  exports.findChildren = findChildren;
8
8
  exports.forEach = forEach;
9
- exports.map = map;
10
9
  exports.getTagName = getTagName;
10
+ exports.map = map;
11
11
 
12
12
  function findChild(node, tagName) {
13
13
  var i = 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/dom.js"],"names":["findChild","node","tagName","i","childNodes","length","childNode","nodeType","getTagName","findChildren","results","push","forEach","func","map","NAMESPACE_REG_EXP","element","replace"],"mappings":";;;;;;;;;;;AAAO,SAASA,SAAT,CAAmBC,IAAnB,EAAyBC,OAAzB,EAAkC;AACxC,MAAIC,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;AAClC,QAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;AACA;;AACA,QAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;AAClE,aAAOI,SAAP;AACA;;AACDH,IAAAA,CAAC;AACD;AACD;;AAEM,SAASM,YAAT,CAAsBR,IAAtB,EAA4BC,OAA5B,EAAqC;AAC3C,MAAMQ,OAAO,GAAG,EAAhB;AACA,MAAIP,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;AAClC,QAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;AACA;;AACA,QAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;AAClEQ,MAAAA,OAAO,CAACC,IAAR,CAAaL,SAAb;AACA;;AACDH,IAAAA,CAAC;AACD;;AACD,SAAOO,OAAP;AACA;;AAEM,SAASE,OAAT,CAAiBX,IAAjB,EAAuBC,OAAvB,EAAgCW,IAAhC,EAAsC;AAC5C;AACA;AACA;AACA;AACA,MAAIV,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;AAClC,QAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB;;AACA,QAAID,OAAJ,EAAa;AACZ;AACA;AACA,UAAII,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;AAClEW,QAAAA,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;AACA;AACD,KAND,MAMO;AACNU,MAAAA,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;AACA;;AACDA,IAAAA,CAAC;AACD;AACD;;AAEM,SAASW,GAAT,CAAab,IAAb,EAAmBC,OAAnB,EAA4BW,IAA5B,EAAkC;AACxC,MAAMH,OAAO,GAAG,EAAhB;AACAE,EAAAA,OAAO,CAACX,IAAD,EAAOC,OAAP,EAAgB,UAACD,IAAD,EAAOE,CAAP,EAAa;AACnCO,IAAAA,OAAO,CAACC,IAAR,CAAaE,IAAI,CAACZ,IAAD,EAAOE,CAAP,CAAjB;AACA,GAFM,CAAP;AAGA,SAAOO,OAAP;AACA;;AAED,IAAMK,iBAAiB,GAAG,MAA1B;;AACO,SAASP,UAAT,CAAoBQ,OAApB,EAA6B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAOA,OAAO,CAACd,OAAR,CAAgBe,OAAhB,CAAwBF,iBAAxB,EAA2C,EAA3C,CAAP;AACA","sourcesContent":["export function findChild(node, tagName) {\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\treturn childNode\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function findChildren(node, tagName) {\r\n\tconst results = []\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\tresults.push(childNode)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn results\r\n}\r\n\r\nexport function forEach(node, tagName, func) {\r\n\t// if (typeof tagName === 'function') {\r\n\t// \tfunc = tagName\r\n\t// \ttagName = undefined\r\n\t// }\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\tif (tagName) {\r\n\t\t\t// `nodeType: 1` means \"Element\".\r\n\t\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\t\tfunc(childNode, i)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfunc(childNode, i)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function map(node, tagName, func) {\r\n\tconst results = []\r\n\tforEach(node, tagName, (node, i) => {\r\n\t\tresults.push(func(node, i))\r\n\t})\r\n\treturn results\r\n}\r\n\r\nconst NAMESPACE_REG_EXP = /.+\\:/\r\nexport function getTagName(element) {\r\n\t// For some weird reason, if an element is declared as,\r\n\t// for example, `<x:sheets/>`, then its `.tagName` will be\r\n\t// \"x:sheets\" instead of just \"sheets\".\r\n\t// https://gitlab.com/catamphetamine/read-excel-file/-/issues/25\r\n\t// Its not clear how to tell it to ignore any namespaces\r\n\t// when getting `.tagName`, so just replacing anything\r\n\t// before a colon, if any.\r\n\treturn element.tagName.replace(NAMESPACE_REG_EXP, '')\r\n}"],"file":"dom.js"}
1
+ {"version":3,"file":"dom.js","names":["findChild","node","tagName","i","childNodes","length","childNode","nodeType","getTagName","findChildren","results","push","forEach","func","map","NAMESPACE_REG_EXP","element","replace"],"sources":["../../source/xml/dom.js"],"sourcesContent":["export function findChild(node, tagName) {\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\treturn childNode\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function findChildren(node, tagName) {\r\n\tconst results = []\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\tresults.push(childNode)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn results\r\n}\r\n\r\nexport function forEach(node, tagName, func) {\r\n\t// if (typeof tagName === 'function') {\r\n\t// \tfunc = tagName\r\n\t// \ttagName = undefined\r\n\t// }\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\tif (tagName) {\r\n\t\t\t// `nodeType: 1` means \"Element\".\r\n\t\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\t\tfunc(childNode, i)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfunc(childNode, i)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function map(node, tagName, func) {\r\n\tconst results = []\r\n\tforEach(node, tagName, (node, i) => {\r\n\t\tresults.push(func(node, i))\r\n\t})\r\n\treturn results\r\n}\r\n\r\nconst NAMESPACE_REG_EXP = /.+\\:/\r\nexport function getTagName(element) {\r\n\t// For some weird reason, if an element is declared as,\r\n\t// for example, `<x:sheets/>`, then its `.tagName` will be\r\n\t// \"x:sheets\" instead of just \"sheets\".\r\n\t// https://gitlab.com/catamphetamine/read-excel-file/-/issues/25\r\n\t// Its not clear how to tell it to ignore any namespaces\r\n\t// when getting `.tagName`, so just replacing anything\r\n\t// before a colon, if any.\r\n\treturn element.tagName.replace(NAMESPACE_REG_EXP, '')\r\n}"],"mappings":";;;;;;;;;;;AAAO,SAASA,SAAT,CAAmBC,IAAnB,EAAyBC,OAAzB,EAAkC;EACxC,IAAIC,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;IAClC,IAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;IACA;;IACA,IAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;MAClE,OAAOI,SAAP;IACA;;IACDH,CAAC;EACD;AACD;;AAEM,SAASM,YAAT,CAAsBR,IAAtB,EAA4BC,OAA5B,EAAqC;EAC3C,IAAMQ,OAAO,GAAG,EAAhB;EACA,IAAIP,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;IAClC,IAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;IACA;;IACA,IAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;MAClEQ,OAAO,CAACC,IAAR,CAAaL,SAAb;IACA;;IACDH,CAAC;EACD;;EACD,OAAOO,OAAP;AACA;;AAEM,SAASE,OAAT,CAAiBX,IAAjB,EAAuBC,OAAvB,EAAgCW,IAAhC,EAAsC;EAC5C;EACA;EACA;EACA;EACA,IAAIV,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;IAClC,IAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB;;IACA,IAAID,OAAJ,EAAa;MACZ;MACA;MACA,IAAII,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;QAClEW,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;MACA;IACD,CAND,MAMO;MACNU,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;IACA;;IACDA,CAAC;EACD;AACD;;AAEM,SAASW,GAAT,CAAab,IAAb,EAAmBC,OAAnB,EAA4BW,IAA5B,EAAkC;EACxC,IAAMH,OAAO,GAAG,EAAhB;EACAE,OAAO,CAACX,IAAD,EAAOC,OAAP,EAAgB,UAACD,IAAD,EAAOE,CAAP,EAAa;IACnCO,OAAO,CAACC,IAAR,CAAaE,IAAI,CAACZ,IAAD,EAAOE,CAAP,CAAjB;EACA,CAFM,CAAP;EAGA,OAAOO,OAAP;AACA;;AAED,IAAMK,iBAAiB,GAAG,MAA1B;;AACO,SAASP,UAAT,CAAoBQ,OAApB,EAA6B;EACnC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAOA,OAAO,CAACd,OAAR,CAAgBe,OAAhB,CAAwBF,iBAAxB,EAA2C,EAA3C,CAAP;AACA"}
@@ -3,18 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getCells = getCells;
7
- exports.getMergedCells = getMergedCells;
8
- exports.getCellValue = getCellValue;
9
- exports.getCellInlineStringValue = getCellInlineStringValue;
10
- exports.getDimensions = getDimensions;
11
6
  exports.getBaseStyles = getBaseStyles;
7
+ exports.getCellInlineStringValue = getCellInlineStringValue;
12
8
  exports.getCellStyles = getCellStyles;
9
+ exports.getCellValue = getCellValue;
10
+ exports.getCells = getCells;
11
+ exports.getDimensions = getDimensions;
12
+ exports.getMergedCells = getMergedCells;
13
13
  exports.getNumberFormats = getNumberFormats;
14
- exports.getSharedStrings = getSharedStrings;
15
- exports.getWorkbookProperties = getWorkbookProperties;
16
14
  exports.getRelationships = getRelationships;
15
+ exports.getSharedStrings = getSharedStrings;
17
16
  exports.getSheets = getSheets;
17
+ exports.getWorkbookProperties = getWorkbookProperties;
18
18
 
19
19
  var _xpathNode = _interopRequireDefault(require("./xpathNode"));
20
20
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xlsx-xpath.js"],"names":["namespaces","a","r","rr","getCells","document","getMergedCells","getCellValue","node","getCellInlineStringValue","textContent","getDimensions","dimensions","getBaseStyles","getCellStyles","getNumberFormats","getSharedStrings","map","string","_","join","getWorkbookProperties","getRelationships","getSheets"],"mappings":";;;;;;;;;;;;;;;;;;AAUA;;;;AAVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAMA,UAAU,GAAG;AACjBC,EAAAA,CAAC,EAAE,2DADc;AAEjB;AACAC,EAAAA,CAAC,EAAE,qEAHc;AAIjB;AACAC,EAAAA,EAAE,EAAE;AALa,CAAnB;;AAQO,SAASC,QAAT,CAAkBC,QAAlB,EAA4B;AACjC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,oCAAtB,EAA4DL,UAA5D,CAAP;AACD;;AAEM,SAASM,cAAT,CAAwBD,QAAxB,EAAkC;AACvC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,8CAAtB,EAAsEL,UAAtE,CAAP;AACD;;AAEM,SAASO,YAAT,CAAsBF,QAAtB,EAAgCG,IAAhC,EAAsC;AAC3C,SAAO,2BAAMH,QAAN,EAAgBG,IAAhB,EAAsB,OAAtB,EAA+BR,UAA/B,EAA2C,CAA3C,CAAP;AACD;;AAEM,SAASS,wBAAT,CAAkCJ,QAAlC,EAA4CG,IAA5C,EAAkD;AACvD,SAAO,2BAAMH,QAAN,EAAgBG,IAAhB,EAAsB,YAAtB,EAAoCR,UAApC,EAAgD,CAAhD,EAAmDU,WAA1D;AACD;;AAEM,SAASC,aAAT,CAAuBN,QAAvB,EAAiC;AACtC,MAAMO,UAAU,GAAG,2BAAMP,QAAN,EAAgB,IAAhB,EAAsB,+BAAtB,EAAuDL,UAAvD,EAAmE,CAAnE,CAAnB;;AACA,MAAIY,UAAJ,EAAgB;AACd,WAAOA,UAAU,CAACF,WAAlB;AACD;AACF;;AAEM,SAASG,aAAT,CAAuBR,QAAvB,EAAiC;AACtC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,mCAAtB,EAA2DL,UAA3D,CAAP;AACD;;AAEM,SAASc,aAAT,CAAuBT,QAAvB,EAAiC;AACtC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,8BAAtB,EAAsDL,UAAtD,CAAP;AACD;;AAEM,SAASe,gBAAT,CAA0BV,QAA1B,EAAoC;AACzC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,kCAAtB,EAA0DL,UAA1D,CAAP;AACD;;AAEM,SAASgB,gBAAT,CAA0BX,QAA1B,EAAoC;AAC1C;AACA;AACA;AAEC;AACA;AACD;AACC;AACA;AACA,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,aAAtB,EAAqCL,UAArC,EACJiB,GADI,CACA,UAAAC,MAAM;AAAA,WAAI,2BAAMb,QAAN,EAAgBa,MAAhB,EAAwB,8BAAxB,EAAwDlB,UAAxD,EACViB,GADU,CACN,UAAAE,CAAC;AAAA,aAAIA,CAAC,CAACT,WAAN;AAAA,KADK,EACcU,IADd,CACmB,EADnB,CAAJ;AAAA,GADN,CAAP;AAID;;AAEM,SAASC,qBAAT,CAA+BhB,QAA/B,EAAyC;AAC9C,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,0BAAtB,EAAkDL,UAAlD,EAA8D,CAA9D,CAAP;AACD;;AAEM,SAASsB,gBAAT,CAA0BjB,QAA1B,EAAoC;AACzC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,mCAAtB,EAA2DL,UAA3D,CAAP;AACD;;AAEM,SAASuB,SAAT,CAAmBlB,QAAnB,EAA6B;AAClC,SAAO,2BAAMA,QAAN,EAAgB,IAAhB,EAAsB,8BAAtB,EAAsDL,UAAtD,CAAP;AACD","sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nimport xpath from './xpathNode'\r\n\r\nconst namespaces = {\r\n a: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n // This one seems to be for `r:id` attributes on `<sheet>`s.\r\n r: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n // This one seems to be for `<Relationships/>` file.\r\n rr: 'http://schemas.openxmlformats.org/package/2006/relationships'\r\n}\r\n\r\nexport function getCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:sheetData/a:row/a:c', namespaces)\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:mergedCells/a:mergedCell/@ref', namespaces)\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return xpath(document, node, './a:v', namespaces)[0]\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n return xpath(document, node, './a:is/a:t', namespaces)[0].textContent\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const dimensions = xpath(document, null, '/a:worksheet/a:dimension/@ref', namespaces)[0]\r\n if (dimensions) {\r\n return dimensions.textContent\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellStyleXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n return xpath(document, null, '/a:styleSheet/a:numFmts/a:numFmt', namespaces)\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n  // The \".//a:t[not(ancestor::a:rPh)]\" selector means:\r\n  // \"select all `<t/>` that are not children of `<rPh/>`\". \r\n\t// https://stackoverflow.com/questions/42773772/xpath-span-what-does-the-dot-mean\r\n  // `<rPh><t></t></rPh>` seems to be some \"phonetic data\" added for languages like Japanese that should be ignored.\r\n  // https://github.com/doy/spreadsheet-parsexlsx/issues/72\r\n  return xpath(document, null, '/a:sst/a:si', namespaces)\r\n    .map(string => xpath(document, string, './/a:t[not(ancestor::a:rPh)]', namespaces)\r\n        .map(_ => _.textContent).join('')\r\n    )\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n return xpath(document, null, '/a:workbook/a:workbookPr', namespaces)[0]\r\n}\r\n\r\nexport function getRelationships(document) {\r\n return xpath(document, null, '/rr:Relationships/rr:Relationship', namespaces)\r\n}\r\n\r\nexport function getSheets(document) {\r\n return xpath(document, null, '/a:workbook/a:sheets/a:sheet', namespaces)\r\n}"],"file":"xlsx-xpath.js"}
1
+ {"version":3,"file":"xlsx-xpath.js","names":["namespaces","a","r","rr","getCells","document","xpath","getMergedCells","getCellValue","node","getCellInlineStringValue","textContent","getDimensions","dimensions","getBaseStyles","getCellStyles","getNumberFormats","getSharedStrings","map","string","_","join","getWorkbookProperties","getRelationships","getSheets"],"sources":["../../source/xml/xlsx-xpath.js"],"sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nimport xpath from './xpathNode'\r\n\r\nconst namespaces = {\r\n a: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n // This one seems to be for `r:id` attributes on `<sheet>`s.\r\n r: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n // This one seems to be for `<Relationships/>` file.\r\n rr: 'http://schemas.openxmlformats.org/package/2006/relationships'\r\n}\r\n\r\nexport function getCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:sheetData/a:row/a:c', namespaces)\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:mergedCells/a:mergedCell/@ref', namespaces)\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return xpath(document, node, './a:v', namespaces)[0]\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n return xpath(document, node, './a:is/a:t', namespaces)[0].textContent\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const dimensions = xpath(document, null, '/a:worksheet/a:dimension/@ref', namespaces)[0]\r\n if (dimensions) {\r\n return dimensions.textContent\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellStyleXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n return xpath(document, null, '/a:styleSheet/a:numFmts/a:numFmt', namespaces)\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n  // The \".//a:t[not(ancestor::a:rPh)]\" selector means:\r\n  // \"select all `<t/>` that are not children of `<rPh/>`\". \r\n\t// https://stackoverflow.com/questions/42773772/xpath-span-what-does-the-dot-mean\r\n  // `<rPh><t></t></rPh>` seems to be some \"phonetic data\" added for languages like Japanese that should be ignored.\r\n  // https://github.com/doy/spreadsheet-parsexlsx/issues/72\r\n  return xpath(document, null, '/a:sst/a:si', namespaces)\r\n    .map(string => xpath(document, string, './/a:t[not(ancestor::a:rPh)]', namespaces)\r\n        .map(_ => _.textContent).join('')\r\n    )\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n return xpath(document, null, '/a:workbook/a:workbookPr', namespaces)[0]\r\n}\r\n\r\nexport function getRelationships(document) {\r\n return xpath(document, null, '/rr:Relationships/rr:Relationship', namespaces)\r\n}\r\n\r\nexport function getSheets(document) {\r\n return xpath(document, null, '/a:workbook/a:sheets/a:sheet', namespaces)\r\n}"],"mappings":"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"}
@@ -3,20 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getCells = getCells;
7
- exports.getMergedCells = getMergedCells;
8
- exports.getCellValue = getCellValue;
9
- exports.getCellInlineStringValue = getCellInlineStringValue;
10
- exports.getDimensions = getDimensions;
11
6
  exports.getBaseStyles = getBaseStyles;
7
+ exports.getCellInlineStringValue = getCellInlineStringValue;
12
8
  exports.getCellStyles = getCellStyles;
9
+ exports.getCellValue = getCellValue;
10
+ exports.getCells = getCells;
11
+ exports.getDimensions = getDimensions;
12
+ exports.getMergedCells = getMergedCells;
13
13
  exports.getNumberFormats = getNumberFormats;
14
- exports.getSharedStrings = getSharedStrings;
15
- exports.getWorkbookProperties = getWorkbookProperties;
16
14
  exports.getRelationships = getRelationships;
15
+ exports.getSharedStrings = getSharedStrings;
17
16
  exports.getSheets = getSheets;
17
+ exports.getWorkbookProperties = getWorkbookProperties;
18
18
 
19
- var _dom = require("./dom");
19
+ var _dom = require("./dom.js");
20
20
 
21
21
  function getCells(document) {
22
22
  var worksheet = document.documentElement;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xlsx.js"],"names":["getCells","document","worksheet","documentElement","sheetData","cells","row","cell","push","getMergedCells","mergedCells","mergedCellsInfo","mergedCell","getAttribute","getCellValue","node","getCellInlineStringValue","firstChild","textContent","getDimensions","dimensions","getBaseStyles","styleSheet","cellStyleXfs","getCellStyles","cellXfs","getNumberFormats","numberFormats","numFmts","getSharedStrings","sst","string","t","value","r","getWorkbookProperties","workbook","getRelationships","relationships","getSheets","sheets"],"mappings":"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","sourcesContent":["import { findChild, findChildren, forEach, map, getTagName } from './dom'\r\n\r\nexport function getCells(document) {\r\n const worksheet = document.documentElement\r\n const sheetData = findChild(worksheet, 'sheetData')\r\n const cells = []\r\n forEach(sheetData, 'row', (row) => {\r\n forEach(row, 'c', (cell) => {\r\n cells.push(cell)\r\n })\r\n })\r\n return cells\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n const worksheet = document.documentElement\r\n const mergedCells = findChild(worksheet, 'mergeCells')\r\n const mergedCellsInfo = []\r\n if (mergedCells) {\r\n forEach(mergedCells, 'mergeCell', (mergedCell) => {\r\n mergedCellsInfo.push(mergedCell.getAttribute('ref'))\r\n })\r\n }\r\n return mergedCellsInfo\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return findChild(node, 'v')\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n if (node.firstChild &&\r\n getTagName(node.firstChild) === 'is' &&\r\n node.firstChild.firstChild &&\r\n getTagName(node.firstChild.firstChild) === 't') {\r\n return node.firstChild.firstChild.textContent\r\n }\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const worksheet = document.documentElement\r\n const dimensions = findChild(worksheet, 'dimension')\r\n if (dimensions) {\r\n return dimensions.getAttribute('ref')\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellStyleXfs = findChild(styleSheet, 'cellStyleXfs')\r\n if (cellStyleXfs) {\r\n return findChildren(cellStyleXfs, 'xf')\r\n }\r\n return []\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellXfs = findChild(styleSheet, 'cellXfs')\r\n if (!cellXfs) {\r\n return []\r\n }\r\n return findChildren(cellXfs, 'xf')\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n const styleSheet = document.documentElement\r\n let numberFormats = []\r\n const numFmts = findChild(styleSheet, 'numFmts')\r\n if (numFmts) {\r\n return findChildren(numFmts, 'numFmt')\r\n }\r\n return []\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n const sst = document.documentElement\r\n return map(sst, 'si', string => {\r\n const t = findChild(string, 't')\r\n if (t) {\r\n return t.textContent\r\n }\r\n let value = ''\r\n forEach(string, 'r', (r) => {\r\n value += findChild(r, 't').textContent\r\n })\r\n return value\r\n })\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n const workbook = document.documentElement\r\n return findChild(workbook, 'workbookPr')\r\n}\r\n\r\nexport function getRelationships(document) {\r\n const relationships = document.documentElement\r\n return findChildren(relationships, 'Relationship')\r\n}\r\n\r\nexport function getSheets(document) {\r\n const workbook = document.documentElement\r\n const sheets = findChild(workbook, 'sheets')\r\n return findChildren(sheets, 'sheet')\r\n}"],"file":"xlsx.js"}
1
+ {"version":3,"file":"xlsx.js","names":["getCells","document","worksheet","documentElement","sheetData","findChild","cells","forEach","row","cell","push","getMergedCells","mergedCells","mergedCellsInfo","mergedCell","getAttribute","getCellValue","node","getCellInlineStringValue","firstChild","getTagName","textContent","getDimensions","dimensions","getBaseStyles","styleSheet","cellStyleXfs","findChildren","getCellStyles","cellXfs","getNumberFormats","numberFormats","numFmts","getSharedStrings","sst","map","string","t","value","r","getWorkbookProperties","workbook","getRelationships","relationships","getSheets","sheets"],"sources":["../../source/xml/xlsx.js"],"sourcesContent":["import { findChild, findChildren, forEach, map, getTagName } from './dom.js'\r\n\r\nexport function getCells(document) {\r\n const worksheet = document.documentElement\r\n const sheetData = findChild(worksheet, 'sheetData')\r\n const cells = []\r\n forEach(sheetData, 'row', (row) => {\r\n forEach(row, 'c', (cell) => {\r\n cells.push(cell)\r\n })\r\n })\r\n return cells\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n const worksheet = document.documentElement\r\n const mergedCells = findChild(worksheet, 'mergeCells')\r\n const mergedCellsInfo = []\r\n if (mergedCells) {\r\n forEach(mergedCells, 'mergeCell', (mergedCell) => {\r\n mergedCellsInfo.push(mergedCell.getAttribute('ref'))\r\n })\r\n }\r\n return mergedCellsInfo\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return findChild(node, 'v')\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n if (node.firstChild &&\r\n getTagName(node.firstChild) === 'is' &&\r\n node.firstChild.firstChild &&\r\n getTagName(node.firstChild.firstChild) === 't') {\r\n return node.firstChild.firstChild.textContent\r\n }\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const worksheet = document.documentElement\r\n const dimensions = findChild(worksheet, 'dimension')\r\n if (dimensions) {\r\n return dimensions.getAttribute('ref')\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellStyleXfs = findChild(styleSheet, 'cellStyleXfs')\r\n if (cellStyleXfs) {\r\n return findChildren(cellStyleXfs, 'xf')\r\n }\r\n return []\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellXfs = findChild(styleSheet, 'cellXfs')\r\n if (!cellXfs) {\r\n return []\r\n }\r\n return findChildren(cellXfs, 'xf')\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n const styleSheet = document.documentElement\r\n let numberFormats = []\r\n const numFmts = findChild(styleSheet, 'numFmts')\r\n if (numFmts) {\r\n return findChildren(numFmts, 'numFmt')\r\n }\r\n return []\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n const sst = document.documentElement\r\n return map(sst, 'si', string => {\r\n const t = findChild(string, 't')\r\n if (t) {\r\n return t.textContent\r\n }\r\n let value = ''\r\n forEach(string, 'r', (r) => {\r\n value += findChild(r, 't').textContent\r\n })\r\n return value\r\n })\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n const workbook = document.documentElement\r\n return findChild(workbook, 'workbookPr')\r\n}\r\n\r\nexport function getRelationships(document) {\r\n const relationships = document.documentElement\r\n return findChildren(relationships, 'Relationship')\r\n}\r\n\r\nexport function getSheets(document) {\r\n const workbook = document.documentElement\r\n const sheets = findChild(workbook, 'sheets')\r\n return findChildren(sheets, 'sheet')\r\n}"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xml.js"],"names":["createDocument","content","XMLDOM","DOMParser","parseFromString"],"mappings":";;;;;;;AAAA;;;;eAEe;AACdA,EAAAA,cADc,0BACCC,OADD,EACU;AACvB,WAAO,IAAIC,mBAAOC,SAAX,GAAuBC,eAAvB,CAAuCH,OAAvC,CAAP;AACA;AAHa,C","sourcesContent":["import XMLDOM from '@xmldom/xmldom'\r\n\r\nexport default {\r\n\tcreateDocument(content) {\r\n\t\treturn new XMLDOM.DOMParser().parseFromString(content)\r\n\t}\r\n}"],"file":"xml.js"}
1
+ {"version":3,"file":"xml.js","names":["createDocument","content","XMLDOM","DOMParser","parseFromString"],"sources":["../../source/xml/xml.js"],"sourcesContent":["import XMLDOM from '@xmldom/xmldom'\r\n\r\nexport default {\r\n\tcreateDocument(content) {\r\n\t\treturn new XMLDOM.DOMParser().parseFromString(content)\r\n\t}\r\n}"],"mappings":";;;;;;;AAAA;;;;eAEe;EACdA,cADc,0BACCC,OADD,EACU;IACvB,OAAO,IAAIC,kBAAA,CAAOC,SAAX,GAAuBC,eAAvB,CAAuCH,OAAvC,CAAP;EACA;AAHa,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xmlBrowser.js"],"names":["createDocument","content","DOMParser","parseFromString","trim"],"mappings":";;;;;;eAAe;AACdA,EAAAA,cADc,0BACCC,OADD,EACU;AACvB;AACA;AACA;AACA;AACA;AACA,WAAO,IAAIC,SAAJ,GAAgBC,eAAhB,CAAgCF,OAAO,CAACG,IAAR,EAAhC,EAAgD,UAAhD,CAAP;AACA;AARa,C","sourcesContent":["export default {\r\n\tcreateDocument(content) {\r\n\t\t// if (!content) {\r\n\t\t// \tthrow new Error('No *.xml content')\r\n\t\t// }\r\n\t\t// A weird bug: it won't parse XML unless it's trimmed.\r\n\t\t// https://github.com/catamphetamine/read-excel-file/issues/21\r\n\t\treturn new DOMParser().parseFromString(content.trim(), 'text/xml')\r\n\t}\r\n}"],"file":"xmlBrowser.js"}
1
+ {"version":3,"file":"xmlBrowser.js","names":["createDocument","content","DOMParser","parseFromString","trim"],"sources":["../../source/xml/xmlBrowser.js"],"sourcesContent":["export default {\r\n\tcreateDocument(content) {\r\n\t\t// if (!content) {\r\n\t\t// \tthrow new Error('No *.xml content')\r\n\t\t// }\r\n\t\t// A weird bug: it won't parse XML unless it's trimmed.\r\n\t\t// https://github.com/catamphetamine/read-excel-file/issues/21\r\n\t\treturn new DOMParser().parseFromString(content.trim(), 'text/xml')\r\n\t}\r\n}"],"mappings":";;;;;;eAAe;EACdA,cADc,0BACCC,OADD,EACU;IACvB;IACA;IACA;IACA;IACA;IACA,OAAO,IAAIC,SAAJ,GAAgBC,eAAhB,CAAgCF,OAAO,CAACG,IAAR,EAAhC,EAAgD,UAAhD,CAAP;EACA;AARa,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xpathBrowser.js"],"names":["xpath","document","node","path","namespaces","nodes","evaluate","prefix","XPathResult","ANY_TYPE","results","result","iterateNext","push"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,KAAT,CAAeC,QAAf,EAAyBC,IAAzB,EAA+BC,IAA/B,EAAsD;AAAA,MAAjBC,UAAiB,uEAAJ,EAAI;AACpE,MAAMC,KAAK,GAAGJ,QAAQ,CAACK,QAAT,CACbH,IADa,EAEbD,IAAI,IAAID,QAFK,EAGb,UAAAM,MAAM;AAAA,WAAIH,UAAU,CAACG,MAAD,CAAd;AAAA,GAHO,EAIbC,WAAW,CAACC,QAJC,EAKb,IALa,CAAd,CADoE,CAQpE;;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAIC,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAb;;AACA,SAAOD,MAAP,EAAe;AACdD,IAAAA,OAAO,CAACG,IAAR,CAAaF,MAAb;AACAA,IAAAA,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAT;AACA;;AACD,SAAOF,OAAP;AACA","sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nexport default function xpath(document, node, path, namespaces = {}) {\r\n\tconst nodes = document.evaluate(\r\n\t\tpath,\r\n\t\tnode || document,\r\n\t\tprefix => namespaces[prefix],\r\n\t\tXPathResult.ANY_TYPE,\r\n\t\tnull\r\n\t)\r\n\t// Convert iterator to an array.\r\n\tconst results = []\r\n\tlet result = nodes.iterateNext()\r\n\twhile (result) {\r\n\t\tresults.push(result)\r\n\t\tresult = nodes.iterateNext()\r\n\t}\r\n\treturn results\r\n}"],"file":"xpathBrowser.js"}
1
+ {"version":3,"file":"xpathBrowser.js","names":["xpath","document","node","path","namespaces","nodes","evaluate","prefix","XPathResult","ANY_TYPE","results","result","iterateNext","push"],"sources":["../../source/xml/xpathBrowser.js"],"sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nexport default function xpath(document, node, path, namespaces = {}) {\r\n\tconst nodes = document.evaluate(\r\n\t\tpath,\r\n\t\tnode || document,\r\n\t\tprefix => namespaces[prefix],\r\n\t\tXPathResult.ANY_TYPE,\r\n\t\tnull\r\n\t)\r\n\t// Convert iterator to an array.\r\n\tconst results = []\r\n\tlet result = nodes.iterateNext()\r\n\twhile (result) {\r\n\t\tresults.push(result)\r\n\t\tresult = nodes.iterateNext()\r\n\t}\r\n\treturn results\r\n}"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,KAAT,CAAeC,QAAf,EAAyBC,IAAzB,EAA+BC,IAA/B,EAAsD;EAAA,IAAjBC,UAAiB,uEAAJ,EAAI;EACpE,IAAMC,KAAK,GAAGJ,QAAQ,CAACK,QAAT,CACbH,IADa,EAEbD,IAAI,IAAID,QAFK,EAGb,UAAAM,MAAM;IAAA,OAAIH,UAAU,CAACG,MAAD,CAAd;EAAA,CAHO,EAIbC,WAAW,CAACC,QAJC,EAKb,IALa,CAAd,CADoE,CAQpE;;EACA,IAAMC,OAAO,GAAG,EAAhB;EACA,IAAIC,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAb;;EACA,OAAOD,MAAP,EAAe;IACdD,OAAO,CAACG,IAAR,CAAaF,MAAb;IACAA,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAT;EACA;;EACD,OAAOF,OAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xpathNode.js"],"names":["document","node","path","namespaces","select","xpath","useNamespaces"],"mappings":";;;;;;;AACA;;;;AADA;AAGe,kBAASA,QAAT,EAAmBC,IAAnB,EAAyBC,IAAzB,EAAgD;AAAA,MAAjBC,UAAiB,uEAAJ,EAAI;;AAC9D,MAAMC,MAAM,GAAGC,kBAAMC,aAAN,CAAoBH,UAApB,CAAf;;AACA,SAAOC,MAAM,CAACF,IAAD,EAAOD,IAAI,IAAID,QAAf,CAAb;AACA","sourcesContent":["// The `xpath` dependency is about as large as `jszip`.\r\nimport xpath from 'xpath'\r\n\r\nexport default function(document, node, path, namespaces = {}) {\r\n\tconst select = xpath.useNamespaces(namespaces)\r\n\treturn select(path, node || document)\r\n}"],"file":"xpathNode.js"}
1
+ {"version":3,"file":"xpathNode.js","names":["document","node","path","namespaces","select","xpath","useNamespaces"],"sources":["../../source/xml/xpathNode.js"],"sourcesContent":["// The `xpath` dependency is about as large as `jszip`.\r\nimport xpath from 'xpath'\r\n\r\nexport default function(document, node, path, namespaces = {}) {\r\n\tconst select = xpath.useNamespaces(namespaces)\r\n\treturn select(path, node || document)\r\n}"],"mappings":";;;;;;;AACA;;;;AADA;AAGe,kBAASA,QAAT,EAAmBC,IAAnB,EAAyBC,IAAzB,EAAgD;EAAA,IAAjBC,UAAiB,uEAAJ,EAAI;;EAC9D,IAAMC,MAAM,GAAGC,iBAAA,CAAMC,aAAN,CAAoBH,UAApB,CAAf;;EACA,OAAOC,MAAM,CAACF,IAAD,EAAOD,IAAI,IAAID,QAAf,CAAb;AACA"}
package/index.cjs ADDED
@@ -0,0 +1,7 @@
1
+ exports = module.exports = require('./commonjs/read/readXlsxFileBrowser.js').default
2
+ exports['default'] = require('./commonjs/read/readXlsxFileBrowser.js').default
3
+ exports.readSheetNames = require('./commonjs/read/readSheetNamesBrowser.js').default
4
+ exports.parseExcelDate = require('./commonjs/read/parseDate.js').default
5
+ exports.Integer = require('./commonjs/types/Integer.js').default
6
+ exports.Email = require('./commonjs/types/Email.js').default
7
+ exports.URL = require('./commonjs/types/URL.js').default
package/index.cjs.js ADDED
@@ -0,0 +1,12 @@
1
+ // This file is deprecated.
2
+ // It's the same as `index.cjs`, just with an added `*.js` extension.
3
+ // It fixes the issue when some software doesn't see files with `*.cjs` file extensions
4
+ // when used as the `main` property value in `package.json`.
5
+
6
+ exports = module.exports = require('./commonjs/read/readXlsxFileBrowser.js').default
7
+ exports['default'] = require('./commonjs/read/readXlsxFileBrowser.js').default
8
+ exports.readSheetNames = require('./commonjs/read/readSheetNamesBrowser.js').default
9
+ exports.parseExcelDate = require('./commonjs/read/parseDate.js').default
10
+ exports.Integer = require('./commonjs/types/Integer.js').default
11
+ exports.Email = require('./commonjs/types/Email.js').default
12
+ exports.URL = require('./commonjs/types/URL.js').default
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { default as default } from './modules/read/readXlsxFileBrowser'
2
- export { default as readSheetNames } from './modules/read/readSheetNamesBrowser'
3
- export { default as parseExcelDate } from './modules/read/parseDate'
4
- export { default as Integer } from './modules/types/Integer'
5
- export { default as Email } from './modules/types/Email'
6
- export { default as URL } from './modules/types/URL'
1
+ export { default as default } from './modules/read/readXlsxFileBrowser.js'
2
+ export { default as readSheetNames } from './modules/read/readSheetNamesBrowser.js'
3
+ export { default as parseExcelDate } from './modules/read/parseDate.js'
4
+ export { default as Integer } from './modules/types/Integer.js'
5
+ export { default as Email } from './modules/types/Email.js'
6
+ export { default as URL } from './modules/types/URL.js'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/read/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"],"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;AAEA,OAAO,SAASC,mBAAT,CAA8BC,KAA9B,EAAqC;AAC1C,MAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,CAAD,EAAIC,CAAJ;AAAA,WAAUD,CAAC,GAAGC,CAAd;AAAA,GAAnB;;AACA,MAAMC,OAAO,GAAGJ,KAAK,CAACK,GAAN,CAAU,UAAAC,IAAI;AAAA,WAAIA,IAAI,CAACC,GAAT;AAAA,GAAd,EAA4BC,IAA5B,CAAiCP,UAAjC,CAAhB;AACA,MAAMQ,OAAO,GAAGT,KAAK,CAACK,GAAN,CAAU,UAAAC,IAAI;AAAA,WAAIA,IAAI,CAACI,MAAT;AAAA,GAAd,EAA+BF,IAA/B,CAAoCP,UAApC,CAAhB;AACA,MAAMU,MAAM,GAAGP,OAAO,CAAC,CAAD,CAAtB;AACA,MAAMQ,MAAM,GAAGR,OAAO,CAACA,OAAO,CAACS,MAAR,GAAiB,CAAlB,CAAtB;AACA,MAAMC,MAAM,GAAGL,OAAO,CAAC,CAAD,CAAtB;AACA,MAAMM,MAAM,GAAGN,OAAO,CAACA,OAAO,CAACI,MAAR,GAAiB,CAAlB,CAAtB;AAEA,SAAO,CACL;AAAEN,IAAAA,GAAG,EAAEI,MAAP;AAAeD,IAAAA,MAAM,EAAEI;AAAvB,GADK,EAEL;AAAEP,IAAAA,GAAG,EAAEK,MAAP;AAAeF,IAAAA,MAAM,EAAEK;AAAvB,GAFK,CAAP;AAID,C,CAED;AACA;;AACA,SAASC,qBAAT,CAA+BC,aAA/B,EAA8C;AAC5C;AACA,MAAIC,CAAC,GAAG,CAAR;AACA,MAAIC,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,aAAa,CAACJ,MAAzB,EAAiC;AAC/BK,IAAAA,CAAC,IAAI,EAAL;AACAA,IAAAA,CAAC,IAAIpB,OAAO,CAACsB,OAAR,CAAgBH,aAAa,CAACE,CAAD,CAA7B,CAAL;AACAA,IAAAA,CAAC;AACF;;AACD,SAAOD,CAAP;AACD;;AAED,OAAO,SAASG,oBAAT,CAA8BC,MAA9B,EAAsC;AAC3C;AACAA,EAAAA,MAAM,GAAGA,MAAM,CAACC,KAAP,CAAa,OAAb,CAAT;AACA,SAAO,CACL;AACAC,EAAAA,QAAQ,CAACF,MAAM,CAAC,CAAD,CAAP,CAFH,EAGL;AACAN,EAAAA,qBAAqB,CAACM,MAAM,CAAC,CAAD,CAAN,CAAUG,IAAV,EAAD,CAJhB,CAAP;AAMD","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}"],"file":"coordinates.js"}
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;AAEA,OAAO,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;;AAED,OAAO,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 +1 @@
1
- {"version":3,"sources":["../../source/read/dropEmptyColumns.js"],"names":["dropEmptyColumns","data","accessor","_","onlyTrimAtTheEnd","i","length","empty","row","j","splice"],"mappings":";;;;;;AAAA,eAAe,SAASA,gBAAT,CAA0BC,IAA1B,EAGP;AAAA,iFAAJ,EAAI;AAAA,2BAFNC,QAEM;AAAA,MAFNA,QAEM,8BAFK,UAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA,GAEN;AAAA,MADNC,gBACM,QADNA,gBACM;;AACN,MAAIC,CAAC,GAAGJ,IAAI,CAAC,CAAD,CAAJ,CAAQK,MAAR,GAAiB,CAAzB;;AACA,SAAOD,CAAC,IAAI,CAAZ,EAAe;AACb,QAAIE,KAAK,GAAG,IAAZ;;AACA,yDAAkBN,IAAlB,wCAAwB;AAAA,UAAbO,GAAa;;AACtB,UAAIN,QAAQ,CAACM,GAAG,CAACH,CAAD,CAAJ,CAAR,KAAqB,IAAzB,EAA+B;AAC7BE,QAAAA,KAAK,GAAG,KAAR;AACA;AACD;AACF;;AACD,QAAIA,KAAJ,EAAW;AACT,UAAIE,CAAC,GAAG,CAAR;;AACA,aAAOA,CAAC,GAAGR,IAAI,CAACK,MAAhB,EAAwB;AACtBL,QAAAA,IAAI,CAACQ,CAAD,CAAJ,CAAQC,MAAR,CAAeL,CAAf,EAAkB,CAAlB;AACAI,QAAAA,CAAC;AACF;AACF,KAND,MAMO,IAAIL,gBAAJ,EAAsB;AAC3B;AACD;;AACDC,IAAAA,CAAC;AACF;;AACD,SAAOJ,IAAP;AACD","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}"],"file":"dropEmptyColumns.js"}
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":";;;;;;AAAA,eAAe,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 +1 @@
1
- {"version":3,"sources":["../../source/read/dropEmptyColumns.test.js"],"names":["dropEmptyColumns","describe","it","onlyTrimAtTheEnd","should","deep","equal"],"mappings":"AAAA,OAAOA,gBAAP,MAA6B,oBAA7B;AAEAC,QAAQ,CAAC,kBAAD,EAAqB,YAAM;AAClCC,EAAAA,EAAE,CAAC,6CAAD,EAAgD,YAAM;AACvDF,IAAAA,gBAAgB,CAAC,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,CAAD,EAKb;AACFG,MAAAA,gBAAgB,EAAE;AADhB,KALa,CAAhB,CAQCC,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;AAcA,GAfC,CAAF;AAiBAJ,EAAAA,EAAE,CAAC,2BAAD,EAA8B,YAAM;AACrCF,IAAAA,gBAAgB,CAAC,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,CAAD,CAAhB,CAMCI,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;AAYA,GAbC,CAAF;AAcA,CAhCO,CAAR","sourcesContent":["import dropEmptyColumns from './dropEmptyColumns'\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})"],"file":"dropEmptyColumns.test.js"}
1
+ {"version":3,"file":"dropEmptyColumns.test.js","names":["dropEmptyColumns","describe","it","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,OAAOA,gBAAP,MAA6B,uBAA7B;AAEAC,QAAQ,CAAC,kBAAD,EAAqB,YAAM;EAClCC,EAAE,CAAC,6CAAD,EAAgD,YAAM;IACvDF,gBAAgB,CAAC,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,CAAD,EAKb;MACFG,gBAAgB,EAAE;IADhB,CALa,CAAhB,CAQCC,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;EAiBAJ,EAAE,CAAC,2BAAD,EAA8B,YAAM;IACrCF,gBAAgB,CAAC,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,CAAD,CAAhB,CAMCI,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 +1 @@
1
- {"version":3,"sources":["../../source/read/dropEmptyRows.js"],"names":["dropEmptyRows","data","rowMap","accessor","_","onlyTrimAtTheEnd","i","length","empty","cell","splice"],"mappings":";;;;;;AAAA,eAAe,SAASA,aAAT,CAAuBC,IAAvB,EAIP;AAAA,iFAAJ,EAAI;AAAA,MAHNC,MAGM,QAHNA,MAGM;AAAA,2BAFNC,QAEM;AAAA,MAFNA,QAEM,8BAFK,UAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA,GAEN;AAAA,MADNC,gBACM,QADNA,gBACM;;AACN;AACA,MAAIC,CAAC,GAAGL,IAAI,CAACM,MAAL,GAAc,CAAtB;;AACA,SAAOD,CAAC,IAAI,CAAZ,EAAe;AACb;AACA,QAAIE,KAAK,GAAG,IAAZ;;AACA,yDAAmBP,IAAI,CAACK,CAAD,CAAvB,wCAA4B;AAAA,UAAjBG,IAAiB;;AAC1B,UAAIN,QAAQ,CAACM,IAAD,CAAR,KAAmB,IAAvB,EAA6B;AAC3BD,QAAAA,KAAK,GAAG,KAAR;AACA;AACD;AACF,KARY,CASb;;;AACA,QAAIA,KAAJ,EAAW;AACTP,MAAAA,IAAI,CAACS,MAAL,CAAYJ,CAAZ,EAAe,CAAf;;AACA,UAAIJ,MAAJ,EAAY;AACVA,QAAAA,MAAM,CAACQ,MAAP,CAAcJ,CAAd,EAAiB,CAAjB;AACD;AACF,KALD,MAKO,IAAID,gBAAJ,EAAsB;AAC3B;AACD;;AACDC,IAAAA,CAAC;AACF;;AACD,SAAOL,IAAP;AACD","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}"],"file":"dropEmptyRows.js"}
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":";;;;;;AAAA,eAAe,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 +1 @@
1
- {"version":3,"sources":["../../source/read/dropEmptyRows.test.js"],"names":["dropEmptyRows","describe","it","onlyTrimAtTheEnd","should","deep","equal","rowMap"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AAEAC,QAAQ,CAAC,eAAD,EAAkB,YAAM;AAC/BC,EAAAA,EAAE,CAAC,0CAAD,EAA6C,YAAM;AACpDF,IAAAA,aAAa,CAAC,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,EAOV;AACFG,MAAAA,gBAAgB,EAAE;AADhB,KAPU,CAAb,CAUCC,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;AAiBA,GAlBC,CAAF;AAoBAJ,EAAAA,EAAE,CAAC,wBAAD,EAA2B,YAAM;AAClCF,IAAAA,aAAa,CAAC,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,CAAb,CAQCI,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;AAaA,GAdC,CAAF;AAgBAJ,EAAAA,EAAE,CAAC,kDAAD,EAAqD,YAAM;AAC5D,QAAMK,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;AAEAP,IAAAA,aAAa,CAAC,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,EAOb;AAAEO,MAAAA,MAAM,EAANA;AAAF,KAPa,CAAb,CAQCH,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;AAcAC,IAAAA,MAAM,CAACH,MAAP,CAAcC,IAAd,CAAmBC,KAAnB,CAAyB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAzB;AACA,GAlBC,CAAF;AAmBA,CAxDO,CAAR","sourcesContent":["import dropEmptyRows from './dropEmptyRows'\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})"],"file":"dropEmptyRows.test.js"}
1
+ {"version":3,"file":"dropEmptyRows.test.js","names":["dropEmptyRows","describe","it","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,OAAOA,aAAP,MAA0B,oBAA1B;AAEAC,QAAQ,CAAC,eAAD,EAAkB,YAAM;EAC/BC,EAAE,CAAC,0CAAD,EAA6C,YAAM;IACpDF,aAAa,CAAC,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,EAOV;MACFG,gBAAgB,EAAE;IADhB,CAPU,CAAb,CAUCC,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;EAoBAJ,EAAE,CAAC,wBAAD,EAA2B,YAAM;IAClCF,aAAa,CAAC,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,CAAb,CAQCI,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;EAgBAJ,EAAE,CAAC,kDAAD,EAAqD,YAAM;IAC5D,IAAMK,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;IAEAP,aAAa,CAAC,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,EAOb;MAAEO,MAAM,EAANA;IAAF,CAPa,CAAb,CAQCH,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"}
@@ -8,12 +8,12 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
8
8
 
9
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; }
10
10
 
11
- function _iterableToArrayLimit(arr, i) { var _i = arr && (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; }
11
+ 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; }
12
12
 
13
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
14
 
15
- import dropEmptyRows from './dropEmptyRows';
16
- import dropEmptyColumns from './dropEmptyColumns';
15
+ import dropEmptyRows from './dropEmptyRows.js';
16
+ import dropEmptyColumns from './dropEmptyColumns.js';
17
17
  export default function getData(sheet, options) {
18
18
  var dimensions = sheet.dimensions,
19
19
  cells = sheet.cells; // If the sheet is empty.