read-excel-file 5.7.1 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +45 -19
  3. package/bundle/read-excel-file.min.js +1 -1
  4. package/bundle/read-excel-file.min.js.map +1 -1
  5. package/commonjs/read/coordinates.js +7 -10
  6. package/commonjs/read/coordinates.js.map +1 -1
  7. package/commonjs/read/dropEmptyColumns.js +6 -18
  8. package/commonjs/read/dropEmptyColumns.js.map +1 -1
  9. package/commonjs/read/dropEmptyColumns.test.js.map +1 -1
  10. package/commonjs/read/dropEmptyRows.js +11 -23
  11. package/commonjs/read/dropEmptyRows.js.map +1 -1
  12. package/commonjs/read/dropEmptyRows.test.js.map +1 -1
  13. package/commonjs/read/getData.js +31 -43
  14. package/commonjs/read/getData.js.map +1 -1
  15. package/commonjs/read/isDateTimestamp.js +51 -40
  16. package/commonjs/read/isDateTimestamp.js.map +1 -1
  17. package/commonjs/read/parseCell.js +3 -10
  18. package/commonjs/read/parseCell.js.map +1 -1
  19. package/commonjs/read/parseCellValue.js +28 -59
  20. package/commonjs/read/parseCellValue.js.map +1 -1
  21. package/commonjs/read/parseCells.js +3 -7
  22. package/commonjs/read/parseCells.js.map +1 -1
  23. package/commonjs/read/parseDate.js +5 -5
  24. package/commonjs/read/parseDate.js.map +1 -1
  25. package/commonjs/read/parseDate.test.js.map +1 -1
  26. package/commonjs/read/parseDimensions.js +6 -18
  27. package/commonjs/read/parseDimensions.js.map +1 -1
  28. package/commonjs/read/parseFilePaths.js +4 -11
  29. package/commonjs/read/parseFilePaths.js.map +1 -1
  30. package/commonjs/read/parseProperties.js +6 -8
  31. package/commonjs/read/parseProperties.js.map +1 -1
  32. package/commonjs/read/parseSharedStrings.js +0 -3
  33. package/commonjs/read/parseSharedStrings.js.map +1 -1
  34. package/commonjs/read/parseSheet.js +3 -7
  35. package/commonjs/read/parseSheet.js.map +1 -1
  36. package/commonjs/read/parseStyles.js +13 -21
  37. package/commonjs/read/parseStyles.js.map +1 -1
  38. package/commonjs/read/readSheetNamesBrowser.js +0 -3
  39. package/commonjs/read/readSheetNamesBrowser.js.map +1 -1
  40. package/commonjs/read/readSheetNamesNode.js +0 -3
  41. package/commonjs/read/readSheetNamesNode.js.map +1 -1
  42. package/commonjs/read/readSheetNamesNode.test.js.map +1 -1
  43. package/commonjs/read/readSheetNamesWebWorker.js +0 -3
  44. package/commonjs/read/readSheetNamesWebWorker.js.map +1 -1
  45. package/commonjs/read/readXlsx.js +34 -42
  46. package/commonjs/read/readXlsx.js.map +1 -1
  47. package/commonjs/read/readXlsxFileBrowser.js +0 -5
  48. package/commonjs/read/readXlsxFileBrowser.js.map +1 -1
  49. package/commonjs/read/readXlsxFileContents.js +12 -22
  50. package/commonjs/read/readXlsxFileContents.js.map +1 -1
  51. package/commonjs/read/readXlsxFileNode.js +0 -5
  52. package/commonjs/read/readXlsxFileNode.js.map +1 -1
  53. package/commonjs/read/readXlsxFileNode.test.js.map +1 -1
  54. package/commonjs/read/readXlsxFileWebWorker.js +0 -5
  55. package/commonjs/read/readXlsxFileWebWorker.js.map +1 -1
  56. package/commonjs/read/schema/convertMapToSchema.js +1 -8
  57. package/commonjs/read/schema/convertMapToSchema.js.map +1 -1
  58. package/commonjs/read/schema/convertMapToSchema.test.js.map +1 -1
  59. package/commonjs/read/schema/convertToJson.js +143 -142
  60. package/commonjs/read/schema/convertToJson.js.map +1 -1
  61. package/commonjs/read/schema/convertToJson.legacy.js +60 -0
  62. package/commonjs/read/schema/convertToJson.legacy.js.map +1 -0
  63. package/commonjs/read/schema/convertToJson.legacy.test.js.map +1 -0
  64. package/commonjs/read/schema/convertToJson.spreadsheet.js +25 -0
  65. package/commonjs/read/schema/convertToJson.spreadsheet.js.map +1 -0
  66. package/commonjs/read/schema/convertToJson.spreadsheet.test.js.map +1 -0
  67. package/commonjs/read/schema/convertToJson.test.js.map +1 -1
  68. package/commonjs/read/unpackXlsxFileBrowser.js +3 -9
  69. package/commonjs/read/unpackXlsxFileBrowser.js.map +1 -1
  70. package/commonjs/read/unpackXlsxFileNode.js +9 -15
  71. package/commonjs/read/unpackXlsxFileNode.js.map +1 -1
  72. package/commonjs/types/Boolean.js +0 -4
  73. package/commonjs/types/Boolean.js.map +1 -1
  74. package/commonjs/types/Date.js +0 -12
  75. package/commonjs/types/Date.js.map +1 -1
  76. package/commonjs/types/Email.js +0 -7
  77. package/commonjs/types/Email.js.map +1 -1
  78. package/commonjs/types/Email.test.js.map +1 -1
  79. package/commonjs/types/Integer.js +0 -7
  80. package/commonjs/types/Integer.js.map +1 -1
  81. package/commonjs/types/Integer.test.js.map +1 -1
  82. package/commonjs/types/InvalidError.js +8 -28
  83. package/commonjs/types/InvalidError.js.map +1 -1
  84. package/commonjs/types/Number.js +2 -10
  85. package/commonjs/types/Number.js.map +1 -1
  86. package/commonjs/types/String.js +4 -11
  87. package/commonjs/types/String.js.map +1 -1
  88. package/commonjs/types/URL.js +5 -8
  89. package/commonjs/types/URL.js.map +1 -1
  90. package/commonjs/types/URL.test.js.map +1 -1
  91. package/commonjs/xml/dom.js +6 -25
  92. package/commonjs/xml/dom.js.map +1 -1
  93. package/commonjs/xml/xlsx.js +1 -24
  94. package/commonjs/xml/xlsx.js.map +1 -1
  95. package/commonjs/xml/xml.js +1 -4
  96. package/commonjs/xml/xml.js.map +1 -1
  97. package/commonjs/xml/xmlBrowser.js +1 -2
  98. package/commonjs/xml/xmlBrowser.js.map +1 -1
  99. package/commonjs/xml/xpath/xlsx-xpath.js +3 -16
  100. package/commonjs/xml/xpath/xlsx-xpath.js.map +1 -1
  101. package/commonjs/xml/xpath/xpathBrowser.js +3 -5
  102. package/commonjs/xml/xpath/xpathBrowser.js.map +1 -1
  103. package/commonjs/xml/xpath/xpathNode.js +1 -5
  104. package/commonjs/xml/xpath/xpathNode.js.map +1 -1
  105. package/map/index.cjs +2 -0
  106. package/map/index.cjs.js +7 -0
  107. package/map/index.d.ts +11 -0
  108. package/map/index.js +1 -0
  109. package/map/package.json +17 -0
  110. package/modules/read/coordinates.js +7 -8
  111. package/modules/read/coordinates.js.map +1 -1
  112. package/modules/read/dropEmptyColumns.js +6 -17
  113. package/modules/read/dropEmptyColumns.js.map +1 -1
  114. package/modules/read/dropEmptyColumns.test.js.map +1 -1
  115. package/modules/read/dropEmptyRows.js +11 -22
  116. package/modules/read/dropEmptyRows.js.map +1 -1
  117. package/modules/read/dropEmptyRows.test.js.map +1 -1
  118. package/modules/read/getData.js +31 -39
  119. package/modules/read/getData.js.map +1 -1
  120. package/modules/read/isDateTimestamp.js +52 -39
  121. package/modules/read/isDateTimestamp.js.map +1 -1
  122. package/modules/read/parseCell.js +6 -6
  123. package/modules/read/parseCell.js.map +1 -1
  124. package/modules/read/parseCellValue.js +30 -55
  125. package/modules/read/parseCellValue.js.map +1 -1
  126. package/modules/read/parseCells.js +3 -3
  127. package/modules/read/parseCells.js.map +1 -1
  128. package/modules/read/parseDate.js +5 -4
  129. package/modules/read/parseDate.js.map +1 -1
  130. package/modules/read/parseDate.test.js.map +1 -1
  131. package/modules/read/parseDimensions.js +9 -17
  132. package/modules/read/parseDimensions.js.map +1 -1
  133. package/modules/read/parseFilePaths.js +5 -10
  134. package/modules/read/parseFilePaths.js.map +1 -1
  135. package/modules/read/parseProperties.js +8 -7
  136. package/modules/read/parseProperties.js.map +1 -1
  137. package/modules/read/parseSharedStrings.js +0 -1
  138. package/modules/read/parseSharedStrings.js.map +1 -1
  139. package/modules/read/parseSheet.js +3 -2
  140. package/modules/read/parseSheet.js.map +1 -1
  141. package/modules/read/parseStyles.js +16 -21
  142. package/modules/read/parseStyles.js.map +1 -1
  143. package/modules/read/readSheetNamesBrowser.js +1 -1
  144. package/modules/read/readSheetNamesBrowser.js.map +1 -1
  145. package/modules/read/readSheetNamesNode.js +1 -1
  146. package/modules/read/readSheetNamesNode.js.map +1 -1
  147. package/modules/read/readSheetNamesNode.test.js.map +1 -1
  148. package/modules/read/readSheetNamesWebWorker.js +1 -1
  149. package/modules/read/readSheetNamesWebWorker.js.map +1 -1
  150. package/modules/read/readXlsx.js +37 -35
  151. package/modules/read/readXlsx.js.map +1 -1
  152. package/modules/read/readXlsxFileBrowser.js +1 -1
  153. package/modules/read/readXlsxFileBrowser.js.map +1 -1
  154. package/modules/read/readXlsxFileContents.js +12 -17
  155. package/modules/read/readXlsxFileContents.js.map +1 -1
  156. package/modules/read/readXlsxFileNode.js +1 -1
  157. package/modules/read/readXlsxFileNode.js.map +1 -1
  158. package/modules/read/readXlsxFileNode.test.js.map +1 -1
  159. package/modules/read/readXlsxFileWebWorker.js +1 -1
  160. package/modules/read/readXlsxFileWebWorker.js.map +1 -1
  161. package/modules/read/schema/convertMapToSchema.js +1 -7
  162. package/modules/read/schema/convertMapToSchema.js.map +1 -1
  163. package/modules/read/schema/convertMapToSchema.test.js.map +1 -1
  164. package/modules/read/schema/convertToJson.js +143 -133
  165. package/modules/read/schema/convertToJson.js.map +1 -1
  166. package/modules/read/schema/convertToJson.legacy.js +53 -0
  167. package/modules/read/schema/convertToJson.legacy.js.map +1 -0
  168. package/modules/read/schema/convertToJson.legacy.test.js.map +1 -0
  169. package/modules/read/schema/convertToJson.spreadsheet.js +19 -0
  170. package/modules/read/schema/convertToJson.spreadsheet.js.map +1 -0
  171. package/modules/read/schema/convertToJson.spreadsheet.test.js.map +1 -0
  172. package/modules/read/schema/convertToJson.test.js.map +1 -1
  173. package/modules/read/unpackXlsxFileBrowser.js +4 -7
  174. package/modules/read/unpackXlsxFileBrowser.js.map +1 -1
  175. package/modules/read/unpackXlsxFileNode.js +9 -7
  176. package/modules/read/unpackXlsxFileNode.js.map +1 -1
  177. package/modules/types/Boolean.js +0 -1
  178. package/modules/types/Boolean.js.map +1 -1
  179. package/modules/types/Date.js +0 -8
  180. package/modules/types/Date.js.map +1 -1
  181. package/modules/types/Email.js +0 -2
  182. package/modules/types/Email.js.map +1 -1
  183. package/modules/types/Email.test.js.map +1 -1
  184. package/modules/types/Integer.js +0 -2
  185. package/modules/types/Integer.js.map +1 -1
  186. package/modules/types/Integer.test.js.map +1 -1
  187. package/modules/types/InvalidError.js +7 -25
  188. package/modules/types/InvalidError.js.map +1 -1
  189. package/modules/types/Number.js +2 -7
  190. package/modules/types/Number.js.map +1 -1
  191. package/modules/types/String.js +4 -8
  192. package/modules/types/String.js.map +1 -1
  193. package/modules/types/URL.js +5 -4
  194. package/modules/types/URL.js.map +1 -1
  195. package/modules/types/URL.test.js.map +1 -1
  196. package/modules/xml/dom.js +6 -18
  197. package/modules/xml/dom.js.map +1 -1
  198. package/modules/xml/xlsx.js +4 -13
  199. package/modules/xml/xlsx.js.map +1 -1
  200. package/modules/xml/xml.js.map +1 -1
  201. package/modules/xml/xmlBrowser.js.map +1 -1
  202. package/modules/xml/xpath/xlsx-xpath.js +2 -1
  203. package/modules/xml/xpath/xlsx-xpath.js.map +1 -1
  204. package/modules/xml/xpath/xpathBrowser.js +3 -4
  205. package/modules/xml/xpath/xpathBrowser.js.map +1 -1
  206. package/modules/xml/xpath/xpathNode.js +1 -0
  207. package/modules/xml/xpath/xpathNode.js.map +1 -1
  208. package/package.json +6 -1
  209. package/schema/index.cjs +2 -2
  210. package/schema/index.cjs.js +2 -2
  211. package/schema/index.d.ts +7 -2
  212. package/schema/index.js +1 -1
  213. package/types.d.ts +25 -2
