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
@@ -4,36 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = readXlsx;
7
-
8
7
  var _parseProperties = _interopRequireDefault(require("./parseProperties.js"));
9
-
10
8
  var _parseFilePaths = _interopRequireDefault(require("./parseFilePaths.js"));
11
-
12
9
  var _parseStyles = _interopRequireDefault(require("./parseStyles.js"));
13
-
14
10
  var _parseSharedStrings = _interopRequireDefault(require("./parseSharedStrings.js"));
15
-
16
11
  var _parseSheet = _interopRequireDefault(require("./parseSheet.js"));
17
-
18
12
  var _getData = _interopRequireDefault(require("./getData.js"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
-
14
+ 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); }
22
15
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
-
24
16
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
-
26
- 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; }
27
-
28
- 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; }
29
-
30
- 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; }
31
-
32
- 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; }
33
-
17
+ 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; }
18
+ 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; }
19
+ 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; }
20
+ 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; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
+ 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); }
34
23
  // For an introduction in reading `*.xlsx` files see "The minimum viable XLSX reader":
35
24
  // https://www.brendanlong.com/the-minimum-viable-xlsx-reader.html
36
-
37
25
  /**
38
26
  * Reads an (unzipped) XLSX file structure into a 2D array of cells.
39
27
  * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).
@@ -44,31 +32,31 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
44
32
  */
45
33
  function readXlsx(contents, xml) {
46
34
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
47
-
48
35
  if (!options.sheet) {
49
36
  options = _objectSpread({
50
37
  sheet: 1
51
38
  }, options);
52
39
  }
53
-
54
40
  var getXmlFileContent = function getXmlFileContent(filePath) {
55
41
  if (!contents[filePath]) {
56
42
  throw new Error("\"".concat(filePath, "\" file not found inside the *.xlsx file zip archive"));
57
43
  }
58
-
59
44
  return contents[filePath];
60
- }; // Some Excel editors don't want to use standard naming scheme for sheet files.
61
- // https://github.com/tidyverse/readxl/issues/104
45
+ };
62
46
 
47
+ // Some Excel editors don't want to use standard naming scheme for sheet files.
48
+ // https://github.com/tidyverse/readxl/issues/104
49
+ var filePaths = (0, _parseFilePaths["default"])(getXmlFileContent('xl/_rels/workbook.xml.rels'), xml);
63
50
 
64
- var filePaths = (0, _parseFilePaths["default"])(getXmlFileContent('xl/_rels/workbook.xml.rels'), xml); // Default file path for "shared strings": "xl/sharedStrings.xml".
65
-
66
- var values = filePaths.sharedStrings ? (0, _parseSharedStrings["default"])(getXmlFileContent(filePaths.sharedStrings), xml) : []; // Default file path for "styles": "xl/styles.xml".
51
+ // Default file path for "shared strings": "xl/sharedStrings.xml".
52
+ var values = filePaths.sharedStrings ? (0, _parseSharedStrings["default"])(getXmlFileContent(filePaths.sharedStrings), xml) : [];
67
53
 
54
+ // Default file path for "styles": "xl/styles.xml".
68
55
  var styles = filePaths.styles ? (0, _parseStyles["default"])(getXmlFileContent(filePaths.styles), xml) : {};
69
- var properties = (0, _parseProperties["default"])(getXmlFileContent('xl/workbook.xml'), xml); // A feature for getting the list of sheets in an Excel file.
70
- // https://github.com/catamphetamine/read-excel-file/issues/14
56
+ var properties = (0, _parseProperties["default"])(getXmlFileContent('xl/workbook.xml'), xml);
71
57
 
58
+ // A feature for getting the list of sheets in an Excel file.
59
+ // https://github.com/catamphetamine/read-excel-file/issues/14
72
60
  if (options.getSheets) {
73
61
  return properties.sheets.map(function (_ref) {
74
62
  var name = _ref.name;
@@ -76,47 +64,51 @@ function readXlsx(contents, xml) {
76
64
  name: name
77
65
  };
78
66
  });
79
- } // Find the sheet by name, or take the first one.
67
+ }
80
68
 
69
+ // Find the sheet by name, or take the first one.
70
+ var sheetId = getSheetId(options.sheet, properties.sheets);
81
71
 
82
- var sheetId = getSheetId(options.sheet, properties.sheets); // If the sheet wasn't found then throw an error.
72
+ // If the sheet wasn't found then throw an error.
83
73
  // Example: "xl/worksheets/sheet1.xml".
84
-
85
74
  if (!sheetId || !filePaths.sheets[sheetId]) {
86
75
  throw createSheetNotFoundError(options.sheet, properties.sheets);
87
- } // Parse sheet data.
88
-
76
+ }
89
77
 
