read-excel-file 5.7.1 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +45 -19
  3. package/bundle/read-excel-file.min.js +1 -1
  4. package/bundle/read-excel-file.min.js.map +1 -1
  5. package/commonjs/read/coordinates.js +7 -10
  6. package/commonjs/read/coordinates.js.map +1 -1
  7. package/commonjs/read/dropEmptyColumns.js +6 -18
  8. package/commonjs/read/dropEmptyColumns.js.map +1 -1
  9. package/commonjs/read/dropEmptyColumns.test.js.map +1 -1
  10. package/commonjs/read/dropEmptyRows.js +11 -23
  11. package/commonjs/read/dropEmptyRows.js.map +1 -1
  12. package/commonjs/read/dropEmptyRows.test.js.map +1 -1
  13. package/commonjs/read/getData.js +31 -43
  14. package/commonjs/read/getData.js.map +1 -1
  15. package/commonjs/read/isDateTimestamp.js +51 -40
  16. package/commonjs/read/isDateTimestamp.js.map +1 -1
  17. package/commonjs/read/parseCell.js +3 -10
  18. package/commonjs/read/parseCell.js.map +1 -1
  19. package/commonjs/read/parseCellValue.js +28 -59
  20. package/commonjs/read/parseCellValue.js.map +1 -1
  21. package/commonjs/read/parseCells.js +3 -7
  22. package/commonjs/read/parseCells.js.map +1 -1
  23. package/commonjs/read/parseDate.js +5 -5
  24. package/commonjs/read/parseDate.js.map +1 -1
  25. package/commonjs/read/parseDate.test.js.map +1 -1
  26. package/commonjs/read/parseDimensions.js +6 -18
  27. package/commonjs/read/parseDimensions.js.map +1 -1
  28. package/commonjs/read/parseFilePaths.js +4 -11
  29. package/commonjs/read/parseFilePaths.js.map +1 -1
  30. package/commonjs/read/parseProperties.js +6 -8
  31. package/commonjs/read/parseProperties.js.map +1 -1
  32. package/commonjs/read/parseSharedStrings.js +0 -3
  33. package/commonjs/read/parseSharedStrings.js.map +1 -1
  34. package/commonjs/read/parseSheet.js +3 -7
  35. package/commonjs/read/parseSheet.js.map +1 -1
  36. package/commonjs/read/parseStyles.js +13 -21
  37. package/commonjs/read/parseStyles.js.map +1 -1
  38. package/commonjs/read/readSheetNamesBrowser.js +0 -3
  39. package/commonjs/read/readSheetNamesBrowser.js.map +1 -1
  40. package/commonjs/read/readSheetNamesNode.js +0 -3
  41. package/commonjs/read/readSheetNamesNode.js.map +1 -1
  42. package/commonjs/read/readSheetNamesNode.test.js.map +1 -1
  43. package/commonjs/read/readSheetNamesWebWorker.js +0 -3
  44. package/commonjs/read/readSheetNamesWebWorker.js.map +1 -1
  45. package/commonjs/read/readXlsx.js +34 -42
  46. package/commonjs/read/readXlsx.js.map +1 -1
  47. package/commonjs/read/readXlsxFileBrowser.js +0 -5
  48. package/commonjs/read/readXlsxFileBrowser.js.map +1 -1
  49. package/commonjs/read/readXlsxFileContents.js +12 -22
  50. package/commonjs/read/readXlsxFileContents.js.map +1 -1
  51. package/commonjs/read/readXlsxFileNode.js +0 -5
  52. package/commonjs/read/readXlsxFileNode.js.map +1 -1
  53. package/commonjs/read/readXlsxFileNode.test.js.map +1 -1
  54. package/commonjs/read/readXlsxFileWebWorker.js +0 -5
  55. package/commonjs/read/readXlsxFileWebWorker.js.map +1 -1
  56. package/commonjs/read/schema/convertMapToSchema.js +1 -8
  57. package/commonjs/read/schema/convertMapToSchema.js.map +1 -1
  58. package/commonjs/read/schema/convertMapToSchema.test.js.map +1 -1
  59. package/commonjs/read/schema/convertToJson.js +143 -142
  60. package/commonjs/read/schema/convertToJson.js.map +1 -1
  61. package/commonjs/read/schema/convertToJson.legacy.js +60 -0
  62. package/commonjs/read/schema/convertToJson.legacy.js.map +1 -0
  63. package/commonjs/read/schema/convertToJson.legacy.test.js.map +1 -0
  64. package/commonjs/read/schema/convertToJson.spreadsheet.js +25 -0
  65. package/commonjs/read/schema/convertToJson.spreadsheet.js.map +1 -0
  66. package/commonjs/read/schema/convertToJson.spreadsheet.test.js.map +1 -0
  67. package/commonjs/read/schema/convertToJson.test.js.map +1 -1
  68. package/commonjs/read/unpackXlsxFileBrowser.js +3 -9
  69. package/commonjs/read/unpackXlsxFileBrowser.js.map +1 -1
  70. package/commonjs/read/unpackXlsxFileNode.js +9 -15
  71. package/commonjs/read/unpackXlsxFileNode.js.map +1 -1
  72. package/commonjs/types/Boolean.js +0 -4
  73. package/commonjs/types/Boolean.js.map +1 -1
  74. package/commonjs/types/Date.js +0 -12
  75. package/commonjs/types/Date.js.map +1 -1
  76. package/commonjs/types/Email.js +0 -7
  77. package/commonjs/types/Email.js.map +1 -1
  78. package/commonjs/types/Email.test.js.map +1 -1
  79. package/commonjs/types/Integer.js +0 -7
  80. package/commonjs/types/Integer.js.map +1 -1
  81. package/commonjs/types/Integer.test.js.map +1 -1
  82. package/commonjs/types/InvalidError.js +8 -28
  83. package/commonjs/types/InvalidError.js.map +1 -1
  84. package/commonjs/types/Number.js +2 -10
  85. package/commonjs/types/Number.js.map +1 -1
  86. package/commonjs/types/String.js +4 -11
  87. package/commonjs/types/String.js.map +1 -1
  88. package/commonjs/types/URL.js +5 -8
  89. package/commonjs/types/URL.js.map +1 -1
  90. package/commonjs/types/URL.test.js.map +1 -1
  91. package/commonjs/xml/dom.js +6 -25
  92. package/commonjs/xml/dom.js.map +1 -1
  93. package/commonjs/xml/xlsx.js +1 -24
  94. package/commonjs/xml/xlsx.js.map +1 -1
  95. package/commonjs/xml/xml.js +1 -4
  96. package/commonjs/xml/xml.js.map +1 -1
  97. package/commonjs/xml/xmlBrowser.js +1 -2
  98. package/commonjs/xml/xmlBrowser.js.map +1 -1
  99. package/commonjs/xml/xpath/xlsx-xpath.js +3 -16
  100. package/commonjs/xml/xpath/xlsx-xpath.js.map +1 -1
  101. package/commonjs/xml/xpath/xpathBrowser.js +3 -5
  102. package/commonjs/xml/xpath/xpathBrowser.js.map +1 -1
  103. package/commonjs/xml/xpath/xpathNode.js +1 -5
  104. package/commonjs/xml/xpath/xpathNode.js.map +1 -1
  105. package/map/index.cjs +2 -0
  106. package/map/index.cjs.js +7 -0
  107. package/map/index.d.ts +11 -0
  108. package/map/index.js +1 -0
  109. package/map/package.json +17 -0
  110. package/modules/read/coordinates.js +7 -8
  111. package/modules/read/coordinates.js.map +1 -1
  112. package/modules/read/dropEmptyColumns.js +6 -17
  113. package/modules/read/dropEmptyColumns.js.map +1 -1
  114. package/modules/read/dropEmptyColumns.test.js.map +1 -1
  115. package/modules/read/dropEmptyRows.js +11 -22
  116. package/modules/read/dropEmptyRows.js.map +1 -1
  117. package/modules/read/dropEmptyRows.test.js.map +1 -1
  118. package/modules/read/getData.js +31 -39
  119. package/modules/read/getData.js.map +1 -1
  120. package/modules/read/isDateTimestamp.js +52 -39
  121. package/modules/read/isDateTimestamp.js.map +1 -1
  122. package/modules/read/parseCell.js +6 -6
  123. package/modules/read/parseCell.js.map +1 -1
  124. package/modules/read/parseCellValue.js +30 -55
  125. package/modules/read/parseCellValue.js.map +1 -1
  126. package/modules/read/parseCells.js +3 -3
  127. package/modules/read/parseCells.js.map +1 -1
  128. package/modules/read/parseDate.js +5 -4
  129. package/modules/read/parseDate.js.map +1 -1
  130. package/modules/read/parseDate.test.js.map +1 -1
  131. package/modules/read/parseDimensions.js +9 -17
  132. package/modules/read/parseDimensions.js.map +1 -1
  133. package/modules/read/parseFilePaths.js +5 -10
  134. package/modules/read/parseFilePaths.js.map +1 -1
  135. package/modules/read/parseProperties.js +8 -7
  136. package/modules/read/parseProperties.js.map +1 -1
  137. package/modules/read/parseSharedStrings.js +0 -1
  138. package/modules/read/parseSharedStrings.js.map +1 -1
  139. package/modules/read/parseSheet.js +3 -2
  140. package/modules/read/parseSheet.js.map +1 -1
  141. package/modules/read/parseStyles.js +16 -21
  142. package/modules/read/parseStyles.js.map +1 -1
  143. package/modules/read/readSheetNamesBrowser.js +1 -1
  144. package/modules/read/readSheetNamesBrowser.js.map +1 -1
  145. package/modules/read/readSheetNamesNode.js +1 -1
  146. package/modules/read/readSheetNamesNode.js.map +1 -1
  147. package/modules/read/readSheetNamesNode.test.js.map +1 -1
  148. package/modules/read/readSheetNamesWebWorker.js +1 -1
  149. package/modules/read/readSheetNamesWebWorker.js.map +1 -1
  150. package/modules/read/readXlsx.js +37 -35
  151. package/modules/read/readXlsx.js.map +1 -1
  152. package/modules/read/readXlsxFileBrowser.js +1 -1
  153. package/modules/read/readXlsxFileBrowser.js.map +1 -1
  154. package/modules/read/readXlsxFileContents.js +12 -17
  155. package/modules/read/readXlsxFileContents.js.map +1 -1
  156. package/modules/read/readXlsxFileNode.js +1 -1
  157. package/modules/read/readXlsxFileNode.js.map +1 -1
  158. package/modules/read/readXlsxFileNode.test.js.map +1 -1
  159. package/modules/read/readXlsxFileWebWorker.js +1 -1
  160. package/modules/read/readXlsxFileWebWorker.js.map +1 -1
  161. package/modules/read/schema/convertMapToSchema.js +1 -7
  162. package/modules/read/schema/convertMapToSchema.js.map +1 -1
  163. package/modules/read/schema/convertMapToSchema.test.js.map +1 -1
  164. package/modules/read/schema/convertToJson.js +143 -133
  165. package/modules/read/schema/convertToJson.js.map +1 -1
  166. package/modules/read/schema/convertToJson.legacy.js +53 -0
  167. package/modules/read/schema/convertToJson.legacy.js.map +1 -0
  168. package/modules/read/schema/convertToJson.legacy.test.js.map +1 -0
  169. package/modules/read/schema/convertToJson.spreadsheet.js +19 -0
  170. package/modules/read/schema/convertToJson.spreadsheet.js.map +1 -0
  171. package/modules/read/schema/convertToJson.spreadsheet.test.js.map +1 -0
  172. package/modules/read/schema/convertToJson.test.js.map +1 -1
  173. package/modules/read/unpackXlsxFileBrowser.js +4 -7
  174. package/modules/read/unpackXlsxFileBrowser.js.map +1 -1
  175. package/modules/read/unpackXlsxFileNode.js +9 -7
  176. package/modules/read/unpackXlsxFileNode.js.map +1 -1
  177. package/modules/types/Boolean.js +0 -1
  178. package/modules/types/Boolean.js.map +1 -1
  179. package/modules/types/Date.js +0 -8
  180. package/modules/types/Date.js.map +1 -1
  181. package/modules/types/Email.js +0 -2
  182. package/modules/types/Email.js.map +1 -1
  183. package/modules/types/Email.test.js.map +1 -1
  184. package/modules/types/Integer.js +0 -2
  185. package/modules/types/Integer.js.map +1 -1
  186. package/modules/types/Integer.test.js.map +1 -1
  187. package/modules/types/InvalidError.js +7 -25
  188. package/modules/types/InvalidError.js.map +1 -1
  189. package/modules/types/Number.js +2 -7
  190. package/modules/types/Number.js.map +1 -1
  191. package/modules/types/String.js +4 -8
  192. package/modules/types/String.js.map +1 -1
  193. package/modules/types/URL.js +5 -4
  194. package/modules/types/URL.js.map +1 -1
  195. package/modules/types/URL.test.js.map +1 -1
  196. package/modules/xml/dom.js +6 -18
  197. package/modules/xml/dom.js.map +1 -1
  198. package/modules/xml/xlsx.js +4 -13
  199. package/modules/xml/xlsx.js.map +1 -1
  200. package/modules/xml/xml.js.map +1 -1
  201. package/modules/xml/xmlBrowser.js.map +1 -1
  202. package/modules/xml/xpath/xlsx-xpath.js +2 -1
  203. package/modules/xml/xpath/xlsx-xpath.js.map +1 -1
  204. package/modules/xml/xpath/xpathBrowser.js +3 -4
  205. package/modules/xml/xpath/xpathBrowser.js.map +1 -1
  206. package/modules/xml/xpath/xpathNode.js +1 -0
  207. package/modules/xml/xpath/xpathNode.js.map +1 -1
  208. package/package.json +6 -1
  209. package/schema/index.cjs +2 -2
  210. package/schema/index.cjs.js +2 -2
  211. package/schema/index.d.ts +7 -2
  212. package/schema/index.js +1 -1
  213. package/types.d.ts +25 -2