@@ -1,6 +1,7 @@
1
1
  import xml from '../xml/xmlBrowser.js';
2
2
  import unpackXlsxFile from './unpackXlsxFileBrowser.js';
3
3
  import readXlsxFileContents from './readXlsxFileContents.js';
4
+
4
5
  /**
5
6
  * Reads XLSX file into a 2D array of cells in a browser.
6
7
  * @param {file} file - A file being uploaded in the browser.
@@ -8,7 +9,6 @@ import readXlsxFileContents from './readXlsxFileContents.js';
8
9
  * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.
9
10
  * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.
10
11
  */
11
-
12
12
  export default function readXlsxFile(file) {
13
13
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
14
14
  return unpackXlsxFile(file).then(function (entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileBrowser.js","names":["xml","unpackXlsxFile","readXlsxFileContents","readXlsxFile","file","options","then","entries"],"sources":["../../source/read/readXlsxFileBrowser.js"],"sourcesContent":["import xml from '../xml/xmlBrowser.js'\r\n\r\nimport unpackXlsxFile from './unpackXlsxFileBrowser.js'\r\nimport readXlsxFileContents from './readXlsxFileContents.js'\r\n\r\n/**\r\n * Reads XLSX file into a 2D array of cells in a browser.\r\n * @param {file} file - A file being uploaded in the browser.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\r\nexport default function readXlsxFile(file, options = {}) {\r\n\treturn unpackXlsxFile(file)\r\n\t\t.then((entries) => readXlsxFileContents(entries, xml, options))\r\n}"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,sBAAhB;AAEA,OAAOC,cAAP,MAA2B,4BAA3B;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,YAAT,CAAsBC,IAAtB,EAA0C;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACxD,OAAOJ,cAAc,CAACG,IAAD,CAAd,CACLE,IADK,CACA,UAACC,OAAD;IAAA,OAAaL,oBAAoB,CAACK,OAAD,EAAUP,GAAV,EAAeK,OAAf,CAAjC;EAAA,CADA,CAAP;AAEA"}
1
+ {"version":3,"file":"readXlsxFileBrowser.js","names":["xml","unpackXlsxFile","readXlsxFileContents","readXlsxFile","file","options","arguments","length","undefined","then","entries"],"sources":["../../source/read/readXlsxFileBrowser.js"],"sourcesContent":["import xml from '../xml/xmlBrowser.js'\r\n\r\nimport unpackXlsxFile from './unpackXlsxFileBrowser.js'\r\nimport readXlsxFileContents from './readXlsxFileContents.js'\r\n\r\n/**\r\n * Reads XLSX file into a 2D array of cells in a browser.\r\n * @param {file} file - A file being uploaded in the browser.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\r\nexport default function readXlsxFile(file, options = {}) {\r\n\treturn unpackXlsxFile(file)\r\n\t\t.then((entries) => readXlsxFileContents(entries, xml, options))\r\n}"],"mappings":"AAAA,OAAOA,GAAG,MAAM,sBAAsB;AAEtC,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,oBAAoB,MAAM,2BAA2B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,YAAYA,CAACC,IAAI,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtD,OAAOL,cAAc,CAACG,IAAI,CAAC,CACzBK,IAAI,CAAC,UAACC,OAAO;IAAA,OAAKR,oBAAoB,CAACQ,OAAO,EAAEV,GAAG,EAAEK,OAAO,CAAC;EAAA,EAAC;AACjE"}
@@ -1,37 +1,32 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
1
2
  var _excluded = ["schema", "map"];
2
-
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
-
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
-
11
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
-
13
10
  import readXlsx from './readXlsx.js';
14
- import convertToJson from './schema/convertToJson.js';
11
+ import convertToJsonLegacyBehavior from './schema/convertToJson.legacy.js';
12
+ import convertToJsonSpreadsheetBehavior from './schema/convertToJson.spreadsheet.js';
15
13
  import convertMapToSchema from './schema/convertMapToSchema.js';
16
14
  export default function readXlsxFileContents(entries, xml, _ref) {
17
15
  var schema = _ref.schema,
18
- map = _ref.map,
19
- options = _objectWithoutProperties(_ref, _excluded);
20
-
16
+ map = _ref.map,
17
+ options = _objectWithoutProperties(_ref, _excluded);
21
18
  if (!schema && map) {
22
19
  schema = convertMapToSchema(map);
23
20
  }
24
-
21
+ // `readXlsx()` adds `options.rowMap`, if not passed.
25
22
  var result = readXlsx(entries, xml, _objectSpread(_objectSpread({}, options), {}, {
26
23
  properties: schema || options.properties
27
24
  }));
28
-
29
25
  if (schema) {
30
- return convertToJson(result.data, schema, _objectSpread(_objectSpread({}, options), {}, {
26
+ return convertToJsonSpreadsheetBehavior(convertToJsonLegacyBehavior, result.data, schema, _objectSpread(_objectSpread({}, options), {}, {
31
27
  properties: result.properties
32
28
  }));
33
29
  }
34
-
35
30
  return result;
36
31
  }
37
32
  //# sourceMappingURL=readXlsxFileContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileContents.js","names":["readXlsx","convertToJson","convertMapToSchema","readXlsxFileContents","entries","xml","schema","map","options","result","properties","data"],"sources":["../../source/read/readXlsxFileContents.js"],"sourcesContent":["import readXlsx from './readXlsx.js'\r\n\r\nimport convertToJson from './schema/convertToJson.js'\r\nimport convertMapToSchema from './schema/convertMapToSchema.js'\r\n\r\nexport default function readXlsxFileContents(entries, xml, { schema, map, ...options}) {\r\n\tif (!schema && map) {\r\n\t\tschema = convertMapToSchema(map)\r\n\t}\r\n\tconst result = readXlsx(entries, xml, { ...options, properties: schema || options.properties })\r\n\tif (schema) {\r\n\t\treturn convertToJson(result.data, schema, { ...options, properties: result.properties })\r\n\t}\r\n\treturn result\r\n}"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,QAAP,MAAqB,eAArB;AAEA,OAAOC,aAAP,MAA0B,2BAA1B;AACA,OAAOC,kBAAP,MAA+B,gCAA/B;AAEA,eAAe,SAASC,oBAAT,CAA8BC,OAA9B,EAAuCC,GAAvC,QAAwE;EAAA,IAA1BC,MAA0B,QAA1BA,MAA0B;EAAA,IAAlBC,GAAkB,QAAlBA,GAAkB;EAAA,IAAVC,OAAU;;EACtF,IAAI,CAACF,MAAD,IAAWC,GAAf,EAAoB;IACnBD,MAAM,GAAGJ,kBAAkB,CAACK,GAAD,CAA3B;EACA;;EACD,IAAME,MAAM,GAAGT,QAAQ,CAACI,OAAD,EAAUC,GAAV,kCAAoBG,OAApB;IAA6BE,UAAU,EAAEJ,MAAM,IAAIE,OAAO,CAACE;EAA3D,GAAvB;;EACA,IAAIJ,MAAJ,EAAY;IACX,OAAOL,aAAa,CAACQ,MAAM,CAACE,IAAR,EAAcL,MAAd,kCAA2BE,OAA3B;MAAoCE,UAAU,EAAED,MAAM,CAACC;IAAvD,GAApB;EACA;;EACD,OAAOD,MAAP;AACA"}
1
+ {"version":3,"file":"readXlsxFileContents.js","names":["readXlsx","convertToJsonLegacyBehavior","convertToJsonSpreadsheetBehavior","convertMapToSchema","readXlsxFileContents","entries","xml","_ref","schema","map","options","_objectWithoutProperties","_excluded","result","_objectSpread","properties","data"],"sources":["../../source/read/readXlsxFileContents.js"],"sourcesContent":["import readXlsx from './readXlsx.js'\r\n\r\nimport convertToJsonLegacyBehavior from './schema/convertToJson.legacy.js'\r\nimport convertToJsonSpreadsheetBehavior from './schema/convertToJson.spreadsheet.js'\r\n\r\nimport convertMapToSchema from './schema/convertMapToSchema.js'\r\n\r\nexport default function readXlsxFileContents(entries, xml, { schema, map, ...options}) {\r\n\tif (!schema && map) {\r\n\t\tschema = convertMapToSchema(map)\r\n\t}\r\n\t// `readXlsx()` adds `options.rowMap`, if not passed.\r\n\tconst result = readXlsx(entries, xml, { ...options, properties: schema || options.properties })\r\n\tif (schema) {\r\n\t\treturn convertToJsonSpreadsheetBehavior(convertToJsonLegacyBehavior, result.data, schema, {\r\n\t\t\t...options,\r\n\t\t\tproperties: result.properties\r\n\t\t})\r\n\t}\r\n\treturn result\r\n}"],"mappings":";;;;;;;;;AAAA,OAAOA,QAAQ,MAAM,eAAe;AAEpC,OAAOC,2BAA2B,MAAM,kCAAkC;AAC1E,OAAOC,gCAAgC,MAAM,uCAAuC;AAEpF,OAAOC,kBAAkB,MAAM,gCAAgC;AAE/D,eAAe,SAASC,oBAAoBA,CAACC,OAAO,EAAEC,GAAG,EAAAC,IAAA,EAA8B;EAAA,IAA1BC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAKC,OAAO,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACnF,IAAI,CAACJ,MAAM,IAAIC,GAAG,EAAE;IACnBD,MAAM,GAAGL,kBAAkB,CAACM,GAAG,CAAC;EACjC;EACA;EACA,IAAMI,MAAM,GAAGb,QAAQ,CAACK,OAAO,EAAEC,GAAG,EAAAQ,aAAA,CAAAA,aAAA,KAAOJ,OAAO;IAAEK,UAAU,EAAEP,MAAM,IAAIE,OAAO,CAACK;EAAU,EAAE,CAAC;EAC/F,IAAIP,MAAM,EAAE;IACX,OAAON,gCAAgC,CAACD,2BAA2B,EAAEY,MAAM,CAACG,IAAI,EAAER,MAAM,EAAAM,aAAA,CAAAA,aAAA,KACpFJ,OAAO;MACVK,UAAU,EAAEF,MAAM,CAACE;IAAU,EAC7B,CAAC;EACH;EACA,OAAOF,MAAM;AACd"}
@@ -1,6 +1,7 @@
1
1
  import xml from '../xml/xml.js';
2
2
  import unpackXlsxFile from './unpackXlsxFileNode.js';
3
3
  import readXlsxFileContents from './readXlsxFileContents.js';
4
+
4
5
  /**
5
6
  * Reads XLSX file into a 2D array of cells in a browser.
6
7
  * @param {(string|Stream|Buffer)} input - A Node.js readable stream or a `Buffer` or a path to a file.
@@ -8,7 +9,6 @@ import readXlsxFileContents from './readXlsxFileContents.js';
8
9
  * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.
9
10
  * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.
10
11
  */
11
-
12
12
  export default function readXlsxFile(input) {
13
13
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
14
14
  return unpackXlsxFile(input).then(function (entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileNode.js","names":["xml","unpackXlsxFile","readXlsxFileContents","readXlsxFile","input","options","then","entries"],"sources":["../../source/read/readXlsxFileNode.js"],"sourcesContent":["import xml from '../xml/xml.js'\r\n\r\nimport unpackXlsxFile from './unpackXlsxFileNode.js'\r\nimport readXlsxFileContents from './readXlsxFileContents.js'\r\n\r\n/**\r\n * Reads XLSX file into a 2D array of cells in a browser.\r\n * @param {(string|Stream|Buffer)} input - A Node.js readable stream or a `Buffer` or a path to a file.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\r\nexport default function readXlsxFile(input, options = {}) {\r\n\treturn unpackXlsxFile(input)\r\n\t\t.then((entries) => readXlsxFileContents(entries, xml, options))\r\n}"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,eAAhB;AAEA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,YAAT,CAAsBC,KAAtB,EAA2C;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACzD,OAAOJ,cAAc,CAACG,KAAD,CAAd,CACLE,IADK,CACA,UAACC,OAAD;IAAA,OAAaL,oBAAoB,CAACK,OAAD,EAAUP,GAAV,EAAeK,OAAf,CAAjC;EAAA,CADA,CAAP;AAEA"}
1
+ {"version":3,"file":"readXlsxFileNode.js","names":["xml","unpackXlsxFile","readXlsxFileContents","readXlsxFile","input","options","arguments","length","undefined","then","entries"],"sources":["../../source/read/readXlsxFileNode.js"],"sourcesContent":["import xml from '../xml/xml.js'\r\n\r\nimport unpackXlsxFile from './unpackXlsxFileNode.js'\r\nimport readXlsxFileContents from './readXlsxFileContents.js'\r\n\r\n/**\r\n * Reads XLSX file into a 2D array of cells in a browser.\r\n * @param {(string|Stream|Buffer)} input - A Node.js readable stream or a `Buffer` or a path to a file.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\r\nexport default function readXlsxFile(input, options = {}) {\r\n\treturn unpackXlsxFile(input)\r\n\t\t.then((entries) => readXlsxFileContents(entries, xml, options))\r\n}"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAE/B,OAAOC,cAAc,MAAM,yBAAyB;AACpD,OAAOC,oBAAoB,MAAM,2BAA2B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,YAAYA,CAACC,KAAK,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACvD,OAAOL,cAAc,CAACG,KAAK,CAAC,CAC1BK,IAAI,CAAC,UAACC,OAAO;IAAA,OAAKR,oBAAoB,CAACQ,OAAO,EAAEV,GAAG,EAAEK,OAAO,CAAC;EAAA,EAAC;AACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileNode.test.js","names":["path","readXlsxFileNode","describe","it","schema","prop","type","Date","Number","required","Boolean","String","parse","value","rowMap","resolve","then","rows","date","getTime","should","deep","equal","convertToUTCTimezone","numberOfStudents","course","isFree","cost","title","contact","map","errors","getTimezoneOffset"],"sources":["../../source/read/readXlsxFileNode.test.js"],"sourcesContent":["import path from 'path'\r\n\r\nimport readXlsxFileNode from './readXlsxFileNode.js'\r\n\r\ndescribe('readXlsxFileNode', () => {\r\n\tit('should read *.xlsx file on Node.js and parse it to JSON', () => {\r\n\t\tconst schema = {\r\n\t\t\t'START DATE': {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date\r\n\t\t\t},\r\n\t\t\t'NUMBER OF STUDENTS': {\r\n\t\t\t\tprop: 'numberOfStudents',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\t'COURSE': {\r\n\t\t\t\tprop: 'course',\r\n\t\t\t\ttype: {\r\n\t\t\t\t\t'IS FREE': {\r\n\t\t\t\t\t\tprop: 'isFree',\r\n\t\t\t\t\t\ttype: Boolean\r\n\t\t\t\t\t\t// Excel stores booleans as numbers:\r\n\t\t\t\t\t\t// `1` is `true` and `0` is `false`.\r\n\t\t\t\t\t\t// Such numbers are parsed into booleans.\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'COST': {\r\n\t\t\t\t\t\tprop: 'cost',\r\n\t\t\t\t\t\ttype: Number\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'COURSE TITLE': {\r\n\t\t\t\t\t\tprop: 'title',\r\n\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': {\r\n\t\t\t\tprop: 'contact',\r\n\t\t\t\trequired: true,\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}\r\n\r\n\t\tconst rowMap = []\r\n\r\n\t\treturn readXlsxFileNode(path.resolve('./test/spreadsheets/course.xlsx'), { schema, rowMap }).then(({ rows }) => {\r\n\t\t\trows[0].date = rows[0].date.getTime()\r\n\t\t\trows.should.deep.equal([{\r\n\t\t\t\tdate: convertToUTCTimezone(new Date(2018, 2, 24)).getTime(),\r\n\t\t\t\tnumberOfStudents: 123,\r\n\t\t\t\tcourse: {\r\n\t\t\t\t\tisFree: false,\r\n\t\t\t\t\tcost: 210.45,\r\n\t\t\t\t\ttitle: 'Chemistry'\r\n\t\t\t\t},\r\n\t\t\t\tcontact: '+11234567890'\r\n\t\t\t}])\r\n\t\t\trowMap.should.deep.equal([0, 1])\r\n\t\t})\r\n\t})\r\n\r\n\tit('should read *.xlsx file on Node.js and map it to JSON', () => {\r\n\t\tconst map = {\r\n\t\t\t'START DATE': 'date',\r\n\t\t\t'NUMBER OF STUDENTS': 'numberOfStudents',\r\n\t\t\t'COURSE': {\r\n\t\t\t\t'course': {\r\n\t\t\t\t\t'IS FREE': 'isFree',\r\n\t\t\t\t\t'COST': 'cost',\r\n\t\t\t\t\t'COURSE TITLE': 'title'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': 'contact'\r\n\t\t}\r\n\r\n\t\tconst rowMap = []\r\n\r\n\t\treturn readXlsxFileNode(path.resolve('./test/spreadsheets/course.xlsx'), { map, rowMap }).then(({ rows, errors }) => {\r\n\t\t\terrors.should.deep.equal([])\r\n\t\t\trows[0].date = rows[0].date.getTime()\r\n\t\t\trows.should.deep.equal([{\r\n\t\t\t\tdate: convertToUTCTimezone(new Date(2018, 2, 24)).getTime(),\r\n\t\t\t\tnumberOfStudents: 123,\r\n\t\t\t\tcourse: {\r\n\t\t\t\t\tisFree: false,\r\n\t\t\t\t\tcost: 210.45,\r\n\t\t\t\t\ttitle: 'Chemistry'\r\n\t\t\t\t},\r\n\t\t\t\tcontact: '(123) 456-7890'\r\n\t\t\t}])\r\n\t\t\trowMap.should.deep.equal([0, 1])\r\n\t\t})\r\n\t})\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
+ {"version":3,"file":"readXlsxFileNode.test.js","names":["path","readXlsxFileNode","describe","it","schema","prop","type","Date","Number","required","Boolean","String","parse","value","rowMap","resolve","then","_ref","rows","date","getTime","should","deep","equal","convertToUTCTimezone","numberOfStudents","course","isFree","cost","title","contact","map","_ref2","errors","getTimezoneOffset"],"sources":["../../source/read/readXlsxFileNode.test.js"],"sourcesContent":["import path from 'path'\r\n\r\nimport readXlsxFileNode from './readXlsxFileNode.js'\r\n\r\ndescribe('readXlsxFileNode', () => {\r\n\tit('should read *.xlsx file on Node.js and parse it to JSON', () => {\r\n\t\tconst schema = {\r\n\t\t\t'START DATE': {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date\r\n\t\t\t},\r\n\t\t\t'NUMBER OF STUDENTS': {\r\n\t\t\t\tprop: 'numberOfStudents',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\t'COURSE': {\r\n\t\t\t\tprop: 'course',\r\n\t\t\t\ttype: {\r\n\t\t\t\t\t'IS FREE': {\r\n\t\t\t\t\t\tprop: 'isFree',\r\n\t\t\t\t\t\ttype: Boolean\r\n\t\t\t\t\t\t// Excel stores booleans as numbers:\r\n\t\t\t\t\t\t// `1` is `true` and `0` is `false`.\r\n\t\t\t\t\t\t// Such numbers are parsed into booleans.\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'COST': {\r\n\t\t\t\t\t\tprop: 'cost',\r\n\t\t\t\t\t\ttype: Number\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'COURSE TITLE': {\r\n\t\t\t\t\t\tprop: 'title',\r\n\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': {\r\n\t\t\t\tprop: 'contact',\r\n\t\t\t\trequired: true,\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}\r\n\r\n\t\tconst rowMap = []\r\n\r\n\t\treturn readXlsxFileNode(path.resolve('./test/spreadsheets/course.xlsx'), { schema, rowMap }).then(({ rows }) => {\r\n\t\t\trows[0].date = rows[0].date.getTime()\r\n\t\t\trows.should.deep.equal([{\r\n\t\t\t\tdate: convertToUTCTimezone(new Date(2018, 2, 24)).getTime(),\r\n\t\t\t\tnumberOfStudents: 123,\r\n\t\t\t\tcourse: {\r\n\t\t\t\t\tisFree: false,\r\n\t\t\t\t\tcost: 210.45,\r\n\t\t\t\t\ttitle: 'Chemistry'\r\n\t\t\t\t},\r\n\t\t\t\tcontact: '+11234567890'\r\n\t\t\t}])\r\n\t\t\trowMap.should.deep.equal([0, 1])\r\n\t\t})\r\n\t})\r\n\r\n\tit('should read *.xlsx file on Node.js and map it to JSON', () => {\r\n\t\tconst map = {\r\n\t\t\t'START DATE': 'date',\r\n\t\t\t'NUMBER OF STUDENTS': 'numberOfStudents',\r\n\t\t\t'COURSE': {\r\n\t\t\t\t'course': {\r\n\t\t\t\t\t'IS FREE': 'isFree',\r\n\t\t\t\t\t'COST': 'cost',\r\n\t\t\t\t\t'COURSE TITLE': 'title'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': 'contact'\r\n\t\t}\r\n\r\n\t\tconst rowMap = []\r\n\r\n\t\treturn readXlsxFileNode(path.resolve('./test/spreadsheets/course.xlsx'), { map, rowMap }).then(({ rows, errors }) => {\r\n\t\t\terrors.should.deep.equal([])\r\n\t\t\trows[0].date = rows[0].date.getTime()\r\n\t\t\trows.should.deep.equal([{\r\n\t\t\t\tdate: convertToUTCTimezone(new Date(2018, 2, 24)).getTime(),\r\n\t\t\t\tnumberOfStudents: 123,\r\n\t\t\t\tcourse: {\r\n\t\t\t\t\tisFree: false,\r\n\t\t\t\t\tcost: 210.45,\r\n\t\t\t\t\ttitle: 'Chemistry'\r\n\t\t\t\t},\r\n\t\t\t\tcontact: '(123) 456-7890'\r\n\t\t\t}])\r\n\t\t\trowMap.should.deep.equal([0, 1])\r\n\t\t})\r\n\t})\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,6 +1,7 @@
1
1
  import xml from '../xml/xml.js';
2
2
  import unpackXlsxFile from './unpackXlsxFileBrowser.js';
3
3
  import readXlsxFileContents from './readXlsxFileContents.js';
4
+
4
5
  /**
5
6
  * Reads XLSX file into a 2D array of cells in a web worker.
6
7
  * @param {file} file - The file.
@@ -8,7 +9,6 @@ import readXlsxFileContents from './readXlsxFileContents.js';
8
9
  * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.
9
10
  * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.
10
11
  */
11
-
12
12
  export default function readXlsxFile(file) {
13
13
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
14
14
  return unpackXlsxFile(file).then(function (entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileWebWorker.js","names":["xml","unpackXlsxFile","readXlsxFileContents","readXlsxFile","file","options","then","entries"],"sources":["../../source/read/readXlsxFileWebWorker.js"],"sourcesContent":["import xml from '../xml/xml.js'\r\n\r\nimport unpackXlsxFile from './unpackXlsxFileBrowser.js'\r\nimport readXlsxFileContents from './readXlsxFileContents.js'\r\n\r\n/**\r\n * Reads XLSX file into a 2D array of cells in a web worker.\r\n * @param {file} file - The file.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\r\nexport default function readXlsxFile(file, options = {}) {\r\n\treturn unpackXlsxFile(file)\r\n\t\t.then((entries) => readXlsxFileContents(entries, xml, options))\r\n}"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,eAAhB;AAEA,OAAOC,cAAP,MAA2B,4BAA3B;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,YAAT,CAAsBC,IAAtB,EAA0C;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACxD,OAAOJ,cAAc,CAACG,IAAD,CAAd,CACLE,IADK,CACA,UAACC,OAAD;IAAA,OAAaL,oBAAoB,CAACK,OAAD,EAAUP,GAAV,EAAeK,OAAf,CAAjC;EAAA,CADA,CAAP;AAEA"}
1
+ {"version":3,"file":"readXlsxFileWebWorker.js","names":["xml","unpackXlsxFile","readXlsxFileContents","readXlsxFile","file","options","arguments","length","undefined","then","entries"],"sources":["../../source/read/readXlsxFileWebWorker.js"],"sourcesContent":["import xml from '../xml/xml.js'\r\n\r\nimport unpackXlsxFile from './unpackXlsxFileBrowser.js'\r\nimport readXlsxFileContents from './readXlsxFileContents.js'\r\n\r\n/**\r\n * Reads XLSX file into a 2D array of cells in a web worker.\r\n * @param {file} file - The file.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\r\nexport default function readXlsxFile(file, options = {}) {\r\n\treturn unpackXlsxFile(file)\r\n\t\t.then((entries) => readXlsxFileContents(entries, xml, options))\r\n}"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAE/B,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,oBAAoB,MAAM,2BAA2B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,YAAYA,CAACC,IAAI,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtD,OAAOL,cAAc,CAACG,IAAI,CAAC,CACzBK,IAAI,CAAC,UAACC,OAAO;IAAA,OAAKR,oBAAoB,CAACQ,OAAO,EAAEV,GAAG,EAAEK,OAAO,CAAC;EAAA,EAAC;AACjE"}
@@ -1,27 +1,21 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
-
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
2
  export default function convertMapToSchema(map) {
4
3
  var schema = {};
5
-
6
4
  for (var _i = 0, _Object$keys = Object.keys(map); _i < _Object$keys.length; _i++) {
7
5
  var key = _Object$keys[_i];
8
6
  var prop = map[key];
9
7
  var type = void 0;
10
-
11
8
  if (_typeof(prop) === 'object') {
12
9
  prop = Object.keys(map[key])[0];
13
10
  type = convertMapToSchema(map[key][prop]);
14
11
  }
15
-
16
12
  schema[key] = {
17
13
  prop: prop
18
14
  };
19
-
20
15
  if (type) {
21
16
  schema[key].type = type;
22
17
  }
23
18
  }
24
-
25
19
  return schema;
26
20
  }
27
21
  //# sourceMappingURL=convertMapToSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMapToSchema.js","names":["convertMapToSchema","map","schema","Object","keys","key","prop","type"],"sources":["../../../source/read/schema/convertMapToSchema.js"],"sourcesContent":["export default function convertMapToSchema(map) {\r\n\tconst schema = {}\r\n\tfor (const key of Object.keys(map)) {\r\n\t\tlet prop = map[key]\r\n\t\tlet type\r\n\t\tif (typeof prop === 'object') {\r\n\t\t\tprop = Object.keys(map[key])[0]\r\n\t\t\ttype = convertMapToSchema(map[key][prop])\r\n\t\t}\r\n\t\tschema[key] = {\r\n\t\t\tprop\r\n\t\t}\r\n\t\tif (type) {\r\n\t\t\tschema[key].type = type\r\n\t\t}\r\n\t}\r\n\treturn schema\r\n}"],"mappings":";;AAAA,eAAe,SAASA,kBAAT,CAA4BC,GAA5B,EAAiC;EAC/C,IAAMC,MAAM,GAAG,EAAf;;EACA,gCAAkBC,MAAM,CAACC,IAAP,CAAYH,GAAZ,CAAlB,kCAAoC;IAA/B,IAAMI,GAAG,mBAAT;IACJ,IAAIC,IAAI,GAAGL,GAAG,CAACI,GAAD,CAAd;IACA,IAAIE,IAAI,SAAR;;IACA,IAAI,QAAOD,IAAP,MAAgB,QAApB,EAA8B;MAC7BA,IAAI,GAAGH,MAAM,CAACC,IAAP,CAAYH,GAAG,CAACI,GAAD,CAAf,EAAsB,CAAtB,CAAP;MACAE,IAAI,GAAGP,kBAAkB,CAACC,GAAG,CAACI,GAAD,CAAH,CAASC,IAAT,CAAD,CAAzB;IACA;;IACDJ,MAAM,CAACG,GAAD,CAAN,GAAc;MACbC,IAAI,EAAJA;IADa,CAAd;;IAGA,IAAIC,IAAJ,EAAU;MACTL,MAAM,CAACG,GAAD,CAAN,CAAYE,IAAZ,GAAmBA,IAAnB;IACA;EACD;;EACD,OAAOL,MAAP;AACA"}
1
+ {"version":3,"file":"convertMapToSchema.js","names":["convertMapToSchema","map","schema","_i","_Object$keys","Object","keys","length","key","prop","type","_typeof"],"sources":["../../../source/read/schema/convertMapToSchema.js"],"sourcesContent":["export default function convertMapToSchema(map) {\r\n\tconst schema = {}\r\n\tfor (const key of Object.keys(map)) {\r\n\t\tlet prop = map[key]\r\n\t\tlet type\r\n\t\tif (typeof prop === 'object') {\r\n\t\t\tprop = Object.keys(map[key])[0]\r\n\t\t\ttype = convertMapToSchema(map[key][prop])\r\n\t\t}\r\n\t\tschema[key] = {\r\n\t\t\tprop\r\n\t\t}\r\n\t\tif (type) {\r\n\t\t\tschema[key].type = type\r\n\t\t}\r\n\t}\r\n\treturn schema\r\n}"],"mappings":";AAAA,eAAe,SAASA,kBAAkBA,CAACC,GAAG,EAAE;EAC/C,IAAMC,MAAM,GAAG,CAAC,CAAC;EACjB,SAAAC,EAAA,MAAAC,YAAA,GAAkBC,MAAM,CAACC,IAAI,CAACL,GAAG,CAAC,EAAAE,EAAA,GAAAC,YAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;IAA/B,IAAMK,GAAG,GAAAJ,YAAA,CAAAD,EAAA;IACb,IAAIM,IAAI,GAAGR,GAAG,CAACO,GAAG,CAAC;IACnB,IAAIE,IAAI;IACR,IAAIC,OAAA,CAAOF,IAAI,MAAK,QAAQ,EAAE;MAC7BA,IAAI,GAAGJ,MAAM,CAACC,IAAI,CAACL,GAAG,CAACO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAC/BE,IAAI,GAAGV,kBAAkB,CAACC,GAAG,CAACO,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC;IAC1C;IACAP,MAAM,CAACM,GAAG,CAAC,GAAG;MACbC,IAAI,EAAJA;IACD,CAAC;IACD,IAAIC,IAAI,EAAE;MACTR,MAAM,CAACM,GAAG,CAAC,CAACE,IAAI,GAAGA,IAAI;IACxB;EACD;EACA,OAAOR,MAAM;AACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertMapToSchema.test.js","names":["convertMapToSchema","describe","it","map","should","deep","equal","prop","type"],"sources":["../../../source/read/schema/convertMapToSchema.test.js"],"sourcesContent":["import convertMapToSchema from './convertMapToSchema.js'\r\n\r\ndescribe('convertMapToSchema', () => {\r\n\tit('should convert map to schema', () => {\r\n\t\tconst map = {\r\n\t\t\t'START DATE': 'date',\r\n\t\t\t'NUMBER OF STUDENTS': 'numberOfStudents',\r\n\t\t\t'COURSE': {\r\n\t\t\t\t'course': {\r\n\t\t\t\t\t'IS FREE': 'isFree',\r\n\t\t\t\t\t'COURSE TITLE': 'title'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': 'contact',\r\n\t\t\t'STATUS': 'status'\r\n\t\t}\r\n\t\tconvertMapToSchema(map).should.deep.equal({\r\n\t\t\t'START DATE': {\r\n\t\t\t\tprop: 'date'\r\n\t\t\t},\r\n\t\t\t'NUMBER OF STUDENTS': {\r\n\t\t\t\tprop: 'numberOfStudents'\r\n\t\t\t},\r\n\t\t\t'COURSE': {\r\n\t\t\t\tprop: 'course',\r\n\t\t\t\ttype: {\r\n\t\t\t\t\t'IS FREE': {\r\n\t\t\t\t\t\tprop: 'isFree'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'COURSE TITLE': {\r\n\t\t\t\t\t\tprop: 'title'\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': {\r\n\t\t\t\tprop: 'contact'\r\n\t\t\t},\r\n\t\t\t'STATUS': {\r\n\t\t\t\tprop: 'status'\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n})"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,yBAA/B;AAEAC,QAAQ,CAAC,oBAAD,EAAuB,YAAM;EACpCC,EAAE,CAAC,8BAAD,EAAiC,YAAM;IACxC,IAAMC,GAAG,GAAG;MACX,cAAc,MADH;MAEX,sBAAsB,kBAFX;MAGX,UAAU;QACT,UAAU;UACT,WAAW,QADF;UAET,gBAAgB;QAFP;MADD,CAHC;MASX,WAAW,SATA;MAUX,UAAU;IAVC,CAAZ;IAYAH,kBAAkB,CAACG,GAAD,CAAlB,CAAwBC,MAAxB,CAA+BC,IAA/B,CAAoCC,KAApC,CAA0C;MACzC,cAAc;QACbC,IAAI,EAAE;MADO,CAD2B;MAIzC,sBAAsB;QACrBA,IAAI,EAAE;MADe,CAJmB;MAOzC,UAAU;QACTA,IAAI,EAAE,QADG;QAETC,IAAI,EAAE;UACL,WAAW;YACVD,IAAI,EAAE;UADI,CADN;UAIL,gBAAgB;YACfA,IAAI,EAAE;UADS;QAJX;MAFG,CAP+B;MAkBzC,WAAW;QACVA,IAAI,EAAE;MADI,CAlB8B;MAqBzC,UAAU;QACTA,IAAI,EAAE;MADG;IArB+B,CAA1C;EAyBA,CAtCC,CAAF;AAuCA,CAxCO,CAAR"}
1
+ {"version":3,"file":"convertMapToSchema.test.js","names":["convertMapToSchema","describe","it","map","should","deep","equal","prop","type"],"sources":["../../../source/read/schema/convertMapToSchema.test.js"],"sourcesContent":["import convertMapToSchema from './convertMapToSchema.js'\r\n\r\ndescribe('convertMapToSchema', () => {\r\n\tit('should convert map to schema', () => {\r\n\t\tconst map = {\r\n\t\t\t'START DATE': 'date',\r\n\t\t\t'NUMBER OF STUDENTS': 'numberOfStudents',\r\n\t\t\t'COURSE': {\r\n\t\t\t\t'course': {\r\n\t\t\t\t\t'IS FREE': 'isFree',\r\n\t\t\t\t\t'COURSE TITLE': 'title'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': 'contact',\r\n\t\t\t'STATUS': 'status'\r\n\t\t}\r\n\t\tconvertMapToSchema(map).should.deep.equal({\r\n\t\t\t'START DATE': {\r\n\t\t\t\tprop: 'date'\r\n\t\t\t},\r\n\t\t\t'NUMBER OF STUDENTS': {\r\n\t\t\t\tprop: 'numberOfStudents'\r\n\t\t\t},\r\n\t\t\t'COURSE': {\r\n\t\t\t\tprop: 'course',\r\n\t\t\t\ttype: {\r\n\t\t\t\t\t'IS FREE': {\r\n\t\t\t\t\t\tprop: 'isFree'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'COURSE TITLE': {\r\n\t\t\t\t\t\tprop: 'title'\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'CONTACT': {\r\n\t\t\t\tprop: 'contact'\r\n\t\t\t},\r\n\t\t\t'STATUS': {\r\n\t\t\t\tprop: 'status'\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n})"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,yBAAyB;AAExDC,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACpCC,EAAE,CAAC,8BAA8B,EAAE,YAAM;IACxC,IAAMC,GAAG,GAAG;MACX,YAAY,EAAE,MAAM;MACpB,oBAAoB,EAAE,kBAAkB;MACxC,QAAQ,EAAE;QACT,QAAQ,EAAE;UACT,SAAS,EAAE,QAAQ;UACnB,cAAc,EAAE;QACjB;MACD,CAAC;MACD,SAAS,EAAE,SAAS;MACpB,QAAQ,EAAE;IACX,CAAC;IACDH,kBAAkB,CAACG,GAAG,CAAC,CAACC,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC;MACzC,YAAY,EAAE;QACbC,IAAI,EAAE;MACP,CAAC;MACD,oBAAoB,EAAE;QACrBA,IAAI,EAAE;MACP,CAAC;MACD,QAAQ,EAAE;QACTA,IAAI,EAAE,QAAQ;QACdC,IAAI,EAAE;UACL,SAAS,EAAE;YACVD,IAAI,EAAE;UACP,CAAC;UACD,cAAc,EAAE;YACfA,IAAI,EAAE;UACP;QACD;MACD,CAAC;MACD,SAAS,EAAE;QACVA,IAAI,EAAE;MACP,CAAC;MACD,QAAQ,EAAE;QACTA,IAAI,EAAE;MACP;IACD,CAAC,CAAC;EACH,CAAC,CAAC;AACH,CAAC,CAAC"}