90
- var sheet = (0, _parseSheet["default"])(getXmlFileContent(filePaths.sheets[sheetId]), xml, values, styles, properties, options); // Get spreadsheet data.
78
+ // Parse sheet data.
79
+ var sheet = (0, _parseSheet["default"])(getXmlFileContent(filePaths.sheets[sheetId]), xml, values, styles, properties, options);
80
+ options = _objectSpread({
81
+ // Create a `rowIndexMap` for the original dataset, if not passed,
82
+ // because "empty" rows will be dropped from the input data.
83
+ rowMap: []
84
+ }, options);
91
85
 
92
- var data = (0, _getData["default"])(sheet, options); // Can return properties, if required.
86
+ // Get spreadsheet data.
87
+ var data = (0, _getData["default"])(sheet, options);
93
88
 
89
+ // Can return properties, if required.
94
90
  if (options.properties) {
95
91
  return {
96
92
  data: data,
97
93
  properties: properties
98
94
  };
99
- } // Return spreadsheet data.
100
-
95
+ }
101
96
 
97
+ // Return spreadsheet data.
102
98
  return data;
103
99
  }
104
-
105
100
  function getSheetId(sheet, sheets) {
106
101
  if (typeof sheet === 'number') {
107
102
  var _sheet = sheets[sheet - 1];
108
103
  return _sheet && _sheet.relationId;
109
104
  }
110
-
111
105
  for (var _iterator = _createForOfIteratorHelperLoose(sheets), _step; !(_step = _iterator()).done;) {
112
106
  var _sheet2 = _step.value;
113
-
114
107
  if (_sheet2.name === sheet) {
115
108
  return _sheet2.relationId;
116
109
  }
117
110
  }
118
111
  }
