read-excel-file 9.3.3 → 9.3.5

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 (255) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +32 -2
  3. package/browser/index.cjs +3 -0
  4. package/browser/index.d.ts +16 -0
  5. package/browser/index.js +4 -1
  6. package/bundle/read-excel-file.min.js +1 -1
  7. package/bundle/read-excel-file.min.js.map +1 -1
  8. package/commonjs/export/convertInputToNodeStream.js +0 -12
  9. package/commonjs/export/convertInputToNodeStream.js.map +1 -1
  10. package/commonjs/export/parseSheet.js +14 -7
  11. package/commonjs/export/parseSheet.js.map +1 -1
  12. package/commonjs/export/readSheetBrowser.js +3 -6
  13. package/commonjs/export/readSheetBrowser.js.map +1 -1
  14. package/commonjs/export/readSheetNode.js +3 -6
  15. package/commonjs/export/readSheetNode.js.map +1 -1
  16. package/commonjs/export/readSheetUniversal.js +2 -2
  17. package/commonjs/export/readSheetUniversal.js.map +1 -1
  18. package/commonjs/export/readSheetWebWorker.js +5 -5
  19. package/commonjs/export/readSheetWebWorker.js.map +1 -1
  20. package/commonjs/export/readXlsxFileBrowser.js +3 -6
  21. package/commonjs/export/readXlsxFileBrowser.js.map +1 -1
  22. package/commonjs/export/readXlsxFileNode.js +3 -6
  23. package/commonjs/export/readXlsxFileNode.js.map +1 -1
  24. package/commonjs/export/readXlsxFileUniversal.js +2 -2
  25. package/commonjs/export/readXlsxFileUniversal.js.map +1 -1
  26. package/commonjs/export/readXlsxFileWebWorker.js +5 -5
  27. package/commonjs/export/readXlsxFileWebWorker.js.map +1 -1
  28. package/commonjs/export/unpackXlsxFileBrowser.js +15 -4
  29. package/commonjs/export/unpackXlsxFileBrowser.js.map +1 -1
  30. package/commonjs/export/unpackXlsxFileBrowser.test.js.map +1 -0
  31. package/commonjs/export/unpackXlsxFileNode.js +32 -5
  32. package/commonjs/export/unpackXlsxFileNode.js.map +1 -1
  33. package/commonjs/export/unpackXlsxFileNode.test.js.map +1 -0
  34. package/commonjs/export/unpackXlsxFileUniversal.js +14 -3
  35. package/commonjs/export/unpackXlsxFileUniversal.js.map +1 -1
  36. package/commonjs/export/unpackXlsxFileUniversal.test.js.map +1 -0
  37. package/commonjs/parseSheetData/parseSheetData.js +9 -6
  38. package/commonjs/parseSheetData/parseSheetData.js.map +1 -1
  39. package/commonjs/saxen/parser.js +1 -1
  40. package/commonjs/saxen/parser.js.map +1 -1
  41. package/commonjs/utility/convertValuesFromUint8ArraysToStrings.js +100 -0
  42. package/commonjs/utility/convertValuesFromUint8ArraysToStrings.js.map +1 -0
  43. package/commonjs/xlsx/InvalidSpreadsheetError.js +55 -0
  44. package/commonjs/xlsx/InvalidSpreadsheetError.js.map +1 -0
  45. package/commonjs/xlsx/SheetNotFoundError.js +55 -0
  46. package/commonjs/xlsx/SheetNotFoundError.js.map +1 -0
  47. package/commonjs/xlsx/file/InputValidationStream.js +101 -0
  48. package/commonjs/xlsx/file/InputValidationStream.js.map +1 -0
  49. package/commonjs/xlsx/file/InputValidationStream.test.js.map +1 -0
  50. package/commonjs/xlsx/file/InvalidInputError.js +105 -0
  51. package/commonjs/xlsx/file/InvalidInputError.js.map +1 -0
  52. package/commonjs/xlsx/file/createFileTypeDetector.js +70 -0
  53. package/commonjs/xlsx/file/createFileTypeDetector.js.map +1 -0
  54. package/commonjs/xlsx/file/createFileTypeDetector.test.js.map +1 -0
  55. package/commonjs/xlsx/file/validateLeadingBytes.js +47 -0
  56. package/commonjs/xlsx/file/validateLeadingBytes.js.map +1 -0
  57. package/commonjs/xlsx/file/validateLeadingBytes.test.js.map +1 -0
  58. package/commonjs/xlsx/isDateFormat.js +32 -27
  59. package/commonjs/xlsx/isDateFormat.js.map +1 -1
  60. package/commonjs/xlsx/isDateFormatStyle.js +19 -21
  61. package/commonjs/xlsx/isDateFormatStyle.js.map +1 -1
  62. package/commonjs/xlsx/parseCell.js +252 -115
  63. package/commonjs/xlsx/parseCell.js.map +1 -1
  64. package/commonjs/xlsx/parseCellAddress.js +22 -18
  65. package/commonjs/xlsx/parseCellAddress.js.map +1 -1
  66. package/commonjs/xlsx/parseExcelDate.js +4 -124
  67. package/commonjs/xlsx/parseExcelDate.js.map +1 -1
  68. package/commonjs/xlsx/parseExcelDate.test.js.map +1 -1
  69. package/commonjs/xlsx/parseExcelTimestamp.js +139 -0
  70. package/commonjs/xlsx/parseExcelTimestamp.js.map +1 -0
  71. package/commonjs/xlsx/parseFilePaths.js +48 -47
  72. package/commonjs/xlsx/parseFilePaths.js.map +1 -1
  73. package/commonjs/xlsx/parseSharedStrings.js +91 -36
  74. package/commonjs/xlsx/parseSharedStrings.js.map +1 -1
  75. package/commonjs/xlsx/parseSheet.js +527 -69
  76. package/commonjs/xlsx/parseSheet.js.map +1 -1
  77. package/commonjs/xlsx/parseSpreadsheetContents.js +154 -83
  78. package/commonjs/xlsx/parseSpreadsheetContents.js.map +1 -1
  79. package/commonjs/xlsx/parseSpreadsheetInfo.js +60 -59
  80. package/commonjs/xlsx/parseSpreadsheetInfo.js.map +1 -1
  81. package/commonjs/xlsx/parseStyles.js +75 -75
  82. package/commonjs/xlsx/parseStyles.js.map +1 -1
  83. package/commonjs/xml/parseXml.js +112 -0
  84. package/commonjs/xml/parseXml.js.map +1 -0
  85. package/commonjs/xml/parseXml.test.js.map +1 -0
  86. package/commonjs/xml/parseXmlStream.js.map +1 -1
  87. package/commonjs/xml/parseXmlStream.sax.js +69 -28
  88. package/commonjs/xml/parseXmlStream.sax.js.map +1 -1
  89. package/commonjs/xml/parseXmlStream.saxen.js +66 -40
  90. package/commonjs/xml/parseXmlStream.saxen.js.map +1 -1
  91. package/commonjs/zip/UnzipError.js +55 -0
  92. package/commonjs/zip/UnzipError.js.map +1 -0
  93. package/commonjs/zip/unzipFromArrayBuffer.js +21 -1
  94. package/commonjs/zip/unzipFromArrayBuffer.js.map +1 -1
  95. package/commonjs/zip/unzipFromArrayBuffer.test.js.map +1 -0
  96. package/commonjs/zip/unzipFromStream.fflate.js +43 -35
  97. package/commonjs/zip/unzipFromStream.fflate.js.map +1 -1
  98. package/commonjs/zip/unzipFromStream.js +188 -6
  99. package/commonjs/zip/unzipFromStream.js.map +1 -1
  100. package/commonjs/zip/unzipFromStream.unzipper.js +19 -34
  101. package/commonjs/zip/unzipFromStream.unzipper.js.map +1 -1
  102. package/modules/export/convertInputToNodeStream.js +0 -12
  103. package/modules/export/convertInputToNodeStream.js.map +1 -1
  104. package/modules/export/parseSheet.js +13 -6
  105. package/modules/export/parseSheet.js.map +1 -1
  106. package/modules/export/readSheetBrowser.js +3 -5
  107. package/modules/export/readSheetBrowser.js.map +1 -1
  108. package/modules/export/readSheetNode.js +3 -5
  109. package/modules/export/readSheetNode.js.map +1 -1
  110. package/modules/export/readSheetUniversal.js +2 -2
  111. package/modules/export/readSheetUniversal.js.map +1 -1
  112. package/modules/export/readSheetWebWorker.js +7 -8
  113. package/modules/export/readSheetWebWorker.js.map +1 -1
  114. package/modules/export/readXlsxFileBrowser.js +3 -5
  115. package/modules/export/readXlsxFileBrowser.js.map +1 -1
  116. package/modules/export/readXlsxFileNode.js +3 -5
  117. package/modules/export/readXlsxFileNode.js.map +1 -1
  118. package/modules/export/readXlsxFileUniversal.js +2 -2
  119. package/modules/export/readXlsxFileUniversal.js.map +1 -1
  120. package/modules/export/readXlsxFileWebWorker.js +7 -8
  121. package/modules/export/readXlsxFileWebWorker.js.map +1 -1
  122. package/modules/export/unpackXlsxFileBrowser.js +15 -4
  123. package/modules/export/unpackXlsxFileBrowser.js.map +1 -1
  124. package/modules/export/unpackXlsxFileBrowser.test.js.map +1 -0
  125. package/modules/export/unpackXlsxFileNode.js +32 -5
  126. package/modules/export/unpackXlsxFileNode.js.map +1 -1
  127. package/modules/export/unpackXlsxFileNode.test.js.map +1 -0
  128. package/modules/export/unpackXlsxFileUniversal.js +14 -3
  129. package/modules/export/unpackXlsxFileUniversal.js.map +1 -1
  130. package/modules/export/unpackXlsxFileUniversal.test.js.map +1 -0
  131. package/modules/parseSheetData/parseSheetData.js +9 -6
  132. package/modules/parseSheetData/parseSheetData.js.map +1 -1
  133. package/modules/saxen/parser.js +1 -1
  134. package/modules/saxen/parser.js.map +1 -1
  135. package/modules/utility/convertValuesFromUint8ArraysToStrings.js +92 -0
  136. package/modules/utility/convertValuesFromUint8ArraysToStrings.js.map +1 -0
  137. package/modules/xlsx/InvalidSpreadsheetError.js +50 -0
  138. package/modules/xlsx/InvalidSpreadsheetError.js.map +1 -0
  139. package/modules/xlsx/SheetNotFoundError.js +50 -0
  140. package/modules/xlsx/SheetNotFoundError.js.map +1 -0
  141. package/modules/xlsx/file/InputValidationStream.js +96 -0
  142. package/modules/xlsx/file/InputValidationStream.js.map +1 -0
  143. package/modules/xlsx/file/InputValidationStream.test.js.map +1 -0
  144. package/modules/xlsx/file/InvalidInputError.js +100 -0
  145. package/modules/xlsx/file/InvalidInputError.js.map +1 -0
  146. package/modules/xlsx/file/createFileTypeDetector.js +63 -0
  147. package/modules/xlsx/file/createFileTypeDetector.js.map +1 -0
  148. package/modules/xlsx/file/createFileTypeDetector.test.js.map +1 -0
  149. package/modules/xlsx/file/validateLeadingBytes.js +37 -0
  150. package/modules/xlsx/file/validateLeadingBytes.js.map +1 -0
  151. package/modules/xlsx/file/validateLeadingBytes.test.js.map +1 -0
  152. package/modules/xlsx/isDateFormat.js +31 -27
  153. package/modules/xlsx/isDateFormat.js.map +1 -1
  154. package/modules/xlsx/isDateFormatStyle.js +18 -21
  155. package/modules/xlsx/isDateFormatStyle.js.map +1 -1
  156. package/modules/xlsx/parseCell.js +251 -111
  157. package/modules/xlsx/parseCell.js.map +1 -1
  158. package/modules/xlsx/parseCellAddress.js +21 -18
  159. package/modules/xlsx/parseCellAddress.js.map +1 -1
  160. package/modules/xlsx/parseExcelDate.js +4 -124
  161. package/modules/xlsx/parseExcelDate.js.map +1 -1
  162. package/modules/xlsx/parseExcelDate.test.js.map +1 -1
  163. package/modules/xlsx/parseExcelTimestamp.js +133 -0
  164. package/modules/xlsx/parseExcelTimestamp.js.map +1 -0
  165. package/modules/xlsx/parseFilePaths.js +48 -47
  166. package/modules/xlsx/parseFilePaths.js.map +1 -1
  167. package/modules/xlsx/parseSharedStrings.js +91 -37
  168. package/modules/xlsx/parseSharedStrings.js.map +1 -1
  169. package/modules/xlsx/parseSheet.js +526 -68
  170. package/modules/xlsx/parseSheet.js.map +1 -1
  171. package/modules/xlsx/parseSpreadsheetContents.js +153 -81
  172. package/modules/xlsx/parseSpreadsheetContents.js.map +1 -1
  173. package/modules/xlsx/parseSpreadsheetInfo.js +60 -59
  174. package/modules/xlsx/parseSpreadsheetInfo.js.map +1 -1
  175. package/modules/xlsx/parseStyles.js +75 -75
  176. package/modules/xlsx/parseStyles.js.map +1 -1
  177. package/modules/xml/parseXml.js +106 -0
  178. package/modules/xml/parseXml.js.map +1 -0
  179. package/modules/xml/parseXml.test.js.map +1 -0
  180. package/modules/xml/parseXmlStream.js +2 -0
  181. package/modules/xml/parseXmlStream.js.map +1 -1
  182. package/modules/xml/parseXmlStream.sax.js +69 -28
  183. package/modules/xml/parseXmlStream.sax.js.map +1 -1
  184. package/modules/xml/parseXmlStream.saxen.js +67 -40
  185. package/modules/xml/parseXmlStream.saxen.js.map +1 -1
  186. package/modules/zip/UnzipError.js +49 -0
  187. package/modules/zip/UnzipError.js.map +1 -0
  188. package/modules/zip/unzipFromArrayBuffer.js +21 -1
  189. package/modules/zip/unzipFromArrayBuffer.js.map +1 -1
  190. package/modules/zip/unzipFromArrayBuffer.test.js.map +1 -0
  191. package/modules/zip/unzipFromStream.fflate.js +41 -35
  192. package/modules/zip/unzipFromStream.fflate.js.map +1 -1
  193. package/modules/zip/unzipFromStream.js +124 -1
  194. package/modules/zip/unzipFromStream.js.map +1 -1
  195. package/modules/zip/unzipFromStream.unzipper.js +19 -35
  196. package/modules/zip/unzipFromStream.unzipper.js.map +1 -1
  197. package/node/index.cjs +3 -0
  198. package/node/index.d.ts +16 -0
  199. package/node/index.js +3 -0
  200. package/package.json +5 -3
  201. package/types/InvalidInputError.d.ts +16 -0
  202. package/types/InvalidSpreadsheetError.d.ts +4 -0
  203. package/types/SheetNotFoundError.d.ts +4 -0
  204. package/universal/index.cjs +3 -0
  205. package/universal/index.d.ts +16 -0
  206. package/universal/index.js +3 -0
  207. package/web-worker/index.cjs +3 -0
  208. package/web-worker/index.d.ts +16 -0
  209. package/web-worker/index.js +3 -0
  210. package/commonjs/export/convertValuesFromUint8ArraysToStrings.js +0 -23
  211. package/commonjs/export/convertValuesFromUint8ArraysToStrings.js.map +0 -1
  212. package/commonjs/xlsx/convertCellsToData2dArray.js +0 -84
  213. package/commonjs/xlsx/convertCellsToData2dArray.js.map +0 -1
  214. package/commonjs/xlsx/dropEmptyColumns.js +0 -40
  215. package/commonjs/xlsx/dropEmptyColumns.js.map +0 -1
  216. package/commonjs/xlsx/dropEmptyColumns.test.js.map +0 -1
  217. package/commonjs/xlsx/dropEmptyRows.js +0 -43
  218. package/commonjs/xlsx/dropEmptyRows.js.map +0 -1
  219. package/commonjs/xlsx/dropEmptyRows.test.js.map +0 -1
  220. package/commonjs/xlsx/parseCellValue.js +0 -186
  221. package/commonjs/xlsx/parseCellValue.js.map +0 -1
  222. package/commonjs/xlsx/parseNumber.js +0 -20
  223. package/commonjs/xlsx/parseNumber.js.map +0 -1
  224. package/commonjs/xlsx/parseSharedString.js +0 -64
  225. package/commonjs/xlsx/parseSharedString.js.map +0 -1
  226. package/commonjs/xlsx/parseSheetData.js +0 -68
  227. package/commonjs/xlsx/parseSheetData.js.map +0 -1
  228. package/commonjs/xlsx/reconstructSheetDimensionsFromSheetCells.js +0 -29
  229. package/commonjs/xlsx/reconstructSheetDimensionsFromSheetCells.js.map +0 -1
  230. package/commonjs/xml/parseXmlStream.saxen.code.js +0 -953
  231. package/commonjs/xml/parseXmlStream.saxen.code.js.map +0 -1
  232. package/commonjs/xml/parseXmlStream.test.js.map +0 -1
  233. package/modules/export/convertValuesFromUint8ArraysToStrings.js +0 -17
  234. package/modules/export/convertValuesFromUint8ArraysToStrings.js.map +0 -1
  235. package/modules/xlsx/convertCellsToData2dArray.js +0 -77
  236. package/modules/xlsx/convertCellsToData2dArray.js.map +0 -1
  237. package/modules/xlsx/dropEmptyColumns.js +0 -34
  238. package/modules/xlsx/dropEmptyColumns.js.map +0 -1
  239. package/modules/xlsx/dropEmptyColumns.test.js.map +0 -1
  240. package/modules/xlsx/dropEmptyRows.js +0 -37
  241. package/modules/xlsx/dropEmptyRows.js.map +0 -1
  242. package/modules/xlsx/dropEmptyRows.test.js.map +0 -1
  243. package/modules/xlsx/parseCellValue.js +0 -180
  244. package/modules/xlsx/parseCellValue.js.map +0 -1
  245. package/modules/xlsx/parseNumber.js +0 -14
  246. package/modules/xlsx/parseNumber.js.map +0 -1
  247. package/modules/xlsx/parseSharedString.js +0 -55
  248. package/modules/xlsx/parseSharedString.js.map +0 -1
  249. package/modules/xlsx/parseSheetData.js +0 -55
  250. package/modules/xlsx/parseSheetData.js.map +0 -1
  251. package/modules/xlsx/reconstructSheetDimensionsFromSheetCells.js +0 -23
  252. package/modules/xlsx/reconstructSheetDimensionsFromSheetCells.js.map +0 -1
  253. package/modules/xml/parseXmlStream.saxen.code.js +0 -947
  254. package/modules/xml/parseXmlStream.saxen.code.js.map +0 -1
  255. package/modules/xml/parseXmlStream.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseXmlStream.saxen.code.js","names":["Parser","options","fromCharCode","String","hasOwnProperty","Object","prototype","ENTITY_PATTERN","ENTITY_MAPPING","keys","forEach","k","toUpperCase","replaceEntities","_","d","x","z","call","parseInt","decodeEntities","s","length","indexOf","replace","NON_WHITESPACE_OUTSIDE_ROOT_NODE","error","msg","Error","missingNamespaceForPrefix","prefix","getter","getFn","cloneNsMatrix","nsMatrix","clone","key","uriPrefix","buildNsMatrix","nsUriToPrefix","uri","noopGetContext","line","column","throwFunc","err","proxy","onText","onOpenTag","onCloseTag","onCDATA","onError","onWarning","onComment","onQuestion","onAttention","getContext","maybeNS","isNamespace","returnError","parseStop","handleError","handleWarning","name","cb","nsMap","_typeof","_nsUriToPrefix","xml","parse","nsMatrixStack","_nsMatrix","nodeStack","anonymousNsCount","tagStart","tagEnd","i","j","y","q","w","v","xmlns","elementName","_elementName","elementProxy","attrsString","attrsStart","cachedAttrs","getAttrs","nsUri","nsUriPrefix","nsName","defaultAlias","attrList","l","hasNewMatrix","newalias","value","alias","attrs","seenAttrs","skipAttr","parseAttr","charCodeAt","substring","substr","push","getParseContext","splitsRe","startOfLine","endOfLine","match","data","exec","index","create","trim","isNaN","pop"],"sources":["../../source/xml/parseXmlStream.saxen.code.js"],"sourcesContent":["// Here it uses a copy-paste of `saxen` source code instead of importing the `saxen` package itself.\r\n// The reason is that `worker-f` package is used to run this XML parser in a separate thread,\r\n// and doing that requires the entire code to reside in a single \"self-contained\" function.\r\n// import { Parser } from 'saxen'\r\n\r\n// This code was copy-pasted from `saxen` repository on Jun 23rd, 2026.\r\n// The reason is that `worker-f` package is used to run `saxen` XML parser in a separate thread,\r\n// and doing that requires the entire `saxen` code to reside in a single \"self-contained\" function.\r\n\r\nexport function Parser(options) {\r\n // Copy-pasted from file: decode.js\r\n\r\n var fromCharCode = String.fromCharCode;\r\n\r\n var hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\n var ENTITY_PATTERN = /&#(\\d+);|&#x([0-9a-f]+);|&(\\w+);/ig;\r\n\r\n var ENTITY_MAPPING = {\r\n 'amp': '&',\r\n 'apos': '\\'',\r\n 'gt': '>',\r\n 'lt': '<',\r\n 'quot': '\"'\r\n };\r\n\r\n // map UPPERCASE variants of supported special chars\r\n Object.keys(ENTITY_MAPPING).forEach(function(k) {\r\n ENTITY_MAPPING[k.toUpperCase()] = ENTITY_MAPPING[k];\r\n });\r\n\r\n\r\n function replaceEntities(_, d, x, z) {\r\n\r\n // reserved names, i.e. &nbsp;\r\n if (z) {\r\n if (hasOwnProperty.call(ENTITY_MAPPING, z)) {\r\n return ENTITY_MAPPING[z];\r\n } else {\r\n\r\n // fall back to original value\r\n return '&' + z + ';';\r\n }\r\n }\r\n\r\n // decimal encoded char\r\n if (d) {\r\n return fromCharCode(d);\r\n }\r\n\r\n // hex encoded char\r\n return fromCharCode(parseInt(x, 16));\r\n }\r\n\r\n\r\n /**\r\n * A basic entity decoder that can decode a minimal\r\n * sub-set of reserved names (&amp;) as well as\r\n * hex (&#xaaf;) and decimal (&#1231;) encoded characters.\r\n *\r\n * @param {string} s\r\n *\r\n * @return {string} decoded string\r\n */\r\n function decodeEntities(s) {\r\n if (s.length > 3 && s.indexOf('&') !== -1) {\r\n return s.replace(ENTITY_PATTERN, replaceEntities);\r\n }\r\n\r\n return s;\r\n }\r\n\r\n // Copy-pasted from file: parser.js\r\n\r\n var NON_WHITESPACE_OUTSIDE_ROOT_NODE = 'non-whitespace outside of root node';\r\n\r\n function error(msg) {\r\n return new Error(msg);\r\n }\r\n\r\n function missingNamespaceForPrefix(prefix) {\r\n return 'missing namespace for prefix <' + prefix + '>';\r\n }\r\n\r\n function getter(getFn) {\r\n return {\r\n 'get': getFn,\r\n 'enumerable': true\r\n };\r\n }\r\n\r\n function cloneNsMatrix(nsMatrix) {\r\n var clone = {}, key;\r\n for (key in nsMatrix) {\r\n clone[key] = nsMatrix[key];\r\n }\r\n return clone;\r\n }\r\n\r\n function uriPrefix(prefix) {\r\n return prefix + '$uri';\r\n }\r\n\r\n function buildNsMatrix(nsUriToPrefix) {\r\n var nsMatrix = {},\r\n uri,\r\n prefix;\r\n\r\n for (uri in nsUriToPrefix) {\r\n prefix = nsUriToPrefix[uri];\r\n nsMatrix[prefix] = prefix;\r\n nsMatrix[uriPrefix(prefix)] = uri;\r\n }\r\n\r\n return nsMatrix;\r\n }\r\n\r\n function noopGetContext() {\r\n return { line: 0, column: 0 };\r\n }\r\n\r\n function throwFunc(err) {\r\n throw err;\r\n }\r\n\r\n /**\r\n * Creates a new parser with the given options.\r\n *\r\n * @constructor\r\n *\r\n * @param {!Object<string, ?>=} options\r\n */\r\n function Parser(options) {\r\n\r\n if (!this) {\r\n return new Parser(options);\r\n }\r\n\r\n var proxy = options && options['proxy'];\r\n\r\n var onText,\r\n onOpenTag,\r\n onCloseTag,\r\n onCDATA,\r\n onError = throwFunc,\r\n onWarning,\r\n onComment,\r\n onQuestion,\r\n onAttention;\r\n\r\n var getContext = noopGetContext;\r\n\r\n /**\r\n * Do we need to parse the current elements attributes for namespaces?\r\n *\r\n * @type {boolean}\r\n */\r\n var maybeNS = false;\r\n\r\n /**\r\n * Do we process namespaces at all?\r\n *\r\n * @type {boolean}\r\n */\r\n var isNamespace = false;\r\n\r\n /**\r\n * The caught error returned on parse end\r\n *\r\n * @type {Error}\r\n */\r\n var returnError = null;\r\n\r\n /**\r\n * Should we stop parsing?\r\n *\r\n * @type {boolean}\r\n */\r\n var parseStop = false;\r\n\r\n /**\r\n * A map of { uri: prefix } used by the parser.\r\n *\r\n * This map will ensure we can normalize prefixes during processing;\r\n * for each uri, only one prefix will be exposed to the handlers.\r\n *\r\n * @type {!Object<string, string>}}\r\n */\r\n var nsUriToPrefix;\r\n\r\n /**\r\n * Handle parse error.\r\n *\r\n * @param {string|Error} err\r\n */\r\n function handleError(err) {\r\n if (!(err instanceof Error)) {\r\n err = error(err);\r\n }\r\n\r\n returnError = err;\r\n\r\n onError(err, getContext);\r\n }\r\n\r\n /**\r\n * Handle parse error.\r\n *\r\n * @param {string|Error} err\r\n */\r\n function handleWarning(err) {\r\n\r\n if (!onWarning) {\r\n return;\r\n }\r\n\r\n if (!(err instanceof Error)) {\r\n err = error(err);\r\n }\r\n\r\n onWarning(err, getContext);\r\n }\r\n\r\n /**\r\n * Register parse listener.\r\n *\r\n * @param {string} name\r\n * @param {Function} cb\r\n *\r\n * @return {Parser}\r\n */\r\n this['on'] = function(name, cb) {\r\n\r\n if (typeof cb !== 'function') {\r\n throw error('required args <name, cb>');\r\n }\r\n\r\n switch (name) {\r\n case 'openTag': onOpenTag = cb; break;\r\n case 'text': onText = cb; break;\r\n case 'closeTag': onCloseTag = cb; break;\r\n case 'error': onError = cb; break;\r\n case 'warn': onWarning = cb; break;\r\n case 'cdata': onCDATA = cb; break;\r\n case 'attention': onAttention = cb; break; // <!XXXXX zzzz=\"eeee\">\r\n case 'question': onQuestion = cb; break; // <? .... ?>\r\n case 'comment': onComment = cb; break;\r\n default:\r\n throw error('unsupported event: ' + name);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Set the namespace to prefix mapping.\r\n *\r\n * @example\r\n *\r\n * parser.ns({\r\n * 'http://foo': 'foo',\r\n * 'http://bar': 'bar'\r\n * });\r\n *\r\n * @param {!Object<string, string>} nsMap\r\n *\r\n * @return {Parser}\r\n */\r\n this['ns'] = function(nsMap) {\r\n\r\n if (typeof nsMap === 'undefined') {\r\n nsMap = {};\r\n }\r\n\r\n if (typeof nsMap !== 'object') {\r\n throw error('required args <nsMap={}>');\r\n }\r\n\r\n var _nsUriToPrefix = {}, k;\r\n\r\n for (k in nsMap) {\r\n _nsUriToPrefix[k] = nsMap[k];\r\n }\r\n\r\n isNamespace = true;\r\n nsUriToPrefix = _nsUriToPrefix;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Parse xml string.\r\n *\r\n * @param {string} xml\r\n *\r\n * @return {Error} returnError, if not thrown\r\n */\r\n this['parse'] = function(xml) {\r\n if (typeof xml !== 'string') {\r\n throw error('required args <xml=string>');\r\n }\r\n\r\n returnError = null;\r\n\r\n parse(xml);\r\n\r\n getContext = noopGetContext;\r\n parseStop = false;\r\n\r\n return returnError;\r\n };\r\n\r\n /**\r\n * Stop parsing.\r\n */\r\n this['stop'] = function() {\r\n parseStop = true;\r\n };\r\n\r\n /**\r\n * Parse string, invoking configured listeners on element.\r\n *\r\n * @param {string} xml\r\n */\r\n function parse(xml) {\r\n var nsMatrixStack = isNamespace ? [] : null,\r\n nsMatrix = isNamespace ? buildNsMatrix(nsUriToPrefix) : null,\r\n _nsMatrix,\r\n nodeStack = [],\r\n anonymousNsCount = 0,\r\n tagStart = false,\r\n tagEnd = false,\r\n i = 0, j = 0,\r\n x, y, q, w, v,\r\n xmlns,\r\n elementName,\r\n _elementName,\r\n elementProxy\r\n ;\r\n\r\n var attrsString = '',\r\n attrsStart = 0,\r\n cachedAttrs // false = parsed with errors, null = needs parsing\r\n ;\r\n\r\n /**\r\n * Parse attributes on demand and returns the parsed attributes.\r\n *\r\n * Return semantics: (1) `false` on attribute parse error,\r\n * (2) object hash on extracted attrs.\r\n *\r\n * @return {boolean|Object}\r\n */\r\n function getAttrs() {\r\n if (cachedAttrs !== null) {\r\n return cachedAttrs;\r\n }\r\n\r\n var nsUri,\r\n nsUriPrefix,\r\n nsName,\r\n defaultAlias = isNamespace && nsMatrix['xmlns'],\r\n attrList = isNamespace && maybeNS ? [] : null,\r\n i = attrsStart,\r\n s = attrsString,\r\n l = s.length,\r\n hasNewMatrix,\r\n newalias,\r\n value,\r\n alias,\r\n name,\r\n attrs = {},\r\n seenAttrs = {},\r\n skipAttr,\r\n w,\r\n j;\r\n\r\n parseAttr:\r\n for (; i < l; i++) {\r\n skipAttr = false;\r\n w = s.charCodeAt(i);\r\n\r\n if (w === 32 || (w < 14 && w > 8)) { // WHITESPACE={ \\f\\n\\r\\t\\v}\r\n continue;\r\n }\r\n\r\n // wait for non whitespace character\r\n if (w < 65 || w > 122 || (w > 90 && w < 97)) {\r\n if (w !== 95 && w !== 58) { // char 95\"_\" 58\":\"\r\n handleWarning('illegal first char attribute name');\r\n skipAttr = true;\r\n }\r\n }\r\n\r\n // parse attribute name\r\n for (j = i + 1; j < l; j++) {\r\n w = s.charCodeAt(j);\r\n\r\n if (\r\n w > 96 && w < 123 ||\r\n w > 64 && w < 91 ||\r\n w > 47 && w < 59 ||\r\n w === 46 || // '.'\r\n w === 45 || // '-'\r\n w === 95 // '_'\r\n ) {\r\n continue;\r\n }\r\n\r\n // unexpected whitespace\r\n if (w === 32 || (w < 14 && w > 8)) { // WHITESPACE\r\n handleWarning('missing attribute value');\r\n i = j;\r\n\r\n continue parseAttr;\r\n }\r\n\r\n // expected \"=\"\r\n if (w === 61) { // \"=\" == 61\r\n break;\r\n }\r\n\r\n handleWarning('illegal attribute name char');\r\n skipAttr = true;\r\n }\r\n\r\n name = s.substring(i, j);\r\n\r\n if (name === 'xmlns:xmlns') {\r\n handleWarning('illegal declaration of xmlns');\r\n skipAttr = true;\r\n }\r\n\r\n w = s.charCodeAt(j + 1);\r\n\r\n if (w === 34) { // '\"'\r\n j = s.indexOf('\"', i = j + 2);\r\n\r\n if (j === -1) {\r\n j = s.indexOf('\\'', i);\r\n\r\n if (j !== -1) {\r\n handleWarning('attribute value quote missmatch');\r\n skipAttr = true;\r\n }\r\n }\r\n\r\n } else if (w === 39) { // \"'\"\r\n j = s.indexOf('\\'', i = j + 2);\r\n\r\n if (j === -1) {\r\n j = s.indexOf('\"', i);\r\n\r\n if (j !== -1) {\r\n handleWarning('attribute value quote missmatch');\r\n skipAttr = true;\r\n }\r\n }\r\n\r\n } else {\r\n handleWarning('missing attribute value quotes');\r\n skipAttr = true;\r\n\r\n // skip to next space\r\n for (j = j + 1; j < l; j++) {\r\n w = s.charCodeAt(j + 1);\r\n\r\n if (w === 32 || (w < 14 && w > 8)) { // WHITESPACE\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n if (j === -1) {\r\n handleWarning('missing closing quotes');\r\n\r\n j = l;\r\n skipAttr = true;\r\n }\r\n\r\n if (!skipAttr) {\r\n value = s.substring(i, j);\r\n }\r\n\r\n i = j;\r\n\r\n // ensure SPACE follows attribute\r\n // skip illegal content otherwise\r\n // example a=\"b\"c\r\n for (; j + 1 < l; j++) {\r\n w = s.charCodeAt(j + 1);\r\n\r\n if (w === 32 || (w < 14 && w > 8)) { // WHITESPACE\r\n break;\r\n }\r\n\r\n // FIRST ILLEGAL CHAR\r\n if (i === j) {\r\n handleWarning('illegal character after attribute end');\r\n skipAttr = true;\r\n }\r\n }\r\n\r\n // advance cursor to next attribute\r\n i = j + 1;\r\n\r\n if (skipAttr) {\r\n continue parseAttr;\r\n }\r\n\r\n // check attribute re-declaration\r\n if (name in seenAttrs) {\r\n handleWarning('attribute <' + name + '> already defined');\r\n continue;\r\n }\r\n\r\n seenAttrs[name] = true;\r\n\r\n if (!isNamespace) {\r\n attrs[name] = value;\r\n continue;\r\n }\r\n\r\n // try to extract namespace information\r\n if (maybeNS) {\r\n newalias = (\r\n name === 'xmlns'\r\n ? 'xmlns'\r\n : (name.charCodeAt(0) === 120 && name.substr(0, 6) === 'xmlns:')\r\n ? name.substr(6)\r\n : null\r\n );\r\n\r\n // handle xmlns(:alias) assignment\r\n if (newalias !== null) {\r\n nsUri = decodeEntities(value);\r\n nsUriPrefix = uriPrefix(newalias);\r\n\r\n alias = nsUriToPrefix[nsUri];\r\n\r\n if (!alias) {\r\n\r\n // no prefix defined or prefix collision\r\n if (\r\n (newalias === 'xmlns') ||\r\n (nsUriPrefix in nsMatrix && nsMatrix[nsUriPrefix] !== nsUri)\r\n ) {\r\n\r\n // alocate free ns prefix\r\n do {\r\n alias = 'ns' + (anonymousNsCount++);\r\n } while (typeof nsMatrix[alias] !== 'undefined');\r\n } else {\r\n alias = newalias;\r\n }\r\n\r\n nsUriToPrefix[nsUri] = alias;\r\n }\r\n\r\n if (nsMatrix[newalias] !== alias) {\r\n if (!hasNewMatrix) {\r\n nsMatrix = cloneNsMatrix(nsMatrix);\r\n hasNewMatrix = true;\r\n }\r\n\r\n nsMatrix[newalias] = alias;\r\n if (newalias === 'xmlns') {\r\n nsMatrix[uriPrefix(alias)] = nsUri;\r\n defaultAlias = alias;\r\n }\r\n\r\n nsMatrix[nsUriPrefix] = nsUri;\r\n }\r\n\r\n // expose xmlns(:asd)=\"...\" in attributes\r\n attrs[name] = value;\r\n continue;\r\n }\r\n\r\n // collect attributes until all namespace\r\n // declarations are processed\r\n attrList.push(name, value);\r\n continue;\r\n\r\n } /** end if (maybeNs) */\r\n\r\n // handle attributes on element without\r\n // namespace declarations\r\n w = name.indexOf(':');\r\n if (w === -1) {\r\n attrs[name] = value;\r\n continue;\r\n }\r\n\r\n // normalize ns attribute name\r\n if (!(nsName = nsMatrix[name.substring(0, w)])) {\r\n handleWarning(missingNamespaceForPrefix(name.substring(0, w)));\r\n continue;\r\n }\r\n\r\n name = defaultAlias === nsName\r\n ? name.substr(w + 1)\r\n : nsName + name.substr(w);\r\n\r\n // end: normalize ns attribute name\r\n\r\n attrs[name] = value;\r\n }\r\n\r\n\r\n // handle deferred, possibly namespaced attributes\r\n if (maybeNS) {\r\n\r\n // normalize captured attributes\r\n for (i = 0, l = attrList.length; i < l; i++) {\r\n\r\n name = attrList[i++];\r\n value = attrList[i];\r\n\r\n w = name.indexOf(':');\r\n\r\n if (w !== -1) {\r\n\r\n // normalize ns attribute name\r\n if (!(nsName = nsMatrix[name.substring(0, w)])) {\r\n handleWarning(missingNamespaceForPrefix(name.substring(0, w)));\r\n continue;\r\n }\r\n\r\n name = defaultAlias === nsName\r\n ? name.substr(w + 1)\r\n : nsName + name.substr(w);\r\n\r\n // end: normalize ns attribute name\r\n }\r\n\r\n attrs[name] = value;\r\n }\r\n\r\n // end: normalize captured attributes\r\n }\r\n\r\n return cachedAttrs = attrs;\r\n }\r\n\r\n /**\r\n * Extract the parse context { line, column, part }\r\n * from the current parser position.\r\n *\r\n * @return {Object} parse context\r\n */\r\n function getParseContext() {\r\n var splitsRe = /(\\r\\n|\\r|\\n)/g;\r\n\r\n var line = 0;\r\n var column = 0;\r\n var startOfLine = 0;\r\n var endOfLine = j;\r\n var match;\r\n var data;\r\n\r\n while (i >= startOfLine) {\r\n\r\n match = splitsRe.exec(xml);\r\n\r\n if (!match) {\r\n break;\r\n }\r\n\r\n // end of line = (break idx + break chars)\r\n endOfLine = match[0].length + match.index;\r\n\r\n if (endOfLine > i) {\r\n break;\r\n }\r\n\r\n // advance to next line\r\n line += 1;\r\n\r\n startOfLine = endOfLine;\r\n }\r\n\r\n // EOF errors\r\n if (i == -1) {\r\n column = endOfLine;\r\n data = xml.substring(j);\r\n } else\r\n\r\n // start errors\r\n if (j === 0) {\r\n data = xml.substring(j, i);\r\n }\r\n\r\n // other errors\r\n else {\r\n column = i - startOfLine;\r\n data = (j == -1 ? xml.substring(i) : xml.substring(i, j + 1));\r\n }\r\n\r\n return {\r\n 'data': data,\r\n 'line': line,\r\n 'column': column\r\n };\r\n }\r\n\r\n getContext = getParseContext;\r\n\r\n\r\n if (proxy) {\r\n elementProxy = Object.create({}, {\r\n 'name': getter(function() {\r\n return elementName;\r\n }),\r\n 'originalName': getter(function() {\r\n return _elementName;\r\n }),\r\n 'attrs': getter(getAttrs),\r\n 'ns': getter(function() {\r\n return nsMatrix;\r\n })\r\n });\r\n }\r\n\r\n // actual parse logic\r\n while (j !== -1) {\r\n\r\n if (xml.charCodeAt(j) === 60) { // \"<\"\r\n i = j;\r\n } else {\r\n i = xml.indexOf('<', j);\r\n }\r\n\r\n // parse end\r\n if (i === -1) {\r\n if (nodeStack.length) {\r\n return handleError('unexpected end of file');\r\n }\r\n\r\n if (j === 0) {\r\n return handleError('missing start tag');\r\n }\r\n\r\n if (j < xml.length) {\r\n if (xml.substring(j).trim()) {\r\n handleWarning(NON_WHITESPACE_OUTSIDE_ROOT_NODE);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // parse text\r\n if (j !== i) {\r\n\r\n if (nodeStack.length) {\r\n if (onText) {\r\n onText(xml.substring(j, i), decodeEntities, getContext);\r\n\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n } else {\r\n if (xml.substring(j, i).trim()) {\r\n handleWarning(NON_WHITESPACE_OUTSIDE_ROOT_NODE);\r\n\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n w = xml.charCodeAt(i + 1);\r\n\r\n // parse comments + CDATA\r\n if (w === 33) { // \"!\"\r\n q = xml.charCodeAt(i + 2);\r\n\r\n // CDATA section\r\n if (q === 91 && xml.substr(i + 3, 6) === 'CDATA[') { // 91 == \"[\"\r\n j = xml.indexOf(']]>', i);\r\n if (j === -1) {\r\n return handleError('unclosed cdata');\r\n }\r\n\r\n if (onCDATA) {\r\n onCDATA(xml.substring(i + 9, j), getContext);\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n\r\n j += 3;\r\n continue;\r\n }\r\n\r\n // comment\r\n if (q === 45 && xml.charCodeAt(i + 3) === 45) { // 45 == \"-\"\r\n j = xml.indexOf('-->', i);\r\n if (j === -1) {\r\n return handleError('unclosed comment');\r\n }\r\n\r\n\r\n if (onComment) {\r\n onComment(xml.substring(i + 4, j), decodeEntities, getContext);\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n\r\n j += 3;\r\n continue;\r\n }\r\n }\r\n\r\n // parse question <? ... ?>\r\n if (w === 63) { // \"?\"\r\n j = xml.indexOf('?>', i);\r\n if (j === -1) {\r\n return handleError('unclosed question');\r\n }\r\n\r\n if (onQuestion) {\r\n onQuestion(xml.substring(i, j + 2), getContext);\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n\r\n j += 2;\r\n continue;\r\n }\r\n\r\n // find matching closing tag for attention or standard tags\r\n // for that we must skip through attribute values\r\n // (enclosed in single or double quotes)\r\n for (x = i + 1; ; x++) {\r\n v = xml.charCodeAt(x);\r\n if (isNaN(v)) {\r\n j = -1;\r\n return handleError('unclosed tag');\r\n }\r\n\r\n // [10] AttValue ::= '\"' ([^<&\"] | Reference)* '\"' | \"'\" ([^<&'] | Reference)* \"'\"\r\n // skips the quoted string\r\n // (double quotes) does not appear in a literal enclosed by (double quotes)\r\n // (single quote) does not appear in a literal enclosed by (single quote)\r\n if (v === 34) { // '\"'\r\n q = xml.indexOf('\"', x + 1);\r\n x = q !== -1 ? q : x;\r\n } else if (v === 39) { // \"'\"\r\n q = xml.indexOf(\"'\", x + 1);\r\n x = q !== -1 ? q : x;\r\n } else if (v === 62) { // '>'\r\n j = x;\r\n break;\r\n }\r\n }\r\n\r\n\r\n // parse attention <! ...>\r\n // previously comment and CDATA have already been parsed\r\n if (w === 33) { // \"!\"\r\n\r\n if (onAttention) {\r\n onAttention(xml.substring(i, j + 1), decodeEntities, getContext);\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n\r\n j += 1;\r\n continue;\r\n }\r\n\r\n // don't process attributes;\r\n // there are none\r\n cachedAttrs = {};\r\n\r\n // if (xml.charCodeAt(i+1) === 47) { // </...\r\n if (w === 47) { // </...\r\n tagStart = false;\r\n tagEnd = true;\r\n\r\n if (!nodeStack.length) {\r\n return handleError('missing open tag');\r\n }\r\n\r\n // verify open <-> close tag match\r\n x = elementName = nodeStack.pop();\r\n q = i + 2 + x.length;\r\n\r\n if (xml.substring(i + 2, q) !== x) {\r\n return handleError('closing tag mismatch');\r\n }\r\n\r\n // verify chars in close tag\r\n for (; q < j; q++) {\r\n w = xml.charCodeAt(q);\r\n\r\n if (w === 32 || (w > 8 && w < 14)) { // \\f\\n\\r\\t\\v space\r\n continue;\r\n }\r\n\r\n return handleError('close tag');\r\n }\r\n\r\n } else {\r\n if (xml.charCodeAt(j - 1) === 47) { // .../>\r\n x = elementName = xml.substring(i + 1, j - 1);\r\n\r\n tagStart = true;\r\n tagEnd = true;\r\n\r\n } else {\r\n x = elementName = xml.substring(i + 1, j);\r\n\r\n tagStart = true;\r\n tagEnd = false;\r\n }\r\n\r\n if (!(w > 96 && w < 123 || w > 64 && w < 91 || w === 95 || w === 58)) { // char 95\"_\" 58\":\"\r\n return handleError('illegal first char nodeName');\r\n }\r\n\r\n for (q = 1, y = x.length; q < y; q++) {\r\n w = x.charCodeAt(q);\r\n\r\n if (w > 96 && w < 123 || w > 64 && w < 91 || w > 47 && w < 59 || w === 45 || w === 95 || w == 46) {\r\n continue;\r\n }\r\n\r\n if (w === 32 || (w < 14 && w > 8)) { // \\f\\n\\r\\t\\v space\r\n elementName = x.substring(0, q);\r\n\r\n // maybe there are attributes\r\n cachedAttrs = null;\r\n break;\r\n }\r\n\r\n return handleError('invalid nodeName');\r\n }\r\n\r\n if (!tagEnd) {\r\n nodeStack.push(elementName);\r\n }\r\n }\r\n\r\n if (isNamespace) {\r\n\r\n _nsMatrix = nsMatrix;\r\n\r\n if (tagStart) {\r\n\r\n // remember old namespace\r\n // unless we're self-closing\r\n if (!tagEnd) {\r\n nsMatrixStack.push(_nsMatrix);\r\n }\r\n\r\n if (cachedAttrs === null) {\r\n\r\n // quick check, whether there may be namespace\r\n // declarations on the node; if that is the case\r\n // we need to eagerly parse the node attributes\r\n if ((maybeNS = x.indexOf('xmlns', q) !== -1)) {\r\n attrsStart = q;\r\n attrsString = x;\r\n\r\n getAttrs();\r\n\r\n maybeNS = false;\r\n }\r\n }\r\n }\r\n\r\n _elementName = elementName;\r\n\r\n w = elementName.indexOf(':');\r\n if (w !== -1) {\r\n xmlns = nsMatrix[elementName.substring(0, w)];\r\n\r\n // prefix given; namespace must exist\r\n if (!xmlns) {\r\n return handleError('missing namespace on <' + _elementName + '>');\r\n }\r\n\r\n elementName = elementName.substr(w + 1);\r\n } else {\r\n xmlns = nsMatrix['xmlns'];\r\n\r\n // if no default namespace is defined,\r\n // we'll import the element as anonymous.\r\n //\r\n // it is up to users to correct that to the document defined\r\n // targetNamespace, or whatever their undersanding of the\r\n // XML spec mandates.\r\n }\r\n\r\n // adjust namespace prefixs as configured\r\n if (xmlns) {\r\n elementName = xmlns + ':' + elementName;\r\n }\r\n\r\n }\r\n\r\n if (tagStart) {\r\n attrsStart = q;\r\n attrsString = x;\r\n\r\n if (onOpenTag) {\r\n if (proxy) {\r\n onOpenTag(elementProxy, decodeEntities, tagEnd, getContext);\r\n } else {\r\n onOpenTag(elementName, getAttrs, decodeEntities, tagEnd, getContext);\r\n }\r\n\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n\r\n }\r\n\r\n if (tagEnd) {\r\n\r\n if (onCloseTag) {\r\n onCloseTag(proxy ? elementProxy : elementName, decodeEntities, tagStart, getContext);\r\n\r\n if (parseStop) {\r\n return;\r\n }\r\n }\r\n\r\n // restore old namespace\r\n if (isNamespace) {\r\n if (!tagStart) {\r\n nsMatrix = nsMatrixStack.pop();\r\n } else {\r\n nsMatrix = _nsMatrix;\r\n }\r\n }\r\n }\r\n\r\n j += 1;\r\n }\r\n } /** end parse */\r\n\r\n }\r\n\r\n // Returns:\r\n\r\n return Parser(options);\r\n}"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseXmlStream.test.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","describe","it","expect","parseXmlStream","collectText","xml","createInitialState","text","onText","state","_callee","_callee$","_context","t0","t1","to","equal","_callee2","_callee2$","_context2","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","names","onOpenTag","tagName","attributes","deep"],"sources":["../../source/xml/parseXmlStream.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport parseXmlStream from './parseXmlStream.js'\r\n\r\nfunction collectText(xml) {\r\n\treturn parseXmlStream(xml, {\r\n\t\tcreateInitialState: () => ({ text: '' }),\r\n\t\tonText: (text, state) => {\r\n\t\t\tstate.text += text\r\n\t\t}\r\n\t}).then(state => state.text)\r\n}\r\n\r\ndescribe('parseXmlStream', () => {\r\n\tit('should decode numeric character references in text', async () => {\r\n\t\t// Some tools (e.g. `openpyxl`) escape non-ASCII characters\r\n\t\t// as numeric character references when writing XML.\r\n\t\texpect(await collectText('<r><t>Caf&#233; &#xE9;t&#xE9;</t></r>')).to.equal('Café été')\r\n\t})\r\n\r\n\tit('should decode predefined XML entities in text', async () => {\r\n\t\texpect(await collectText('<r><t>&lt;a&gt; &amp; &quot;b&quot; &apos;c&apos;</t></r>')).to.equal('<a> & \"b\" \\'c\\'')\r\n\t})\r\n\r\n\tit('should pass text without character references through unchanged', async () => {\r\n\t\texpect(await collectText('<r><t>abc</t></r>')).to.equal('abc')\r\n\t})\r\n\r\n\tit('should decode character references in attribute values', async () => {\r\n\t\t// Sheet names, for example, are read from the `name` attribute\r\n\t\t// in `xl/workbook.xml`: `<sheet name=\"P&amp;L\"/>`.\r\n\t\tconst state = await parseXmlStream('<sheets><sheet name=\"P&amp;L &#233;t&#xE9;\"/></sheets>', {\r\n\t\t\tcreateInitialState: () => ({ names: [] }),\r\n\t\t\tonOpenTag: (tagName, attributes, state) => {\r\n\t\t\t\tif (tagName === 'sheet') {\r\n\t\t\t\t\tstate.names.push(attributes.name)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t\texpect(state.names).to.deep.equal(['P&L été'])\r\n\t})\r\n})\r\n"],"mappings":"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"}