@@ -1 +1 @@
1
- {"version":3,"file":"convertToJson.js","names":["DEFAULT_OPTIONS","isColumnOriented","data","schema","options","rowMap","ignoreEmptyRows","validateSchema","transpose","columns","results","errors","i","length","result","read","push","error","row","rows","rowIndex","object","isEmptyObject","createError","column","value","errorMessage","reason","type","pendingRequiredChecks","key","schemaEntry","isNestedSchema","Array","isArray","rawValue","indexOf","undefined","notEmpty","array","parseArray","map","_value","parseValue","required","includeNullValues","prop","Object","keys","parse","parseCustomValue","parseValueOfType","oneOf","validate","message","String","StringType","Number","NumberType","Date","DateType","properties","Boolean","BooleanType","Error","name","getBlock","string","endCharacter","startIndex","substring","character","block","blocks","index","trim","_","entry"],"sources":["../../../source/read/schema/convertToJson.js"],"sourcesContent":["import NumberType from '../../types/Number.js'\r\nimport StringType from '../../types/String.js'\r\nimport BooleanType from '../../types/Boolean.js'\r\nimport DateType from '../../types/Date.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 ignoreEmptyRows\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, columns, errors, options)\r\n if (result !== null || ignoreEmptyRows === false) {\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 // `- 1` converts row number to row index.\r\n // `+ 1` converts row index to row number.\r\n error.row = rowMap[error.row - 1] + 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 let isEmptyObject = true\r\n\r\n const createError = ({\r\n column,\r\n value,\r\n error: errorMessage,\r\n reason\r\n }) => {\r\n const error = {\r\n error: errorMessage,\r\n row: rowIndex + 1,\r\n column,\r\n value\r\n }\r\n if (reason) {\r\n error.reason = reason\r\n }\r\n if (schema[column].type) {\r\n error.type = schema[column].type\r\n }\r\n return error\r\n }\r\n\r\n const pendingRequiredChecks = []\r\n\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\r\n let rawValue = row[columns.indexOf(key)]\r\n if (rawValue === undefined) {\r\n rawValue = null\r\n }\r\n\r\n let value\r\n let error\r\n let reason\r\n\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 reason = result.reason\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 reason = result.reason\r\n value = error ? rawValue : result.value\r\n }\r\n }\r\n\r\n if (!error && value === null) {\r\n if (typeof schemaEntry.required === 'function') {\r\n pendingRequiredChecks.push({ column: key })\r\n } else if (schemaEntry.required === true) {\r\n error = 'required'\r\n }\r\n }\r\n\r\n if (error) {\r\n errors.push(createError({\r\n column: key,\r\n value,\r\n error,\r\n reason\r\n }))\r\n } else {\r\n if (isEmptyObject && value !== null) {\r\n isEmptyObject = false\r\n }\r\n if (value !== null || options.includeNullValues) {\r\n object[schemaEntry.prop] = value\r\n }\r\n }\r\n }\r\n\r\n if (isEmptyObject) {\r\n return null\r\n }\r\n\r\n for (const { column } of pendingRequiredChecks) {\r\n const required = schema[column].required(object)\r\n if (required) {\r\n errors.push(createError({\r\n column,\r\n value: null,\r\n error: 'required'\r\n }))\r\n }\r\n }\r\n\r\n return object\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', reason: 'unknown' }\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 const result = { error: error.message }\r\n if (error.reason) {\r\n result.reason = error.reason;\r\n }\r\n return result\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, reason?: string }}\r\n */\r\nfunction parseValueOfType(value, type, options) {\r\n switch (type) {\r\n case String:\r\n return parseCustomValue(value, StringType)\r\n\r\n case Number:\r\n return parseCustomValue(value, NumberType)\r\n\r\n case Date:\r\n return parseCustomValue(value, (value) => DateType(value, { properties: options.properties }))\r\n\r\n case Boolean:\r\n return parseCustomValue(value, BooleanType)\r\n\r\n default:\r\n if (typeof type === 'function') {\r\n return parseCustomValue(value, type)\r\n }\r\n throw new Error(`Unsupported 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
+ {"version":3,"file":"convertToJson.js","names":["_Number","_interopRequireDefault","require","_String","_Boolean","_Date","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","r","l","t","Symbol","iterator","e","n","u","a","f","o","call","next","Object","done","push","value","length","Array","isArray","_typeof","constructor","prototype","_createForOfIteratorHelperLoose","allowArrayLike","it","bind","minLen","_arrayLikeToArray","toString","slice","name","from","test","len","arr2","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_OPTIONS","schemaPropertyValueForMissingColumn","schemaPropertyValueForUndefinedCellValue","schemaPropertyValueForNullCellValue","schemaPropertyShouldSkipRequiredValidationForMissingColumn","getEmptyObjectValue","getEmptyArrayValue","isColumnOriented","arrayValueSeparator","_default","data","schema","options","_options","rowIndexMap","validateSchema","transpose","columns","results","errors","result","read","_iterator","_step","error","row","rows","rowIndex","path","object","isEmptyObject","createError","_ref","column","errorMessage","reason","type","pendingRequiredChecks","_loop","_Object$keys","_i","schemaEntry","isNestedSchema","propertyPath","concat","prop","cellValue","columnIndex","indexOf","isMissingColumn","array","parseArray","map","_value","parseValue","isEmpty","every","isEmptyValue","required","_i2","_pendingRequiredCheck","_pendingRequiredCheck2","skipRequiredValidation","isRequired","parse","parseCustomValue","parseValueOfType","oneOf","validate","message","StringType","NumberType","Date","DateType","properties","Boolean","BooleanType","Error","getBlock","string","endCharacter","startIndex","substring","character","block","blocks","index","_getBlock","_getBlock2","trim","_","_i3","_Object$keys2","entry"],"sources":["../../../source/read/schema/convertToJson.js"],"sourcesContent":["import NumberType from '../../types/Number.js'\r\nimport StringType from '../../types/String.js'\r\nimport BooleanType from '../../types/Boolean.js'\r\nimport DateType from '../../types/Date.js'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n schemaPropertyValueForMissingColumn: undefined,\r\n schemaPropertyValueForUndefinedCellValue: undefined,\r\n schemaPropertyValueForNullCellValue: null,\r\n schemaPropertyShouldSkipRequiredValidationForMissingColumn: () => false,\r\n // `getEmptyObjectValue(object, { path })` applies to both the top-level object\r\n // and any of its sub-objects.\r\n getEmptyObjectValue: () => null,\r\n getEmptyArrayValue: () => null,\r\n isColumnOriented: false,\r\n arrayValueSeparator: ','\r\n}\r\n\r\n/**\r\n * (this function is exported from `read-excel-file/map`)\r\n * Converts spreadsheet-alike data structure into an array of objects.\r\n * The first row should be the list of column headers.\r\n * @param {any[][]} data - An array of rows, each row being an array of cells.\r\n * @param {object} schema\r\n * @param {object} [options]\r\n * @param {null} [options.schemaPropertyValueForMissingColumn] — By default, when some of the `schema` columns are missing in the input `data`, those properties are set to `undefined` in the output objects. Pass `schemaPropertyValueForMissingColumn: null` to set such \"missing column\" properties to `null` in the output objects.\r\n * @param {null} [options.schemaPropertyValueForNullCellValue] — By default, when it encounters a `null` value in a cell in input `data`, it sets it to `undefined` in the output object. Pass `schemaPropertyValueForNullCellValue: null` to make it set such values as `null`s in output objects.\r\n * @param {null} [options.schemaPropertyValueForUndefinedCellValue] — By default, when it encounters an `undefined` value in a cell in input `data`, it it sets it to `undefined` in the output object. Pass `schemaPropertyValueForUndefinedCellValue: null` to make it set such values as `null`s in output objects.\r\n * @param {boolean} [options.schemaPropertyShouldSkipRequiredValidationForMissingColumn(column: string, { object })] — By default, it does apply `required` validation to `schema` properties for which columns are missing in the input `data`. One could pass a custom `schemaPropertyShouldSkipRequiredValidationForMissingColumn(column, { object })` to disable `required` validation for missing columns in some or all cases.\r\n * @param {function} [options.getEmptyObjectValue(object, { path })] — By default, it returns `null` for an \"empty\" resulting object. One could override that value using `getEmptyObjectValue(object, { path })` parameter. The value applies to both top-level object and any nested sub-objects in case of a nested schema, hence the additional `path?: string` parameter.\r\n * @param {function} [getEmptyArrayValue(array, { path })] — By default, it returns `null` for an \"empty\" array value. One could override that value using `getEmptyArrayValue(array, { path })` parameter.\r\n * @param {boolean} [options.isColumnOriented] — By default, the headers are assumed to be the first row in the `data`. Pass `isColumnOriented: true` if the headers are the first column in the `data`. i.e. if `data` is \"transposed\".\r\n * @param {object} [options.rowIndexMap] — Custom row index mapping `data` rows. If present, will overwrite the indexes of `data` rows with the indexes from this `rowIndexMap`.\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 rowIndexMap\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, undefined, columns, errors, options)\r\n results.push(result)\r\n }\r\n\r\n // Set the correct `row` number in `errors` if a custom `rowIndexMap` is supplied.\r\n if (rowIndexMap) {\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 // `- 1` converts row number to row index.\r\n // `+ 1` converts row index to row number.\r\n error.row = rowIndexMap[error.row - 1] + 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, path, columns, errors, options) {\r\n const object = {}\r\n let isEmptyObject = true\r\n\r\n const createError = ({\r\n column,\r\n value,\r\n error: errorMessage,\r\n reason\r\n }) => {\r\n const error = {\r\n error: errorMessage,\r\n row: rowIndex + 1,\r\n column,\r\n value\r\n }\r\n if (reason) {\r\n error.reason = reason\r\n }\r\n if (schema[column].type) {\r\n error.type = schema[column].type\r\n }\r\n return error\r\n }\r\n\r\n const pendingRequiredChecks = []\r\n\r\n // For each schema entry.\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\r\n // The path of this property inside the resulting object.\r\n const propertyPath = `${path || ''}.${schemaEntry.prop}`\r\n\r\n // Read the cell value for the schema entry.\r\n let cellValue\r\n const columnIndex = columns.indexOf(key)\r\n const isMissingColumn = columnIndex < 0\r\n if (!isMissingColumn) {\r\n cellValue = row[columnIndex]\r\n }\r\n\r\n let value\r\n let error\r\n let reason\r\n\r\n // Get property `value` from cell value.\r\n if (isNestedSchema) {\r\n value = read(schemaEntry.type, row, rowIndex, propertyPath, columns, errors, options)\r\n } else {\r\n if (isMissingColumn) {\r\n value = options.schemaPropertyValueForMissingColumn\r\n }\r\n else if (cellValue === undefined) {\r\n value = options.schemaPropertyValueForUndefinedCellValue\r\n }\r\n else if (cellValue === null) {\r\n value = options.schemaPropertyValueForNullCellValue\r\n }\r\n else if (Array.isArray(schemaEntry.type)) {\r\n const array = parseArray(cellValue, options.arrayValueSeparator).map((_value) => {\r\n if (error) {\r\n return\r\n }\r\n const result = parseValue(_value, schemaEntry, options)\r\n if (result.error) {\r\n // In case of an error, `value` won't be returned and will just be reported\r\n // as part of an `error` object, so it's fine assigning just an element of the array.\r\n value = _value\r\n error = result.error\r\n reason = result.reason\r\n }\r\n return result.value\r\n })\r\n if (!error) {\r\n const isEmpty = array.every(isEmptyValue)\r\n value = isEmpty ? options.getEmptyArrayValue(array, { path: propertyPath }) : array\r\n }\r\n } else {\r\n const result = parseValue(cellValue, schemaEntry, options)\r\n error = result.error\r\n reason = result.reason\r\n value = error ? cellValue : result.value\r\n }\r\n }\r\n\r\n // Apply `required` validation if the value is \"empty\".\r\n if (!error && isEmptyValue(value)) {\r\n if (schemaEntry.required) {\r\n // Will perform this `required()` validation in the end,\r\n // when all properties of the mapped object have been mapped.\r\n pendingRequiredChecks.push({ column: key, value, isMissingColumn })\r\n }\r\n }\r\n\r\n if (error) {\r\n // If there was an error then the property value in the `object` will be `undefined`,\r\n // i.e it won't add the property value to the mapped object.\r\n errors.push(createError({\r\n column: key,\r\n value,\r\n error,\r\n reason\r\n }))\r\n } else {\r\n // Possibly unmark the mapped object as \"empty\".\r\n if (isEmptyObject && !isEmptyValue(value)) {\r\n isEmptyObject = false\r\n }\r\n // Set the value in the mapped object.\r\n // Skip setting `undefined` values because they're already `undefined`.\r\n if (value !== undefined) {\r\n object[schemaEntry.prop] = value\r\n }\r\n }\r\n }\r\n\r\n // Return `null` for an \"empty\" mapped object.\r\n if (isEmptyObject) {\r\n return options.getEmptyObjectValue(object, { path })\r\n }\r\n\r\n // Perform any `required` validations.\r\n for (const { column, value, isMissingColumn } of pendingRequiredChecks) {\r\n // Can optionally skip `required` validation for missing columns.\r\n const skipRequiredValidation = isMissingColumn && options.schemaPropertyShouldSkipRequiredValidationForMissingColumn(column, { object })\r\n if (!skipRequiredValidation) {\r\n const { required } = schema[column]\r\n const isRequired = typeof required === 'boolean' ? required : required(object)\r\n if (isRequired) {\r\n errors.push(createError({\r\n column,\r\n value,\r\n error: 'required'\r\n }))\r\n }\r\n }\r\n }\r\n\r\n // Return the mapped object.\r\n return object\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', reason: 'unknown' }\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 const result = { error: error.message }\r\n if (error.reason) {\r\n result.reason = error.reason;\r\n }\r\n return result\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, reason?: string }}\r\n */\r\nfunction parseValueOfType(value, type, options) {\r\n switch (type) {\r\n case String:\r\n return parseCustomValue(value, StringType)\r\n\r\n case Number:\r\n return parseCustomValue(value, NumberType)\r\n\r\n case Date:\r\n return parseCustomValue(value, (value) => DateType(value, { properties: options.properties }))\r\n\r\n case Boolean:\r\n return parseCustomValue(value, BooleanType)\r\n\r\n default:\r\n if (typeof type === 'function') {\r\n return parseCustomValue(value, type)\r\n }\r\n throw new Error(`Unsupported 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, arrayValueSeparator) {\r\n const blocks = []\r\n let index = 0\r\n while (index < string.length) {\r\n const [substring, length] = getBlock(string, arrayValueSeparator, index)\r\n index += length + arrayValueSeparator.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}\r\n\r\nfunction isEmptyValue(value) {\r\n return value === undefined || value === null\r\n}"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = convertToJsonLegacyBehavior;
7
+ var _convertToJson = _interopRequireDefault(require("./convertToJson.js"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function convertToJsonLegacyBehavior(data, schema) {
16
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
17
+ var includeNullValues = options.includeNullValues,
18
+ ignoreEmptyRows = options.ignoreEmptyRows,
19
+ isColumnOriented = options.isColumnOriented,
20
+ rowMap = options.rowMap;
21
+ var defaultConversionOptions = {
22
+ schemaPropertyValueForMissingColumn: undefined,
23
+ schemaPropertyValueForUndefinedCellValue: undefined,
24
+ schemaPropertyValueForNullCellValue: undefined,
25
+ schemaPropertyShouldSkipRequiredValidationForMissingColumn: function schemaPropertyShouldSkipRequiredValidationForMissingColumn(column, _ref) {
26
+ var path = _ref.path;
27
+ return false;
28
+ },
29
+ getEmptyObjectValue: function getEmptyObjectValue(object, _ref2) {
30
+ var path = _ref2.path;
31
+ return path ? undefined : null;
32
+ },
33
+ getEmptyArrayValue: function getEmptyArrayValue() {
34
+ return null;
35
+ },
36
+ arrayValueSeparator: ','
37
+ };
38
+ if (includeNullValues) {
39
+ defaultConversionOptions.schemaPropertyValueForMissingColumn = null;
40
+ defaultConversionOptions.schemaPropertyValueForUndefinedCellValue = null;
41
+ defaultConversionOptions.schemaPropertyValueForNullCellValue = null;
42
+ defaultConversionOptions.getEmptyObjectValue = function (object, _ref3) {
43
+ var path = _ref3.path;
44
+ return null;
45
+ };
46
+ }
47
+ var result = (0, _convertToJson["default"])(data, schema, _objectSpread(_objectSpread({}, defaultConversionOptions), {}, {
48
+ rowIndexMap: rowMap,
49
+ isColumnOriented: isColumnOriented
50
+ }));
51
+ if (ignoreEmptyRows !== false) {
52
+ result.rows = result.rows.filter(function (_) {
53
+ return _ !== defaultConversionOptions.getEmptyObjectValue(_, {
54
+ path: undefined
55
+ });
56
+ });
57
+ }
58
+ return result;
59
+ }
60
+ //# sourceMappingURL=convertToJson.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToJson.legacy.js","names":["_convertToJson","_interopRequireDefault","require","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","convertToJsonLegacyBehavior","data","schema","options","includeNullValues","ignoreEmptyRows","isColumnOriented","rowMap","defaultConversionOptions","schemaPropertyValueForMissingColumn","schemaPropertyValueForUndefinedCellValue","schemaPropertyValueForNullCellValue","schemaPropertyShouldSkipRequiredValidationForMissingColumn","column","_ref","path","getEmptyObjectValue","object","_ref2","getEmptyArrayValue","arrayValueSeparator","_ref3","result","convertToJson","rowIndexMap","rows","_"],"sources":["../../../source/read/schema/convertToJson.legacy.js"],"sourcesContent":["import convertToJson from './convertToJson.js'\r\n\r\nexport default function convertToJsonLegacyBehavior(data, schema, options = {}) {\r\n\tconst {\r\n\t\tincludeNullValues,\r\n\t\tignoreEmptyRows,\r\n\t\tisColumnOriented,\r\n\t\trowMap\r\n\t} = options\r\n\tconst defaultConversionOptions = {\r\n\t\tschemaPropertyValueForMissingColumn: undefined,\r\n\t\tschemaPropertyValueForUndefinedCellValue: undefined,\r\n\t\tschemaPropertyValueForNullCellValue: undefined,\r\n\t\tschemaPropertyShouldSkipRequiredValidationForMissingColumn: (column, { path }) => false,\r\n\t\tgetEmptyObjectValue: (object, { path }) => path ? undefined : null,\r\n\t\tgetEmptyArrayValue: () => null,\r\n\t\tarrayValueSeparator: ','\r\n\t}\r\n\tif (includeNullValues) {\r\n\t\tdefaultConversionOptions.schemaPropertyValueForMissingColumn = null\r\n\t\tdefaultConversionOptions.schemaPropertyValueForUndefinedCellValue = null\r\n\t\tdefaultConversionOptions.schemaPropertyValueForNullCellValue = null\r\n\t\tdefaultConversionOptions.getEmptyObjectValue = (object, { path }) => null\r\n\t}\r\n\tconst result = convertToJson(data, schema, {\r\n\t\t...defaultConversionOptions,\r\n\t\trowIndexMap: rowMap,\r\n\t\tisColumnOriented\r\n\t})\r\n\tif (ignoreEmptyRows !== false) {\r\n\t\tresult.rows = result.rows.filter(_ => _ !== defaultConversionOptions.getEmptyObjectValue(_, { path: undefined }))\r\n\t}\r\n\treturn result\r\n}"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToJson.legacy.test.js","names":["_convertToJsonLegacy","_interopRequireDefault","require","_Integer","obj","__esModule","describe","it","_convertToJson","convertToJson","A","prop","type","String","B","C","CA","CB","includeNullValues","rows","should","deep","equal","a","b","c","_convertToJson2","COLUMN_1","required","COLUMN_2","COLUMN_4","COLUMN_5","errors","column2","column4","_convertToJson3","column1","column5","_convertToJson4","NUMBER","Number","STRING","error","row","column","value","undefined","string","_convertToJson5","_convertToJson6","NAMES","names","_convertToJson7","INTEGER","Integer","length","reason","_convertToJson8"],"sources":["../../../source/read/schema/convertToJson.legacy.test.js"],"sourcesContent":["import convertToJson from './convertToJson.legacy.js'\r\n\r\nimport Integer from '../../types/Integer.js'\r\n\r\ndescribe('convertToJson (legacy behavior)', () => {\r\n\tit('should include `null` values when `includeNullValues: true` option is passed', function() {\r\n\t\tconst { rows } = convertToJson(\r\n\t\t\t[\r\n\t\t\t\t['A', 'B', 'CA', 'CB'],\r\n\t\t\t\t['a', 'b', 'ca', null],\r\n\t\t\t\t['a', null]\r\n\t\t\t],\r\n\t\t\t{\r\n\t\t\t\tA: {\r\n\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tB: {\r\n\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tC: {\r\n\t\t\t\t\tprop: 'c',\r\n \t\t\ttype: {\r\n\t\t\t\t\t\tCA: {\r\n\t\t\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tCB: {\r\n\t\t\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tincludeNullValues: true\r\n\t\t\t}\r\n\t\t)\r\n\r\n\t\trows.should.deep.equal([\r\n\t\t\t{ a: 'a', b: 'b', c: { a: 'ca', b: null } },\r\n\t\t\t{ a: 'a', b: null, c: null },\r\n\t\t])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (default) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Legacy behavior.\r\n\t\trows.should.deep.equal([{\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14'\r\n\t\t}, {\r\n\t\t\tcolumn2: '22'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`includeNullValues: true`) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tincludeNullValues: true\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\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should require fields when cell value is empty', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'STRING'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\tnull,\r\n\t\t\t\t'abc'\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\tSTRING: {\r\n\t\t\t\tprop: 'string',\r\n\t\t\t\ttype: String,\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: 2,\r\n\t\t\tcolumn: 'NUMBER',\r\n\t\t\ttype: Number,\r\n\t\t\t// value: null,\r\n\t\t\tvalue: undefined\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('shouldn\\'t require fields when cell value is empty and object is empty too', () => {\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[\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\trows.should.deep.equal([])\r\n\t})\r\n\r\n\tit('should parse arrays (and remove `null` empty objects from result)', () => {\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 (and drop `null` errored objects from result)', () =>\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].should.deep.equal({\r\n\t\t\terror: 'invalid',\r\n\t\t\treason: 'not_an_integer',\r\n\t\t\trow: 3,\r\n\t\t\tcolumn: 'INTEGER',\r\n\t\t\ttype: Integer,\r\n\t\t\tvalue: '1.2'\r\n\t\t})\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 not include `null` values by default (and set `null` for an \"empty\" object)', function() {\r\n\t\tconst { rows } = convertToJson(\r\n\t\t\t[\r\n\t\t\t\t['A', 'B', 'CA', 'CB'],\r\n\t\t\t\t['a', 'b', 'ca', null],\r\n\t\t\t\t['a', null]\r\n\t\t\t],\r\n\t\t\t{\r\n\t\t\t\tA: {\r\n\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tB: {\r\n\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tC: {\r\n\t\t\t\t\tprop: 'c',\r\n \t\t\ttype: {\r\n\t\t\t\t\t\tCA: {\r\n\t\t\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tCB: {\r\n\t\t\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t}\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\trows.should.deep.equal([\r\n\t\t\t{ a: 'a', b: 'b', c: { a: 'ca' } },\r\n\t\t\t{ a: 'a' },\r\n\t\t])\r\n\t})\r\n})"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = convertToJsonSpreadsheetBehavior;
8
+ var _excluded = ["schemaPropertyValueForEmptyCell"];
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
+ // Renames some of the `react-excel-file` options to `convertToJson()` options.
17
+ function convertToJsonSpreadsheetBehavior(convertToJson, data, schema) {
18
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
19
+ var schemaPropertyValueForEmptyCell = options.schemaPropertyValueForEmptyCell,
20
+ restOptions = _objectWithoutProperties(options, _excluded);
21
+ return convertToJson(data, schema, _objectSpread(_objectSpread({}, restOptions), {}, {
22
+ schemaPropertyValueForNullCellValue: schemaPropertyValueForEmptyCell
23
+ }));
24
+ }
25
+ //# sourceMappingURL=convertToJson.spreadsheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToJson.spreadsheet.js","names":["convertToJsonSpreadsheetBehavior","convertToJson","data","schema","options","arguments","length","undefined","schemaPropertyValueForEmptyCell","restOptions","_objectWithoutProperties","_excluded","_objectSpread","schemaPropertyValueForNullCellValue"],"sources":["../../../source/read/schema/convertToJson.spreadsheet.js"],"sourcesContent":["// Renames some of the `react-excel-file` options to `convertToJson()` options.\r\nexport default function convertToJsonSpreadsheetBehavior(convertToJson, data, schema, options = {}) {\r\n\tconst {\r\n\t\tschemaPropertyValueForEmptyCell,\r\n\t\t...restOptions\r\n\t} = options\r\n\treturn convertToJson(data, schema, {\r\n\t\t...restOptions,\r\n\t\tschemaPropertyValueForNullCellValue: schemaPropertyValueForEmptyCell\r\n\t})\r\n}"],"mappings":";;;;;;;;;;;;;;;AAAA;AACe,SAASA,gCAAgCA,CAACC,aAAa,EAAEC,IAAI,EAAEC,MAAM,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjG,IACCG,+BAA+B,GAE5BJ,OAAO,CAFVI,+BAA+B;IAC5BC,WAAW,GAAAC,wBAAA,CACXN,OAAO,EAAAO,SAAA;EACX,OAAOV,aAAa,CAACC,IAAI,EAAEC,MAAM,EAAAS,aAAA,CAAAA,aAAA,KAC7BH,WAAW;IACdI,mCAAmC,EAAEL;EAA+B,EACpE,CAAC;AACH"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToJson.spreadsheet.test.js","names":["_convertToJson3","_interopRequireDefault","require","_convertToJsonSpreadsheet","obj","__esModule","convertToJson","data","schema","options","convertToJsonSpreadsheetBehavior","convertToJson_","describe","it","_convertToJson","COLUMN_1","prop","type","String","required","COLUMN_2","COLUMN_4","COLUMN_5","schemaPropertyValueForMissingColumn","rows","errors","should","deep","equal","column1","column2","column4","column5","_convertToJson2","schemaPropertyValueForEmptyCell"],"sources":["../../../source/read/schema/convertToJson.spreadsheet.test.js"],"sourcesContent":["import convertToJson_ from './convertToJson.js'\r\nimport convertToJsonSpreadsheetBehavior from './convertToJson.spreadsheet.js'\r\n\r\nfunction convertToJson(data, schema, options) {\r\n\treturn convertToJsonSpreadsheetBehavior(convertToJson_, data, schema, options)\r\n}\r\n\r\ndescribe('convertToJson (spreadsheet behavior)', () => {\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForMissingColumn: null`) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForMissingColumn: null\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\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\t// column4: undefined,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForEmptyCell: null`) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForEmptyCell: null\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\t// column1: undefined,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\t// column5: undefined\r\n\t\t}, {\r\n\t\t\t// column1: undefined,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\t// column5: undefined\r\n\t\t}])\r\n\t})\r\n})\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertToJson.test.js","names":["date","convertToUTCTimezone","Date","describe","it","getBlock","should","deep","equal","parseArray","convertToJson","parse","getTimezoneOffset","DATE","prop","type","NUMBER","Number","BOOLEAN","Boolean","STRING","String","PHONE","value","PHONE_TYPE","rows","errors","toISOString","number","phone","phoneType","string","required","error","row","column","NAMES","names","INTEGER","Integer","length","reason","URL","EMAIL","Email","NAME","validate","Error","TRUE","FALSE","INVALID","rowMap","STATUS","oneOf","A","B","C","CA","CB","a","b","c","includeNullValues","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: 2,\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].should.deep.equal({\r\n\t\t\terror: 'invalid',\r\n\t\t\treason: 'not_an_integer',\r\n\t\t\trow: 3,\r\n\t\t\tcolumn: 'INTEGER',\r\n\t\t\ttype: Integer,\r\n\t\t\tvalue: '1.2'\r\n\t\t})\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(3)\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(3)\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: 2,\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\treason: 'not_a_number',\r\n\t\t\trow: 2,\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\treason: 'not_a_boolean',\r\n\t\t\trow: 2,\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\treason: 'not_a_date',\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\t\t\terror: 'invalid',\r\n\t\t\treason: 'not_a_date',\r\n\t\t\trow: 3,\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: 2,\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: 2,\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\treason: 'not_a_number',\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\treason: 'unknown',\r\n\t\t\trow: 2,\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\tit('should not include `null` values by default', function() {\r\n\t\tconst { rows } = convertToJson(\r\n\t\t\t[\r\n\t\t\t\t['A', 'B', 'CA', 'CB'],\r\n\t\t\t\t['a', 'b', 'ca', null],\r\n\t\t\t\t['a', null]\r\n\t\t\t],\r\n\t\t\t{\r\n\t\t\t\tA: {\r\n\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tB: {\r\n\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tC: {\r\n\t\t\t\t\tprop: 'c',\r\n \t\t\ttype: {\r\n\t\t\t\t\t\tCA: {\r\n\t\t\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tCB: {\r\n\t\t\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t}\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\trows.should.deep.equal([\r\n\t\t\t{ a: 'a', b: 'b', c: { a: 'ca' } },\r\n\t\t\t{ a: 'a' },\r\n\t\t])\r\n\t})\r\n\r\n\tit('should include `null` values when `includeNullValues: true` option is passed', function() {\r\n\t\tconst { rows } = convertToJson(\r\n\t\t\t[\r\n\t\t\t\t['A', 'B', 'CA', 'CB'],\r\n\t\t\t\t['a', 'b', 'ca', null],\r\n\t\t\t\t['a', null]\r\n\t\t\t],\r\n\t\t\t{\r\n\t\t\t\tA: {\r\n\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tB: {\r\n\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tC: {\r\n\t\t\t\t\tprop: 'c',\r\n \t\t\ttype: {\r\n\t\t\t\t\t\tCA: {\r\n\t\t\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tCB: {\r\n\t\t\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tincludeNullValues: true\r\n\t\t\t}\r\n\t\t)\r\n\r\n\t\trows.should.deep.equal([\r\n\t\t\t{ a: 'a', b: 'b', c: { a: 'ca', b: null } },\r\n\t\t\t{ a: 'a', b: null, c: null },\r\n\t\t])\r\n\t})\r\n})\r\n\r\n// Converts timezone to UTC while preserving the same time\r\nfunction convertToUTCTimezone(date) {\r\n\t// Doesn't account for leap seconds but I guess that's ok\r\n\t// given that javascript's own `Date()` does not either.\r\n\t// https://www.timeanddate.com/time/leap-seconds-background.html\r\n\t//\r\n\t// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\r\n\t//\r\n\treturn new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"convertToJson.test.js","names":["_convertToJson25","_interopRequireWildcard","require","_Integer","_interopRequireDefault","_URL","_Email","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","date","convertToUTCTimezone","Date","describe","it","getBlock","should","deep","equal","parseArray","_convertToJson","convertToJson","parse","getTimezoneOffset","DATE","prop","type","NUMBER","Number","BOOLEAN","Boolean","STRING","String","PHONE","value","PHONE_TYPE","rows","errors","toISOString","number","phone","phoneType","string","_convertToJson2","_convertToJson3","required","error","row","column","_convertToJson4","_convertToJson5","NAMES","names","_convertToJson6","INTEGER","Integer","length","reason","_convertToJson7","URL","_convertToJson8","EMAIL","Email","_convertToJson9","NAME","validate","Error","_convertToJson10","_convertToJson11","TRUE","FALSE","INVALID","_convertToJson12","_convertToJson13","_convertToJson14","rowIndexMap","_convertToJson15","STATUS","oneOf","_convertToJson16","_convertToJson17","A","B","C","CA","CB","a","b","c","_convertToJson18","COLUMN_1","COLUMN_2","COLUMN_4","COLUMN_5","column2","column4","_convertToJson19","schemaPropertyValueForMissingColumn","column1","column5","_convertToJson20","schemaPropertyValueForNullCellValue","_convertToJson21","_convertToJson22","_convertToJson23","schemaPropertyShouldSkipRequiredValidationForMissingColumn","_convertToJson24","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 when cell value is empty', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'NUMBER',\r\n\t\t\t\t'STRING'\r\n\t\t\t],\r\n\t\t\t[\r\n\t\t\t\tnull,\r\n\t\t\t\t'abc'\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\tSTRING: {\r\n\t\t\t\tprop: 'string',\r\n\t\t\t\ttype: String,\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: 2,\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\t\tnumber: null,\r\n\t\t\tstring: 'abc'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('shouldn\\'t require fields when cell value is empty and object is empty too', () => {\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[\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\trows.should.deep.equal([null])\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}, null])\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].should.deep.equal({\r\n\t\t\terror: 'invalid',\r\n\t\t\treason: 'not_an_integer',\r\n\t\t\trow: 3,\r\n\t\t\tcolumn: 'INTEGER',\r\n\t\t\ttype: Integer,\r\n\t\t\tvalue: '1.2'\r\n\t\t})\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tvalue: 1\r\n\t\t}, null])\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(3)\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}, null])\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(3)\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}, null])\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: 2,\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([null])\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\treason: 'not_a_number',\r\n\t\t\trow: 2,\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([null])\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\treason: 'not_a_boolean',\r\n\t\t\trow: 2,\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\treason: 'not_a_date',\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\t\t\terror: 'invalid',\r\n\t\t\treason: 'not_a_date',\r\n\t\t\trow: 3,\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: 2,\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: 2,\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([null])\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\trowIndexMap: [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\treason: 'not_a_number',\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\treason: 'unknown',\r\n\t\t\trow: 2,\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\tit('should not include `null` values by default', function() {\r\n\t\tconst { rows } = convertToJson(\r\n\t\t\t[\r\n\t\t\t\t['A', 'B', 'CA', 'CB'],\r\n\t\t\t\t['a', 'b', 'ca', null],\r\n\t\t\t\t['a', null]\r\n\t\t\t],\r\n\t\t\t{\r\n\t\t\t\tA: {\r\n\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tB: {\r\n\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\ttype: String\r\n\t\t\t\t},\r\n\t\t\t\tC: {\r\n\t\t\t\t\tprop: 'c',\r\n \t\t\ttype: {\r\n\t\t\t\t\t\tCA: {\r\n\t\t\t\t\t\t\tprop: 'a',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tCB: {\r\n\t\t\t\t\t\t\tprop: 'b',\r\n\t\t\t\t\t\t\ttype: String\r\n\t\t\t\t\t\t}\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\trows.should.deep.equal([\r\n\t\t\t{ a: 'a', b: 'b', c: { a: 'ca', b: null } },\r\n\t\t\t{ a: 'a', b: null, c: null },\r\n\t\t])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (default) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([])\r\n\r\n\t\t// Legacy behavior.\r\n\t\trows.should.deep.equal([{\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14'\r\n\t\t}, {\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForMissingColumn: null`) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForMissingColumn: null\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\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForNullCellValue: null`) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForNullCellValue: null\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\t// column1: undefined,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\t// column5: undefined\r\n\t\t}, {\r\n\t\t\t// column1: undefined,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\t// column5: undefined\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForMissingColumn: null` and `schemaPropertyValueForNullCellValue: null`) (`required: false`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForMissingColumn: null,\r\n\t\t\tschemaPropertyValueForNullCellValue: null\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\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForMissingColumn: null` and `schemaPropertyValueForNullCellValue: null` and `schemaPropertyShouldSkipRequiredValidationForMissingColumn()` not specified) (`required: true`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForMissingColumn: null,\r\n\t\t\tschemaPropertyValueForNullCellValue: null\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\tcolumn: 'COLUMN_5',\r\n\t\t\terror: 'required',\r\n\t\t\trow: 2,\r\n\t\t\ttype: String,\r\n\t\t\tvalue: null\r\n\t\t}, {\r\n\t\t\tcolumn: 'COLUMN_5',\r\n\t\t\terror: 'required',\r\n\t\t\trow: 3,\r\n\t\t\ttype: String,\r\n\t\t\tvalue: null\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForMissingColumn: null` and `schemaPropertyValueForNullCellValue: null` and `schemaPropertyShouldSkipRequiredValidationForMissingColumn: () => false`) (`required: true`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForMissingColumn: null,\r\n\t\t\tschemaPropertyValueForNullCellValue: null,\r\n\t\t\tschemaPropertyShouldSkipRequiredValidationForMissingColumn: () => false\r\n\t\t})\r\n\r\n\t\terrors.should.deep.equal([{\r\n\t\t\tcolumn: 'COLUMN_5',\r\n\t\t\terror: 'required',\r\n\t\t\trow: 2,\r\n\t\t\ttype: String,\r\n\t\t\tvalue: null\r\n\t\t}, {\r\n\t\t\tcolumn: 'COLUMN_5',\r\n\t\t\terror: 'required',\r\n\t\t\trow: 3,\r\n\t\t\ttype: String,\r\n\t\t\tvalue: null\r\n\t\t}])\r\n\r\n\t\trows.should.deep.equal([{\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should handle missing columns / empty cells (`schemaPropertyValueForMissingColumn: null` and `schemaPropertyValueForNullCellValue: null` and `schemaPropertyShouldSkipRequiredValidationForMissingColumn: () => true`) (`required: true`)', () => {\r\n\t\tconst { rows, errors } = convertToJson([\r\n\t\t\t[\r\n\t\t\t\t'COLUMN_2',\r\n\t\t\t\t'COLUMN_3',\r\n\t\t\t\t'COLUMN_4'\r\n\t\t\t], [\r\n\t\t\t\t'12',\r\n\t\t\t\t'13',\r\n\t\t\t\t'14'\r\n\t\t\t], [\r\n\t\t\t\t'22',\r\n\t\t\t\t'23',\r\n\t\t\t\tnull\r\n\t\t\t]\r\n\t\t], {\r\n\t\t\tCOLUMN_1: {\r\n\t\t\t\tprop: 'column1',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_2: {\r\n\t\t\t\tprop: 'column2',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_4: {\r\n\t\t\t\tprop: 'column4',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: false\r\n\t\t\t},\r\n\t\t\tCOLUMN_5: {\r\n\t\t\t\tprop: 'column5',\r\n\t\t\t\ttype: String,\r\n\t\t\t\trequired: true\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tschemaPropertyValueForMissingColumn: null,\r\n\t\t\tschemaPropertyValueForNullCellValue: null,\r\n\t\t\tschemaPropertyShouldSkipRequiredValidationForMissingColumn: () => true\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\tcolumn1: null,\r\n\t\t\tcolumn2: '12',\r\n\t\t\tcolumn4: '14',\r\n\t\t\tcolumn5: null\r\n\t\t}, {\r\n\t\t\tcolumn1: null,\r\n\t\t\tcolumn2: '22',\r\n\t\t\tcolumn4: null,\r\n\t\t\tcolumn5: null\r\n\t\t}])\r\n\t})\r\n})\r\n\r\n// Converts timezone to UTC while preserving the same time\r\nfunction convertToUTCTimezone(date) {\r\n\t// Doesn't account for leap seconds but I guess that's ok\r\n\t// given that javascript's own `Date()` does not either.\r\n\t// https://www.timeanddate.com/time/leap-seconds-background.html\r\n\t//\r\n\t// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\r\n\t//\r\n\treturn new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)\r\n}\r\n"],"mappings":"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"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = unpackXlsxFile;
7
-
8
7
  var _fflate = require("fflate");
9
-
10
8
  /**
11
9
  * Reads XLSX file in a browser.
12
10
  * @param {(File|Blob|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.
@@ -16,24 +14,22 @@ function unpackXlsxFile(input) {
16
14
  if (input instanceof File) {
17
15
  return input.arrayBuffer().then(unpackXlsxArrayBuffer);
18
16
  }
19
-
20
17
  if (input instanceof Blob) {
21
18
  return input.arrayBuffer().then(unpackXlsxArrayBuffer);
22
19
  }
23
-
24
20
  return unpackXlsxArrayBuffer(input);
25
21
  }
22
+
26
23
  /**
27
24
  * Reads XLSX file in a browser from an `ArrayBuffer`.
28
25
  * @param {ArrayBuffer} input
29
26
  * @return {Promise} Resolves to an object holding XLSX file entries.
30
27
  */
31
-
32
-
33
28
  function unpackXlsxArrayBuffer(arrayBuffer) {
34
29
  var archive = new Uint8Array(arrayBuffer);
35
30
  var contents = (0, _fflate.unzipSync)(archive);
36
- return Promise.resolve(getContents(contents)); // return new Promise((resolve, reject) => {
31
+ return Promise.resolve(getContents(contents));
32
+ // return new Promise((resolve, reject) => {
37
33
  // unzip(archive, (error, contents) => {
38
34
  // if (error) {
39
35
  // return reject(error)
@@ -45,12 +41,10 @@ function unpackXlsxArrayBuffer(arrayBuffer) {
45
41
 
46
42
  function getContents(contents) {
47
43
  var unzippedFiles = [];
48
-
49
44
  for (var _i = 0, _Object$keys = Object.keys(contents); _i < _Object$keys.length; _i++) {
50
45
  var key = _Object$keys[_i];
51
46
  unzippedFiles[key] = (0, _fflate.strFromU8)(contents[key]);
52
47
  }
53
-
54
48
  return unzippedFiles;
55
49
  }
56
50
  //# sourceMappingURL=unpackXlsxFileBrowser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unpackXlsxFileBrowser.js","names":["unpackXlsxFile","input","File","arrayBuffer","then","unpackXlsxArrayBuffer","Blob","archive","Uint8Array","contents","unzipSync","Promise","resolve","getContents","unzippedFiles","Object","keys","key","strFromU8"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import { unzipSync, strFromU8 } from 'fflate'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {(File|Blob|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n\tif (input instanceof File) {\r\n\t\treturn input.arrayBuffer().then(unpackXlsxArrayBuffer)\r\n\t}\r\n\tif (input instanceof Blob) {\r\n\t\treturn input.arrayBuffer().then(unpackXlsxArrayBuffer)\r\n\t}\r\n\treturn unpackXlsxArrayBuffer(input)\r\n}\r\n\r\n/**\r\n * Reads XLSX file in a browser from an `ArrayBuffer`.\r\n * @param {ArrayBuffer} input\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nfunction unpackXlsxArrayBuffer(arrayBuffer) {\r\n\tconst archive = new Uint8Array(arrayBuffer)\r\n\tconst contents = unzipSync(archive)\r\n\treturn Promise.resolve(getContents(contents))\r\n\t// return new Promise((resolve, reject) => {\r\n\t// \tunzip(archive, (error, contents) => {\r\n\t// \t\tif (error) {\r\n\t// \t\t\treturn reject(error)\r\n\t// \t\t}\r\n\t// \t\treturn resolve(getContents(contents))\r\n\t// \t})\r\n\t// })\r\n}\r\n\r\nfunction getContents(contents) {\r\n\tconst unzippedFiles = []\r\n\tfor (const key of Object.keys(contents)) {\r\n\t\tunzippedFiles[key] = strFromU8(contents[key])\r\n\t}\r\n\treturn unzippedFiles\r\n}"],"mappings":";;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAT,CAAwBC,KAAxB,EAA+B;EAC7C,IAAIA,KAAK,YAAYC,IAArB,EAA2B;IAC1B,OAAOD,KAAK,CAACE,WAAN,GAAoBC,IAApB,CAAyBC,qBAAzB,CAAP;EACA;;EACD,IAAIJ,KAAK,YAAYK,IAArB,EAA2B;IAC1B,OAAOL,KAAK,CAACE,WAAN,GAAoBC,IAApB,CAAyBC,qBAAzB,CAAP;EACA;;EACD,OAAOA,qBAAqB,CAACJ,KAAD,CAA5B;AACA;AAED;AACA;AACA;AACA;AACA;;;AACA,SAASI,qBAAT,CAA+BF,WAA/B,EAA4C;EAC3C,IAAMI,OAAO,GAAG,IAAIC,UAAJ,CAAeL,WAAf,CAAhB;EACA,IAAMM,QAAQ,GAAG,IAAAC,iBAAA,EAAUH,OAAV,CAAjB;EACA,OAAOI,OAAO,CAACC,OAAR,CAAgBC,WAAW,CAACJ,QAAD,CAA3B,CAAP,CAH2C,CAI3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;;AAED,SAASI,WAAT,CAAqBJ,QAArB,EAA+B;EAC9B,IAAMK,aAAa,GAAG,EAAtB;;EACA,gCAAkBC,MAAM,CAACC,IAAP,CAAYP,QAAZ,CAAlB,kCAAyC;IAApC,IAAMQ,GAAG,mBAAT;IACJH,aAAa,CAACG,GAAD,CAAb,GAAqB,IAAAC,iBAAA,EAAUT,QAAQ,CAACQ,GAAD,CAAlB,CAArB;EACA;;EACD,OAAOH,aAAP;AACA"}
1
+ {"version":3,"file":"unpackXlsxFileBrowser.js","names":["_fflate","require","unpackXlsxFile","input","File","arrayBuffer","then","unpackXlsxArrayBuffer","Blob","archive","Uint8Array","contents","unzipSync","Promise","resolve","getContents","unzippedFiles","_i","_Object$keys","Object","keys","length","key","strFromU8"],"sources":["../../source/read/unpackXlsxFileBrowser.js"],"sourcesContent":["import { unzipSync, strFromU8 } from 'fflate'\r\n\r\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {(File|Blob|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nexport default function unpackXlsxFile(input) {\r\n\tif (input instanceof File) {\r\n\t\treturn input.arrayBuffer().then(unpackXlsxArrayBuffer)\r\n\t}\r\n\tif (input instanceof Blob) {\r\n\t\treturn input.arrayBuffer().then(unpackXlsxArrayBuffer)\r\n\t}\r\n\treturn unpackXlsxArrayBuffer(input)\r\n}\r\n\r\n/**\r\n * Reads XLSX file in a browser from an `ArrayBuffer`.\r\n * @param {ArrayBuffer} input\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\r\nfunction unpackXlsxArrayBuffer(arrayBuffer) {\r\n\tconst archive = new Uint8Array(arrayBuffer)\r\n\tconst contents = unzipSync(archive)\r\n\treturn Promise.resolve(getContents(contents))\r\n\t// return new Promise((resolve, reject) => {\r\n\t// \tunzip(archive, (error, contents) => {\r\n\t// \t\tif (error) {\r\n\t// \t\t\treturn reject(error)\r\n\t// \t\t}\r\n\t// \t\treturn resolve(getContents(contents))\r\n\t// \t})\r\n\t// })\r\n}\r\n\r\nfunction getContents(contents) {\r\n\tconst unzippedFiles = []\r\n\tfor (const key of Object.keys(contents)) {\r\n\t\tunzippedFiles[key] = strFromU8(contents[key])\r\n\t}\r\n\treturn unzippedFiles\r\n}"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACe,SAASC,cAAcA,CAACC,KAAK,EAAE;EAC7C,IAAIA,KAAK,YAAYC,IAAI,EAAE;IAC1B,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC,CAACC,IAAI,CAACC,qBAAqB,CAAC;EACvD;EACA,IAAIJ,KAAK,YAAYK,IAAI,EAAE;IAC1B,OAAOL,KAAK,CAACE,WAAW,CAAC,CAAC,CAACC,IAAI,CAACC,qBAAqB,CAAC;EACvD;EACA,OAAOA,qBAAqB,CAACJ,KAAK,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,qBAAqBA,CAACF,WAAW,EAAE;EAC3C,IAAMI,OAAO,GAAG,IAAIC,UAAU,CAACL,WAAW,CAAC;EAC3C,IAAMM,QAAQ,GAAG,IAAAC,iBAAS,EAACH,OAAO,CAAC;EACnC,OAAOI,OAAO,CAACC,OAAO,CAACC,WAAW,CAACJ,QAAQ,CAAC,CAAC;EAC7C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD;;AAEA,SAASI,WAAWA,CAACJ,QAAQ,EAAE;EAC9B,IAAMK,aAAa,GAAG,EAAE;EACxB,SAAAC,EAAA,MAAAC,YAAA,GAAkBC,MAAM,CAACC,IAAI,CAACT,QAAQ,CAAC,EAAAM,EAAA,GAAAC,YAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;IAApC,IAAMK,GAAG,GAAAJ,YAAA,CAAAD,EAAA;IACbD,aAAa,CAACM,GAAG,CAAC,GAAG,IAAAC,iBAAS,EAACZ,QAAQ,CAACW,GAAG,CAAC,CAAC;EAC9C;EACA,OAAON,aAAa;AACrB"}