read-excel-file 5.2.29 → 5.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/.gitlab-ci.yml +1 -1
  2. package/CHANGELOG.md +3 -3
  3. package/bundle/read-excel-file.min.js +2 -2
  4. package/bundle/read-excel-file.min.js.map +1 -1
  5. package/commonjs/package.json +5 -0
  6. package/commonjs/read/coordinates.js.map +1 -1
  7. package/commonjs/read/dropEmptyColumns.js.map +1 -1
  8. package/commonjs/read/dropEmptyColumns.test.js.map +1 -1
  9. package/commonjs/read/dropEmptyRows.js.map +1 -1
  10. package/commonjs/read/dropEmptyRows.test.js.map +1 -1
  11. package/commonjs/read/getData.js +3 -3
  12. package/commonjs/read/getData.js.map +1 -1
  13. package/commonjs/read/parseCell.js +3 -3
  14. package/commonjs/read/parseCell.js.map +1 -1
  15. package/commonjs/read/parseCellValue.js +1 -1
  16. package/commonjs/read/parseCellValue.js.map +1 -1
  17. package/commonjs/read/parseCells.js +2 -2
  18. package/commonjs/read/parseCells.js.map +1 -1
  19. package/commonjs/read/parseDate.js.map +1 -1
  20. package/commonjs/read/parseDate.test.js.map +1 -1
  21. package/commonjs/read/parseDimensions.js +3 -3
  22. package/commonjs/read/parseDimensions.js.map +1 -1
  23. package/commonjs/read/parseFilePaths.js +1 -1
  24. package/commonjs/read/parseFilePaths.js.map +1 -1
  25. package/commonjs/read/parseProperties.js +1 -1
  26. package/commonjs/read/parseProperties.js.map +1 -1
  27. package/commonjs/read/parseSharedStrings.js +1 -1
  28. package/commonjs/read/parseSharedStrings.js.map +1 -1
  29. package/commonjs/read/parseSheet.js +3 -3
  30. package/commonjs/read/parseSheet.js.map +1 -1
  31. package/commonjs/read/parseStyles.js +3 -3
  32. package/commonjs/read/parseStyles.js.map +1 -1
  33. package/commonjs/read/readSheetNamesBrowser.js +1 -1
  34. package/commonjs/read/readSheetNamesBrowser.js.map +1 -1
  35. package/commonjs/read/readSheetNamesNode.js +1 -1
  36. package/commonjs/read/readSheetNamesNode.js.map +1 -1
  37. package/commonjs/read/readSheetNamesNode.test.js.map +1 -1
  38. package/commonjs/read/readSheetNamesWebWorker.js +1 -1
  39. package/commonjs/read/readSheetNamesWebWorker.js.map +1 -1
  40. package/commonjs/read/readXlsx.js +8 -8
  41. package/commonjs/read/readXlsx.js.map +1 -1
  42. package/commonjs/read/readXlsxFileBrowser.js +3 -3
  43. package/commonjs/read/readXlsxFileBrowser.js.map +1 -1
  44. package/commonjs/read/readXlsxFileContents.js +5 -5
  45. package/commonjs/read/readXlsxFileContents.js.map +1 -1
  46. package/commonjs/read/readXlsxFileNode.js +3 -3
  47. package/commonjs/read/readXlsxFileNode.js.map +1 -1
  48. package/commonjs/read/readXlsxFileNode.test.js.map +1 -1
  49. package/commonjs/read/readXlsxFileWebWorker.js +3 -3
  50. package/commonjs/read/readXlsxFileWebWorker.js.map +1 -1
  51. package/commonjs/read/schema/convertMapToSchema.js +1 -1
  52. package/commonjs/read/schema/convertMapToSchema.js.map +1 -1
  53. package/commonjs/read/schema/convertMapToSchema.test.js.map +1 -1
  54. package/commonjs/read/schema/convertToJson.js +9 -9
  55. package/commonjs/read/schema/convertToJson.js.map +1 -1
  56. package/commonjs/read/schema/convertToJson.test.js.map +1 -1
  57. package/commonjs/read/unpackXlsxFileBrowser.js.map +1 -1
  58. package/commonjs/read/unpackXlsxFileNode.js.map +1 -1
  59. package/commonjs/types/Email.js.map +1 -1
  60. package/commonjs/types/Email.test.js.map +1 -1
  61. package/commonjs/types/Integer.js.map +1 -1
  62. package/commonjs/types/Integer.test.js.map +1 -1
  63. package/commonjs/types/URL.js.map +1 -1
  64. package/commonjs/types/URL.test.js.map +1 -1
  65. package/commonjs/xml/dom.js +1 -1
  66. package/commonjs/xml/dom.js.map +1 -1
  67. package/commonjs/xml/xlsx-xpath.js +7 -7
  68. package/commonjs/xml/xlsx-xpath.js.map +1 -1
  69. package/commonjs/xml/xlsx.js +8 -8
  70. package/commonjs/xml/xlsx.js.map +1 -1
  71. package/commonjs/xml/xml.js.map +1 -1
  72. package/commonjs/xml/xmlBrowser.js.map +1 -1
  73. package/commonjs/xml/xpathBrowser.js.map +1 -1
  74. package/commonjs/xml/xpathNode.js.map +1 -1
  75. package/index.cjs +7 -0
  76. package/index.cjs.js +12 -0
  77. package/index.js +6 -6
  78. package/modules/read/coordinates.js.map +1 -1
  79. package/modules/read/dropEmptyColumns.js.map +1 -1
  80. package/modules/read/dropEmptyColumns.test.js.map +1 -1
  81. package/modules/read/dropEmptyRows.js.map +1 -1
  82. package/modules/read/dropEmptyRows.test.js.map +1 -1
  83. package/modules/read/getData.js +3 -3
  84. package/modules/read/getData.js.map +1 -1
  85. package/modules/read/parseCell.js +3 -3
  86. package/modules/read/parseCell.js.map +1 -1
  87. package/modules/read/parseCellValue.js +1 -1
  88. package/modules/read/parseCellValue.js.map +1 -1
  89. package/modules/read/parseCells.js +2 -2
  90. package/modules/read/parseCells.js.map +1 -1
  91. package/modules/read/parseDate.js.map +1 -1
  92. package/modules/read/parseDate.test.js.map +1 -1
  93. package/modules/read/parseDimensions.js +3 -3
  94. package/modules/read/parseDimensions.js.map +1 -1
  95. package/modules/read/parseFilePaths.js +1 -1
  96. package/modules/read/parseFilePaths.js.map +1 -1
  97. package/modules/read/parseProperties.js +1 -1
  98. package/modules/read/parseProperties.js.map +1 -1
  99. package/modules/read/parseSharedStrings.js +1 -1
  100. package/modules/read/parseSharedStrings.js.map +1 -1
  101. package/modules/read/parseSheet.js +3 -3
  102. package/modules/read/parseSheet.js.map +1 -1
  103. package/modules/read/parseStyles.js +3 -3
  104. package/modules/read/parseStyles.js.map +1 -1
  105. package/modules/read/readSheetNamesBrowser.js +1 -1
  106. package/modules/read/readSheetNamesBrowser.js.map +1 -1
  107. package/modules/read/readSheetNamesNode.js +1 -1
  108. package/modules/read/readSheetNamesNode.js.map +1 -1
  109. package/modules/read/readSheetNamesNode.test.js.map +1 -1
  110. package/modules/read/readSheetNamesWebWorker.js +1 -1
  111. package/modules/read/readSheetNamesWebWorker.js.map +1 -1
  112. package/modules/read/readXlsx.js +8 -8
  113. package/modules/read/readXlsx.js.map +1 -1
  114. package/modules/read/readXlsxFileBrowser.js +3 -3
  115. package/modules/read/readXlsxFileBrowser.js.map +1 -1
  116. package/modules/read/readXlsxFileContents.js +5 -5
  117. package/modules/read/readXlsxFileContents.js.map +1 -1
  118. package/modules/read/readXlsxFileNode.js +3 -3
  119. package/modules/read/readXlsxFileNode.js.map +1 -1
  120. package/modules/read/readXlsxFileNode.test.js.map +1 -1
  121. package/modules/read/readXlsxFileWebWorker.js +3 -3
  122. package/modules/read/readXlsxFileWebWorker.js.map +1 -1
  123. package/modules/read/schema/convertMapToSchema.js +1 -1
  124. package/modules/read/schema/convertMapToSchema.js.map +1 -1
  125. package/modules/read/schema/convertMapToSchema.test.js.map +1 -1
  126. package/modules/read/schema/convertToJson.js +8 -8
  127. package/modules/read/schema/convertToJson.js.map +1 -1
  128. package/modules/read/schema/convertToJson.test.js.map +1 -1
  129. package/modules/read/unpackXlsxFileBrowser.js.map +1 -1
  130. package/modules/read/unpackXlsxFileNode.js.map +1 -1
  131. package/modules/types/Email.js.map +1 -1
  132. package/modules/types/Email.test.js.map +1 -1
  133. package/modules/types/Integer.js.map +1 -1
  134. package/modules/types/Integer.test.js.map +1 -1
  135. package/modules/types/URL.js.map +1 -1
  136. package/modules/types/URL.test.js.map +1 -1
  137. package/modules/xml/dom.js.map +1 -1
  138. package/modules/xml/xlsx-xpath.js.map +1 -1
  139. package/modules/xml/xlsx.js +1 -1
  140. package/modules/xml/xlsx.js.map +1 -1
  141. package/modules/xml/xml.js.map +1 -1
  142. package/modules/xml/xmlBrowser.js.map +1 -1
  143. package/modules/xml/xpathBrowser.js.map +1 -1
  144. package/modules/xml/xpathNode.js.map +1 -1
  145. package/node/index.cjs +7 -0
  146. package/node/index.cjs.js +12 -0
  147. package/node/index.js +6 -6
  148. package/node/package.json +9 -1
  149. package/package.json +46 -22
  150. package/{rollup.config.js → rollup.config.mjs} +0 -0
  151. package/runnable/create-commonjs-package-json.js +11 -0
  152. package/schema/{index.commonjs.js → index.cjs} +2 -2
  153. package/schema/index.cjs.js +7 -0
  154. package/schema/index.js +1 -1
  155. package/schema/package.json +9 -1
  156. package/web-worker/index.cjs +7 -0
  157. package/web-worker/index.cjs.js +12 -0
  158. package/web-worker/index.js +6 -6
  159. package/web-worker/package.json +9 -1
  160. package/babel.js +0 -5
  161. package/index.commonjs.js +0 -7
  162. package/node/index.commonjs.js +0 -7
  163. package/web-worker/index.commonjs.js +0 -7
@@ -2,11 +2,11 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
2
2
 
3
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
4
 
5
- function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
6
6
 
7
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
8
 
9
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
+ 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); }
10
10
 
11
11
  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."); }
12
12
 
@@ -14,16 +14,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
14
14
 
15
15
  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; }
16
16
 
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+ 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; }
18
18
 
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+ 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; }
20
20
 
21
21
  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; }
22
22
 
