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.
- package/.gitlab-ci.yml +1 -1
- package/CHANGELOG.md +3 -3
- package/bundle/read-excel-file.min.js +2 -2
- package/bundle/read-excel-file.min.js.map +1 -1
- package/commonjs/package.json +5 -0
- package/commonjs/read/coordinates.js.map +1 -1
- package/commonjs/read/dropEmptyColumns.js.map +1 -1
- package/commonjs/read/dropEmptyColumns.test.js.map +1 -1
- package/commonjs/read/dropEmptyRows.js.map +1 -1
- package/commonjs/read/dropEmptyRows.test.js.map +1 -1
- package/commonjs/read/getData.js +3 -3
- package/commonjs/read/getData.js.map +1 -1
- package/commonjs/read/parseCell.js +3 -3
- package/commonjs/read/parseCell.js.map +1 -1
- package/commonjs/read/parseCellValue.js +1 -1
- package/commonjs/read/parseCellValue.js.map +1 -1
- package/commonjs/read/parseCells.js +2 -2
- package/commonjs/read/parseCells.js.map +1 -1
- package/commonjs/read/parseDate.js.map +1 -1
- package/commonjs/read/parseDate.test.js.map +1 -1
- package/commonjs/read/parseDimensions.js +3 -3
- package/commonjs/read/parseDimensions.js.map +1 -1
- package/commonjs/read/parseFilePaths.js +1 -1
- package/commonjs/read/parseFilePaths.js.map +1 -1
- package/commonjs/read/parseProperties.js +1 -1
- package/commonjs/read/parseProperties.js.map +1 -1
- package/commonjs/read/parseSharedStrings.js +1 -1
- package/commonjs/read/parseSharedStrings.js.map +1 -1
- package/commonjs/read/parseSheet.js +3 -3
- package/commonjs/read/parseSheet.js.map +1 -1
- package/commonjs/read/parseStyles.js +3 -3
- package/commonjs/read/parseStyles.js.map +1 -1
- package/commonjs/read/readSheetNamesBrowser.js +1 -1
- package/commonjs/read/readSheetNamesBrowser.js.map +1 -1
- package/commonjs/read/readSheetNamesNode.js +1 -1
- package/commonjs/read/readSheetNamesNode.js.map +1 -1
- package/commonjs/read/readSheetNamesNode.test.js.map +1 -1
- package/commonjs/read/readSheetNamesWebWorker.js +1 -1
- package/commonjs/read/readSheetNamesWebWorker.js.map +1 -1
- package/commonjs/read/readXlsx.js +8 -8
- package/commonjs/read/readXlsx.js.map +1 -1
- package/commonjs/read/readXlsxFileBrowser.js +3 -3
- package/commonjs/read/readXlsxFileBrowser.js.map +1 -1
- package/commonjs/read/readXlsxFileContents.js +5 -5
- package/commonjs/read/readXlsxFileContents.js.map +1 -1
- package/commonjs/read/readXlsxFileNode.js +3 -3
- package/commonjs/read/readXlsxFileNode.js.map +1 -1
- package/commonjs/read/readXlsxFileNode.test.js.map +1 -1
- package/commonjs/read/readXlsxFileWebWorker.js +3 -3
- package/commonjs/read/readXlsxFileWebWorker.js.map +1 -1
- package/commonjs/read/schema/convertMapToSchema.js +1 -1
- package/commonjs/read/schema/convertMapToSchema.js.map +1 -1
- package/commonjs/read/schema/convertMapToSchema.test.js.map +1 -1
- package/commonjs/read/schema/convertToJson.js +9 -9
- package/commonjs/read/schema/convertToJson.js.map +1 -1
- package/commonjs/read/schema/convertToJson.test.js.map +1 -1
- package/commonjs/read/unpackXlsxFileBrowser.js.map +1 -1
- package/commonjs/read/unpackXlsxFileNode.js.map +1 -1
- package/commonjs/types/Email.js.map +1 -1
- package/commonjs/types/Email.test.js.map +1 -1
- package/commonjs/types/Integer.js.map +1 -1
- package/commonjs/types/Integer.test.js.map +1 -1
- package/commonjs/types/URL.js.map +1 -1
- package/commonjs/types/URL.test.js.map +1 -1
- package/commonjs/xml/dom.js +1 -1
- package/commonjs/xml/dom.js.map +1 -1
- package/commonjs/xml/xlsx-xpath.js +7 -7
- package/commonjs/xml/xlsx-xpath.js.map +1 -1
- package/commonjs/xml/xlsx.js +8 -8
- package/commonjs/xml/xlsx.js.map +1 -1
- package/commonjs/xml/xml.js.map +1 -1
- package/commonjs/xml/xmlBrowser.js.map +1 -1
- package/commonjs/xml/xpathBrowser.js.map +1 -1
- package/commonjs/xml/xpathNode.js.map +1 -1
- package/index.cjs +7 -0
- package/index.cjs.js +12 -0
- package/index.js +6 -6
- package/modules/read/coordinates.js.map +1 -1
- package/modules/read/dropEmptyColumns.js.map +1 -1
- package/modules/read/dropEmptyColumns.test.js.map +1 -1
- package/modules/read/dropEmptyRows.js.map +1 -1
- package/modules/read/dropEmptyRows.test.js.map +1 -1
- package/modules/read/getData.js +3 -3
- package/modules/read/getData.js.map +1 -1
- package/modules/read/parseCell.js +3 -3
- package/modules/read/parseCell.js.map +1 -1
- package/modules/read/parseCellValue.js +1 -1
- package/modules/read/parseCellValue.js.map +1 -1
- package/modules/read/parseCells.js +2 -2
- package/modules/read/parseCells.js.map +1 -1
- package/modules/read/parseDate.js.map +1 -1
- package/modules/read/parseDate.test.js.map +1 -1
- package/modules/read/parseDimensions.js +3 -3
- package/modules/read/parseDimensions.js.map +1 -1
- package/modules/read/parseFilePaths.js +1 -1
- package/modules/read/parseFilePaths.js.map +1 -1
- package/modules/read/parseProperties.js +1 -1
- package/modules/read/parseProperties.js.map +1 -1
- package/modules/read/parseSharedStrings.js +1 -1
- package/modules/read/parseSharedStrings.js.map +1 -1
- package/modules/read/parseSheet.js +3 -3
- package/modules/read/parseSheet.js.map +1 -1
- package/modules/read/parseStyles.js +3 -3
- package/modules/read/parseStyles.js.map +1 -1
- package/modules/read/readSheetNamesBrowser.js +1 -1
- package/modules/read/readSheetNamesBrowser.js.map +1 -1
- package/modules/read/readSheetNamesNode.js +1 -1
- package/modules/read/readSheetNamesNode.js.map +1 -1
- package/modules/read/readSheetNamesNode.test.js.map +1 -1
- package/modules/read/readSheetNamesWebWorker.js +1 -1
- package/modules/read/readSheetNamesWebWorker.js.map +1 -1
- package/modules/read/readXlsx.js +8 -8
- package/modules/read/readXlsx.js.map +1 -1
- package/modules/read/readXlsxFileBrowser.js +3 -3
- package/modules/read/readXlsxFileBrowser.js.map +1 -1
- package/modules/read/readXlsxFileContents.js +5 -5
- package/modules/read/readXlsxFileContents.js.map +1 -1
- package/modules/read/readXlsxFileNode.js +3 -3
- package/modules/read/readXlsxFileNode.js.map +1 -1
- package/modules/read/readXlsxFileNode.test.js.map +1 -1
- package/modules/read/readXlsxFileWebWorker.js +3 -3
- package/modules/read/readXlsxFileWebWorker.js.map +1 -1
- package/modules/read/schema/convertMapToSchema.js +1 -1
- package/modules/read/schema/convertMapToSchema.js.map +1 -1
- package/modules/read/schema/convertMapToSchema.test.js.map +1 -1
- package/modules/read/schema/convertToJson.js +8 -8
- package/modules/read/schema/convertToJson.js.map +1 -1
- package/modules/read/schema/convertToJson.test.js.map +1 -1
- package/modules/read/unpackXlsxFileBrowser.js.map +1 -1
- package/modules/read/unpackXlsxFileNode.js.map +1 -1
- package/modules/types/Email.js.map +1 -1
- package/modules/types/Email.test.js.map +1 -1
- package/modules/types/Integer.js.map +1 -1
- package/modules/types/Integer.test.js.map +1 -1
- package/modules/types/URL.js.map +1 -1
- package/modules/types/URL.test.js.map +1 -1
- package/modules/xml/dom.js.map +1 -1
- package/modules/xml/xlsx-xpath.js.map +1 -1
- package/modules/xml/xlsx.js +1 -1
- package/modules/xml/xlsx.js.map +1 -1
- package/modules/xml/xml.js.map +1 -1
- package/modules/xml/xmlBrowser.js.map +1 -1
- package/modules/xml/xpathBrowser.js.map +1 -1
- package/modules/xml/xpathNode.js.map +1 -1
- package/node/index.cjs +7 -0
- package/node/index.cjs.js +12 -0
- package/node/index.js +6 -6
- package/node/package.json +9 -1
- package/package.json +46 -22
- package/{rollup.config.js → rollup.config.mjs} +0 -0
- package/runnable/create-commonjs-package-json.js +11 -0
- package/schema/{index.commonjs.js → index.cjs} +2 -2
- package/schema/index.cjs.js +7 -0
- package/schema/index.js +1 -1
- package/schema/package.json +9 -1
- package/web-worker/index.cjs +7 -0
- package/web-worker/index.cjs.js +12 -0
- package/web-worker/index.js +6 -6
- package/web-worker/package.json +9 -1
- package/babel.js +0 -5
- package/index.commonjs.js +0 -7
- package/node/index.commonjs.js +0 -7
- 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
|
|
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";
|
|
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);
|
|
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]
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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"}
|
package/modules/types/URL.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,"
|
|
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"}
|
package/modules/xml/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,"
|
|
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"}
|
package/modules/xml/xlsx.js
CHANGED
|
@@ -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');
|
package/modules/xml/xlsx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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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"}
|
package/modules/xml/xml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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.
|
|
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
|
}
|