119
-
120
112
  function createSheetNotFoundError(sheet, sheets) {
121
113
  var sheetsList = sheets && sheets.map(function (sheet, i) {
122
114
  return "\"".concat(sheet.name, "\" (#").concat(i + 1, ")");
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsx.js","names":["readXlsx","contents","xml","options","sheet","getXmlFileContent","filePath","Error","filePaths","parseFilePaths","values","sharedStrings","parseSharedStrings","styles","parseStyles","properties","parseProperties","getSheets","sheets","map","name","sheetId","getSheetId","createSheetNotFoundError","parseSheet","data","getData","_sheet","relationId","sheetsList","i","join"],"sources":["../../source/read/readXlsx.js"],"sourcesContent":["import parseProperties from './parseProperties.js'\r\nimport parseFilePaths from './parseFilePaths.js'\r\nimport parseStyles from './parseStyles.js'\r\nimport parseSharedStrings from './parseSharedStrings.js'\r\nimport parseSheet from './parseSheet.js'\r\nimport getData from './getData.js'\r\n\r\n// For an introduction in reading `*.xlsx` files see \"The minimum viable XLSX reader\":\r\n// https://www.brendanlong.com/the-minimum-viable-xlsx-reader.html\r\n\r\n/**\r\n * Reads an (unzipped) XLSX file structure into a 2D array of cells.\r\n * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).\r\n * @param {number?} options.sheet - Workbook sheet id (`1` by default).\r\n * @param {string?} options.dateFormat - Date format, e.g. \"mm/dd/yyyy\". Values having this format template set will be parsed as dates.\r\n * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).\r\n * @return {object} An object of shape `{ data, cells, properties }`. `data: string[][]` is an array of rows, each row being an array of cell values. `cells: string[][]` is an array of rows, each row being an array of cells. `properties: object` is the spreadsheet properties (e.g. whether date epoch is 1904 instead of 1900).\r\n */\r\nexport default function readXlsx(contents, xml, options = {}) {\r\n if (!options.sheet) {\r\n options = {\r\n sheet: 1,\r\n ...options\r\n }\r\n }\r\n\r\n const getXmlFileContent = (filePath) => {\r\n if (!contents[filePath]) {\r\n throw new Error(`\"${filePath}\" file not found inside the *.xlsx file zip archive`)\r\n }\r\n return contents[filePath]\r\n }\r\n\r\n // Some Excel editors don't want to use standard naming scheme for sheet files.\r\n // https://github.com/tidyverse/readxl/issues/104\r\n const filePaths = parseFilePaths(getXmlFileContent('xl/_rels/workbook.xml.rels'), xml)\r\n\r\n // Default file path for \"shared strings\": \"xl/sharedStrings.xml\".\r\n const values = filePaths.sharedStrings\r\n ? parseSharedStrings(getXmlFileContent(filePaths.sharedStrings), xml)\r\n : []\r\n\r\n // Default file path for \"styles\": \"xl/styles.xml\".\r\n const styles = filePaths.styles\r\n ? parseStyles(getXmlFileContent(filePaths.styles), xml)\r\n : {}\r\n\r\n const properties = parseProperties(getXmlFileContent('xl/workbook.xml'), xml)\r\n\r\n // A feature for getting the list of sheets in an Excel file.\r\n // https://github.com/catamphetamine/read-excel-file/issues/14\r\n if (options.getSheets) {\r\n return properties.sheets.map(({ name }) => ({\r\n name\r\n }))\r\n }\r\n\r\n // Find the sheet by name, or take the first one.\r\n const sheetId = getSheetId(options.sheet, properties.sheets)\r\n\r\n // If the sheet wasn't found then throw an error.\r\n // Example: \"xl/worksheets/sheet1.xml\".\r\n if (!sheetId || !filePaths.sheets[sheetId]) {\r\n throw createSheetNotFoundError(options.sheet, properties.sheets)\r\n }\r\n\r\n // Parse sheet data.\r\n const sheet = parseSheet(\r\n getXmlFileContent(filePaths.sheets[sheetId]),\r\n xml,\r\n values,\r\n styles,\r\n properties,\r\n options\r\n )\r\n\r\n // Get spreadsheet data.\r\n const data = getData(sheet, options)\r\n\r\n // Can return properties, if required.\r\n if (options.properties) {\r\n return {\r\n data,\r\n properties\r\n }\r\n }\r\n\r\n // Return spreadsheet data.\r\n return data\r\n}\r\n\r\nfunction getSheetId(sheet, sheets) {\r\n if (typeof sheet === 'number') {\r\n const _sheet = sheets[sheet - 1]\r\n return _sheet && _sheet.relationId\r\n }\r\n for (const _sheet of sheets) {\r\n if (_sheet.name === sheet) {\r\n return _sheet.relationId\r\n }\r\n }\r\n}\r\n\r\nfunction createSheetNotFoundError(sheet, sheets) {\r\n const sheetsList = sheets && sheets.map((sheet, i) => `\"${sheet.name}\" (#${i + 1})`).join(', ')\r\n return new Error(`Sheet ${typeof sheet === 'number' ? '#' + sheet : '\"' + sheet + '\"'} not found in the *.xlsx file.${sheets ? ' Available sheets: ' + sheetsList + '.' : ''}`)\r\n}"],"mappings":"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"}
1
+ {"version":3,"file":"readXlsx.js","names":["_parseProperties","_interopRequireDefault","require","_parseFilePaths","_parseStyles","_parseSharedStrings","_parseSheet","_getData","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelperLoose","allowArrayLike","it","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","toString","slice","name","from","test","arr","len","arr2","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","readXlsx","contents","xml","options","sheet","getXmlFileContent","filePath","Error","concat","filePaths","parseFilePaths","values","sharedStrings","parseSharedStrings","styles","parseStyles","properties","parseProperties","getSheets","sheets","map","_ref","sheetId","getSheetId","createSheetNotFoundError","parseSheet","rowMap","data","getData","_sheet","relationId","_iterator","_step","sheetsList","join"],"sources":["../../source/read/readXlsx.js"],"sourcesContent":["import parseProperties from './parseProperties.js'\r\nimport parseFilePaths from './parseFilePaths.js'\r\nimport parseStyles from './parseStyles.js'\r\nimport parseSharedStrings from './parseSharedStrings.js'\r\nimport parseSheet from './parseSheet.js'\r\nimport getData from './getData.js'\r\n\r\n// For an introduction in reading `*.xlsx` files see \"The minimum viable XLSX reader\":\r\n// https://www.brendanlong.com/the-minimum-viable-xlsx-reader.html\r\n\r\n/**\r\n * Reads an (unzipped) XLSX file structure into a 2D array of cells.\r\n * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).\r\n * @param {number?} options.sheet - Workbook sheet id (`1` by default).\r\n * @param {string?} options.dateFormat - Date format, e.g. \"mm/dd/yyyy\". Values having this format template set will be parsed as dates.\r\n * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).\r\n * @return {object} An object of shape `{ data, cells, properties }`. `data: string[][]` is an array of rows, each row being an array of cell values. `cells: string[][]` is an array of rows, each row being an array of cells. `properties: object` is the spreadsheet properties (e.g. whether date epoch is 1904 instead of 1900).\r\n */\r\nexport default function readXlsx(contents, xml, options = {}) {\r\n if (!options.sheet) {\r\n options = {\r\n sheet: 1,\r\n ...options\r\n }\r\n }\r\n\r\n const getXmlFileContent = (filePath) => {\r\n if (!contents[filePath]) {\r\n throw new Error(`\"${filePath}\" file not found inside the *.xlsx file zip archive`)\r\n }\r\n return contents[filePath]\r\n }\r\n\r\n // Some Excel editors don't want to use standard naming scheme for sheet files.\r\n // https://github.com/tidyverse/readxl/issues/104\r\n const filePaths = parseFilePaths(getXmlFileContent('xl/_rels/workbook.xml.rels'), xml)\r\n\r\n // Default file path for \"shared strings\": \"xl/sharedStrings.xml\".\r\n const values = filePaths.sharedStrings\r\n ? parseSharedStrings(getXmlFileContent(filePaths.sharedStrings), xml)\r\n : []\r\n\r\n // Default file path for \"styles\": \"xl/styles.xml\".\r\n const styles = filePaths.styles\r\n ? parseStyles(getXmlFileContent(filePaths.styles), xml)\r\n : {}\r\n\r\n const properties = parseProperties(getXmlFileContent('xl/workbook.xml'), xml)\r\n\r\n // A feature for getting the list of sheets in an Excel file.\r\n // https://github.com/catamphetamine/read-excel-file/issues/14\r\n if (options.getSheets) {\r\n return properties.sheets.map(({ name }) => ({\r\n name\r\n }))\r\n }\r\n\r\n // Find the sheet by name, or take the first one.\r\n const sheetId = getSheetId(options.sheet, properties.sheets)\r\n\r\n // If the sheet wasn't found then throw an error.\r\n // Example: \"xl/worksheets/sheet1.xml\".\r\n if (!sheetId || !filePaths.sheets[sheetId]) {\r\n throw createSheetNotFoundError(options.sheet, properties.sheets)\r\n }\r\n\r\n // Parse sheet data.\r\n const sheet = parseSheet(\r\n getXmlFileContent(filePaths.sheets[sheetId]),\r\n xml,\r\n values,\r\n styles,\r\n properties,\r\n options\r\n )\r\n\r\n options = {\r\n // Create a `rowIndexMap` for the original dataset, if not passed,\r\n // because \"empty\" rows will be dropped from the input data.\r\n rowMap: [],\r\n ...options\r\n }\r\n\r\n // Get spreadsheet data.\r\n const data = getData(sheet, options)\r\n\r\n // Can return properties, if required.\r\n if (options.properties) {\r\n return {\r\n data,\r\n properties\r\n }\r\n }\r\n\r\n // Return spreadsheet data.\r\n return data\r\n}\r\n\r\nfunction getSheetId(sheet, sheets) {\r\n if (typeof sheet === 'number') {\r\n const _sheet = sheets[sheet - 1]\r\n return _sheet && _sheet.relationId\r\n }\r\n for (const _sheet of sheets) {\r\n if (_sheet.name === sheet) {\r\n return _sheet.relationId\r\n }\r\n }\r\n}\r\n\r\nfunction createSheetNotFoundError(sheet, sheets) {\r\n const sheetsList = sheets && sheets.map((sheet, i) => `\"${sheet.name}\" (#${i + 1})`).join(', ')\r\n return new Error(`Sheet ${typeof sheet === 'number' ? '#' + sheet : '\"' + sheet + '\"'} not found in the *.xlsx file.${sheets ? ' Available sheets: ' + sheetsList + '.' : ''}`)\r\n}"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAkC,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,gCAAAL,CAAA,EAAAM,cAAA,QAAAC,EAAA,UAAAN,MAAA,oBAAAD,CAAA,CAAAC,MAAA,CAAAC,QAAA,KAAAF,CAAA,oBAAAO,EAAA,UAAAA,EAAA,GAAAA,EAAA,CAAAC,IAAA,CAAAR,CAAA,GAAAS,IAAA,CAAAC,IAAA,CAAAH,EAAA,OAAAI,KAAA,CAAAC,OAAA,CAAAZ,CAAA,MAAAO,EAAA,GAAAM,2BAAA,CAAAb,CAAA,MAAAM,cAAA,IAAAN,CAAA,WAAAA,CAAA,CAAAc,MAAA,qBAAAP,EAAA,EAAAP,CAAA,GAAAO,EAAA,MAAAQ,CAAA,+BAAAA,CAAA,IAAAf,CAAA,CAAAc,MAAA,WAAAE,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAjB,CAAA,CAAAe,CAAA,sBAAAG,SAAA;AAAA,SAAAL,4BAAAb,CAAA,EAAAmB,MAAA,SAAAnB,CAAA,qBAAAA,CAAA,sBAAAoB,iBAAA,CAAApB,CAAA,EAAAmB,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAlB,SAAA,CAAAmB,QAAA,CAAAf,IAAA,CAAAR,CAAA,EAAAwB,KAAA,aAAAH,CAAA,iBAAArB,CAAA,CAAAG,WAAA,EAAAkB,CAAA,GAAArB,CAAA,CAAAG,WAAA,CAAAsB,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAV,KAAA,CAAAe,IAAA,CAAA1B,CAAA,OAAAqB,CAAA,+DAAAM,IAAA,CAAAN,CAAA,UAAAD,iBAAA,CAAApB,CAAA,EAAAmB,MAAA;AAAA,SAAAC,kBAAAQ,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAd,MAAA,EAAAe,GAAA,GAAAD,GAAA,CAAAd,MAAA,WAAAC,CAAA,MAAAe,IAAA,OAAAnB,KAAA,CAAAkB,GAAA,GAAAd,CAAA,GAAAc,GAAA,EAAAd,CAAA,IAAAe,IAAA,CAAAf,CAAA,IAAAa,GAAA,CAAAb,CAAA,UAAAe,IAAA;AAAA,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAZ,MAAA,CAAAa,IAAA,CAAAH,CAAA,OAAAV,MAAA,CAAAc,qBAAA,QAAApC,CAAA,GAAAsB,MAAA,CAAAc,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAjC,CAAA,GAAAA,CAAA,CAAAqC,MAAA,WAAAJ,CAAA,WAAAX,MAAA,CAAAgB,wBAAA,CAAAN,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,CAAA,EAAAlC,CAAA,YAAAkC,CAAA;AAAA,SAAAQ,cAAAV,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAU,SAAA,CAAA7B,MAAA,EAAAmB,CAAA,UAAAC,CAAA,WAAAS,SAAA,CAAAV,CAAA,IAAAU,SAAA,CAAAV,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAT,MAAA,CAAAY,CAAA,OAAAU,OAAA,WAAAX,CAAA,IAAAY,eAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAX,MAAA,CAAAwB,yBAAA,GAAAxB,MAAA,CAAAyB,gBAAA,CAAAf,CAAA,EAAAV,MAAA,CAAAwB,yBAAA,CAAAZ,CAAA,KAAAH,OAAA,CAAAT,MAAA,CAAAY,CAAA,GAAAU,OAAA,WAAAX,CAAA,IAAAX,MAAA,CAAA0B,cAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAX,MAAA,CAAAgB,wBAAA,CAAAJ,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAa,gBAAAhD,GAAA,EAAAoD,GAAA,EAAAhC,KAAA,IAAAgC,GAAA,GAAAC,cAAA,CAAAD,GAAA,OAAAA,GAAA,IAAApD,GAAA,IAAAyB,MAAA,CAAA0B,cAAA,CAAAnD,GAAA,EAAAoD,GAAA,IAAAhC,KAAA,EAAAA,KAAA,EAAAsB,UAAA,QAAAY,YAAA,QAAAC,QAAA,oBAAAvD,GAAA,CAAAoD,GAAA,IAAAhC,KAAA,WAAApB,GAAA;AAAA,SAAAqD,eAAAG,GAAA,QAAAJ,GAAA,GAAAK,YAAA,CAAAD,GAAA,oBAAAtD,OAAA,CAAAkD,GAAA,iBAAAA,GAAA,GAAAM,MAAA,CAAAN,GAAA;AAAA,SAAAK,aAAAE,KAAA,EAAAC,IAAA,QAAA1D,OAAA,CAAAyD,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAvD,MAAA,CAAA0D,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAAlD,IAAA,CAAAgD,KAAA,EAAAC,IAAA,oBAAA1D,OAAA,CAAA8D,GAAA,uBAAAA,GAAA,YAAA3C,SAAA,4DAAAuC,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA;AAElC;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASO,QAAQA,CAACC,QAAQ,EAAEC,GAAG,EAAgB;EAAA,IAAdC,OAAO,GAAAvB,SAAA,CAAA7B,MAAA,QAAA6B,SAAA,QAAAiB,SAAA,GAAAjB,SAAA,MAAG,CAAC,CAAC;EAC1D,IAAI,CAACuB,OAAO,CAACC,KAAK,EAAE;IAClBD,OAAO,GAAAxB,aAAA;MACLyB,KAAK,EAAE;IAAC,GACLD,OAAO,CACX;EACH;EAEA,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,QAAQ,EAAK;IACtC,IAAI,CAACL,QAAQ,CAACK,QAAQ,CAAC,EAAE;MACvB,MAAM,IAAIC,KAAK,MAAAC,MAAA,CAAKF,QAAQ,yDAAqD,CAAC;IACpF;IACA,OAAOL,QAAQ,CAACK,QAAQ,CAAC;EAC3B,CAAC;;EAED;EACA;EACA,IAAMG,SAAS,GAAG,IAAAC,0BAAc,EAACL,iBAAiB,CAAC,4BAA4B,CAAC,EAAEH,GAAG,CAAC;;EAEtF;EACA,IAAMS,MAAM,GAAGF,SAAS,CAACG,aAAa,GAClC,IAAAC,8BAAkB,EAACR,iBAAiB,CAACI,SAAS,CAACG,aAAa,CAAC,EAAEV,GAAG,CAAC,GACnE,EAAE;;EAEN;EACA,IAAMY,MAAM,GAAGL,SAAS,CAACK,MAAM,GAC3B,IAAAC,uBAAW,EAACV,iBAAiB,CAACI,SAAS,CAACK,MAAM,CAAC,EAAEZ,GAAG,CAAC,GACrD,CAAC,CAAC;EAEN,IAAMc,UAAU,GAAG,IAAAC,2BAAe,EAACZ,iBAAiB,CAAC,iBAAiB,CAAC,EAAEH,GAAG,CAAC;;EAE7E;EACA;EACA,IAAIC,OAAO,CAACe,SAAS,EAAE;IACrB,OAAOF,UAAU,CAACG,MAAM,CAACC,GAAG,CAAC,UAAAC,IAAA;MAAA,IAAG3D,IAAI,GAAA2D,IAAA,CAAJ3D,IAAI;MAAA,OAAQ;QAC1CA,IAAI,EAAJA;MACF,CAAC;IAAA,CAAC,CAAC;EACL;;EAEA;EACA,IAAM4D,OAAO,GAAGC,UAAU,CAACpB,OAAO,CAACC,KAAK,EAAEY,UAAU,CAACG,MAAM,CAAC;;EAE5D;EACA;EACA,IAAI,CAACG,OAAO,IAAI,CAACb,SAAS,CAACU,MAAM,CAACG,OAAO,CAAC,EAAE;IAC1C,MAAME,wBAAwB,CAACrB,OAAO,CAACC,KAAK,EAAEY,UAAU,CAACG,MAAM,CAAC;EAClE;;EAEA;EACA,IAAMf,KAAK,GAAG,IAAAqB,sBAAU,EACtBpB,iBAAiB,CAACI,SAAS,CAACU,MAAM,CAACG,OAAO,CAAC,CAAC,EAC5CpB,GAAG,EACHS,MAAM,EACNG,MAAM,EACNE,UAAU,EACVb,OACF,CAAC;EAEDA,OAAO,GAAAxB,aAAA;IACL;IACA;IACA+C,MAAM,EAAE;EAAE,GACPvB,OAAO,CACX;;EAED;EACA,IAAMwB,IAAI,GAAG,IAAAC,mBAAO,EAACxB,KAAK,EAAED,OAAO,CAAC;;EAEpC;EACA,IAAIA,OAAO,CAACa,UAAU,EAAE;IACtB,OAAO;MACLW,IAAI,EAAJA,IAAI;MACJX,UAAU,EAAVA;IACF,CAAC;EACH;;EAEA;EACA,OAAOW,IAAI;AACb;AAEA,SAASJ,UAAUA,CAACnB,KAAK,EAAEe,MAAM,EAAE;EACjC,IAAI,OAAOf,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAMyB,MAAM,GAAGV,MAAM,CAACf,KAAK,GAAG,CAAC,CAAC;IAChC,OAAOyB,MAAM,IAAIA,MAAM,CAACC,UAAU;EACpC;EACA,SAAAC,SAAA,GAAAzF,+BAAA,CAAqB6E,MAAM,GAAAa,KAAA,IAAAA,KAAA,GAAAD,SAAA,IAAA9E,IAAA,GAAE;IAAA,IAAlB4E,OAAM,GAAAG,KAAA,CAAA9E,KAAA;IACf,IAAI2E,OAAM,CAACnE,IAAI,KAAK0C,KAAK,EAAE;MACzB,OAAOyB,OAAM,CAACC,UAAU;IAC1B;EACF;AACF;AAEA,SAASN,wBAAwBA,CAACpB,KAAK,EAAEe,MAAM,EAAE;EAC/C,IAAMc,UAAU,GAAGd,MAAM,IAAIA,MAAM,CAACC,GAAG,CAAC,UAAChB,KAAK,EAAEpD,CAAC;IAAA,YAAAwD,MAAA,CAASJ,KAAK,CAAC1C,IAAI,WAAA8C,MAAA,CAAOxD,CAAC,GAAG,CAAC;EAAA,CAAG,CAAC,CAACkF,IAAI,CAAC,IAAI,CAAC;EAC/F,OAAO,IAAI3B,KAAK,UAAAC,MAAA,CAAU,OAAOJ,KAAK,KAAK,QAAQ,GAAG,GAAG,GAAGA,KAAK,GAAG,GAAG,GAAGA,KAAK,GAAG,GAAG,oCAAAI,MAAA,CAAiCW,MAAM,GAAG,qBAAqB,GAAGc,UAAU,GAAG,GAAG,GAAG,EAAE,CAAE,CAAC;AACjL"}
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = readXlsxFile;
7
-
8
7
  var _xmlBrowser = _interopRequireDefault(require("../xml/xmlBrowser.js"));
9
-
10
8
  var _unpackXlsxFileBrowser = _interopRequireDefault(require("./unpackXlsxFileBrowser.js"));
11
-
12
9
  var _readXlsxFileContents = _interopRequireDefault(require("./readXlsxFileContents.js"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
11
  /**
17
12
  * Reads XLSX file into a 2D array of cells in a browser.
18
13
  * @param {file} file - A file being uploaded in the browser.
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileBrowser.js","names":["readXlsxFile","file","options","unpackXlsxFile","then","entries","readXlsxFileContents","xml"],"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;;AAEA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,YAAT,CAAsBC,IAAtB,EAA0C;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACxD,OAAO,IAAAC,iCAAA,EAAeF,IAAf,EACLG,IADK,CACA,UAACC,OAAD;IAAA,OAAa,IAAAC,gCAAA,EAAqBD,OAArB,EAA8BE,sBAA9B,EAAmCL,OAAnC,CAAb;EAAA,CADA,CAAP;AAEA"}
1
+ {"version":3,"file":"readXlsxFileBrowser.js","names":["_xmlBrowser","_interopRequireDefault","require","_unpackXlsxFileBrowser","_readXlsxFileContents","obj","__esModule","readXlsxFile","file","options","arguments","length","undefined","unpackXlsxFile","then","entries","readXlsxFileContents","xml"],"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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,qBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA4D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASE,YAAYA,CAACC,IAAI,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtD,OAAO,IAAAG,iCAAc,EAACL,IAAI,CAAC,CACzBM,IAAI,CAAC,UAACC,OAAO;IAAA,OAAK,IAAAC,gCAAoB,EAACD,OAAO,EAAEE,sBAAG,EAAER,OAAO,CAAC;EAAA,EAAC;AACjE"}
@@ -1,49 +1,39 @@
1
1
  "use strict";
2
2
 
3
+ 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
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports["default"] = readXlsxFileContents;
7
-
8
8
  var _readXlsx = _interopRequireDefault(require("./readXlsx.js"));
9
-
10
- var _convertToJson = _interopRequireDefault(require("./schema/convertToJson.js"));
11
-
9
+ var _convertToJsonLegacy = _interopRequireDefault(require("./schema/convertToJson.legacy.js"));
10
+ var _convertToJsonSpreadsheet = _interopRequireDefault(require("./schema/convertToJson.spreadsheet.js"));
12
11
  var _convertMapToSchema = _interopRequireDefault(require("./schema/convertMapToSchema.js"));
13
-
14
12
  var _excluded = ["schema", "map"];
15
-
16
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
-
18
- 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; }
19
-
20
- 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; }
21
-
22
- 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; }
23
-
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
+ 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); }
24
19
  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; }
25
-
26
20
  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; }
27
-
28
21
  function readXlsxFileContents(entries, xml, _ref) {
29
22
  var schema = _ref.schema,
30
- map = _ref.map,
31
- options = _objectWithoutProperties(_ref, _excluded);
32
-
23
+ map = _ref.map,
24
+ options = _objectWithoutProperties(_ref, _excluded);
33
25
  if (!schema && map) {
34
26
  schema = (0, _convertMapToSchema["default"])(map);
35
27
  }
36
-
28
+ // `readXlsx()` adds `options.rowMap`, if not passed.
37
29
  var result = (0, _readXlsx["default"])(entries, xml, _objectSpread(_objectSpread({}, options), {}, {
38
30
  properties: schema || options.properties
39
31
  }));
40
-
41
32
  if (schema) {
42
- return (0, _convertToJson["default"])(result.data, schema, _objectSpread(_objectSpread({}, options), {}, {
33
+ return (0, _convertToJsonSpreadsheet["default"])(_convertToJsonLegacy["default"], result.data, schema, _objectSpread(_objectSpread({}, options), {}, {
43
34
  properties: result.properties
44
35
  }));
45
36
  }
46
-
47
37
  return result;
48
38
  }
49
39
  //# sourceMappingURL=readXlsxFileContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileContents.js","names":["readXlsxFileContents","entries","xml","schema","map","options","convertMapToSchema","result","readXlsx","properties","convertToJson","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;;AAEA;;AACA;;;;;;;;;;;;;;;;AAEe,SAASA,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,GAAG,IAAAG,8BAAA,EAAmBF,GAAnB,CAAT;EACA;;EACD,IAAMG,MAAM,GAAG,IAAAC,oBAAA,EAASP,OAAT,EAAkBC,GAAlB,kCAA4BG,OAA5B;IAAqCI,UAAU,EAAEN,MAAM,IAAIE,OAAO,CAACI;EAAnE,GAAf;;EACA,IAAIN,MAAJ,EAAY;IACX,OAAO,IAAAO,yBAAA,EAAcH,MAAM,CAACI,IAArB,EAA2BR,MAA3B,kCAAwCE,OAAxC;MAAiDI,UAAU,EAAEF,MAAM,CAACE;IAApE,GAAP;EACA;;EACD,OAAOF,MAAP;AACA"}
1
+ {"version":3,"file":"readXlsxFileContents.js","names":["_readXlsx","_interopRequireDefault","require","_convertToJsonLegacy","_convertToJsonSpreadsheet","_convertMapToSchema","_excluded","obj","__esModule","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","readXlsxFileContents","entries","xml","_ref","schema","map","options","convertMapToSchema","result","readXlsx","properties","convertToJsonSpreadsheetBehavior","convertToJsonLegacyBehavior","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":"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"}
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = readXlsxFile;
7
-
8
7
  var _xml = _interopRequireDefault(require("../xml/xml.js"));
9
-
10
8
  var _unpackXlsxFileNode = _interopRequireDefault(require("./unpackXlsxFileNode.js"));
11
-
12
9
  var _readXlsxFileContents = _interopRequireDefault(require("./readXlsxFileContents.js"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
11
  /**
17
12
  * Reads XLSX file into a 2D array of cells in a browser.
18
13
  * @param {(string|Stream|Buffer)} input - A Node.js readable stream or a `Buffer` or a path to a file.
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileNode.js","names":["readXlsxFile","input","options","unpackXlsxFile","then","entries","readXlsxFileContents","xml"],"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;;AAEA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,YAAT,CAAsBC,KAAtB,EAA2C;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACzD,OAAO,IAAAC,8BAAA,EAAeF,KAAf,EACLG,IADK,CACA,UAACC,OAAD;IAAA,OAAa,IAAAC,gCAAA,EAAqBD,OAArB,EAA8BE,eAA9B,EAAmCL,OAAnC,CAAb;EAAA,CADA,CAAP;AAEA"}
1
+ {"version":3,"file":"readXlsxFileNode.js","names":["_xml","_interopRequireDefault","require","_unpackXlsxFileNode","_readXlsxFileContents","obj","__esModule","readXlsxFile","input","options","arguments","length","undefined","unpackXlsxFile","then","entries","readXlsxFileContents","xml"],"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,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,qBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA4D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASE,YAAYA,CAACC,KAAK,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACvD,OAAO,IAAAG,8BAAc,EAACL,KAAK,CAAC,CAC1BM,IAAI,CAAC,UAACC,OAAO;IAAA,OAAK,IAAAC,gCAAoB,EAACD,OAAO,EAAEE,eAAG,EAAER,OAAO,CAAC;EAAA,EAAC;AACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileNode.test.js","names":["describe","it","schema","prop","type","Date","Number","required","Boolean","String","parse","value","rowMap","readXlsxFileNode","path","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","_interopRequireDefault","require","_readXlsxFileNode","obj","__esModule","describe","it","schema","prop","type","Date","Number","required","Boolean","String","parse","value","rowMap","readXlsxFileNode","path","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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"}
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = readXlsxFile;
7
-
8
7
  var _xml = _interopRequireDefault(require("../xml/xml.js"));
9
-
10
8
  var _unpackXlsxFileBrowser = _interopRequireDefault(require("./unpackXlsxFileBrowser.js"));
11
-
12
9
  var _readXlsxFileContents = _interopRequireDefault(require("./readXlsxFileContents.js"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
11
  /**
17
12
  * Reads XLSX file into a 2D array of cells in a web worker.
18
13
  * @param {file} file - The file.
@@ -1 +1 @@
1
- {"version":3,"file":"readXlsxFileWebWorker.js","names":["readXlsxFile","file","options","unpackXlsxFile","then","entries","readXlsxFileContents","xml"],"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;;AAEA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,YAAT,CAAsBC,IAAtB,EAA0C;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACxD,OAAO,IAAAC,iCAAA,EAAeF,IAAf,EACLG,IADK,CACA,UAACC,OAAD;IAAA,OAAa,IAAAC,gCAAA,EAAqBD,OAArB,EAA8BE,eAA9B,EAAmCL,OAAnC,CAAb;EAAA,CADA,CAAP;AAEA"}
1
+ {"version":3,"file":"readXlsxFileWebWorker.js","names":["_xml","_interopRequireDefault","require","_unpackXlsxFileBrowser","_readXlsxFileContents","obj","__esModule","readXlsxFile","file","options","arguments","length","undefined","unpackXlsxFile","then","entries","readXlsxFileContents","xml"],"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,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,qBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA4D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASE,YAAYA,CAACC,IAAI,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtD,OAAO,IAAAG,iCAAc,EAACL,IAAI,CAAC,CACzBM,IAAI,CAAC,UAACC,OAAO;IAAA,OAAK,IAAAC,gCAAoB,EAACD,OAAO,EAAEE,eAAG,EAAER,OAAO,CAAC;EAAA,EAAC;AACjE"}
@@ -4,31 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = convertMapToSchema;
7
-
8
- 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); }
9
-
7
+ 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); }
10
8
  function convertMapToSchema(map) {
11
9
  var schema = {};
12
-
13
10
  for (var _i = 0, _Object$keys = Object.keys(map); _i < _Object$keys.length; _i++) {
14
11
  var key = _Object$keys[_i];
15
12
  var prop = map[key];
16
13
  var type = void 0;
17
-
18
14
  if (_typeof(prop) === 'object') {
19
15
  prop = Object.keys(map[key])[0];
20
16
  type = convertMapToSchema(map[key][prop]);
21
17
  }
22
-
23
18
  schema[key] = {
24
19
  prop: prop
25
20
  };
26
-
27
21
  if (type) {
28
22
  schema[key].type = type;
29
23
  }
30
24
  }
31
-
32
25
  return schema;
33
26
  }
34
27
  //# 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":";;;;;;;;;AAAe,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":";;;;;;;AAAe,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":["describe","it","map","convertMapToSchema","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;;;;AAEAA,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;IAYA,IAAAC,8BAAA,EAAmBD,GAAnB,EAAwBE,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","_interopRequireDefault","require","obj","__esModule","describe","it","map","convertMapToSchema","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,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAwD,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAExDE,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;IACD,IAAAC,8BAAkB,EAACD,GAAG,CAAC,CAACE,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"}