23
- import parseDate from '../parseDate';
24
- import Integer, { isInteger } from '../../types/Integer';
25
- import URL, { isURL } from '../../types/URL';
26
- import Email, { isEmail } from '../../types/Email';
23
+ import parseDate from '../parseDate.js';
24
+ import Integer, { isInteger } from '../../types/Integer.js';
25
+ import URL, { isURL } from '../../types/URL.js';
26
+ import Email, { isEmail } from '../../types/Email.js';
27
27
  var DEFAULT_OPTIONS = {
28
28
  isColumnOriented: false
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../source/read/schema/convertToJson.js"],"names":["parseDate","Integer","isInteger","URL","isURL","Email","isEmail","DEFAULT_OPTIONS","isColumnOriented","data","schema","options","rowMap","validateSchema","transpose","columns","results","errors","i","length","result","read","push","error","row","rows","rowIndex","object","key","schemaEntry","isNestedSchema","type","Array","isArray","rawValue","indexOf","undefined","value","notEmpty","array","parseArray","map","_value","parseValue","required","column","prop","Object","keys","parse","parseCustomValue","parseValueOfType","oneOf","validate","message","String","isFinite","Number","stringifiedValue","parseFloat","Date","parseInt","date","properties","Boolean","Error","name","getBlock","string","endCharacter","startIndex","substring","character","block","blocks","index","trim","_","entry"],"mappings":"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","sourcesContent":["import parseDate from '../parseDate'\r\n\r\nimport Integer, { isInteger } from '../../types/Integer'\r\nimport URL, { isURL } from '../../types/URL'\r\nimport Email, { isEmail } from '../../types/Email'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n isColumnOriented: false\r\n}\r\n\r\n/**\r\n * Convert 2D array to nested objects.\r\n * If row oriented data, row 0 is dotted key names.\r\n * Column oriented data is transposed.\r\n * @param {any[][]} data - An array of rows, each row being an array of cells.\r\n * @param {object} schema\r\n * @return {object[]}\r\n */\r\nexport default function(data, schema, options) {\r\n if (options) {\r\n options = {\r\n ...DEFAULT_OPTIONS,\r\n ...options\r\n }\r\n } else {\r\n options = DEFAULT_OPTIONS\r\n }\r\n\r\n const {\r\n isColumnOriented,\r\n rowMap\r\n } = options\r\n\r\n validateSchema(schema)\r\n\r\n if (isColumnOriented) {\r\n data = transpose(data)\r\n }\r\n\r\n const columns = data[0]\r\n\r\n const results = []\r\n const errors = []\r\n\r\n for (let i = 1; i < data.length; i++) {\r\n const result = read(schema, data[i], i - 1, columns, errors, options)\r\n if (result) {\r\n results.push(result)\r\n }\r\n }\r\n\r\n // Correct error rows.\r\n if (rowMap) {\r\n for (const error of errors) {\r\n // Convert the `row` index in `data` to the\r\n // actual `row` index in the spreadsheet.\r\n // The `1` compensates for the header row.\r\n error.row = rowMap[error.row] + 1\r\n }\r\n }\r\n\r\n return {\r\n rows: results,\r\n errors\r\n }\r\n}\r\n\r\nfunction read(schema, row, rowIndex, columns, errors, options) {\r\n const object = {}\r\n for (const key of Object.keys(schema)) {\r\n const schemaEntry = schema[key]\r\n const isNestedSchema = typeof schemaEntry.type === 'object' && !Array.isArray(schemaEntry.type)\r\n let rawValue = row[columns.indexOf(key)]\r\n if (rawValue === undefined) {\r\n rawValue = null\r\n }\r\n let value\r\n let error\r\n if (isNestedSchema) {\r\n value = read(schemaEntry.type, row, rowIndex, columns, errors, options)\r\n } else {\r\n if (rawValue === null) {\r\n value = null\r\n }\r\n else if (Array.isArray(schemaEntry.type)) {\r\n let notEmpty = false\r\n const array = parseArray(rawValue).map((_value) => {\r\n const result = parseValue(_value, schemaEntry, options)\r\n if (result.error) {\r\n value = _value\r\n error = result.error\r\n }\r\n if (result.value !== null) {\r\n notEmpty = true\r\n }\r\n return result.value\r\n })\r\n if (!error) {\r\n value = notEmpty ? array : null\r\n }\r\n } else {\r\n const result = parseValue(rawValue, schemaEntry, options)\r\n error = result.error\r\n value = error ? rawValue : result.value\r\n }\r\n }\r\n if (!error && value === null && schemaEntry.required) {\r\n error = 'required'\r\n }\r\n if (error) {\r\n error = {\r\n error,\r\n row: rowIndex + 1,\r\n column: key,\r\n value\r\n }\r\n if (schemaEntry.type) {\r\n error.type = schemaEntry.type\r\n }\r\n errors.push(error)\r\n } else if (value !== null) {\r\n object[schemaEntry.prop] = value\r\n }\r\n }\r\n if (Object.keys(object).length > 0) {\r\n return object\r\n }\r\n return null\r\n}\r\n\r\n/**\r\n * Converts textual value to a javascript typed value.\r\n * @param {any} value\r\n * @param {object} schemaEntry\r\n * @return {{ value: any, error: string }}\r\n */\r\nexport function parseValue(value, schemaEntry, options) {\r\n if (value === null) {\r\n return { value: null }\r\n }\r\n let result\r\n if (schemaEntry.parse) {\r\n result = parseCustomValue(value, schemaEntry.parse)\r\n } else if (schemaEntry.type) {\r\n result = parseValueOfType(\r\n value,\r\n // Supports parsing array types.\r\n // See `parseArray()` function for more details.\r\n // Example `type`: String[]\r\n // Input: 'Barack Obama, \"String, with, colons\", Donald Trump'\r\n // Output: ['Barack Obama', 'String, with, colons', 'Donald Trump']\r\n Array.isArray(schemaEntry.type) ? schemaEntry.type[0] : schemaEntry.type,\r\n options\r\n )\r\n } else {\r\n result = { value: value }\r\n // throw new Error('Invalid schema entry: no .type and no .parse():\\n\\n' + JSON.stringify(schemaEntry, null, 2))\r\n }\r\n // If errored then return the error.\r\n if (result.error) {\r\n return result\r\n }\r\n if (result.value !== null) {\r\n if (schemaEntry.oneOf && schemaEntry.oneOf.indexOf(result.value) < 0) {\r\n return { error: 'invalid' }\r\n }\r\n if (schemaEntry.validate) {\r\n try {\r\n schemaEntry.validate(result.value)\r\n } catch (error) {\r\n return { error: error.message }\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * Converts textual value to a custom value using supplied `.parse()`.\r\n * @param {any} value\r\n * @param {function} parse\r\n * @return {{ value: any, error: string }}\r\n */\r\nfunction parseCustomValue(value, parse) {\r\n try {\r\n value = parse(value)\r\n if (value === undefined) {\r\n return { value: null }\r\n }\r\n return { value }\r\n } catch (error) {\r\n return { error: error.message }\r\n }\r\n}\r\n\r\n/**\r\n * Converts textual value to a javascript typed value.\r\n * @param {any} value\r\n * @param {} type\r\n * @return {{ value: (string|number|Date|boolean), error: string }}\r\n */\r\nfunction parseValueOfType(value, type, options) {\r\n switch (type) {\r\n case String:\r\n if (typeof value === 'string') {\r\n return { value }\r\n }\r\n // The global `isFinite()` function filters out:\r\n // * NaN\r\n // * -Infinity\r\n // * Infinity\r\n // All other values pass (including non-numbers).\r\n if (typeof value === 'number') {\r\n if (isFinite(value)) {\r\n return { value: String(value) }\r\n }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Number:\r\n case Integer:\r\n // Convert strings to numbers.\r\n // Just an additional feature.\r\n // Won't happen when called from `readXlsx()`.\r\n if (typeof value === 'string') {\r\n const stringifiedValue = value\r\n value = parseFloat(value)\r\n if (String(value) !== stringifiedValue) {\r\n return { error: 'invalid' }\r\n }\r\n } else if (typeof value !== 'number') {\r\n return { error: 'invalid' }\r\n }\r\n // The global `isFinite()` function filters out:\r\n // * NaN\r\n // * -Infinity\r\n // * Infinity\r\n // All other values pass (including non-numbers).\r\n // At this point, `value` can only be a number.\r\n if (!isFinite(value)) {\r\n return { error: 'invalid' }\r\n }\r\n if (type === Integer && !isInteger(value)) {\r\n return { error: 'invalid' }\r\n }\r\n return { value }\r\n\r\n case URL:\r\n if (typeof value === 'string') {\r\n if (isURL(value)) {\r\n return { value }\r\n }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Email:\r\n if (typeof value === 'string') {\r\n if (isEmail(value)) {\r\n return { value }\r\n }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Date:\r\n // XLSX has no specific format for dates.\r\n // Sometimes a date can be heuristically detected.\r\n // https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777\r\n if (value instanceof Date) {\r\n return { value }\r\n }\r\n if (typeof value === 'number') {\r\n if (!isFinite(value)) {\r\n return { error: 'invalid' }\r\n }\r\n value = parseInt(value)\r\n const date = parseDate(value, options.properties)\r\n if (!date) {\r\n return { error: 'invalid' }\r\n }\r\n return { value: date }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Boolean:\r\n if (typeof value === 'boolean') {\r\n return { value }\r\n }\r\n return { error: 'invalid' }\r\n\r\n default:\r\n if (typeof type === 'function') {\r\n return parseCustomValue(value, type)\r\n }\r\n throw new Error(`Unknown schema type: ${type && type.name || type}`)\r\n }\r\n}\r\n\r\nexport function getBlock(string, endCharacter, startIndex) {\r\n let i = 0\r\n let substring = ''\r\n let character\r\n while (startIndex + i < string.length) {\r\n const character = string[startIndex + i]\r\n if (character === endCharacter) {\r\n return [substring, i]\r\n }\r\n else if (character === '\"') {\r\n const block = getBlock(string, '\"', startIndex + i + 1)\r\n substring += block[0]\r\n i += '\"'.length + block[1] + '\"'.length\r\n }\r\n else {\r\n substring += character\r\n i++\r\n }\r\n }\r\n return [substring, i]\r\n}\r\n\r\n/**\r\n * Parses a string of comma-separated substrings into an array of substrings.\r\n * (the `export` is just for tests)\r\n * @param {string} string — A string of comma-separated substrings.\r\n * @return {string[]} An array of substrings.\r\n */\r\nexport function parseArray(string) {\r\n const blocks = []\r\n let index = 0\r\n while (index < string.length) {\r\n const [substring, length] = getBlock(string, ',', index)\r\n index += length + ','.length\r\n blocks.push(substring.trim())\r\n }\r\n return blocks\r\n}\r\n\r\n// Transpose a 2D array.\r\n// https://stackoverflow.com/questions/17428587/transposing-a-2d-array-in-javascript\r\nconst transpose = array => array[0].map((_, i) => array.map(row => row[i]))\r\n\r\nfunction validateSchema(schema) {\r\n for (const key of Object.keys(schema)) {\r\n const entry = schema[key]\r\n if (!entry.prop) {\r\n throw new Error(`\"prop\" not defined for schema entry \"${key}\".`)\r\n }\r\n }\r\n}"],"file":"convertToJson.js"}
1
+ {"version":3,"file":"convertToJson.js","names":["parseDate","Integer","isInteger","URL","isURL","Email","isEmail","DEFAULT_OPTIONS","isColumnOriented","data","schema","options","rowMap","validateSchema","transpose","columns","results","errors","i","length","result","read","push","error","row","rows","rowIndex","object","key","schemaEntry","isNestedSchema","type","Array","isArray","rawValue","indexOf","undefined","value","notEmpty","array","parseArray","map","_value","parseValue","required","column","prop","Object","keys","parse","parseCustomValue","parseValueOfType","oneOf","validate","message","String","isFinite","Number","stringifiedValue","parseFloat","Date","parseInt","date","properties","Boolean","Error","name","getBlock","string","endCharacter","startIndex","substring","character","block","blocks","index","trim","_","entry"],"sources":["../../../source/read/schema/convertToJson.js"],"sourcesContent":["import parseDate from '../parseDate.js'\r\n\r\nimport Integer, { isInteger } from '../../types/Integer.js'\r\nimport URL, { isURL } from '../../types/URL.js'\r\nimport Email, { isEmail } from '../../types/Email.js'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n isColumnOriented: false\r\n}\r\n\r\n/**\r\n * Convert 2D array to nested objects.\r\n * If row oriented data, row 0 is dotted key names.\r\n * Column oriented data is transposed.\r\n * @param {any[][]} data - An array of rows, each row being an array of cells.\r\n * @param {object} schema\r\n * @return {object[]}\r\n */\r\nexport default function(data, schema, options) {\r\n if (options) {\r\n options = {\r\n ...DEFAULT_OPTIONS,\r\n ...options\r\n }\r\n } else {\r\n options = DEFAULT_OPTIONS\r\n }\r\n\r\n const {\r\n isColumnOriented,\r\n rowMap\r\n } = options\r\n\r\n validateSchema(schema)\r\n\r\n if (isColumnOriented) {\r\n data = transpose(data)\r\n }\r\n\r\n const columns = data[0]\r\n\r\n const results = []\r\n const errors = []\r\n\r\n for (let i = 1; i < data.length; i++) {\r\n const result = read(schema, data[i], i - 1, columns, errors, options)\r\n if (result) {\r\n results.push(result)\r\n }\r\n }\r\n\r\n // Correct error rows.\r\n if (rowMap) {\r\n for (const error of errors) {\r\n // Convert the `row` index in `data` to the\r\n // actual `row` index in the spreadsheet.\r\n // The `1` compensates for the header row.\r\n error.row = rowMap[error.row] + 1\r\n }\r\n }\r\n\r\n return {\r\n rows: results,\r\n errors\r\n }\r\n}\r\n\r\nfunction read(schema, row, rowIndex, columns, errors, options) {\r\n const object = {}\r\n for (const key of Object.keys(schema)) {\r\n const schemaEntry = schema[key]\r\n const isNestedSchema = typeof schemaEntry.type === 'object' && !Array.isArray(schemaEntry.type)\r\n let rawValue = row[columns.indexOf(key)]\r\n if (rawValue === undefined) {\r\n rawValue = null\r\n }\r\n let value\r\n let error\r\n if (isNestedSchema) {\r\n value = read(schemaEntry.type, row, rowIndex, columns, errors, options)\r\n } else {\r\n if (rawValue === null) {\r\n value = null\r\n }\r\n else if (Array.isArray(schemaEntry.type)) {\r\n let notEmpty = false\r\n const array = parseArray(rawValue).map((_value) => {\r\n const result = parseValue(_value, schemaEntry, options)\r\n if (result.error) {\r\n value = _value\r\n error = result.error\r\n }\r\n if (result.value !== null) {\r\n notEmpty = true\r\n }\r\n return result.value\r\n })\r\n if (!error) {\r\n value = notEmpty ? array : null\r\n }\r\n } else {\r\n const result = parseValue(rawValue, schemaEntry, options)\r\n error = result.error\r\n value = error ? rawValue : result.value\r\n }\r\n }\r\n if (!error && value === null && schemaEntry.required) {\r\n error = 'required'\r\n }\r\n if (error) {\r\n error = {\r\n error,\r\n row: rowIndex + 1,\r\n column: key,\r\n value\r\n }\r\n if (schemaEntry.type) {\r\n error.type = schemaEntry.type\r\n }\r\n errors.push(error)\r\n } else if (value !== null) {\r\n object[schemaEntry.prop] = value\r\n }\r\n }\r\n if (Object.keys(object).length > 0) {\r\n return object\r\n }\r\n return null\r\n}\r\n\r\n/**\r\n * Converts textual value to a javascript typed value.\r\n * @param {any} value\r\n * @param {object} schemaEntry\r\n * @return {{ value: any, error: string }}\r\n */\r\nexport function parseValue(value, schemaEntry, options) {\r\n if (value === null) {\r\n return { value: null }\r\n }\r\n let result\r\n if (schemaEntry.parse) {\r\n result = parseCustomValue(value, schemaEntry.parse)\r\n } else if (schemaEntry.type) {\r\n result = parseValueOfType(\r\n value,\r\n // Supports parsing array types.\r\n // See `parseArray()` function for more details.\r\n // Example `type`: String[]\r\n // Input: 'Barack Obama, \"String, with, colons\", Donald Trump'\r\n // Output: ['Barack Obama', 'String, with, colons', 'Donald Trump']\r\n Array.isArray(schemaEntry.type) ? schemaEntry.type[0] : schemaEntry.type,\r\n options\r\n )\r\n } else {\r\n result = { value: value }\r\n // throw new Error('Invalid schema entry: no .type and no .parse():\\n\\n' + JSON.stringify(schemaEntry, null, 2))\r\n }\r\n // If errored then return the error.\r\n if (result.error) {\r\n return result\r\n }\r\n if (result.value !== null) {\r\n if (schemaEntry.oneOf && schemaEntry.oneOf.indexOf(result.value) < 0) {\r\n return { error: 'invalid' }\r\n }\r\n if (schemaEntry.validate) {\r\n try {\r\n schemaEntry.validate(result.value)\r\n } catch (error) {\r\n return { error: error.message }\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * Converts textual value to a custom value using supplied `.parse()`.\r\n * @param {any} value\r\n * @param {function} parse\r\n * @return {{ value: any, error: string }}\r\n */\r\nfunction parseCustomValue(value, parse) {\r\n try {\r\n value = parse(value)\r\n if (value === undefined) {\r\n return { value: null }\r\n }\r\n return { value }\r\n } catch (error) {\r\n return { error: error.message }\r\n }\r\n}\r\n\r\n/**\r\n * Converts textual value to a javascript typed value.\r\n * @param {any} value\r\n * @param {} type\r\n * @return {{ value: (string|number|Date|boolean), error: string }}\r\n */\r\nfunction parseValueOfType(value, type, options) {\r\n switch (type) {\r\n case String:\r\n if (typeof value === 'string') {\r\n return { value }\r\n }\r\n // The global `isFinite()` function filters out:\r\n // * NaN\r\n // * -Infinity\r\n // * Infinity\r\n // All other values pass (including non-numbers).\r\n if (typeof value === 'number') {\r\n if (isFinite(value)) {\r\n return { value: String(value) }\r\n }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Number:\r\n case Integer:\r\n // Convert strings to numbers.\r\n // Just an additional feature.\r\n // Won't happen when called from `readXlsx()`.\r\n if (typeof value === 'string') {\r\n const stringifiedValue = value\r\n value = parseFloat(value)\r\n if (String(value) !== stringifiedValue) {\r\n return { error: 'invalid' }\r\n }\r\n } else if (typeof value !== 'number') {\r\n return { error: 'invalid' }\r\n }\r\n // The global `isFinite()` function filters out:\r\n // * NaN\r\n // * -Infinity\r\n // * Infinity\r\n // All other values pass (including non-numbers).\r\n // At this point, `value` can only be a number.\r\n if (!isFinite(value)) {\r\n return { error: 'invalid' }\r\n }\r\n if (type === Integer && !isInteger(value)) {\r\n return { error: 'invalid' }\r\n }\r\n return { value }\r\n\r\n case URL:\r\n if (typeof value === 'string') {\r\n if (isURL(value)) {\r\n return { value }\r\n }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Email:\r\n if (typeof value === 'string') {\r\n if (isEmail(value)) {\r\n return { value }\r\n }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Date:\r\n // XLSX has no specific format for dates.\r\n // Sometimes a date can be heuristically detected.\r\n // https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777\r\n if (value instanceof Date) {\r\n return { value }\r\n }\r\n if (typeof value === 'number') {\r\n if (!isFinite(value)) {\r\n return { error: 'invalid' }\r\n }\r\n value = parseInt(value)\r\n const date = parseDate(value, options.properties)\r\n if (!date) {\r\n return { error: 'invalid' }\r\n }\r\n return { value: date }\r\n }\r\n return { error: 'invalid' }\r\n\r\n case Boolean:\r\n if (typeof value === 'boolean') {\r\n return { value }\r\n }\r\n return { error: 'invalid' }\r\n\r\n default:\r\n if (typeof type === 'function') {\r\n return parseCustomValue(value, type)\r\n }\r\n throw new Error(`Unknown schema type: ${type && type.name || type}`)\r\n }\r\n}\r\n\r\nexport function getBlock(string, endCharacter, startIndex) {\r\n let i = 0\r\n let substring = ''\r\n let character\r\n while (startIndex + i < string.length) {\r\n const character = string[startIndex + i]\r\n if (character === endCharacter) {\r\n return [substring, i]\r\n }\r\n else if (character === '\"') {\r\n const block = getBlock(string, '\"', startIndex + i + 1)\r\n substring += block[0]\r\n i += '\"'.length + block[1] + '\"'.length\r\n }\r\n else {\r\n substring += character\r\n i++\r\n }\r\n }\r\n return [substring, i]\r\n}\r\n\r\n/**\r\n * Parses a string of comma-separated substrings into an array of substrings.\r\n * (the `export` is just for tests)\r\n * @param {string} string — A string of comma-separated substrings.\r\n * @return {string[]} An array of substrings.\r\n */\r\nexport function parseArray(string) {\r\n const blocks = []\r\n let index = 0\r\n while (index < string.length) {\r\n const [substring, length] = getBlock(string, ',', index)\r\n index += length + ','.length\r\n blocks.push(substring.trim())\r\n }\r\n return blocks\r\n}\r\n\r\n// Transpose a 2D array.\r\n// https://stackoverflow.com/questions/17428587/transposing-a-2d-array-in-javascript\r\nconst transpose = array => array[0].map((_, i) => array.map(row => row[i]))\r\n\r\nfunction validateSchema(schema) {\r\n for (const key of Object.keys(schema)) {\r\n const entry = schema[key]\r\n if (!entry.prop) {\r\n throw new Error(`\"prop\" not defined for schema entry \"${key}\".`)\r\n }\r\n }\r\n}"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../source/read/schema/convertToJson.test.js"],"names":["convertToJson","parseArray","getBlock","Integer","URL","Email","date","convertToUTCTimezone","Date","describe","it","should","deep","equal","parse","getTimezoneOffset","DATE","prop","type","NUMBER","Number","BOOLEAN","Boolean","STRING","String","PHONE","value","PHONE_TYPE","rows","errors","toISOString","number","phone","phoneType","string","required","error","row","column","NAMES","names","INTEGER","length","EMAIL","NAME","validate","Error","TRUE","FALSE","INVALID","rowMap","STATUS","oneOf","getTime"],"mappings":"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","sourcesContent":["import convertToJson, { parseArray, getBlock } from './convertToJson'\r\n\r\nimport Integer from '../../types/Integer'\r\nimport URL from '../../types/URL'\r\nimport Email from '../../types/Email'\r\n\r\nconst date = convertToUTCTimezone(new Date(2018, 3 - 1, 24))\r\n\r\ndescribe('convertToJson', () => {\r\n\tit('should parse arrays', () => {\r\n\t\tgetBlock('abc\"de,f\"g,h', ',', 0).should.deep.equal(['abcde,fg', 10])\r\n\t\tparseArray(' abc\"de,f\"g , h ').should.deep.equal(['abcde,fg', 'h'])\r\n\t})\r\n\r\n\tit('should convert to json', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING',\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t'123',\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc',\r\n\t\t\t\t'(123) 456-7890',\r\n\t\t\t\t'(123) 456-7890'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean',\r\n\t\t\t\ttype: Boolean\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string',\r\n\t\t\t\ttype: String\r\n\t\t\t},\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\ttype(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tphone: '+11234567890',\r\n\t\t\tphoneType: '+11234567890',\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should support schema entries with no `type`s', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t123,\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date'\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number'\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean'\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string'\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should require fields', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'required',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: null\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should parse arrays', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAMES'\r\n\t\t\t], [\r\n\t\t\t\t'Barack Obama, \"String, with, colons\", Donald Trump'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAMES: {\r\n\t\t\t\tprop: 'names',\r\n\t\t\t\ttype: [String]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tnames: ['Barack Obama', 'String, with, colons', 'Donald Trump']\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse integers', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'INTEGER'\r\n\t\t\t], [\r\n\t\t\t\t'1'\r\n\t\t\t], [\r\n\t\t\t\t'1.2'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tINTEGER: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Integer\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('INTEGER')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 1\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse URLs', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'URL'\r\n\t\t\t], [\r\n\t\t\t\t'https://kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'kremlin.ru'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tURL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: URL\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('URL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'https://kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse Emails', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'EMAIL'\r\n\t\t\t], [\r\n\t\t\t\t'vladimir.putin@kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tEMAIL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Email\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('EMAIL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'vladimir.putin@kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should call .validate()', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAME'\r\n\t\t\t], [\r\n\t\t\t\t'George Bush'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAME: {\r\n\t\t\t\tprop: 'name',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidate: (value) => {\r\n\t\t\t\t\tif (value === 'George Bush') {\r\n\t\t\t\t\t\tthrow new Error('custom-error')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'custom-error',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NAME',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'George Bush'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate booleans', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'TRUE',\r\n\t\t\t\t'FALSE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\ttrue,\r\n\t\t\t\tfalse,\r\n\t\t\t\t'TRUE'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tTRUE: {\r\n\t\t\t\tprop: 'true',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tFALSE: {\r\n\t\t\t\tprop: 'false',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Boolean,\r\n\t\t\tvalue: 'TRUE'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\ttrue: true,\r\n\t\t\tfalse: false\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate dates', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\t43183, // 03/24/2018',\r\n\t\t\t\t'-'\r\n\t\t\t], [\r\n\t\t\t\tdate, // 03/24/2018',,\r\n\t\t\t\t'-'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 2,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate\r\n\t\t}, {\r\n\t\t\tdate\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should throw parse() errors', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\t'123',\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE',\r\n\t\t\tvalue: '123'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE_TYPE',\r\n\t\t\tvalue: '123'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should map row numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\trowMap: [2, 5]\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 6,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'STARTED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(0)\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (not valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'SCHEDULED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'STATUS',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'SCHEDULED'\r\n\t\t}])\r\n\t})\r\n})\r\n\r\n\r\n// Converts timezone to UTC while preserving the same time\r\nfunction convertToUTCTimezone(date) {\r\n\t// Doesn't account for leap seconds but I guess that's ok\r\n\t// given that javascript's own `Date()` does not either.\r\n\t// https://www.timeanddate.com/time/leap-seconds-background.html\r\n\t//\r\n\t// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\r\n\t//\r\n\treturn new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)\r\n}\r\n"],"file":"convertToJson.test.js"}
1
+ {"version":3,"file":"convertToJson.test.js","names":["convertToJson","parseArray","getBlock","Integer","URL","Email","date","convertToUTCTimezone","Date","describe","it","should","deep","equal","parse","getTimezoneOffset","DATE","prop","type","NUMBER","Number","BOOLEAN","Boolean","STRING","String","PHONE","value","PHONE_TYPE","rows","errors","toISOString","number","phone","phoneType","string","required","error","row","column","NAMES","names","INTEGER","length","EMAIL","NAME","validate","Error","TRUE","FALSE","INVALID","rowMap","STATUS","oneOf","getTime"],"sources":["../../../source/read/schema/convertToJson.test.js"],"sourcesContent":["import convertToJson, { parseArray, getBlock } from './convertToJson.js'\r\n\r\nimport Integer from '../../types/Integer.js'\r\nimport URL from '../../types/URL.js'\r\nimport Email from '../../types/Email.js'\r\n\r\nconst date = convertToUTCTimezone(new Date(2018, 3 - 1, 24))\r\n\r\ndescribe('convertToJson', () => {\r\n\tit('should parse arrays', () => {\r\n\t\tgetBlock('abc\"de,f\"g,h', ',', 0).should.deep.equal(['abcde,fg', 10])\r\n\t\tparseArray(' abc\"de,f\"g , h ').should.deep.equal(['abcde,fg', 'h'])\r\n\t})\r\n\r\n\tit('should convert to json', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING',\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t'123',\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc',\r\n\t\t\t\t'(123) 456-7890',\r\n\t\t\t\t'(123) 456-7890'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean',\r\n\t\t\t\ttype: Boolean\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string',\r\n\t\t\t\ttype: String\r\n\t\t\t},\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\ttype(value) {\r\n\t\t\t\t\treturn '+11234567890'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tphone: '+11234567890',\r\n\t\t\tphoneType: '+11234567890',\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should support schema entries with no `type`s', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'BOOLEAN',\r\n\t\t\t\t'STRING'\r\n\t\t\t], [\r\n\t\t\t\tnew Date(Date.parse('03/24/2018') - new Date().getTimezoneOffset() * 60 * 1000), // '43183', // '03/24/2018',\r\n\t\t\t\t123,\r\n\t\t\t\ttrue,\r\n\t\t\t\t'abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date'\r\n\t\t\t},\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number'\r\n\t\t\t},\r\n\t\t\tBOOLEAN: {\r\n\t\t\t\tprop: 'boolean'\r\n\t\t\t},\r\n\t\t\tSTRING: {\r\n\t\t\t\tprop: 'string'\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Convert `Date` to `String` for equality check.\r\n\t\trows[0].date = rows[0].date.toISOString()\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate: date.toISOString(),\r\n\t\t\tnumber: 123,\r\n\t\t\tboolean: true,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should require fields', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'required',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: null\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should parse arrays', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAMES'\r\n\t\t\t], [\r\n\t\t\t\t'Barack Obama, \"String, with, colons\", Donald Trump'\r\n\t\t\t], [\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAMES: {\r\n\t\t\t\tprop: 'names',\r\n\t\t\t\ttype: [String]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tnames: ['Barack Obama', 'String, with, colons', 'Donald Trump']\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse integers', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'INTEGER'\r\n\t\t\t], [\r\n\t\t\t\t'1'\r\n\t\t\t], [\r\n\t\t\t\t'1.2'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tINTEGER: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Integer\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('INTEGER')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 1\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse URLs', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'URL'\r\n\t\t\t], [\r\n\t\t\t\t'https://kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'kremlin.ru'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tURL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: URL\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('URL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'https://kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse Emails', () =>\r\n\t{\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'EMAIL'\r\n\t\t\t], [\r\n\t\t\t\t'vladimir.putin@kremlin.ru'\r\n\t\t\t], [\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tEMAIL: {\r\n\t\t\t\tprop: 'value',\r\n\t\t\t\ttype: Email\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(1)\r\n\t\terrors[0].row.should.equal(2)\r\n\t\terrors[0].column.should.equal('EMAIL')\r\n\t\terrors[0].error.should.equal('invalid')\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 'vladimir.putin@kremlin.ru'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should call .validate()', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NAME'\r\n\t\t\t], [\r\n\t\t\t\t'George Bush'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNAME: {\r\n\t\t\t\tprop: 'name',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidate: (value) => {\r\n\t\t\t\t\tif (value === 'George Bush') {\r\n\t\t\t\t\t\tthrow new Error('custom-error')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'custom-error',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NAME',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'George Bush'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should validate booleans', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'TRUE',\r\n\t\t\t\t'FALSE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\ttrue,\r\n\t\t\t\tfalse,\r\n\t\t\t\t'TRUE'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tTRUE: {\r\n\t\t\t\tprop: 'true',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tFALSE: {\r\n\t\t\t\tprop: 'false',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Boolean,\r\n\t\t\tvalue: 'TRUE'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\ttrue: true,\r\n\t\t\tfalse: false\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate dates', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'DATE',\r\n\t\t\t\t'INVALID'\r\n\t\t\t], [\r\n\t\t\t\t43183, // 03/24/2018',\r\n\t\t\t\t'-'\r\n\t\t\t], [\r\n\t\t\t\tdate, // 03/24/2018',,\r\n\t\t\t\t'-'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tDATE: {\r\n\t\t\t\tprop: 'date',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tINVALID: {\r\n\t\t\t\tprop: 'invalid',\r\n\t\t\t\ttype: Date,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 2,\r\n\t\t\tcolumn: 'INVALID',\r\n\t\t\ttype: Date,\r\n\t\t\tvalue: '-'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tdate\r\n\t\t}, {\r\n\t\t\tdate\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should throw parse() errors', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'PHONE',\r\n\t\t\t\t'PHONE_TYPE'\r\n\t\t\t], [\r\n\t\t\t\t'123',\r\n\t\t\t\t'123'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tPHONE: {\r\n\t\t\t\tprop: 'phone',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tPHONE_TYPE: {\r\n\t\t\t\tprop: 'phoneType',\r\n\t\t\t\tparse: () => {\r\n\t\t\t\t\tthrow new Error('invalid')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE',\r\n\t\t\tvalue: '123'\r\n\t\t}, {\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'PHONE_TYPE',\r\n\t\t\tvalue: '123'\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should map row numbers', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER'\r\n\t\t\t], [\r\n\t\t\t\t'123abc'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tNUMBER: {\r\n\t\t\t\tprop: 'number',\r\n\t\t\t\ttype: Number\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\trowMap: [2, 5]\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 6,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\tvalue: '123abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'STARTED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.length.should.equal(0)\r\n\t})\r\n\r\n\tit('should validate \"oneOf\" (not valid)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'STATUS'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\t'SCHEDULED'\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tSTATUS: {\r\n\t\t\t\tprop: 'status',\r\n\t\t\t\ttype: String,\r\n\t\t\t\toneOf: [\r\n\t\t\t\t\t'STARTED',\r\n\t\t\t\t\t'FINISHED'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\terror: 'invalid',\r\n\t\t\trow: 1,\r\n\t\t\tcolumn: 'STATUS',\r\n\t\t\ttype: String,\r\n\t\t\tvalue: 'SCHEDULED'\r\n\t\t}])\r\n\t})\r\n})\r\n\r\n\r\n// Converts timezone to UTC while preserving the same time\r\nfunction convertToUTCTimezone(date) {\r\n\t// Doesn't account for leap seconds but I guess that's ok\r\n\t// given that javascript's own `Date()` does not either.\r\n\t// https://www.timeanddate.com/time/leap-seconds-background.html\r\n\t//\r\n\t// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\r\n\t//\r\n\treturn new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)\r\n}\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/read/unpackXlsxFileBrowser.js"],"names":["JSZip","unpackXlsxFile","file","files","loadAsync","then","zip","forEach","relativePath","zipEntry","dir","push","name","entries","Promise","all","map","async","content"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,IAAxB,EAA8B;AAC5C,MAAMC,KAAK,GAAG,EAAd;AAEA,SAAOH,KAAK,CAACI,SAAN,CAAgBF,IAAhB,EAAsBG,IAAtB,CAA2B,UAACC,GAAD,EAAS;AAC1C,QAAMH,KAAK,GAAG,EAAd;AACAG,IAAAA,GAAG,CAACC,OAAJ,CAAY,UAACC,YAAD,EAAeC,QAAf,EAA4B;AACvC,UAAI,CAACA,QAAQ,CAACC,GAAd,EAAmB;AAClBP,QAAAA,KAAK,CAACQ,IAAN,CAAWF,QAAQ,CAACG,IAApB;AACA;AACD,KAJD;AAMA,QAAMC,OAAO,GAAG,EAAhB;AACA,WAAOC,OAAO,CAACC,GAAR,CAAYZ,KAAK,CAACa,GAAN,CAAU,UAACd,IAAD,EAAU;AACtC,aAAOI,GAAG,CAACJ,IAAJ,CAASA,IAAT,EAAee,KAAf,CAAqB,QAArB,EAA+BZ,IAA/B,CAAoC,UAAAa,OAAO;AAAA,eAAIL,OAAO,CAACX,IAAD,CAAP,GAAgBgB,OAApB;AAAA,OAA3C,CAAP;AACA,KAFkB,CAAZ,EAGNb,IAHM,CAGD;AAAA,aAAMQ,OAAN;AAAA,KAHC,CAAP;AAIA,GAbM,CAAP;AAcA","sourcesContent":["import JSZip from 'jszip'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {file} file - A file being uploaded in the browser.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(file) {\r\n\tconst files = {}\r\n\r\n\treturn JSZip.loadAsync(file).then((zip) => {\r\n\t\tconst files = []\r\n\t\tzip.forEach((relativePath, zipEntry) => {\r\n\t\t\tif (!zipEntry.dir) {\r\n\t\t\t\tfiles.push(zipEntry.name)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst entries = {}\r\n\t\treturn Promise.all(files.map((file) => {\r\n\t\t\treturn zip.file(file).async('string').then(content => entries[file] = content)\r\n\t\t}))\r\n\t\t.then(() => entries)\r\n\t})\r\n}"],"file":"unpackXlsxFileBrowser.js"}
1
+ {"version":3,"file":"unpackXlsxFileBrowser.js","names":["JSZip","unpackXlsxFile","file","files","loadAsync","then","zip","forEach","relativePath","zipEntry","dir","push","name","entries","Promise","all","map","async","content"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import JSZip from 'jszip'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {file} file - A file being uploaded in the browser.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(file) {\r\n\tconst files = {}\r\n\r\n\treturn JSZip.loadAsync(file).then((zip) => {\r\n\t\tconst files = []\r\n\t\tzip.forEach((relativePath, zipEntry) => {\r\n\t\t\tif (!zipEntry.dir) {\r\n\t\t\t\tfiles.push(zipEntry.name)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst entries = {}\r\n\t\treturn Promise.all(files.map((file) => {\r\n\t\t\treturn zip.file(file).async('string').then(content => entries[file] = content)\r\n\t\t}))\r\n\t\t.then(() => entries)\r\n\t})\r\n}"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,IAAxB,EAA8B;EAC5C,IAAMC,KAAK,GAAG,EAAd;EAEA,OAAOH,KAAK,CAACI,SAAN,CAAgBF,IAAhB,EAAsBG,IAAtB,CAA2B,UAACC,GAAD,EAAS;IAC1C,IAAMH,KAAK,GAAG,EAAd;IACAG,GAAG,CAACC,OAAJ,CAAY,UAACC,YAAD,EAAeC,QAAf,EAA4B;MACvC,IAAI,CAACA,QAAQ,CAACC,GAAd,EAAmB;QAClBP,KAAK,CAACQ,IAAN,CAAWF,QAAQ,CAACG,IAApB;MACA;IACD,CAJD;IAMA,IAAMC,OAAO,GAAG,EAAhB;IACA,OAAOC,OAAO,CAACC,GAAR,CAAYZ,KAAK,CAACa,GAAN,CAAU,UAACd,IAAD,EAAU;MACtC,OAAOI,GAAG,CAACJ,IAAJ,CAASA,IAAT,EAAee,KAAf,CAAqB,QAArB,EAA+BZ,IAA/B,CAAoC,UAAAa,OAAO;QAAA,OAAIL,OAAO,CAACX,IAAD,CAAP,GAAgBgB,OAApB;MAAA,CAA3C,CAAP;IACA,CAFkB,CAAZ,EAGNb,IAHM,CAGD;MAAA,OAAMQ,OAAN;IAAA,CAHC,CAAP;EAIA,CAbM,CAAP;AAcA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/read/unpackXlsxFileNode.js"],"names":["fs","Stream","unzip","unpackXlsxFile","input","entries","stream","createReadStream","Promise","resolve","reject","entryPromises","on","pipe","Parse","all","then","entry","contents","push","data","toString","path"],"mappings":"AAAA,OAAOA,EAAP,MAAe,IAAf;AACA,OAAOC,MAAP,MAAmB,QAAnB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,KAAxB,EAA+B;AAC5C;AACA;AACA;AACA,MAAMC,OAAO,GAAG,EAAhB;AAEA,MAAMC,MAAM,GAAGF,KAAK,YAAYH,MAAjB,GAA0BG,KAA1B,GAAkCJ,EAAE,CAACO,gBAAH,CAAoBH,KAApB,CAAjD;AAEA,SAAO,IAAII,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,QAAMC,aAAa,GAAG,EAAtB;AAEAL,IAAAA,MAAM,CACJ;AADI,KAEHM,EAFH,CAEM,OAFN,EAEeF,MAFf,EAGGG,IAHH,CAGQX,KAAK,CAACY,KAAN,EAHR,EAIE;AAJF,KAKGF,EALH,CAKM,OALN,EAKeF,MALf,EAMGE,EANH,CAMM,OANN,EAMe;AAAA,aAAOJ,OAAO,CAACO,GAAR,CAAYJ,aAAZ,EAA2BK,IAA3B,CAAgC;AAAA,eAAMP,OAAO,CAACJ,OAAD,CAAb;AAAA,OAAhC,CAAP;AAAA,KANf,EAOGO,EAPH,CAOM,OAPN,EAOe,UAACK,KAAD,EAAW;AACtB,UAAIC,QAAQ,GAAG,EAAf,CADsB,CAEtB;;AACAP,MAAAA,aAAa,CAACQ,IAAd,CAAmB,IAAIX,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC1CQ,QAAAA,KAAK,CACFL,EADH,CACM,MADN,EACc,UAAAQ,IAAI;AAAA,iBAAIF,QAAQ,IAAIE,IAAI,CAACC,QAAL,EAAhB;AAAA,SADlB,EAEGT,EAFH,CAEM,KAFN,EAEa;AAAA,iBAAMH,OAAO,CAACJ,OAAO,CAACY,KAAK,CAACK,IAAP,CAAP,GAAsBJ,QAAvB,CAAb;AAAA,SAFb;AAGD,OAJkB,CAAnB;AAKD,KAfH;AAgBD,GAnBM,CAAP;AAoBD","sourcesContent":["import fs from 'fs'\r\nimport Stream from 'stream'\r\nimport unzip from 'unzipper'\r\n\r\n/**\r\n * Reads XLSX file in Node.js.\r\n * @param {(string|Stream)} input - A Node.js readable stream or a path to a file.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n // XLSX file is a zip archive.\r\n // The `entries` object stores the files\r\n // and their contents from this XLSX zip archive.\r\n const entries = {}\r\n\r\n const stream = input instanceof Stream ? input : fs.createReadStream(input)\r\n\r\n return new Promise((resolve, reject) => {\r\n const entryPromises = []\r\n\r\n stream\r\n // This first \"error\" listener is for the original stream errors.\r\n .on('error', reject)\r\n .pipe(unzip.Parse())\r\n // This second \"error\" listener is for the unzip stream errors.\r\n .on('error', reject)\r\n .on('close', () => Promise.all(entryPromises).then(() => resolve(entries)))\r\n .on('entry', (entry) => {\r\n let contents = ''\r\n // To ignore an entry: `entry.autodrain()`.\r\n entryPromises.push(new Promise((resolve) => {\r\n entry\r\n .on('data', data => contents += data.toString())\r\n .on('end', () => resolve(entries[entry.path] = contents))\r\n }))\r\n })\r\n })\r\n}\r\n"],"file":"unpackXlsxFileNode.js"}
1
+ {"version":3,"file":"unpackXlsxFileNode.js","names":["fs","Stream","unzip","unpackXlsxFile","input","entries","stream","createReadStream","Promise","resolve","reject","entryPromises","on","pipe","Parse","all","then","entry","contents","push","data","toString","path"],"sources":["../../source/read/unpackXlsxFileNode.js"],"sourcesContent":["import fs from 'fs'\r\nimport Stream from 'stream'\r\nimport unzip from 'unzipper'\r\n\r\n/**\r\n * Reads XLSX file in Node.js.\r\n * @param {(string|Stream)} input - A Node.js readable stream or a path to a file.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n // XLSX file is a zip archive.\r\n // The `entries` object stores the files\r\n // and their contents from this XLSX zip archive.\r\n const entries = {}\r\n\r\n const stream = input instanceof Stream ? input : fs.createReadStream(input)\r\n\r\n return new Promise((resolve, reject) => {\r\n const entryPromises = []\r\n\r\n stream\r\n // This first \"error\" listener is for the original stream errors.\r\n .on('error', reject)\r\n .pipe(unzip.Parse())\r\n // This second \"error\" listener is for the unzip stream errors.\r\n .on('error', reject)\r\n .on('close', () => Promise.all(entryPromises).then(() => resolve(entries)))\r\n .on('entry', (entry) => {\r\n let contents = ''\r\n // To ignore an entry: `entry.autodrain()`.\r\n entryPromises.push(new Promise((resolve) => {\r\n entry\r\n .on('data', data => contents += data.toString())\r\n .on('end', () => resolve(entries[entry.path] = contents))\r\n }))\r\n })\r\n })\r\n}\r\n"],"mappings":"AAAA,OAAOA,EAAP,MAAe,IAAf;AACA,OAAOC,MAAP,MAAmB,QAAnB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,KAAxB,EAA+B;EAC5C;EACA;EACA;EACA,IAAMC,OAAO,GAAG,EAAhB;EAEA,IAAMC,MAAM,GAAGF,KAAK,YAAYH,MAAjB,GAA0BG,KAA1B,GAAkCJ,EAAE,CAACO,gBAAH,CAAoBH,KAApB,CAAjD;EAEA,OAAO,IAAII,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IACtC,IAAMC,aAAa,GAAG,EAAtB;IAEAL,MAAM,CACJ;IADI,CAEHM,EAFH,CAEM,OAFN,EAEeF,MAFf,EAGGG,IAHH,CAGQX,KAAK,CAACY,KAAN,EAHR,EAIE;IAJF,CAKGF,EALH,CAKM,OALN,EAKeF,MALf,EAMGE,EANH,CAMM,OANN,EAMe;MAAA,OAAOJ,OAAO,CAACO,GAAR,CAAYJ,aAAZ,EAA2BK,IAA3B,CAAgC;QAAA,OAAMP,OAAO,CAACJ,OAAD,CAAb;MAAA,CAAhC,CAAP;IAAA,CANf,EAOGO,EAPH,CAOM,OAPN,EAOe,UAACK,KAAD,EAAW;MACtB,IAAIC,QAAQ,GAAG,EAAf,CADsB,CAEtB;;MACAP,aAAa,CAACQ,IAAd,CAAmB,IAAIX,OAAJ,CAAY,UAACC,OAAD,EAAa;QAC1CQ,KAAK,CACFL,EADH,CACM,MADN,EACc,UAAAQ,IAAI;UAAA,OAAIF,QAAQ,IAAIE,IAAI,CAACC,QAAL,EAAhB;QAAA,CADlB,EAEGT,EAFH,CAEM,KAFN,EAEa;UAAA,OAAMH,OAAO,CAACJ,OAAO,CAACY,KAAK,CAACK,IAAP,CAAP,GAAsBJ,QAAvB,CAAb;QAAA,CAFb;MAGD,CAJkB,CAAnB;IAKD,CAfH;EAgBD,CAnBM,CAAP;AAoBD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Email.js"],"names":["Email","regexp","isEmail","value","test"],"mappings":"AAAA,eAAe,SAASA,KAAT,GAAiB,CAAE;AAElC,IAAMC,MAAM,GAAG,0CAAf;AAEA,OAAO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AAC9B,SAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA","sourcesContent":["export default function Email() {}\r\n\r\nconst regexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i\r\n\r\nexport function isEmail(value) {\r\n\treturn regexp.test(value)\r\n}"],"file":"Email.js"}
1
+ {"version":3,"file":"Email.js","names":["Email","regexp","isEmail","value","test"],"sources":["../../source/types/Email.js"],"sourcesContent":["export default function Email() {}\r\n\r\nconst regexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i\r\n\r\nexport function isEmail(value) {\r\n\treturn regexp.test(value)\r\n}"],"mappings":"AAAA,eAAe,SAASA,KAAT,GAAiB,CAAE;AAElC,IAAMC,MAAM,GAAG,0CAAf;AAEA,OAAO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;EAC9B,OAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Email.test.js"],"names":["isEmail","describe","it","should","equal"],"mappings":"AAAA,SAASA,OAAT,QAAwB,SAAxB;AAEAC,QAAQ,CAAC,OAAD,EAAU,YAAM;AACvBC,EAAAA,EAAE,CAAC,0BAAD,EAA6B,YAAM;AACpCF,IAAAA,OAAO,CAAC,KAAD,CAAP,CAAeG,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;AACAJ,IAAAA,OAAO,CAAC,2BAAD,CAAP,CAAqCG,MAArC,CAA4CC,KAA5C,CAAkD,IAAlD;AACA,GAHC,CAAF;AAIA,CALO,CAAR","sourcesContent":["import { isEmail } from './Email'\r\n\r\ndescribe('Email', () => {\r\n\tit('should validate an Email', () => {\r\n\t\tisEmail('123').should.equal(false)\r\n\t\tisEmail('vladimir.putin@kremlin.ru').should.equal(true)\r\n\t})\r\n})"],"file":"Email.test.js"}
1
+ {"version":3,"file":"Email.test.js","names":["isEmail","describe","it","should","equal"],"sources":["../../source/types/Email.test.js"],"sourcesContent":["import { isEmail } from './Email.js'\r\n\r\ndescribe('Email', () => {\r\n\tit('should validate an Email', () => {\r\n\t\tisEmail('123').should.equal(false)\r\n\t\tisEmail('vladimir.putin@kremlin.ru').should.equal(true)\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,OAAT,QAAwB,YAAxB;AAEAC,QAAQ,CAAC,OAAD,EAAU,YAAM;EACvBC,EAAE,CAAC,0BAAD,EAA6B,YAAM;IACpCF,OAAO,CAAC,KAAD,CAAP,CAAeG,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;IACAJ,OAAO,CAAC,2BAAD,CAAP,CAAqCG,MAArC,CAA4CC,KAA5C,CAAkD,IAAlD;EACA,CAHC,CAAF;AAIA,CALO,CAAR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Integer.js"],"names":["Integer","isInteger","x"],"mappings":"AAAA,eAAe,SAASA,OAAT,GAAmB,CAAE;AAEpC,OAAO,SAASC,SAAT,CAAmBC,CAAnB,EAAsB;AAC5B;AACA,SAAO,CAACA,CAAC,GAAG,CAAL,MAAYA,CAAnB;AACA","sourcesContent":["export default function Integer() {}\r\n\r\nexport function isInteger(x) {\r\n\t// https://stackoverflow.com/questions/14636536/how-to-check-if-a-variable-is-an-integer-in-javascript\r\n\treturn (x | 0) === x\r\n}"],"file":"Integer.js"}
1
+ {"version":3,"file":"Integer.js","names":["Integer","isInteger","x"],"sources":["../../source/types/Integer.js"],"sourcesContent":["export default function Integer() {}\r\n\r\nexport function isInteger(x) {\r\n\t// https://stackoverflow.com/questions/14636536/how-to-check-if-a-variable-is-an-integer-in-javascript\r\n\treturn (x | 0) === x\r\n}"],"mappings":"AAAA,eAAe,SAASA,OAAT,GAAmB,CAAE;AAEpC,OAAO,SAASC,SAAT,CAAmBC,CAAnB,EAAsB;EAC5B;EACA,OAAO,CAACA,CAAC,GAAG,CAAL,MAAYA,CAAnB;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/Integer.test.js"],"names":["isInteger","describe","it","should","equal"],"mappings":"AAAA,SAASA,SAAT,QAA0B,WAA1B;AAEAC,QAAQ,CAAC,SAAD,EAAY,YAAM;AACzBC,EAAAA,EAAE,CAAC,4BAAD,EAA+B,YAAM;AACtC;AACA;AACAF,IAAAA,SAAS,CAAC,GAAD,CAAT,CAAeG,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;AACAJ,IAAAA,SAAS,CAAC,CAAD,CAAT,CAAaG,MAAb,CAAoBC,KAApB,CAA0B,IAA1B;AACA,GALC,CAAF;AAMA,CAPO,CAAR","sourcesContent":["import { isInteger } from './Integer'\r\n\r\ndescribe('Integer', () => {\r\n\tit('should validate an Integer', () => {\r\n\t\t// isInteger('1.2').should.equal(false)\r\n\t\t// isInteger('1').should.equal(true)\r\n\t\tisInteger(1.2).should.equal(false)\r\n\t\tisInteger(1).should.equal(true)\r\n\t})\r\n})"],"file":"Integer.test.js"}
1
+ {"version":3,"file":"Integer.test.js","names":["isInteger","describe","it","should","equal"],"sources":["../../source/types/Integer.test.js"],"sourcesContent":["import { isInteger } from './Integer.js'\r\n\r\ndescribe('Integer', () => {\r\n\tit('should validate an Integer', () => {\r\n\t\t// isInteger('1.2').should.equal(false)\r\n\t\t// isInteger('1').should.equal(true)\r\n\t\tisInteger(1.2).should.equal(false)\r\n\t\tisInteger(1).should.equal(true)\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,SAAT,QAA0B,cAA1B;AAEAC,QAAQ,CAAC,SAAD,EAAY,YAAM;EACzBC,EAAE,CAAC,4BAAD,EAA+B,YAAM;IACtC;IACA;IACAF,SAAS,CAAC,GAAD,CAAT,CAAeG,MAAf,CAAsBC,KAAtB,CAA4B,KAA5B;IACAJ,SAAS,CAAC,CAAD,CAAT,CAAaG,MAAb,CAAoBC,KAApB,CAA0B,IAA1B;EACA,CALC,CAAF;AAMA,CAPO,CAAR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/URL.js"],"names":["URL","regexp","isURL","value","test"],"mappings":"AAAA,eAAe,SAASA,GAAT,GAAe,CAAE,C,CAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,MAAM,GAAG,+RAAf,C,CAEA;;AACA,OAAO,SAASC,KAAT,CAAeC,KAAf,EAAsB;AAC5B,SAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA","sourcesContent":["export default function URL() {}\r\n\r\n// URL regexp explanation:\r\n//\r\n// /^\r\n//\r\n// \t(?:\r\n// \t // Matches optional \"http(s):\" or \"ftp:\":\r\n// \t\t(?:\r\n// \t\t\t(?:https?|ftp):\r\n// \t\t)?\r\n//\r\n// \t // Matches \"//\" (required):\r\n// \t\t\\/\\/\r\n// \t)\r\n//\r\n// \t// Matches a valid non-local IP address:\r\n// \t(?:\r\n// \t\t(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])\r\n// \t\t){2}\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4])\r\n// \t\t)\r\n//\r\n// \t // Or,\r\n// \t\t|\r\n//\r\n// \t // Matches an alpha-numeric domain name.\r\n// \t\t(?:\r\n// \t\t\t(?:\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff_-]{0,62}\r\n// \t\t\t)?\r\n// \t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\\.\r\n// \t\t)*\r\n// \t\t(?:\r\n// \t // Domain zone: \"com\", \"net\", etc (required):\r\n// \t\t\t[a-z\\u00a1-\\uffff]{2,}\r\n// \t\t)\r\n// \t)\r\n//\r\n// \t// Matches a colon and a port number:\r\n// \t(?::\\d{2,5})?\r\n//\r\n// \t// Matches everything after the \"origin\":\r\n// \t// * pathname\r\n// \t// * query\r\n// \t// * hash\r\n// \t(?:[/?#]\\S*)?\r\n//\r\n// $/i\r\n\r\nconst regexp = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)*(?:[a-z\\u00a1-\\uffff]{2,}))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i\r\n\r\n// https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url\r\nexport function isURL(value) {\r\n\treturn regexp.test(value)\r\n}"],"file":"URL.js"}
1
+ {"version":3,"file":"URL.js","names":["URL","regexp","isURL","value","test"],"sources":["../../source/types/URL.js"],"sourcesContent":["export default function URL() {}\r\n\r\n// URL regexp explanation:\r\n//\r\n// /^\r\n//\r\n// \t(?:\r\n// \t // Matches optional \"http(s):\" or \"ftp:\":\r\n// \t\t(?:\r\n// \t\t\t(?:https?|ftp):\r\n// \t\t)?\r\n//\r\n// \t // Matches \"//\" (required):\r\n// \t\t\\/\\/\r\n// \t)\r\n//\r\n// \t// Matches a valid non-local IP address:\r\n// \t(?:\r\n// \t\t(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])\r\n// \t\t){2}\r\n// \t\t(?:\r\n// \t\t\t\\.\r\n// \t\t\t(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4])\r\n// \t\t)\r\n//\r\n// \t // Or,\r\n// \t\t|\r\n//\r\n// \t // Matches an alpha-numeric domain name.\r\n// \t\t(?:\r\n// \t\t\t(?:\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\t[a-z0-9\\u00a1-\\uffff_-]{0,62}\r\n// \t\t\t)?\r\n// \t\t\t[a-z0-9\\u00a1-\\uffff]\r\n// \t\t\t\\.\r\n// \t\t)*\r\n// \t\t(?:\r\n// \t // Domain zone: \"com\", \"net\", etc (required):\r\n// \t\t\t[a-z\\u00a1-\\uffff]{2,}\r\n// \t\t)\r\n// \t)\r\n//\r\n// \t// Matches a colon and a port number:\r\n// \t(?::\\d{2,5})?\r\n//\r\n// \t// Matches everything after the \"origin\":\r\n// \t// * pathname\r\n// \t// * query\r\n// \t// * hash\r\n// \t(?:[/?#]\\S*)?\r\n//\r\n// $/i\r\n\r\nconst regexp = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)*(?:[a-z\\u00a1-\\uffff]{2,}))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i\r\n\r\n// https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url\r\nexport function isURL(value) {\r\n\treturn regexp.test(value)\r\n}"],"mappings":"AAAA,eAAe,SAASA,GAAT,GAAe,CAAE,C,CAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,MAAM,GAAG,+RAAf,C,CAEA;;AACA,OAAO,SAASC,KAAT,CAAeC,KAAf,EAAsB;EAC5B,OAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/types/URL.test.js"],"names":["isURL","describe","it","should","equal"],"mappings":"AAAA,SAASA,KAAT,QAAsB,OAAtB;AAEAC,QAAQ,CAAC,KAAD,EAAQ,YAAM;AACrBC,EAAAA,EAAE,CAAC,uBAAD,EAA0B,YAAM;AACjCF,IAAAA,KAAK,CAAC,KAAD,CAAL,CAAaG,MAAb,CAAoBC,KAApB,CAA0B,KAA1B;AACAJ,IAAAA,KAAK,CAAC,2FAAD,CAAL,CAAmGG,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH;AACA,GAHC,CAAF;AAIA,CALO,CAAR","sourcesContent":["import { isURL } from './URL'\r\n\r\ndescribe('URL', () => {\r\n\tit('should validate a URL', () => {\r\n\t\tisURL('123').should.equal(false)\r\n\t\tisURL('https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url').should.equal(true)\r\n\t})\r\n})"],"file":"URL.test.js"}
1
+ {"version":3,"file":"URL.test.js","names":["isURL","describe","it","should","equal"],"sources":["../../source/types/URL.test.js"],"sourcesContent":["import { isURL } from './URL.js'\r\n\r\ndescribe('URL', () => {\r\n\tit('should validate a URL', () => {\r\n\t\tisURL('123').should.equal(false)\r\n\t\tisURL('https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url').should.equal(true)\r\n\t})\r\n})"],"mappings":"AAAA,SAASA,KAAT,QAAsB,UAAtB;AAEAC,QAAQ,CAAC,KAAD,EAAQ,YAAM;EACrBC,EAAE,CAAC,uBAAD,EAA0B,YAAM;IACjCF,KAAK,CAAC,KAAD,CAAL,CAAaG,MAAb,CAAoBC,KAApB,CAA0B,KAA1B;IACAJ,KAAK,CAAC,2FAAD,CAAL,CAAmGG,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH;EACA,CAHC,CAAF;AAIA,CALO,CAAR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/dom.js"],"names":["findChild","node","tagName","i","childNodes","length","childNode","nodeType","getTagName","findChildren","results","push","forEach","func","map","NAMESPACE_REG_EXP","element","replace"],"mappings":"AAAA,OAAO,SAASA,SAAT,CAAmBC,IAAnB,EAAyBC,OAAzB,EAAkC;AACxC,MAAIC,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;AAClC,QAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;AACA;;AACA,QAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;AAClE,aAAOI,SAAP;AACA;;AACDH,IAAAA,CAAC;AACD;AACD;AAED,OAAO,SAASM,YAAT,CAAsBR,IAAtB,EAA4BC,OAA5B,EAAqC;AAC3C,MAAMQ,OAAO,GAAG,EAAhB;AACA,MAAIP,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;AAClC,QAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;AACA;;AACA,QAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;AAClEQ,MAAAA,OAAO,CAACC,IAAR,CAAaL,SAAb;AACA;;AACDH,IAAAA,CAAC;AACD;;AACD,SAAOO,OAAP;AACA;AAED,OAAO,SAASE,OAAT,CAAiBX,IAAjB,EAAuBC,OAAvB,EAAgCW,IAAhC,EAAsC;AAC5C;AACA;AACA;AACA;AACA,MAAIV,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;AAClC,QAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB;;AACA,QAAID,OAAJ,EAAa;AACZ;AACA;AACA,UAAII,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;AAClEW,QAAAA,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;AACA;AACD,KAND,MAMO;AACNU,MAAAA,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;AACA;;AACDA,IAAAA,CAAC;AACD;AACD;AAED,OAAO,SAASW,GAAT,CAAab,IAAb,EAAmBC,OAAnB,EAA4BW,IAA5B,EAAkC;AACxC,MAAMH,OAAO,GAAG,EAAhB;AACAE,EAAAA,OAAO,CAACX,IAAD,EAAOC,OAAP,EAAgB,UAACD,IAAD,EAAOE,CAAP,EAAa;AACnCO,IAAAA,OAAO,CAACC,IAAR,CAAaE,IAAI,CAACZ,IAAD,EAAOE,CAAP,CAAjB;AACA,GAFM,CAAP;AAGA,SAAOO,OAAP;AACA;AAED,IAAMK,iBAAiB,GAAG,MAA1B;AACA,OAAO,SAASP,UAAT,CAAoBQ,OAApB,EAA6B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAOA,OAAO,CAACd,OAAR,CAAgBe,OAAhB,CAAwBF,iBAAxB,EAA2C,EAA3C,CAAP;AACA","sourcesContent":["export function findChild(node, tagName) {\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\treturn childNode\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function findChildren(node, tagName) {\r\n\tconst results = []\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\tresults.push(childNode)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn results\r\n}\r\n\r\nexport function forEach(node, tagName, func) {\r\n\t// if (typeof tagName === 'function') {\r\n\t// \tfunc = tagName\r\n\t// \ttagName = undefined\r\n\t// }\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\tif (tagName) {\r\n\t\t\t// `nodeType: 1` means \"Element\".\r\n\t\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\t\tfunc(childNode, i)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfunc(childNode, i)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function map(node, tagName, func) {\r\n\tconst results = []\r\n\tforEach(node, tagName, (node, i) => {\r\n\t\tresults.push(func(node, i))\r\n\t})\r\n\treturn results\r\n}\r\n\r\nconst NAMESPACE_REG_EXP = /.+\\:/\r\nexport function getTagName(element) {\r\n\t// For some weird reason, if an element is declared as,\r\n\t// for example, `<x:sheets/>`, then its `.tagName` will be\r\n\t// \"x:sheets\" instead of just \"sheets\".\r\n\t// https://gitlab.com/catamphetamine/read-excel-file/-/issues/25\r\n\t// Its not clear how to tell it to ignore any namespaces\r\n\t// when getting `.tagName`, so just replacing anything\r\n\t// before a colon, if any.\r\n\treturn element.tagName.replace(NAMESPACE_REG_EXP, '')\r\n}"],"file":"dom.js"}
1
+ {"version":3,"file":"dom.js","names":["findChild","node","tagName","i","childNodes","length","childNode","nodeType","getTagName","findChildren","results","push","forEach","func","map","NAMESPACE_REG_EXP","element","replace"],"sources":["../../source/xml/dom.js"],"sourcesContent":["export function findChild(node, tagName) {\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\treturn childNode\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function findChildren(node, tagName) {\r\n\tconst results = []\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\t// `nodeType: 1` means \"Element\".\r\n\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\tresults.push(childNode)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn results\r\n}\r\n\r\nexport function forEach(node, tagName, func) {\r\n\t// if (typeof tagName === 'function') {\r\n\t// \tfunc = tagName\r\n\t// \ttagName = undefined\r\n\t// }\r\n\tlet i = 0\r\n\twhile (i < node.childNodes.length) {\r\n\t\tconst childNode = node.childNodes[i]\r\n\t\tif (tagName) {\r\n\t\t\t// `nodeType: 1` means \"Element\".\r\n\t\t\t// https://www.w3schools.com/xml/prop_element_nodetype.asp\r\n\t\t\tif (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\r\n\t\t\t\tfunc(childNode, i)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfunc(childNode, i)\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}\r\n\r\nexport function map(node, tagName, func) {\r\n\tconst results = []\r\n\tforEach(node, tagName, (node, i) => {\r\n\t\tresults.push(func(node, i))\r\n\t})\r\n\treturn results\r\n}\r\n\r\nconst NAMESPACE_REG_EXP = /.+\\:/\r\nexport function getTagName(element) {\r\n\t// For some weird reason, if an element is declared as,\r\n\t// for example, `<x:sheets/>`, then its `.tagName` will be\r\n\t// \"x:sheets\" instead of just \"sheets\".\r\n\t// https://gitlab.com/catamphetamine/read-excel-file/-/issues/25\r\n\t// Its not clear how to tell it to ignore any namespaces\r\n\t// when getting `.tagName`, so just replacing anything\r\n\t// before a colon, if any.\r\n\treturn element.tagName.replace(NAMESPACE_REG_EXP, '')\r\n}"],"mappings":"AAAA,OAAO,SAASA,SAAT,CAAmBC,IAAnB,EAAyBC,OAAzB,EAAkC;EACxC,IAAIC,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;IAClC,IAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;IACA;;IACA,IAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;MAClE,OAAOI,SAAP;IACA;;IACDH,CAAC;EACD;AACD;AAED,OAAO,SAASM,YAAT,CAAsBR,IAAtB,EAA4BC,OAA5B,EAAqC;EAC3C,IAAMQ,OAAO,GAAG,EAAhB;EACA,IAAIP,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;IAClC,IAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB,CADkC,CAElC;IACA;;IACA,IAAIG,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;MAClEQ,OAAO,CAACC,IAAR,CAAaL,SAAb;IACA;;IACDH,CAAC;EACD;;EACD,OAAOO,OAAP;AACA;AAED,OAAO,SAASE,OAAT,CAAiBX,IAAjB,EAAuBC,OAAvB,EAAgCW,IAAhC,EAAsC;EAC5C;EACA;EACA;EACA;EACA,IAAIV,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGF,IAAI,CAACG,UAAL,CAAgBC,MAA3B,EAAmC;IAClC,IAAMC,SAAS,GAAGL,IAAI,CAACG,UAAL,CAAgBD,CAAhB,CAAlB;;IACA,IAAID,OAAJ,EAAa;MACZ;MACA;MACA,IAAII,SAAS,CAACC,QAAV,KAAuB,CAAvB,IAA4BC,UAAU,CAACF,SAAD,CAAV,KAA0BJ,OAA1D,EAAmE;QAClEW,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;MACA;IACD,CAND,MAMO;MACNU,IAAI,CAACP,SAAD,EAAYH,CAAZ,CAAJ;IACA;;IACDA,CAAC;EACD;AACD;AAED,OAAO,SAASW,GAAT,CAAab,IAAb,EAAmBC,OAAnB,EAA4BW,IAA5B,EAAkC;EACxC,IAAMH,OAAO,GAAG,EAAhB;EACAE,OAAO,CAACX,IAAD,EAAOC,OAAP,EAAgB,UAACD,IAAD,EAAOE,CAAP,EAAa;IACnCO,OAAO,CAACC,IAAR,CAAaE,IAAI,CAACZ,IAAD,EAAOE,CAAP,CAAjB;EACA,CAFM,CAAP;EAGA,OAAOO,OAAP;AACA;AAED,IAAMK,iBAAiB,GAAG,MAA1B;AACA,OAAO,SAASP,UAAT,CAAoBQ,OAApB,EAA6B;EACnC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAOA,OAAO,CAACd,OAAR,CAAgBe,OAAhB,CAAwBF,iBAAxB,EAA2C,EAA3C,CAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xlsx-xpath.js"],"names":["xpath","namespaces","a","r","rr","getCells","document","getMergedCells","getCellValue","node","getCellInlineStringValue","textContent","getDimensions","dimensions","getBaseStyles","getCellStyles","getNumberFormats","getSharedStrings","map","string","_","join","getWorkbookProperties","getRelationships","getSheets"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAP,MAAkB,aAAlB;AAEA,IAAMC,UAAU,GAAG;AACjBC,EAAAA,CAAC,EAAE,2DADc;AAEjB;AACAC,EAAAA,CAAC,EAAE,qEAHc;AAIjB;AACAC,EAAAA,EAAE,EAAE;AALa,CAAnB;AAQA,OAAO,SAASC,QAAT,CAAkBC,QAAlB,EAA4B;AACjC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,oCAAjB,EAAuDL,UAAvD,CAAZ;AACD;AAED,OAAO,SAASM,cAAT,CAAwBD,QAAxB,EAAkC;AACvC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,8CAAjB,EAAiEL,UAAjE,CAAZ;AACD;AAED,OAAO,SAASO,YAAT,CAAsBF,QAAtB,EAAgCG,IAAhC,EAAsC;AAC3C,SAAOT,KAAK,CAACM,QAAD,EAAWG,IAAX,EAAiB,OAAjB,EAA0BR,UAA1B,CAAL,CAA2C,CAA3C,CAAP;AACD;AAED,OAAO,SAASS,wBAAT,CAAkCJ,QAAlC,EAA4CG,IAA5C,EAAkD;AACvD,SAAOT,KAAK,CAACM,QAAD,EAAWG,IAAX,EAAiB,YAAjB,EAA+BR,UAA/B,CAAL,CAAgD,CAAhD,EAAmDU,WAA1D;AACD;AAED,OAAO,SAASC,aAAT,CAAuBN,QAAvB,EAAiC;AACtC,MAAMO,UAAU,GAAGb,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,+BAAjB,EAAkDL,UAAlD,CAAL,CAAmE,CAAnE,CAAnB;;AACA,MAAIY,UAAJ,EAAgB;AACd,WAAOA,UAAU,CAACF,WAAlB;AACD;AACF;AAED,OAAO,SAASG,aAAT,CAAuBR,QAAvB,EAAiC;AACtC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,mCAAjB,EAAsDL,UAAtD,CAAZ;AACD;AAED,OAAO,SAASc,aAAT,CAAuBT,QAAvB,EAAiC;AACtC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,8BAAjB,EAAiDL,UAAjD,CAAZ;AACD;AAED,OAAO,SAASe,gBAAT,CAA0BV,QAA1B,EAAoC;AACzC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,kCAAjB,EAAqDL,UAArD,CAAZ;AACD;AAED,OAAO,SAASgB,gBAAT,CAA0BX,QAA1B,EAAoC;AAC1C;AACA;AACA;AAEC;AACA;AACD;AACC;AACA;AACA,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,aAAjB,EAAgCL,UAAhC,CAAL,CACJiB,GADI,CACA,UAAAC,MAAM;AAAA,WAAInB,KAAK,CAACM,QAAD,EAAWa,MAAX,EAAmB,8BAAnB,EAAmDlB,UAAnD,CAAL,CACViB,GADU,CACN,UAAAE,CAAC;AAAA,aAAIA,CAAC,CAACT,WAAN;AAAA,KADK,EACcU,IADd,CACmB,EADnB,CAAJ;AAAA,GADN,CAAP;AAID;AAED,OAAO,SAASC,qBAAT,CAA+BhB,QAA/B,EAAyC;AAC9C,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,0BAAjB,EAA6CL,UAA7C,CAAL,CAA8D,CAA9D,CAAP;AACD;AAED,OAAO,SAASsB,gBAAT,CAA0BjB,QAA1B,EAAoC;AACzC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,mCAAjB,EAAsDL,UAAtD,CAAZ;AACD;AAED,OAAO,SAASuB,SAAT,CAAmBlB,QAAnB,EAA6B;AAClC,SAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,8BAAjB,EAAiDL,UAAjD,CAAZ;AACD","sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nimport xpath from './xpathNode'\r\n\r\nconst namespaces = {\r\n a: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n // This one seems to be for `r:id` attributes on `<sheet>`s.\r\n r: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n // This one seems to be for `<Relationships/>` file.\r\n rr: 'http://schemas.openxmlformats.org/package/2006/relationships'\r\n}\r\n\r\nexport function getCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:sheetData/a:row/a:c', namespaces)\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:mergedCells/a:mergedCell/@ref', namespaces)\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return xpath(document, node, './a:v', namespaces)[0]\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n return xpath(document, node, './a:is/a:t', namespaces)[0].textContent\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const dimensions = xpath(document, null, '/a:worksheet/a:dimension/@ref', namespaces)[0]\r\n if (dimensions) {\r\n return dimensions.textContent\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellStyleXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n return xpath(document, null, '/a:styleSheet/a:numFmts/a:numFmt', namespaces)\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n  // The \".//a:t[not(ancestor::a:rPh)]\" selector means:\r\n  // \"select all `<t/>` that are not children of `<rPh/>`\". \r\n\t// https://stackoverflow.com/questions/42773772/xpath-span-what-does-the-dot-mean\r\n  // `<rPh><t></t></rPh>` seems to be some \"phonetic data\" added for languages like Japanese that should be ignored.\r\n  // https://github.com/doy/spreadsheet-parsexlsx/issues/72\r\n  return xpath(document, null, '/a:sst/a:si', namespaces)\r\n    .map(string => xpath(document, string, './/a:t[not(ancestor::a:rPh)]', namespaces)\r\n        .map(_ => _.textContent).join('')\r\n    )\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n return xpath(document, null, '/a:workbook/a:workbookPr', namespaces)[0]\r\n}\r\n\r\nexport function getRelationships(document) {\r\n return xpath(document, null, '/rr:Relationships/rr:Relationship', namespaces)\r\n}\r\n\r\nexport function getSheets(document) {\r\n return xpath(document, null, '/a:workbook/a:sheets/a:sheet', namespaces)\r\n}"],"file":"xlsx-xpath.js"}
1
+ {"version":3,"file":"xlsx-xpath.js","names":["xpath","namespaces","a","r","rr","getCells","document","getMergedCells","getCellValue","node","getCellInlineStringValue","textContent","getDimensions","dimensions","getBaseStyles","getCellStyles","getNumberFormats","getSharedStrings","map","string","_","join","getWorkbookProperties","getRelationships","getSheets"],"sources":["../../source/xml/xlsx-xpath.js"],"sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nimport xpath from './xpathNode'\r\n\r\nconst namespaces = {\r\n a: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n // This one seems to be for `r:id` attributes on `<sheet>`s.\r\n r: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n // This one seems to be for `<Relationships/>` file.\r\n rr: 'http://schemas.openxmlformats.org/package/2006/relationships'\r\n}\r\n\r\nexport function getCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:sheetData/a:row/a:c', namespaces)\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n return xpath(document, null, '/a:worksheet/a:mergedCells/a:mergedCell/@ref', namespaces)\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return xpath(document, node, './a:v', namespaces)[0]\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n return xpath(document, node, './a:is/a:t', namespaces)[0].textContent\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const dimensions = xpath(document, null, '/a:worksheet/a:dimension/@ref', namespaces)[0]\r\n if (dimensions) {\r\n return dimensions.textContent\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellStyleXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n return xpath(document, null, '/a:styleSheet/a:cellXfs/a:xf', namespaces)\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n return xpath(document, null, '/a:styleSheet/a:numFmts/a:numFmt', namespaces)\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n  // The \".//a:t[not(ancestor::a:rPh)]\" selector means:\r\n  // \"select all `<t/>` that are not children of `<rPh/>`\". \r\n\t// https://stackoverflow.com/questions/42773772/xpath-span-what-does-the-dot-mean\r\n  // `<rPh><t></t></rPh>` seems to be some \"phonetic data\" added for languages like Japanese that should be ignored.\r\n  // https://github.com/doy/spreadsheet-parsexlsx/issues/72\r\n  return xpath(document, null, '/a:sst/a:si', namespaces)\r\n    .map(string => xpath(document, string, './/a:t[not(ancestor::a:rPh)]', namespaces)\r\n        .map(_ => _.textContent).join('')\r\n    )\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n return xpath(document, null, '/a:workbook/a:workbookPr', namespaces)[0]\r\n}\r\n\r\nexport function getRelationships(document) {\r\n return xpath(document, null, '/rr:Relationships/rr:Relationship', namespaces)\r\n}\r\n\r\nexport function getSheets(document) {\r\n return xpath(document, null, '/a:workbook/a:sheets/a:sheet', namespaces)\r\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAP,MAAkB,aAAlB;AAEA,IAAMC,UAAU,GAAG;EACjBC,CAAC,EAAE,2DADc;EAEjB;EACAC,CAAC,EAAE,qEAHc;EAIjB;EACAC,EAAE,EAAE;AALa,CAAnB;AAQA,OAAO,SAASC,QAAT,CAAkBC,QAAlB,EAA4B;EACjC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,oCAAjB,EAAuDL,UAAvD,CAAZ;AACD;AAED,OAAO,SAASM,cAAT,CAAwBD,QAAxB,EAAkC;EACvC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,8CAAjB,EAAiEL,UAAjE,CAAZ;AACD;AAED,OAAO,SAASO,YAAT,CAAsBF,QAAtB,EAAgCG,IAAhC,EAAsC;EAC3C,OAAOT,KAAK,CAACM,QAAD,EAAWG,IAAX,EAAiB,OAAjB,EAA0BR,UAA1B,CAAL,CAA2C,CAA3C,CAAP;AACD;AAED,OAAO,SAASS,wBAAT,CAAkCJ,QAAlC,EAA4CG,IAA5C,EAAkD;EACvD,OAAOT,KAAK,CAACM,QAAD,EAAWG,IAAX,EAAiB,YAAjB,EAA+BR,UAA/B,CAAL,CAAgD,CAAhD,EAAmDU,WAA1D;AACD;AAED,OAAO,SAASC,aAAT,CAAuBN,QAAvB,EAAiC;EACtC,IAAMO,UAAU,GAAGb,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,+BAAjB,EAAkDL,UAAlD,CAAL,CAAmE,CAAnE,CAAnB;;EACA,IAAIY,UAAJ,EAAgB;IACd,OAAOA,UAAU,CAACF,WAAlB;EACD;AACF;AAED,OAAO,SAASG,aAAT,CAAuBR,QAAvB,EAAiC;EACtC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,mCAAjB,EAAsDL,UAAtD,CAAZ;AACD;AAED,OAAO,SAASc,aAAT,CAAuBT,QAAvB,EAAiC;EACtC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,8BAAjB,EAAiDL,UAAjD,CAAZ;AACD;AAED,OAAO,SAASe,gBAAT,CAA0BV,QAA1B,EAAoC;EACzC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,kCAAjB,EAAqDL,UAArD,CAAZ;AACD;AAED,OAAO,SAASgB,gBAAT,CAA0BX,QAA1B,EAAoC;EAC1C;EACA;EACA;EAEC;EACA;EACD;EACC;EACA;EACA,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,aAAjB,EAAgCL,UAAhC,CAAL,CACJiB,GADI,CACA,UAAAC,MAAM;IAAA,OAAInB,KAAK,CAACM,QAAD,EAAWa,MAAX,EAAmB,8BAAnB,EAAmDlB,UAAnD,CAAL,CACViB,GADU,CACN,UAAAE,CAAC;MAAA,OAAIA,CAAC,CAACT,WAAN;IAAA,CADK,EACcU,IADd,CACmB,EADnB,CAAJ;EAAA,CADN,CAAP;AAID;AAED,OAAO,SAASC,qBAAT,CAA+BhB,QAA/B,EAAyC;EAC9C,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,0BAAjB,EAA6CL,UAA7C,CAAL,CAA8D,CAA9D,CAAP;AACD;AAED,OAAO,SAASsB,gBAAT,CAA0BjB,QAA1B,EAAoC;EACzC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,mCAAjB,EAAsDL,UAAtD,CAAZ;AACD;AAED,OAAO,SAASuB,SAAT,CAAmBlB,QAAnB,EAA6B;EAClC,OAAON,KAAK,CAACM,QAAD,EAAW,IAAX,EAAiB,8BAAjB,EAAiDL,UAAjD,CAAZ;AACD"}
@@ -1,4 +1,4 @@
1
- import { findChild, findChildren, forEach, map, getTagName } from './dom';
1
+ import { findChild, findChildren, forEach, map, getTagName } from './dom.js';
2
2
  export function getCells(document) {
3
3
  var worksheet = document.documentElement;
4
4
  var sheetData = findChild(worksheet, 'sheetData');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xlsx.js"],"names":["findChild","findChildren","forEach","map","getTagName","getCells","document","worksheet","documentElement","sheetData","cells","row","cell","push","getMergedCells","mergedCells","mergedCellsInfo","mergedCell","getAttribute","getCellValue","node","getCellInlineStringValue","firstChild","textContent","getDimensions","dimensions","getBaseStyles","styleSheet","cellStyleXfs","getCellStyles","cellXfs","getNumberFormats","numberFormats","numFmts","getSharedStrings","sst","string","t","value","r","getWorkbookProperties","workbook","getRelationships","relationships","getSheets","sheets"],"mappings":"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","sourcesContent":["import { findChild, findChildren, forEach, map, getTagName } from './dom'\r\n\r\nexport function getCells(document) {\r\n const worksheet = document.documentElement\r\n const sheetData = findChild(worksheet, 'sheetData')\r\n const cells = []\r\n forEach(sheetData, 'row', (row) => {\r\n forEach(row, 'c', (cell) => {\r\n cells.push(cell)\r\n })\r\n })\r\n return cells\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n const worksheet = document.documentElement\r\n const mergedCells = findChild(worksheet, 'mergeCells')\r\n const mergedCellsInfo = []\r\n if (mergedCells) {\r\n forEach(mergedCells, 'mergeCell', (mergedCell) => {\r\n mergedCellsInfo.push(mergedCell.getAttribute('ref'))\r\n })\r\n }\r\n return mergedCellsInfo\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return findChild(node, 'v')\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n if (node.firstChild &&\r\n getTagName(node.firstChild) === 'is' &&\r\n node.firstChild.firstChild &&\r\n getTagName(node.firstChild.firstChild) === 't') {\r\n return node.firstChild.firstChild.textContent\r\n }\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const worksheet = document.documentElement\r\n const dimensions = findChild(worksheet, 'dimension')\r\n if (dimensions) {\r\n return dimensions.getAttribute('ref')\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellStyleXfs = findChild(styleSheet, 'cellStyleXfs')\r\n if (cellStyleXfs) {\r\n return findChildren(cellStyleXfs, 'xf')\r\n }\r\n return []\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellXfs = findChild(styleSheet, 'cellXfs')\r\n if (!cellXfs) {\r\n return []\r\n }\r\n return findChildren(cellXfs, 'xf')\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n const styleSheet = document.documentElement\r\n let numberFormats = []\r\n const numFmts = findChild(styleSheet, 'numFmts')\r\n if (numFmts) {\r\n return findChildren(numFmts, 'numFmt')\r\n }\r\n return []\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n const sst = document.documentElement\r\n return map(sst, 'si', string => {\r\n const t = findChild(string, 't')\r\n if (t) {\r\n return t.textContent\r\n }\r\n let value = ''\r\n forEach(string, 'r', (r) => {\r\n value += findChild(r, 't').textContent\r\n })\r\n return value\r\n })\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n const workbook = document.documentElement\r\n return findChild(workbook, 'workbookPr')\r\n}\r\n\r\nexport function getRelationships(document) {\r\n const relationships = document.documentElement\r\n return findChildren(relationships, 'Relationship')\r\n}\r\n\r\nexport function getSheets(document) {\r\n const workbook = document.documentElement\r\n const sheets = findChild(workbook, 'sheets')\r\n return findChildren(sheets, 'sheet')\r\n}"],"file":"xlsx.js"}
1
+ {"version":3,"file":"xlsx.js","names":["findChild","findChildren","forEach","map","getTagName","getCells","document","worksheet","documentElement","sheetData","cells","row","cell","push","getMergedCells","mergedCells","mergedCellsInfo","mergedCell","getAttribute","getCellValue","node","getCellInlineStringValue","firstChild","textContent","getDimensions","dimensions","getBaseStyles","styleSheet","cellStyleXfs","getCellStyles","cellXfs","getNumberFormats","numberFormats","numFmts","getSharedStrings","sst","string","t","value","r","getWorkbookProperties","workbook","getRelationships","relationships","getSheets","sheets"],"sources":["../../source/xml/xlsx.js"],"sourcesContent":["import { findChild, findChildren, forEach, map, getTagName } from './dom.js'\r\n\r\nexport function getCells(document) {\r\n const worksheet = document.documentElement\r\n const sheetData = findChild(worksheet, 'sheetData')\r\n const cells = []\r\n forEach(sheetData, 'row', (row) => {\r\n forEach(row, 'c', (cell) => {\r\n cells.push(cell)\r\n })\r\n })\r\n return cells\r\n}\r\n\r\nexport function getMergedCells(document) {\r\n const worksheet = document.documentElement\r\n const mergedCells = findChild(worksheet, 'mergeCells')\r\n const mergedCellsInfo = []\r\n if (mergedCells) {\r\n forEach(mergedCells, 'mergeCell', (mergedCell) => {\r\n mergedCellsInfo.push(mergedCell.getAttribute('ref'))\r\n })\r\n }\r\n return mergedCellsInfo\r\n}\r\n\r\nexport function getCellValue(document, node) {\r\n return findChild(node, 'v')\r\n}\r\n\r\nexport function getCellInlineStringValue(document, node) {\r\n if (node.firstChild &&\r\n getTagName(node.firstChild) === 'is' &&\r\n node.firstChild.firstChild &&\r\n getTagName(node.firstChild.firstChild) === 't') {\r\n return node.firstChild.firstChild.textContent\r\n }\r\n}\r\n\r\nexport function getDimensions(document) {\r\n const worksheet = document.documentElement\r\n const dimensions = findChild(worksheet, 'dimension')\r\n if (dimensions) {\r\n return dimensions.getAttribute('ref')\r\n }\r\n}\r\n\r\nexport function getBaseStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellStyleXfs = findChild(styleSheet, 'cellStyleXfs')\r\n if (cellStyleXfs) {\r\n return findChildren(cellStyleXfs, 'xf')\r\n }\r\n return []\r\n}\r\n\r\nexport function getCellStyles(document) {\r\n const styleSheet = document.documentElement\r\n const cellXfs = findChild(styleSheet, 'cellXfs')\r\n if (!cellXfs) {\r\n return []\r\n }\r\n return findChildren(cellXfs, 'xf')\r\n}\r\n\r\nexport function getNumberFormats(document) {\r\n const styleSheet = document.documentElement\r\n let numberFormats = []\r\n const numFmts = findChild(styleSheet, 'numFmts')\r\n if (numFmts) {\r\n return findChildren(numFmts, 'numFmt')\r\n }\r\n return []\r\n}\r\n\r\nexport function getSharedStrings(document) {\r\n\t// An `<si/>` element can contain a `<t/>` (simplest case) or a set of `<r/>` (\"rich formatting\") elements having `<t/>`.\r\n\t// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\r\n\t// http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\r\n\r\n const sst = document.documentElement\r\n return map(sst, 'si', string => {\r\n const t = findChild(string, 't')\r\n if (t) {\r\n return t.textContent\r\n }\r\n let value = ''\r\n forEach(string, 'r', (r) => {\r\n value += findChild(r, 't').textContent\r\n })\r\n return value\r\n })\r\n}\r\n\r\nexport function getWorkbookProperties(document) {\r\n const workbook = document.documentElement\r\n return findChild(workbook, 'workbookPr')\r\n}\r\n\r\nexport function getRelationships(document) {\r\n const relationships = document.documentElement\r\n return findChildren(relationships, 'Relationship')\r\n}\r\n\r\nexport function getSheets(document) {\r\n const workbook = document.documentElement\r\n const sheets = findChild(workbook, 'sheets')\r\n return findChildren(sheets, 'sheet')\r\n}"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xml.js"],"names":["XMLDOM","createDocument","content","DOMParser","parseFromString"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,gBAAnB;AAEA,eAAe;AACdC,EAAAA,cADc,0BACCC,OADD,EACU;AACvB,WAAO,IAAIF,MAAM,CAACG,SAAX,GAAuBC,eAAvB,CAAuCF,OAAvC,CAAP;AACA;AAHa,CAAf","sourcesContent":["import XMLDOM from '@xmldom/xmldom'\r\n\r\nexport default {\r\n\tcreateDocument(content) {\r\n\t\treturn new XMLDOM.DOMParser().parseFromString(content)\r\n\t}\r\n}"],"file":"xml.js"}
1
+ {"version":3,"file":"xml.js","names":["XMLDOM","createDocument","content","DOMParser","parseFromString"],"sources":["../../source/xml/xml.js"],"sourcesContent":["import XMLDOM from '@xmldom/xmldom'\r\n\r\nexport default {\r\n\tcreateDocument(content) {\r\n\t\treturn new XMLDOM.DOMParser().parseFromString(content)\r\n\t}\r\n}"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,gBAAnB;AAEA,eAAe;EACdC,cADc,0BACCC,OADD,EACU;IACvB,OAAO,IAAIF,MAAM,CAACG,SAAX,GAAuBC,eAAvB,CAAuCF,OAAvC,CAAP;EACA;AAHa,CAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xmlBrowser.js"],"names":["createDocument","content","DOMParser","parseFromString","trim"],"mappings":"AAAA,eAAe;AACdA,EAAAA,cADc,0BACCC,OADD,EACU;AACvB;AACA;AACA;AACA;AACA;AACA,WAAO,IAAIC,SAAJ,GAAgBC,eAAhB,CAAgCF,OAAO,CAACG,IAAR,EAAhC,EAAgD,UAAhD,CAAP;AACA;AARa,CAAf","sourcesContent":["export default {\r\n\tcreateDocument(content) {\r\n\t\t// if (!content) {\r\n\t\t// \tthrow new Error('No *.xml content')\r\n\t\t// }\r\n\t\t// A weird bug: it won't parse XML unless it's trimmed.\r\n\t\t// https://github.com/catamphetamine/read-excel-file/issues/21\r\n\t\treturn new DOMParser().parseFromString(content.trim(), 'text/xml')\r\n\t}\r\n}"],"file":"xmlBrowser.js"}
1
+ {"version":3,"file":"xmlBrowser.js","names":["createDocument","content","DOMParser","parseFromString","trim"],"sources":["../../source/xml/xmlBrowser.js"],"sourcesContent":["export default {\r\n\tcreateDocument(content) {\r\n\t\t// if (!content) {\r\n\t\t// \tthrow new Error('No *.xml content')\r\n\t\t// }\r\n\t\t// A weird bug: it won't parse XML unless it's trimmed.\r\n\t\t// https://github.com/catamphetamine/read-excel-file/issues/21\r\n\t\treturn new DOMParser().parseFromString(content.trim(), 'text/xml')\r\n\t}\r\n}"],"mappings":"AAAA,eAAe;EACdA,cADc,0BACCC,OADD,EACU;IACvB;IACA;IACA;IACA;IACA;IACA,OAAO,IAAIC,SAAJ,GAAgBC,eAAhB,CAAgCF,OAAO,CAACG,IAAR,EAAhC,EAAgD,UAAhD,CAAP;EACA;AARa,CAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xpathBrowser.js"],"names":["xpath","document","node","path","namespaces","nodes","evaluate","prefix","XPathResult","ANY_TYPE","results","result","iterateNext","push"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,KAAT,CAAeC,QAAf,EAAyBC,IAAzB,EAA+BC,IAA/B,EAAsD;AAAA,MAAjBC,UAAiB,uEAAJ,EAAI;AACpE,MAAMC,KAAK,GAAGJ,QAAQ,CAACK,QAAT,CACbH,IADa,EAEbD,IAAI,IAAID,QAFK,EAGb,UAAAM,MAAM;AAAA,WAAIH,UAAU,CAACG,MAAD,CAAd;AAAA,GAHO,EAIbC,WAAW,CAACC,QAJC,EAKb,IALa,CAAd,CADoE,CAQpE;;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAIC,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAb;;AACA,SAAOD,MAAP,EAAe;AACdD,IAAAA,OAAO,CAACG,IAAR,CAAaF,MAAb;AACAA,IAAAA,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAT;AACA;;AACD,SAAOF,OAAP;AACA","sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nexport default function xpath(document, node, path, namespaces = {}) {\r\n\tconst nodes = document.evaluate(\r\n\t\tpath,\r\n\t\tnode || document,\r\n\t\tprefix => namespaces[prefix],\r\n\t\tXPathResult.ANY_TYPE,\r\n\t\tnull\r\n\t)\r\n\t// Convert iterator to an array.\r\n\tconst results = []\r\n\tlet result = nodes.iterateNext()\r\n\twhile (result) {\r\n\t\tresults.push(result)\r\n\t\tresult = nodes.iterateNext()\r\n\t}\r\n\treturn results\r\n}"],"file":"xpathBrowser.js"}
1
+ {"version":3,"file":"xpathBrowser.js","names":["xpath","document","node","path","namespaces","nodes","evaluate","prefix","XPathResult","ANY_TYPE","results","result","iterateNext","push"],"sources":["../../source/xml/xpathBrowser.js"],"sourcesContent":["// Turns out IE11 doesn't support XPath, so not using `./xpathBrowser` for browsers.\r\n// https://github.com/catamphetamine/read-excel-file/issues/26\r\n// The inclusion of `xpath` package in `./xpathNode`\r\n// increases the bundle size by about 100 kilobytes.\r\n// IE11 is a wide-spread browser and it's unlikely that\r\n// anyone would ignore it for now.\r\n// There could be a separate export `read-excel-file/ie11`\r\n// for using `./xpathNode` instead of `./xpathBrowser`\r\n// but this library has been migrated to not using `xpath` anyway.\r\n// This code is just alternative/historical now, it seems.\r\nexport default function xpath(document, node, path, namespaces = {}) {\r\n\tconst nodes = document.evaluate(\r\n\t\tpath,\r\n\t\tnode || document,\r\n\t\tprefix => namespaces[prefix],\r\n\t\tXPathResult.ANY_TYPE,\r\n\t\tnull\r\n\t)\r\n\t// Convert iterator to an array.\r\n\tconst results = []\r\n\tlet result = nodes.iterateNext()\r\n\twhile (result) {\r\n\t\tresults.push(result)\r\n\t\tresult = nodes.iterateNext()\r\n\t}\r\n\treturn results\r\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,KAAT,CAAeC,QAAf,EAAyBC,IAAzB,EAA+BC,IAA/B,EAAsD;EAAA,IAAjBC,UAAiB,uEAAJ,EAAI;EACpE,IAAMC,KAAK,GAAGJ,QAAQ,CAACK,QAAT,CACbH,IADa,EAEbD,IAAI,IAAID,QAFK,EAGb,UAAAM,MAAM;IAAA,OAAIH,UAAU,CAACG,MAAD,CAAd;EAAA,CAHO,EAIbC,WAAW,CAACC,QAJC,EAKb,IALa,CAAd,CADoE,CAQpE;;EACA,IAAMC,OAAO,GAAG,EAAhB;EACA,IAAIC,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAb;;EACA,OAAOD,MAAP,EAAe;IACdD,OAAO,CAACG,IAAR,CAAaF,MAAb;IACAA,MAAM,GAAGN,KAAK,CAACO,WAAN,EAAT;EACA;;EACD,OAAOF,OAAP;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../source/xml/xpathNode.js"],"names":["xpath","document","node","path","namespaces","select","useNamespaces"],"mappings":"AAAA;AACA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,eAAe,UAASC,QAAT,EAAmBC,IAAnB,EAAyBC,IAAzB,EAAgD;AAAA,MAAjBC,UAAiB,uEAAJ,EAAI;AAC9D,MAAMC,MAAM,GAAGL,KAAK,CAACM,aAAN,CAAoBF,UAApB,CAAf;AACA,SAAOC,MAAM,CAACF,IAAD,EAAOD,IAAI,IAAID,QAAf,CAAb;AACA","sourcesContent":["// The `xpath` dependency is about as large as `jszip`.\r\nimport xpath from 'xpath'\r\n\r\nexport default function(document, node, path, namespaces = {}) {\r\n\tconst select = xpath.useNamespaces(namespaces)\r\n\treturn select(path, node || document)\r\n}"],"file":"xpathNode.js"}
1
+ {"version":3,"file":"xpathNode.js","names":["xpath","document","node","path","namespaces","select","useNamespaces"],"sources":["../../source/xml/xpathNode.js"],"sourcesContent":["// The `xpath` dependency is about as large as `jszip`.\r\nimport xpath from 'xpath'\r\n\r\nexport default function(document, node, path, namespaces = {}) {\r\n\tconst select = xpath.useNamespaces(namespaces)\r\n\treturn select(path, node || document)\r\n}"],"mappings":"AAAA;AACA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,eAAe,UAASC,QAAT,EAAmBC,IAAnB,EAAyBC,IAAzB,EAAgD;EAAA,IAAjBC,UAAiB,uEAAJ,EAAI;EAC9D,IAAMC,MAAM,GAAGL,KAAK,CAACM,aAAN,CAAoBF,UAApB,CAAf;EACA,OAAOC,MAAM,CAACF,IAAD,EAAOD,IAAI,IAAID,QAAf,CAAb;AACA"}
package/node/index.cjs ADDED
@@ -0,0 +1,7 @@
1
+ exports = module.exports = require('../commonjs/read/readXlsxFileNode.js').default
2
+ exports['default'] = require('../commonjs/read/readXlsxFileNode.js').default
3
+ exports.readSheetNames = require('../commonjs/read/readSheetNamesNode.js').default
4
+ exports.parseExcelDate = require('../commonjs/read/parseDate.js').default
5
+ exports.Integer = require('../commonjs/types/Integer.js').default
6
+ exports.Email = require('../commonjs/types/Email.js').default
7
+ exports.URL = require('../commonjs/types/URL.js').default
@@ -0,0 +1,12 @@
1
+ // This file is deprecated.
2
+ // It's the same as `index.cjs`, just with an added `*.js` extension.
3
+ // It fixes the issue when some software doesn't see files with `*.cjs` file extensions
4
+ // when used as the `main` property value in `package.json`.
5
+
6
+ exports = module.exports = require('../commonjs/read/readXlsxFileNode.js').default
7
+ exports['default'] = require('../commonjs/read/readXlsxFileNode.js').default
8
+ exports.readSheetNames = require('../commonjs/read/readSheetNamesNode.js').default
9
+ exports.parseExcelDate = require('../commonjs/read/parseDate.js').default
10
+ exports.Integer = require('../commonjs/types/Integer.js').default
11
+ exports.Email = require('../commonjs/types/Email.js').default
12
+ exports.URL = require('../commonjs/types/URL.js').default
package/node/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { default as default } from '../modules/read/readXlsxFileNode'
2
- export { default as readSheetNames } from '../modules/read/readSheetNamesNode'
3
- export { default as parseExcelDate } from '../modules/read/parseDate'
4
- export { default as Integer } from '../modules/types/Integer'
5
- export { default as Email } from '../modules/types/Email'
6
- export { default as URL } from '../modules/types/URL'
1
+ export { default as default } from '../modules/read/readXlsxFileNode.js'
2
+ export { default as readSheetNames } from '../modules/read/readSheetNamesNode.js'
3
+ export { default as parseExcelDate } from '../modules/read/parseDate.js'
4
+ export { default as Integer } from '../modules/types/Integer.js'
5
+ export { default as Email } from '../modules/types/Email.js'
6
+ export { default as URL } from '../modules/types/URL.js'
package/node/package.json CHANGED
@@ -2,8 +2,16 @@
2
2
  "private": true,
3
3
  "name": "read-excel-file/node",
4
4
  "version": "1.0.0",
5
- "main": "index.commonjs.js",
5
+ "main": "index.cjs",
6
6
  "module": "index.js",
7
7
  "types": "./index.d.ts",
8
+ "type": "module",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./index.d.ts",
12
+ "import": "./index.js",
13
+ "require": "./index.cjs"
14
+ }
15
+ },
8
16
  "sideEffects": false
9
17
  }