devextreme-exceljs-fork 4.4.7 → 4.4.9

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 (121) hide show
  1. package/README.md +1 -1
  2. package/README_zh.md +1 -1
  3. package/dist/dx-exceljs-fork.bare.js +15848 -20465
  4. package/dist/dx-exceljs-fork.bare.js.map +317 -361
  5. package/dist/dx-exceljs-fork.bare.min.js +9 -9
  6. package/dist/dx-exceljs-fork.bare.min.js.map +1 -1
  7. package/dist/dx-exceljs-fork.js +16431 -21034
  8. package/dist/dx-exceljs-fork.js.map +489 -533
  9. package/dist/dx-exceljs-fork.min.js +9 -9
  10. package/dist/dx-exceljs-fork.min.js.map +1 -1
  11. package/dist/es5/csv/csv.js +1 -1
  12. package/dist/es5/csv/csv.js.map +1 -1
  13. package/dist/es5/doc/cell.js +5 -5
  14. package/dist/es5/doc/cell.js.map +1 -1
  15. package/dist/es5/doc/pivot-table.js +1 -1
  16. package/dist/es5/doc/pivot-table.js.map +1 -1
  17. package/dist/es5/doc/range.js +7 -7
  18. package/dist/es5/doc/range.js.map +1 -1
  19. package/dist/es5/doc/row.js +1 -1
  20. package/dist/es5/doc/row.js.map +1 -1
  21. package/dist/es5/doc/table.js +10 -10
  22. package/dist/es5/doc/table.js.map +1 -1
  23. package/dist/es5/doc/worksheet.js +7 -6
  24. package/dist/es5/doc/worksheet.js.map +1 -1
  25. package/dist/es5/dx-exceljs-fork.browser.js +1 -1
  26. package/dist/es5/dx-exceljs-fork.browser.js.map +1 -1
  27. package/dist/es5/stream/xlsx/hyperlink-reader.js +26 -49
  28. package/dist/es5/stream/xlsx/hyperlink-reader.js.map +1 -1
  29. package/dist/es5/stream/xlsx/sheet-comments-writer.js +6 -6
  30. package/dist/es5/stream/xlsx/sheet-comments-writer.js.map +1 -1
  31. package/dist/es5/stream/xlsx/sheet-rels-writer.js +6 -5
  32. package/dist/es5/stream/xlsx/sheet-rels-writer.js.map +1 -1
  33. package/dist/es5/stream/xlsx/workbook-reader.js +215 -320
  34. package/dist/es5/stream/xlsx/workbook-reader.js.map +1 -1
  35. package/dist/es5/stream/xlsx/workbook-writer.js +8 -8
  36. package/dist/es5/stream/xlsx/workbook-writer.js.map +1 -1
  37. package/dist/es5/stream/xlsx/worksheet-reader.js +265 -341
  38. package/dist/es5/stream/xlsx/worksheet-reader.js.map +1 -1
  39. package/dist/es5/stream/xlsx/worksheet-writer.js +9 -13
  40. package/dist/es5/stream/xlsx/worksheet-writer.js.map +1 -1
  41. package/dist/es5/utils/browser-buffer-decode.js +1 -1
  42. package/dist/es5/utils/browser-buffer-decode.js.map +1 -1
  43. package/dist/es5/utils/browser-buffer-encode.js +1 -1
  44. package/dist/es5/utils/browser-buffer-encode.js.map +1 -1
  45. package/dist/es5/utils/col-cache.js +14 -18
  46. package/dist/es5/utils/col-cache.js.map +1 -1
  47. package/dist/es5/utils/copy-style.js +12 -10
  48. package/dist/es5/utils/copy-style.js.map +1 -1
  49. package/dist/es5/utils/encryptor.js +1 -1
  50. package/dist/es5/utils/encryptor.js.map +1 -1
  51. package/dist/es5/utils/iterate-stream.js +26 -37
  52. package/dist/es5/utils/iterate-stream.js.map +1 -1
  53. package/dist/es5/utils/parse-sax.js +34 -67
  54. package/dist/es5/utils/parse-sax.js.map +1 -1
  55. package/dist/es5/utils/utils.js +1 -1
  56. package/dist/es5/utils/utils.js.map +1 -1
  57. package/dist/es5/utils/xml-stream.js +1 -1
  58. package/dist/es5/utils/xml-stream.js.map +1 -1
  59. package/dist/es5/xlsx/xform/base-xform.js +12 -35
  60. package/dist/es5/xlsx/xform/base-xform.js.map +1 -1
  61. package/dist/es5/xlsx/xform/book/defined-name-xform.js +2 -2
  62. package/dist/es5/xlsx/xform/book/defined-name-xform.js.map +1 -1
  63. package/dist/es5/xlsx/xform/book/workbook-xform.js +5 -5
  64. package/dist/es5/xlsx/xform/book/workbook-xform.js.map +1 -1
  65. package/dist/es5/xlsx/xform/comment/comment-xform.js +4 -8
  66. package/dist/es5/xlsx/xform/comment/comment-xform.js.map +1 -1
  67. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js +1 -1
  68. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +1 -1
  69. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +1 -1
  70. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +1 -1
  71. package/dist/es5/xlsx/xform/core/content-types-xform.js +5 -5
  72. package/dist/es5/xlsx/xform/core/content-types-xform.js.map +1 -1
  73. package/dist/es5/xlsx/xform/core/core-xform.js +2 -2
  74. package/dist/es5/xlsx/xform/core/core-xform.js.map +1 -1
  75. package/dist/es5/xlsx/xform/core/relationships-xform.js +2 -2
  76. package/dist/es5/xlsx/xform/core/relationships-xform.js.map +1 -1
  77. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +1 -1
  78. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +1 -1
  79. package/dist/es5/xlsx/xform/list-xform.js +1 -1
  80. package/dist/es5/xlsx/xform/list-xform.js.map +1 -1
  81. package/dist/es5/xlsx/xform/pivot-table/cache-field.js +8 -2
  82. package/dist/es5/xlsx/xform/pivot-table/cache-field.js.map +1 -1
  83. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +3 -7
  84. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js.map +1 -1
  85. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js +7 -11
  86. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js.map +1 -1
  87. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js +70 -10
  88. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js.map +1 -1
  89. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +1 -1
  90. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +1 -1
  91. package/dist/es5/xlsx/xform/sheet/cell-xform.js +4 -8
  92. package/dist/es5/xlsx/xform/sheet/cell-xform.js.map +1 -1
  93. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +18 -22
  94. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +1 -1
  95. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +10 -5
  96. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +1 -1
  97. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js +11 -13
  98. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +1 -1
  99. package/dist/es5/xlsx/xform/sheet/merges.js +1 -1
  100. package/dist/es5/xlsx/xform/sheet/merges.js.map +1 -1
  101. package/dist/es5/xlsx/xform/sheet/row-xform.js +2 -2
  102. package/dist/es5/xlsx/xform/sheet/row-xform.js.map +1 -1
  103. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js +10 -10
  104. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +1 -1
  105. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js +2 -2
  106. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +1 -1
  107. package/dist/es5/xlsx/xform/style/border-xform.js +3 -7
  108. package/dist/es5/xlsx/xform/style/border-xform.js.map +1 -1
  109. package/dist/es5/xlsx/xform/table/auto-filter-xform.js +2 -2
  110. package/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +1 -1
  111. package/dist/es5/xlsx/xform/table/filter-column-xform.js +1 -1
  112. package/dist/es5/xlsx/xform/table/filter-column-xform.js.map +1 -1
  113. package/dist/es5/xlsx/xform/table/table-xform.js +3 -7
  114. package/dist/es5/xlsx/xform/table/table-xform.js.map +1 -1
  115. package/dist/es5/xlsx/xlsx.js +22 -45
  116. package/dist/es5/xlsx/xlsx.js.map +1 -1
  117. package/lib/dx-exceljs-fork.browser.js +1 -1
  118. package/lib/utils/browser-buffer-decode.js +1 -1
  119. package/lib/utils/browser-buffer-encode.js +1 -1
  120. package/lib/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +12 -3
  121. package/package.json +35 -35
@@ -1 +1 @@
1
- {"version":3,"file":"col-cache.js","names":["addressRegex","colCache","_dictionary","_l2nFill","_l2n","_n2l","_level","n","_fill","level","c","v","l1","l2","l3","Error","Math","floor","l2n","l","length","concat","n2l","_hash","validateAddress","value","test","decodeAddress","addr","hasCol","col","colNumber","hasRow","row","rowNumber","i","char","charCodeAt","undefined","address","$col$row","getAddress","r","decode","parts","split","tl","br","result","top","min","left","bottom","max","right","dimensions","decodeEx","sheetName","reference","startsWith","slice","replace","bang","indexOf","error","_objectSpread","encodeAddress","encode","arguments","inRange","range","module","exports"],"sources":["../../../lib/utils/col-cache.js"],"sourcesContent":["const addressRegex = /^[A-Z]+\\d+$/;\n// =========================================================================\n// Column Letter to Number conversion\nconst colCache = {\n _dictionary: [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n ],\n _l2nFill: 0,\n _l2n: {},\n _n2l: [],\n _level(n) {\n if (n <= 26) {\n return 1;\n }\n if (n <= 26 * 26) {\n return 2;\n }\n return 3;\n },\n _fill(level) {\n let c;\n let v;\n let l1;\n let l2;\n let l3;\n let n = 1;\n if (level >= 4) {\n throw new Error('Out of bounds. Excel supports columns from 1 to 16384');\n }\n if (this._l2nFill < 1 && level >= 1) {\n while (n <= 26) {\n c = this._dictionary[n - 1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 1;\n }\n if (this._l2nFill < 2 && level >= 2) {\n n = 27;\n while (n <= 26 + (26 * 26)) {\n v = n - (26 + 1);\n l1 = v % 26;\n l2 = Math.floor(v / 26);\n c = this._dictionary[l2] + this._dictionary[l1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 2;\n }\n if (this._l2nFill < 3 && level >= 3) {\n n = 26 + (26 * 26) + 1;\n while (n <= 16384) {\n v = n - ((26 * 26) + 26 + 1);\n l1 = v % 26;\n l2 = Math.floor(v / 26) % 26;\n l3 = Math.floor(v / (26 * 26));\n c = this._dictionary[l3] + this._dictionary[l2] + this._dictionary[l1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 3;\n }\n },\n l2n(l) {\n if (!this._l2n[l]) {\n this._fill(l.length);\n }\n if (!this._l2n[l]) {\n throw new Error(`Out of bounds. Invalid column letter: ${l}`);\n }\n return this._l2n[l];\n },\n n2l(n) {\n if (n < 1 || n > 16384) {\n throw new Error(`${n} is out of bounds. Excel supports columns from 1 to 16384`);\n }\n if (!this._n2l[n]) {\n this._fill(this._level(n));\n }\n return this._n2l[n];\n },\n\n // =========================================================================\n // Address processing\n _hash: {},\n\n // check if value looks like an address\n validateAddress(value) {\n if (!addressRegex.test(value)) {\n throw new Error(`Invalid Address: ${value}`);\n }\n return true;\n },\n\n // convert address string into structure\n decodeAddress(value) {\n const addr = value.length < 5 && this._hash[value];\n if (addr) {\n return addr;\n }\n let hasCol = false;\n let col = '';\n let colNumber = 0;\n let hasRow = false;\n let row = '';\n let rowNumber = 0;\n for (let i = 0, char; i < value.length; i++) {\n char = value.charCodeAt(i);\n // col should before row\n if (!hasRow && char >= 65 && char <= 90) {\n // 65 = 'A'.charCodeAt(0)\n // 90 = 'Z'.charCodeAt(0)\n hasCol = true;\n col += value[i];\n // colNumber starts from 1\n colNumber = (colNumber * 26) + char - 64;\n } else if (char >= 48 && char <= 57) {\n // 48 = '0'.charCodeAt(0)\n // 57 = '9'.charCodeAt(0)\n hasRow = true;\n row += value[i];\n // rowNumber starts from 0\n rowNumber = (rowNumber * 10) + char - 48;\n } else if (hasRow && hasCol && char !== 36) {\n // 36 = '$'.charCodeAt(0)\n break;\n }\n }\n if (!hasCol) {\n colNumber = undefined;\n } else if (colNumber > 16384) {\n throw new Error(`Out of bounds. Invalid column letter: ${col}`);\n }\n if (!hasRow) {\n rowNumber = undefined;\n }\n\n // in case $row$col\n value = col + row;\n\n const address = {\n address: value,\n col: colNumber,\n row: rowNumber,\n $col$row: `$${col}$${row}`,\n };\n\n // mem fix - cache only the tl 100x100 square\n if (colNumber <= 100 && rowNumber <= 100) {\n this._hash[value] = address;\n this._hash[address.$col$row] = address;\n }\n\n return address;\n },\n\n // convert r,c into structure (if only 1 arg, assume r is address string)\n getAddress(r, c) {\n if (c) {\n const address = this.n2l(c) + r;\n return this.decodeAddress(address);\n }\n return this.decodeAddress(r);\n },\n\n // convert [address], [tl:br] into address structures\n decode(value) {\n const parts = value.split(':');\n if (parts.length === 2) {\n const tl = this.decodeAddress(parts[0]);\n const br = this.decodeAddress(parts[1]);\n const result = {\n top: Math.min(tl.row, br.row),\n left: Math.min(tl.col, br.col),\n bottom: Math.max(tl.row, br.row),\n right: Math.max(tl.col, br.col),\n };\n // reconstruct tl, br and dimensions\n result.tl = this.n2l(result.left) + result.top;\n result.br = this.n2l(result.right) + result.bottom;\n result.dimensions = `${result.tl}:${result.br}`;\n return result;\n }\n return this.decodeAddress(value);\n },\n\n // convert [sheetName!][$]col[$]row[[$]col[$]row] into address or range structures\n decodeEx(value) {\n let sheetName;\n let reference = value;\n\n if (value.startsWith('\\'')) {\n for (let i = 1; i < value.length; i++) {\n if (value[i] === '\\'') {\n if (i + 1 < value.length && value[i + 1] === '\\'') {\n i++;\n continue;\n }\n if (i + 1 < value.length && value[i + 1] === '!') {\n sheetName = value.slice(1, i).replace(/''/g, '\\'');\n reference = value.slice(i + 2);\n }\n break;\n }\n }\n } else {\n const bang = value.indexOf('!');\n if (bang > 0) {\n sheetName = value.slice(0, bang);\n reference = value.slice(bang + 1);\n }\n }\n\n const parts = reference.split(':');\n if (parts.length > 1) {\n let tl = this.decodeAddress(parts[0]);\n let br = this.decodeAddress(parts[1]);\n const top = Math.min(tl.row, br.row);\n const left = Math.min(tl.col, br.col);\n const bottom = Math.max(tl.row, br.row);\n const right = Math.max(tl.col, br.col);\n\n tl = this.n2l(left) + top;\n br = this.n2l(right) + bottom;\n\n return {\n top,\n left,\n bottom,\n right,\n sheetName,\n tl: {address: tl, col: left, row: top, $col$row: `$${this.n2l(left)}$${top}`, sheetName},\n br: {\n address: br,\n col: right,\n row: bottom,\n $col$row: `$${this.n2l(right)}$${bottom}`,\n sheetName,\n },\n dimensions: `${tl}:${br}`,\n };\n }\n if (reference.startsWith('#')) {\n return sheetName ? {sheetName, error: reference} : {error: reference};\n }\n\n const address = this.decodeAddress(reference);\n return sheetName ? {sheetName, ...address} : address;\n },\n\n // convert row,col into address string\n encodeAddress(row, col) {\n return colCache.n2l(col) + row;\n },\n\n // convert row,col into string address or t,l,b,r into range\n encode() {\n switch (arguments.length) {\n case 2:\n return colCache.encodeAddress(arguments[0], arguments[1]);\n case 4:\n return `${colCache.encodeAddress(arguments[0], arguments[1])}:${colCache.encodeAddress(\n arguments[2],\n arguments[3]\n )}`;\n default:\n throw new Error('Can only encode with 2 or 4 arguments');\n }\n },\n\n // return true if address is contained within range\n inRange(range, address) {\n const [left, top, , right, bottom] = range;\n const [col, row] = address;\n return col >= left && col <= right && row >= top && row <= bottom;\n },\n};\n\nmodule.exports = colCache;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"col-cache.js","names":["addressRegex","colCache","_dictionary","_l2nFill","_l2n","_n2l","_level","n","_fill","level","c","v","l1","l2","l3","Error","Math","floor","l2n","l","length","n2l","_hash","validateAddress","value","test","decodeAddress","addr","hasCol","col","colNumber","hasRow","row","rowNumber","i","char","charCodeAt","undefined","address","$col$row","getAddress","r","decode","parts","split","tl","br","result","top","min","left","bottom","max","right","dimensions","decodeEx","sheetName","reference","startsWith","slice","replace","bang","indexOf","error","encodeAddress","encode","arguments","inRange","range","module","exports"],"sources":["../../../lib/utils/col-cache.js"],"sourcesContent":["const addressRegex = /^[A-Z]+\\d+$/;\n// =========================================================================\n// Column Letter to Number conversion\nconst colCache = {\n _dictionary: [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n ],\n _l2nFill: 0,\n _l2n: {},\n _n2l: [],\n _level(n) {\n if (n <= 26) {\n return 1;\n }\n if (n <= 26 * 26) {\n return 2;\n }\n return 3;\n },\n _fill(level) {\n let c;\n let v;\n let l1;\n let l2;\n let l3;\n let n = 1;\n if (level >= 4) {\n throw new Error('Out of bounds. Excel supports columns from 1 to 16384');\n }\n if (this._l2nFill < 1 && level >= 1) {\n while (n <= 26) {\n c = this._dictionary[n - 1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 1;\n }\n if (this._l2nFill < 2 && level >= 2) {\n n = 27;\n while (n <= 26 + (26 * 26)) {\n v = n - (26 + 1);\n l1 = v % 26;\n l2 = Math.floor(v / 26);\n c = this._dictionary[l2] + this._dictionary[l1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 2;\n }\n if (this._l2nFill < 3 && level >= 3) {\n n = 26 + (26 * 26) + 1;\n while (n <= 16384) {\n v = n - ((26 * 26) + 26 + 1);\n l1 = v % 26;\n l2 = Math.floor(v / 26) % 26;\n l3 = Math.floor(v / (26 * 26));\n c = this._dictionary[l3] + this._dictionary[l2] + this._dictionary[l1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 3;\n }\n },\n l2n(l) {\n if (!this._l2n[l]) {\n this._fill(l.length);\n }\n if (!this._l2n[l]) {\n throw new Error(`Out of bounds. Invalid column letter: ${l}`);\n }\n return this._l2n[l];\n },\n n2l(n) {\n if (n < 1 || n > 16384) {\n throw new Error(`${n} is out of bounds. Excel supports columns from 1 to 16384`);\n }\n if (!this._n2l[n]) {\n this._fill(this._level(n));\n }\n return this._n2l[n];\n },\n\n // =========================================================================\n // Address processing\n _hash: {},\n\n // check if value looks like an address\n validateAddress(value) {\n if (!addressRegex.test(value)) {\n throw new Error(`Invalid Address: ${value}`);\n }\n return true;\n },\n\n // convert address string into structure\n decodeAddress(value) {\n const addr = value.length < 5 && this._hash[value];\n if (addr) {\n return addr;\n }\n let hasCol = false;\n let col = '';\n let colNumber = 0;\n let hasRow = false;\n let row = '';\n let rowNumber = 0;\n for (let i = 0, char; i < value.length; i++) {\n char = value.charCodeAt(i);\n // col should before row\n if (!hasRow && char >= 65 && char <= 90) {\n // 65 = 'A'.charCodeAt(0)\n // 90 = 'Z'.charCodeAt(0)\n hasCol = true;\n col += value[i];\n // colNumber starts from 1\n colNumber = (colNumber * 26) + char - 64;\n } else if (char >= 48 && char <= 57) {\n // 48 = '0'.charCodeAt(0)\n // 57 = '9'.charCodeAt(0)\n hasRow = true;\n row += value[i];\n // rowNumber starts from 0\n rowNumber = (rowNumber * 10) + char - 48;\n } else if (hasRow && hasCol && char !== 36) {\n // 36 = '$'.charCodeAt(0)\n break;\n }\n }\n if (!hasCol) {\n colNumber = undefined;\n } else if (colNumber > 16384) {\n throw new Error(`Out of bounds. Invalid column letter: ${col}`);\n }\n if (!hasRow) {\n rowNumber = undefined;\n }\n\n // in case $row$col\n value = col + row;\n\n const address = {\n address: value,\n col: colNumber,\n row: rowNumber,\n $col$row: `$${col}$${row}`,\n };\n\n // mem fix - cache only the tl 100x100 square\n if (colNumber <= 100 && rowNumber <= 100) {\n this._hash[value] = address;\n this._hash[address.$col$row] = address;\n }\n\n return address;\n },\n\n // convert r,c into structure (if only 1 arg, assume r is address string)\n getAddress(r, c) {\n if (c) {\n const address = this.n2l(c) + r;\n return this.decodeAddress(address);\n }\n return this.decodeAddress(r);\n },\n\n // convert [address], [tl:br] into address structures\n decode(value) {\n const parts = value.split(':');\n if (parts.length === 2) {\n const tl = this.decodeAddress(parts[0]);\n const br = this.decodeAddress(parts[1]);\n const result = {\n top: Math.min(tl.row, br.row),\n left: Math.min(tl.col, br.col),\n bottom: Math.max(tl.row, br.row),\n right: Math.max(tl.col, br.col),\n };\n // reconstruct tl, br and dimensions\n result.tl = this.n2l(result.left) + result.top;\n result.br = this.n2l(result.right) + result.bottom;\n result.dimensions = `${result.tl}:${result.br}`;\n return result;\n }\n return this.decodeAddress(value);\n },\n\n // convert [sheetName!][$]col[$]row[[$]col[$]row] into address or range structures\n decodeEx(value) {\n let sheetName;\n let reference = value;\n\n if (value.startsWith('\\'')) {\n for (let i = 1; i < value.length; i++) {\n if (value[i] === '\\'') {\n if (i + 1 < value.length && value[i + 1] === '\\'') {\n i++;\n continue;\n }\n if (i + 1 < value.length && value[i + 1] === '!') {\n sheetName = value.slice(1, i).replace(/''/g, '\\'');\n reference = value.slice(i + 2);\n }\n break;\n }\n }\n } else {\n const bang = value.indexOf('!');\n if (bang > 0) {\n sheetName = value.slice(0, bang);\n reference = value.slice(bang + 1);\n }\n }\n\n const parts = reference.split(':');\n if (parts.length > 1) {\n let tl = this.decodeAddress(parts[0]);\n let br = this.decodeAddress(parts[1]);\n const top = Math.min(tl.row, br.row);\n const left = Math.min(tl.col, br.col);\n const bottom = Math.max(tl.row, br.row);\n const right = Math.max(tl.col, br.col);\n\n tl = this.n2l(left) + top;\n br = this.n2l(right) + bottom;\n\n return {\n top,\n left,\n bottom,\n right,\n sheetName,\n tl: {address: tl, col: left, row: top, $col$row: `$${this.n2l(left)}$${top}`, sheetName},\n br: {\n address: br,\n col: right,\n row: bottom,\n $col$row: `$${this.n2l(right)}$${bottom}`,\n sheetName,\n },\n dimensions: `${tl}:${br}`,\n };\n }\n if (reference.startsWith('#')) {\n return sheetName ? {sheetName, error: reference} : {error: reference};\n }\n\n const address = this.decodeAddress(reference);\n return sheetName ? {sheetName, ...address} : address;\n },\n\n // convert row,col into address string\n encodeAddress(row, col) {\n return colCache.n2l(col) + row;\n },\n\n // convert row,col into string address or t,l,b,r into range\n encode() {\n switch (arguments.length) {\n case 2:\n return colCache.encodeAddress(arguments[0], arguments[1]);\n case 4:\n return `${colCache.encodeAddress(arguments[0], arguments[1])}:${colCache.encodeAddress(\n arguments[2],\n arguments[3]\n )}`;\n default:\n throw new Error('Can only encode with 2 or 4 arguments');\n }\n },\n\n // return true if address is contained within range\n inRange(range, address) {\n const [left, top, , right, bottom] = range;\n const [col, row] = address;\n return col >= left && col <= right && row >= top && row <= bottom;\n },\n};\n\nmodule.exports = colCache;\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
- 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; }
4
- 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; }
5
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
- const oneDepthCopy = (obj, nestKeys) => _objectSpread(_objectSpread({}, obj), nestKeys.reduce((memo, key) => {
9
- if (obj[key]) memo[key] = _objectSpread({}, obj[key]);
10
- return memo;
11
- }, {}));
3
+ const oneDepthCopy = (obj, nestKeys) => ({
4
+ ...obj,
5
+ ...nestKeys.reduce((memo, key) => {
6
+ if (obj[key]) memo[key] = {
7
+ ...obj[key]
8
+ };
9
+ return memo;
10
+ }, {})
11
+ });
12
12
  const setIfExists = function (src, dst, key) {
13
13
  let nestKeys = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
14
14
  if (src[key]) dst[key] = oneDepthCopy(src[key], nestKeys);
@@ -17,7 +17,9 @@ const isEmptyObj = obj => Object.keys(obj).length === 0;
17
17
  const copyStyle = style => {
18
18
  if (!style) return style;
19
19
  if (isEmptyObj(style)) return {};
20
- const copied = _objectSpread({}, style);
20
+ const copied = {
21
+ ...style
22
+ };
21
23
  setIfExists(style, copied, 'font', ['color']);
22
24
  setIfExists(style, copied, 'alignment');
23
25
  setIfExists(style, copied, 'protection');
@@ -1 +1 @@
1
- {"version":3,"file":"copy-style.js","names":["oneDepthCopy","obj","nestKeys","_objectSpread","reduce","memo","key","setIfExists","src","dst","arguments","length","undefined","isEmptyObj","Object","keys","copyStyle","style","copied","border","fill","stops","map","s","exports"],"sources":["../../../lib/utils/copy-style.js"],"sourcesContent":["const oneDepthCopy = (obj, nestKeys) => ({\n ...obj,\n ...nestKeys.reduce((memo, key) => {\n if (obj[key]) memo[key] = {...obj[key]};\n return memo;\n }, {}),\n});\n\nconst setIfExists = (src, dst, key, nestKeys = []) => {\n if (src[key]) dst[key] = oneDepthCopy(src[key], nestKeys);\n};\n\nconst isEmptyObj = obj => Object.keys(obj).length === 0;\n\nconst copyStyle = style => {\n if (!style) return style;\n if (isEmptyObj(style)) return {};\n\n const copied = {...style};\n\n setIfExists(style, copied, 'font', ['color']);\n setIfExists(style, copied, 'alignment');\n setIfExists(style, copied, 'protection');\n if (style.border) {\n setIfExists(style, copied, 'border');\n setIfExists(style.border, copied.border, 'top', ['color']);\n setIfExists(style.border, copied.border, 'left', ['color']);\n setIfExists(style.border, copied.border, 'bottom', ['color']);\n setIfExists(style.border, copied.border, 'right', ['color']);\n setIfExists(style.border, copied.border, 'diagonal', ['color']);\n }\n\n if (style.fill) {\n setIfExists(style, copied, 'fill', ['fgColor', 'bgColor', 'center']);\n if (style.fill.stops) {\n copied.fill.stops = style.fill.stops.map(s => oneDepthCopy(s, ['color']));\n }\n }\n\n return copied;\n};\n\nexports.copyStyle = copyStyle;\n"],"mappings":";;;;;;;AAAA,MAAMA,YAAY,GAAGA,CAACC,GAAG,EAAEC,QAAQ,KAAAC,aAAA,CAAAA,aAAA,KAC9BF,GAAG,GACHC,QAAQ,CAACE,MAAM,CAAC,CAACC,IAAI,EAAEC,GAAG,KAAK;EAChC,IAAIL,GAAG,CAACK,GAAG,CAAC,EAAED,IAAI,CAACC,GAAG,CAAC,GAAAH,aAAA,KAAOF,GAAG,CAACK,GAAG,CAAC,CAAC;EACvC,OAAOD,IAAI;AACb,CAAC,EAAE,CAAC,CAAC,CAAC,CACN;AAEF,MAAME,WAAW,GAAG,SAAAA,CAACC,GAAG,EAAEC,GAAG,EAAEH,GAAG,EAAoB;EAAA,IAAlBJ,QAAQ,GAAAQ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC/C,IAAIF,GAAG,CAACF,GAAG,CAAC,EAAEG,GAAG,CAACH,GAAG,CAAC,GAAGN,YAAY,CAACQ,GAAG,CAACF,GAAG,CAAC,EAAEJ,QAAQ,CAAC;AAC3D,CAAC;AAED,MAAMW,UAAU,GAAGZ,GAAG,IAAIa,MAAM,CAACC,IAAI,CAACd,GAAG,CAAC,CAACU,MAAM,KAAK,CAAC;AAEvD,MAAMK,SAAS,GAAGC,KAAK,IAAI;EACzB,IAAI,CAACA,KAAK,EAAE,OAAOA,KAAK;EACxB,IAAIJ,UAAU,CAACI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;EAEhC,MAAMC,MAAM,GAAAf,aAAA,KAAOc,KAAK,CAAC;EAEzBV,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;EAC7CX,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,WAAW,CAAC;EACvCX,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,YAAY,CAAC;EACxC,IAAID,KAAK,CAACE,MAAM,EAAE;IAChBZ,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,QAAQ,CAAC;IACpCX,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;IAC3DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;EACjE;EAEA,IAAIF,KAAK,CAACG,IAAI,EAAE;IACdb,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAID,KAAK,CAACG,IAAI,CAACC,KAAK,EAAE;MACpBH,MAAM,CAACE,IAAI,CAACC,KAAK,GAAGJ,KAAK,CAACG,IAAI,CAACC,KAAK,CAACC,GAAG,CAACC,CAAC,IAAIvB,YAAY,CAACuB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E;EACF;EAEA,OAAOL,MAAM;AACf,CAAC;AAEDM,OAAO,CAACR,SAAS,GAAGA,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"copy-style.js","names":["oneDepthCopy","obj","nestKeys","reduce","memo","key","setIfExists","src","dst","arguments","length","undefined","isEmptyObj","Object","keys","copyStyle","style","copied","border","fill","stops","map","s","exports"],"sources":["../../../lib/utils/copy-style.js"],"sourcesContent":["const oneDepthCopy = (obj, nestKeys) => ({\n ...obj,\n ...nestKeys.reduce((memo, key) => {\n if (obj[key]) memo[key] = {...obj[key]};\n return memo;\n }, {}),\n});\n\nconst setIfExists = (src, dst, key, nestKeys = []) => {\n if (src[key]) dst[key] = oneDepthCopy(src[key], nestKeys);\n};\n\nconst isEmptyObj = obj => Object.keys(obj).length === 0;\n\nconst copyStyle = style => {\n if (!style) return style;\n if (isEmptyObj(style)) return {};\n\n const copied = {...style};\n\n setIfExists(style, copied, 'font', ['color']);\n setIfExists(style, copied, 'alignment');\n setIfExists(style, copied, 'protection');\n if (style.border) {\n setIfExists(style, copied, 'border');\n setIfExists(style.border, copied.border, 'top', ['color']);\n setIfExists(style.border, copied.border, 'left', ['color']);\n setIfExists(style.border, copied.border, 'bottom', ['color']);\n setIfExists(style.border, copied.border, 'right', ['color']);\n setIfExists(style.border, copied.border, 'diagonal', ['color']);\n }\n\n if (style.fill) {\n setIfExists(style, copied, 'fill', ['fgColor', 'bgColor', 'center']);\n if (style.fill.stops) {\n copied.fill.stops = style.fill.stops.map(s => oneDepthCopy(s, ['color']));\n }\n }\n\n return copied;\n};\n\nexports.copyStyle = copyStyle;\n"],"mappings":";;AAAA,MAAMA,YAAY,GAAGA,CAACC,GAAG,EAAEC,QAAQ,MAAM;EACvC,GAAGD,GAAG;EACN,GAAGC,QAAQ,CAACC,MAAM,CAAC,CAACC,IAAI,EAAEC,GAAG,KAAK;IAChC,IAAIJ,GAAG,CAACI,GAAG,CAAC,EAAED,IAAI,CAACC,GAAG,CAAC,GAAG;MAAC,GAAGJ,GAAG,CAACI,GAAG;IAAC,CAAC;IACvC,OAAOD,IAAI;EACb,CAAC,EAAE,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAME,WAAW,GAAG,SAAAA,CAACC,GAAG,EAAEC,GAAG,EAAEH,GAAG,EAAoB;EAAA,IAAlBH,QAAQ,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC/C,IAAIF,GAAG,CAACF,GAAG,CAAC,EAAEG,GAAG,CAACH,GAAG,CAAC,GAAGL,YAAY,CAACO,GAAG,CAACF,GAAG,CAAC,EAAEH,QAAQ,CAAC;AAC3D,CAAC;AAED,MAAMU,UAAU,GAAGX,GAAG,IAAIY,MAAM,CAACC,IAAI,CAACb,GAAG,CAAC,CAACS,MAAM,KAAK,CAAC;AAEvD,MAAMK,SAAS,GAAGC,KAAK,IAAI;EACzB,IAAI,CAACA,KAAK,EAAE,OAAOA,KAAK;EACxB,IAAIJ,UAAU,CAACI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;EAEhC,MAAMC,MAAM,GAAG;IAAC,GAAGD;EAAK,CAAC;EAEzBV,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;EAC7CX,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,WAAW,CAAC;EACvCX,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,YAAY,CAAC;EACxC,IAAID,KAAK,CAACE,MAAM,EAAE;IAChBZ,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,QAAQ,CAAC;IACpCX,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;IAC3DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5DZ,WAAW,CAACU,KAAK,CAACE,MAAM,EAAED,MAAM,CAACC,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;EACjE;EAEA,IAAIF,KAAK,CAACG,IAAI,EAAE;IACdb,WAAW,CAACU,KAAK,EAAEC,MAAM,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAID,KAAK,CAACG,IAAI,CAACC,KAAK,EAAE;MACpBH,MAAM,CAACE,IAAI,CAACC,KAAK,GAAGJ,KAAK,CAACG,IAAI,CAACC,KAAK,CAACC,GAAG,CAACC,CAAC,IAAItB,YAAY,CAACsB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E;EACF;EAEA,OAAOL,MAAM;AACf,CAAC;AAEDM,OAAO,CAACR,SAAS,GAAGA,SAAS","ignoreList":[]}
@@ -29,7 +29,7 @@ const Encryptor = {
29
29
  hashAlgorithm = hashAlgorithm.toLowerCase();
30
30
  const hashes = crypto.getHashes();
31
31
  if (hashes.indexOf(hashAlgorithm) < 0) {
32
- throw new Error("Hash algorithm '".concat(hashAlgorithm, "' not supported!"));
32
+ throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);
33
33
  }
34
34
 
35
35
  // Password must be in unicode buffer
@@ -1 +1 @@
1
- {"version":3,"file":"encryptor.js","names":["crypto","require","Encryptor","hash","algorithm","createHash","_len","arguments","length","buffers","Array","_key","update","Buffer","concat","digest","convertPasswordToHash","password","hashAlgorithm","saltValue","spinCount","toLowerCase","hashes","getHashes","indexOf","Error","passwordBuffer","from","key","i","iterator","alloc","writeUInt32LE","toString","randomBytes","size","module","exports"],"sources":["../../../lib/utils/encryptor.js"],"sourcesContent":["'use strict';\n\nconst crypto = require('crypto');\n\nconst Encryptor = {\n /**\n * Calculate a hash of the concatenated buffers with the given algorithm.\n * @param {string} algorithm - The hash algorithm.\n * @returns {Buffer} The hash\n */\n hash(algorithm, ...buffers) {\n const hash = crypto.createHash(algorithm);\n hash.update(Buffer.concat(buffers));\n return hash.digest();\n },\n /**\n * Convert a password into an encryption key\n * @param {string} password - The password\n * @param {string} hashAlgorithm - The hash algoritm\n * @param {string} saltValue - The salt value\n * @param {number} spinCount - The spin count\n * @param {number} keyBits - The length of the key in bits\n * @param {Buffer} blockKey - The block key\n * @returns {Buffer} The encryption key\n */\n convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {\n hashAlgorithm = hashAlgorithm.toLowerCase();\n const hashes = crypto.getHashes();\n if (hashes.indexOf(hashAlgorithm) < 0) {\n throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);\n }\n\n // Password must be in unicode buffer\n const passwordBuffer = Buffer.from(password, 'utf16le');\n // Generate the initial hash\n let key = this.hash(hashAlgorithm, Buffer.from(saltValue, 'base64'), passwordBuffer);\n // Now regenerate until spin count\n for (let i = 0; i < spinCount; i++) {\n const iterator = Buffer.alloc(4);\n // this is the 'special' element of Excel password hashing\n // that stops us from using crypto.pbkdf2()\n iterator.writeUInt32LE(i, 0);\n key = this.hash(hashAlgorithm, key, iterator);\n }\n return key.toString('base64');\n },\n /**\n * Generates cryptographically strong pseudo-random data.\n * @param size The size argument is a number indicating the number of bytes to generate.\n */\n randomBytes(size) {\n return crypto.randomBytes(size);\n },\n};\nmodule.exports = Encryptor;\n"],"mappings":"AAAA,YAAY;;AAEZ,MAAMA,MAAM,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAEhC,MAAMC,SAAS,GAAG;EAChB;AACF;AACA;AACA;AACA;EACEC,IAAIA,CAACC,SAAS,EAAc;IAC1B,MAAMD,IAAI,GAAGH,MAAM,CAACK,UAAU,CAACD,SAAS,CAAC;IAAC,SAAAE,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADzBC,OAAO,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAPF,OAAO,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IAExBR,IAAI,CAACS,MAAM,CAACC,MAAM,CAACC,MAAM,CAACL,OAAO,CAAC,CAAC;IACnC,OAAON,IAAI,CAACY,MAAM,CAAC,CAAC;EACtB,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,qBAAqBA,CAACC,QAAQ,EAAEC,aAAa,EAAEC,SAAS,EAAEC,SAAS,EAAE;IACnEF,aAAa,GAAGA,aAAa,CAACG,WAAW,CAAC,CAAC;IAC3C,MAAMC,MAAM,GAAGtB,MAAM,CAACuB,SAAS,CAAC,CAAC;IACjC,IAAID,MAAM,CAACE,OAAO,CAACN,aAAa,CAAC,GAAG,CAAC,EAAE;MACrC,MAAM,IAAIO,KAAK,oBAAAX,MAAA,CAAoBI,aAAa,qBAAkB,CAAC;IACrE;;IAEA;IACA,MAAMQ,cAAc,GAAGb,MAAM,CAACc,IAAI,CAACV,QAAQ,EAAE,SAAS,CAAC;IACvD;IACA,IAAIW,GAAG,GAAG,IAAI,CAACzB,IAAI,CAACe,aAAa,EAAEL,MAAM,CAACc,IAAI,CAACR,SAAS,EAAE,QAAQ,CAAC,EAAEO,cAAc,CAAC;IACpF;IACA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,SAAS,EAAES,CAAC,EAAE,EAAE;MAClC,MAAMC,QAAQ,GAAGjB,MAAM,CAACkB,KAAK,CAAC,CAAC,CAAC;MAChC;MACA;MACAD,QAAQ,CAACE,aAAa,CAACH,CAAC,EAAE,CAAC,CAAC;MAC5BD,GAAG,GAAG,IAAI,CAACzB,IAAI,CAACe,aAAa,EAAEU,GAAG,EAAEE,QAAQ,CAAC;IAC/C;IACA,OAAOF,GAAG,CAACK,QAAQ,CAAC,QAAQ,CAAC;EAC/B,CAAC;EACD;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAI,EAAE;IAChB,OAAOnC,MAAM,CAACkC,WAAW,CAACC,IAAI,CAAC;EACjC;AACF,CAAC;AACDC,MAAM,CAACC,OAAO,GAAGnC,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"encryptor.js","names":["crypto","require","Encryptor","hash","algorithm","createHash","_len","arguments","length","buffers","Array","_key","update","Buffer","concat","digest","convertPasswordToHash","password","hashAlgorithm","saltValue","spinCount","toLowerCase","hashes","getHashes","indexOf","Error","passwordBuffer","from","key","i","iterator","alloc","writeUInt32LE","toString","randomBytes","size","module","exports"],"sources":["../../../lib/utils/encryptor.js"],"sourcesContent":["'use strict';\n\nconst crypto = require('crypto');\n\nconst Encryptor = {\n /**\n * Calculate a hash of the concatenated buffers with the given algorithm.\n * @param {string} algorithm - The hash algorithm.\n * @returns {Buffer} The hash\n */\n hash(algorithm, ...buffers) {\n const hash = crypto.createHash(algorithm);\n hash.update(Buffer.concat(buffers));\n return hash.digest();\n },\n /**\n * Convert a password into an encryption key\n * @param {string} password - The password\n * @param {string} hashAlgorithm - The hash algoritm\n * @param {string} saltValue - The salt value\n * @param {number} spinCount - The spin count\n * @param {number} keyBits - The length of the key in bits\n * @param {Buffer} blockKey - The block key\n * @returns {Buffer} The encryption key\n */\n convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {\n hashAlgorithm = hashAlgorithm.toLowerCase();\n const hashes = crypto.getHashes();\n if (hashes.indexOf(hashAlgorithm) < 0) {\n throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);\n }\n\n // Password must be in unicode buffer\n const passwordBuffer = Buffer.from(password, 'utf16le');\n // Generate the initial hash\n let key = this.hash(hashAlgorithm, Buffer.from(saltValue, 'base64'), passwordBuffer);\n // Now regenerate until spin count\n for (let i = 0; i < spinCount; i++) {\n const iterator = Buffer.alloc(4);\n // this is the 'special' element of Excel password hashing\n // that stops us from using crypto.pbkdf2()\n iterator.writeUInt32LE(i, 0);\n key = this.hash(hashAlgorithm, key, iterator);\n }\n return key.toString('base64');\n },\n /**\n * Generates cryptographically strong pseudo-random data.\n * @param size The size argument is a number indicating the number of bytes to generate.\n */\n randomBytes(size) {\n return crypto.randomBytes(size);\n },\n};\nmodule.exports = Encryptor;\n"],"mappings":"AAAA,YAAY;;AAEZ,MAAMA,MAAM,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAEhC,MAAMC,SAAS,GAAG;EAChB;AACF;AACA;AACA;AACA;EACEC,IAAIA,CAACC,SAAS,EAAc;IAC1B,MAAMD,IAAI,GAAGH,MAAM,CAACK,UAAU,CAACD,SAAS,CAAC;IAAC,SAAAE,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADzBC,OAAO,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAPF,OAAO,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IAExBR,IAAI,CAACS,MAAM,CAACC,MAAM,CAACC,MAAM,CAACL,OAAO,CAAC,CAAC;IACnC,OAAON,IAAI,CAACY,MAAM,CAAC,CAAC;EACtB,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,qBAAqBA,CAACC,QAAQ,EAAEC,aAAa,EAAEC,SAAS,EAAEC,SAAS,EAAE;IACnEF,aAAa,GAAGA,aAAa,CAACG,WAAW,CAAC,CAAC;IAC3C,MAAMC,MAAM,GAAGtB,MAAM,CAACuB,SAAS,CAAC,CAAC;IACjC,IAAID,MAAM,CAACE,OAAO,CAACN,aAAa,CAAC,GAAG,CAAC,EAAE;MACrC,MAAM,IAAIO,KAAK,CAAC,mBAAmBP,aAAa,kBAAkB,CAAC;IACrE;;IAEA;IACA,MAAMQ,cAAc,GAAGb,MAAM,CAACc,IAAI,CAACV,QAAQ,EAAE,SAAS,CAAC;IACvD;IACA,IAAIW,GAAG,GAAG,IAAI,CAACzB,IAAI,CAACe,aAAa,EAAEL,MAAM,CAACc,IAAI,CAACR,SAAS,EAAE,QAAQ,CAAC,EAAEO,cAAc,CAAC;IACpF;IACA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,SAAS,EAAES,CAAC,EAAE,EAAE;MAClC,MAAMC,QAAQ,GAAGjB,MAAM,CAACkB,KAAK,CAAC,CAAC,CAAC;MAChC;MACA;MACAD,QAAQ,CAACE,aAAa,CAACH,CAAC,EAAE,CAAC,CAAC;MAC5BD,GAAG,GAAG,IAAI,CAACzB,IAAI,CAACe,aAAa,EAAEU,GAAG,EAAEE,QAAQ,CAAC;IAC/C;IACA,OAAOF,GAAG,CAACK,QAAQ,CAAC,QAAQ,CAAC;EAC/B,CAAC;EACD;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAI,EAAE;IAChB,OAAOnC,MAAM,CAACkC,WAAW,CAACC,IAAI,CAAC;EACjC;AACF,CAAC;AACDC,MAAM,CAACC,OAAO,GAAGnC,SAAS","ignoreList":[]}
@@ -1,45 +1,34 @@
1
1
  "use strict";
2
2
 
3
- function _awaitAsyncGenerator(e) { return new _OverloadYield(e, 0); }
4
- function _wrapAsyncGenerator(e) { return function () { return new AsyncGenerator(e.apply(this, arguments)); }; }
5
- function AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[r](t), o = n.value, u = o instanceof _OverloadYield; Promise.resolve(u ? o.v : o).then(function (t) { if (u) { var i = "return" === r ? "return" : "next"; if (!o.k || t.done) return resume(i, t); t = e[i](t).value; } settle(n.done ? "return" : "normal", t); }, function (e) { resume("throw", e); }); } catch (e) { settle("throw", e); } } function settle(e, n) { switch (e) { case "return": r.resolve({ value: n, done: !0 }); break; case "throw": r.reject(n); break; default: r.resolve({ value: n, done: !1 }); } (r = r.next) ? resume(r.key, r.arg) : t = null; } this._invoke = function (e, n) { return new Promise(function (o, u) { var i = { key: e, arg: n, resolve: o, reject: u, next: null }; t ? t = t.next = i : (r = t = i, resume(e, n)); }); }, "function" != typeof e.return && (this.return = void 0); }
6
- AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, AsyncGenerator.prototype.throw = function (e) { return this._invoke("throw", e); }, AsyncGenerator.prototype.return = function (e) { return this._invoke("return", e); };
7
- function _OverloadYield(e, d) { this.v = e, this.k = d; }
8
- module.exports = /*#__PURE__*/function () {
9
- var _iterateStream = _wrapAsyncGenerator(function* (stream) {
10
- const contents = [];
11
- stream.on('data', data => contents.push(data));
12
- let resolveStreamEndedPromise;
13
- const streamEndedPromise = new Promise(resolve => resolveStreamEndedPromise = resolve);
14
- let ended = false;
15
- stream.on('end', () => {
16
- ended = true;
17
- resolveStreamEndedPromise();
18
- });
19
- let error = false;
20
- stream.on('error', err => {
21
- error = err;
22
- resolveStreamEndedPromise();
23
- });
24
- while (!ended || contents.length > 0) {
25
- if (contents.length === 0) {
26
- stream.resume();
27
- // eslint-disable-next-line no-await-in-loop
28
- yield _awaitAsyncGenerator(Promise.race([once(stream, 'data'), streamEndedPromise]));
29
- } else {
30
- stream.pause();
31
- const data = contents.shift();
32
- yield data;
33
- }
34
- if (error) throw error;
35
- }
3
+ module.exports = async function* iterateStream(stream) {
4
+ const contents = [];
5
+ stream.on('data', data => contents.push(data));
6
+ let resolveStreamEndedPromise;
7
+ const streamEndedPromise = new Promise(resolve => resolveStreamEndedPromise = resolve);
8
+ let ended = false;
9
+ stream.on('end', () => {
10
+ ended = true;
36
11
  resolveStreamEndedPromise();
37
12
  });
38
- function iterateStream(_x) {
39
- return _iterateStream.apply(this, arguments);
13
+ let error = false;
14
+ stream.on('error', err => {
15
+ error = err;
16
+ resolveStreamEndedPromise();
17
+ });
18
+ while (!ended || contents.length > 0) {
19
+ if (contents.length === 0) {
20
+ stream.resume();
21
+ // eslint-disable-next-line no-await-in-loop
22
+ await Promise.race([once(stream, 'data'), streamEndedPromise]);
23
+ } else {
24
+ stream.pause();
25
+ const data = contents.shift();
26
+ yield data;
27
+ }
28
+ if (error) throw error;
40
29
  }
41
- return iterateStream;
42
- }();
30
+ resolveStreamEndedPromise();
31
+ };
43
32
  function once(eventEmitter, type) {
44
33
  // TODO: Use require('events').once when node v10 is dropped
45
34
  return new Promise(resolve => {
@@ -1 +1 @@
1
- {"version":3,"file":"iterate-stream.js","names":["module","exports","_iterateStream","_wrapAsyncGenerator","stream","contents","on","data","push","resolveStreamEndedPromise","streamEndedPromise","Promise","resolve","ended","error","err","length","resume","_awaitAsyncGenerator","race","once","pause","shift","iterateStream","_x","apply","arguments","eventEmitter","type","fired","handler","removeListener","addListener"],"sources":["../../../lib/utils/iterate-stream.js"],"sourcesContent":["module.exports = async function* iterateStream(stream) {\n const contents = [];\n stream.on('data', data => contents.push(data));\n\n let resolveStreamEndedPromise;\n const streamEndedPromise = new Promise(resolve => (resolveStreamEndedPromise = resolve));\n\n let ended = false;\n stream.on('end', () => {\n ended = true;\n resolveStreamEndedPromise();\n });\n\n let error = false;\n stream.on('error', err => {\n error = err;\n resolveStreamEndedPromise();\n });\n\n while (!ended || contents.length > 0) {\n if (contents.length === 0) {\n stream.resume();\n // eslint-disable-next-line no-await-in-loop\n await Promise.race([once(stream, 'data'), streamEndedPromise]);\n } else {\n stream.pause();\n const data = contents.shift();\n yield data;\n }\n if (error) throw error;\n }\n resolveStreamEndedPromise();\n};\n\nfunction once(eventEmitter, type) {\n // TODO: Use require('events').once when node v10 is dropped\n return new Promise(resolve => {\n let fired = false;\n const handler = () => {\n if (!fired) {\n fired = true;\n eventEmitter.removeListener(type, handler);\n resolve();\n }\n };\n eventEmitter.addListener(type, handler);\n });\n}\n"],"mappings":";;;;;;;AAAAA,MAAM,CAACC,OAAO;EAAA,IAAAC,cAAA,GAAAC,mBAAA,CAAG,WAA8BC,MAAM,EAAE;IACrD,MAAMC,QAAQ,GAAG,EAAE;IACnBD,MAAM,CAACE,EAAE,CAAC,MAAM,EAAEC,IAAI,IAAIF,QAAQ,CAACG,IAAI,CAACD,IAAI,CAAC,CAAC;IAE9C,IAAIE,yBAAyB;IAC7B,MAAMC,kBAAkB,GAAG,IAAIC,OAAO,CAACC,OAAO,IAAKH,yBAAyB,GAAGG,OAAQ,CAAC;IAExF,IAAIC,KAAK,GAAG,KAAK;IACjBT,MAAM,CAACE,EAAE,CAAC,KAAK,EAAE,MAAM;MACrBO,KAAK,GAAG,IAAI;MACZJ,yBAAyB,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,IAAIK,KAAK,GAAG,KAAK;IACjBV,MAAM,CAACE,EAAE,CAAC,OAAO,EAAES,GAAG,IAAI;MACxBD,KAAK,GAAGC,GAAG;MACXN,yBAAyB,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CAACI,KAAK,IAAIR,QAAQ,CAACW,MAAM,GAAG,CAAC,EAAE;MACpC,IAAIX,QAAQ,CAACW,MAAM,KAAK,CAAC,EAAE;QACzBZ,MAAM,CAACa,MAAM,CAAC,CAAC;QACf;QACA,MAAAC,oBAAA,CAAMP,OAAO,CAACQ,IAAI,CAAC,CAACC,IAAI,CAAChB,MAAM,EAAE,MAAM,CAAC,EAAEM,kBAAkB,CAAC,CAAC;MAChE,CAAC,MAAM;QACLN,MAAM,CAACiB,KAAK,CAAC,CAAC;QACd,MAAMd,IAAI,GAAGF,QAAQ,CAACiB,KAAK,CAAC,CAAC;QAC7B,MAAMf,IAAI;MACZ;MACA,IAAIO,KAAK,EAAE,MAAMA,KAAK;IACxB;IACAL,yBAAyB,CAAC,CAAC;EAC7B,CAAC;EAAA,SAhCgCc,aAAaA,CAAAC,EAAA;IAAA,OAAAtB,cAAA,CAAAuB,KAAA,OAAAC,SAAA;EAAA;EAAA,OAAbH,aAAa;AAAA,GAgC7C;AAED,SAASH,IAAIA,CAACO,YAAY,EAAEC,IAAI,EAAE;EAChC;EACA,OAAO,IAAIjB,OAAO,CAACC,OAAO,IAAI;IAC5B,IAAIiB,KAAK,GAAG,KAAK;IACjB,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAACD,KAAK,EAAE;QACVA,KAAK,GAAG,IAAI;QACZF,YAAY,CAACI,cAAc,CAACH,IAAI,EAAEE,OAAO,CAAC;QAC1ClB,OAAO,CAAC,CAAC;MACX;IACF,CAAC;IACDe,YAAY,CAACK,WAAW,CAACJ,IAAI,EAAEE,OAAO,CAAC;EACzC,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"iterate-stream.js","names":["module","exports","iterateStream","stream","contents","on","data","push","resolveStreamEndedPromise","streamEndedPromise","Promise","resolve","ended","error","err","length","resume","race","once","pause","shift","eventEmitter","type","fired","handler","removeListener","addListener"],"sources":["../../../lib/utils/iterate-stream.js"],"sourcesContent":["module.exports = async function* iterateStream(stream) {\n const contents = [];\n stream.on('data', data => contents.push(data));\n\n let resolveStreamEndedPromise;\n const streamEndedPromise = new Promise(resolve => (resolveStreamEndedPromise = resolve));\n\n let ended = false;\n stream.on('end', () => {\n ended = true;\n resolveStreamEndedPromise();\n });\n\n let error = false;\n stream.on('error', err => {\n error = err;\n resolveStreamEndedPromise();\n });\n\n while (!ended || contents.length > 0) {\n if (contents.length === 0) {\n stream.resume();\n // eslint-disable-next-line no-await-in-loop\n await Promise.race([once(stream, 'data'), streamEndedPromise]);\n } else {\n stream.pause();\n const data = contents.shift();\n yield data;\n }\n if (error) throw error;\n }\n resolveStreamEndedPromise();\n};\n\nfunction once(eventEmitter, type) {\n // TODO: Use require('events').once when node v10 is dropped\n return new Promise(resolve => {\n let fired = false;\n const handler = () => {\n if (!fired) {\n fired = true;\n eventEmitter.removeListener(type, handler);\n resolve();\n }\n };\n eventEmitter.addListener(type, handler);\n });\n}\n"],"mappings":";;AAAAA,MAAM,CAACC,OAAO,GAAG,gBAAgBC,aAAaA,CAACC,MAAM,EAAE;EACrD,MAAMC,QAAQ,GAAG,EAAE;EACnBD,MAAM,CAACE,EAAE,CAAC,MAAM,EAAEC,IAAI,IAAIF,QAAQ,CAACG,IAAI,CAACD,IAAI,CAAC,CAAC;EAE9C,IAAIE,yBAAyB;EAC7B,MAAMC,kBAAkB,GAAG,IAAIC,OAAO,CAACC,OAAO,IAAKH,yBAAyB,GAAGG,OAAQ,CAAC;EAExF,IAAIC,KAAK,GAAG,KAAK;EACjBT,MAAM,CAACE,EAAE,CAAC,KAAK,EAAE,MAAM;IACrBO,KAAK,GAAG,IAAI;IACZJ,yBAAyB,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEF,IAAIK,KAAK,GAAG,KAAK;EACjBV,MAAM,CAACE,EAAE,CAAC,OAAO,EAAES,GAAG,IAAI;IACxBD,KAAK,GAAGC,GAAG;IACXN,yBAAyB,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEF,OAAO,CAACI,KAAK,IAAIR,QAAQ,CAACW,MAAM,GAAG,CAAC,EAAE;IACpC,IAAIX,QAAQ,CAACW,MAAM,KAAK,CAAC,EAAE;MACzBZ,MAAM,CAACa,MAAM,CAAC,CAAC;MACf;MACA,MAAMN,OAAO,CAACO,IAAI,CAAC,CAACC,IAAI,CAACf,MAAM,EAAE,MAAM,CAAC,EAAEM,kBAAkB,CAAC,CAAC;IAChE,CAAC,MAAM;MACLN,MAAM,CAACgB,KAAK,CAAC,CAAC;MACd,MAAMb,IAAI,GAAGF,QAAQ,CAACgB,KAAK,CAAC,CAAC;MAC7B,MAAMd,IAAI;IACZ;IACA,IAAIO,KAAK,EAAE,MAAMA,KAAK;EACxB;EACAL,yBAAyB,CAAC,CAAC;AAC7B,CAAC;AAED,SAASU,IAAIA,CAACG,YAAY,EAAEC,IAAI,EAAE;EAChC;EACA,OAAO,IAAIZ,OAAO,CAACC,OAAO,IAAI;IAC5B,IAAIY,KAAK,GAAG,KAAK;IACjB,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAACD,KAAK,EAAE;QACVA,KAAK,GAAG,IAAI;QACZF,YAAY,CAACI,cAAc,CAACH,IAAI,EAAEE,OAAO,CAAC;QAC1Cb,OAAO,CAAC,CAAC;MACX;IACF,CAAC;IACDU,YAAY,CAACK,WAAW,CAACJ,IAAI,EAAEE,OAAO,CAAC;EACzC,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1,12 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _awaitAsyncGenerator(e) { return new _OverloadYield(e, 0); }
4
- function _wrapAsyncGenerator(e) { return function () { return new AsyncGenerator(e.apply(this, arguments)); }; }
5
- function AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[r](t), o = n.value, u = o instanceof _OverloadYield; Promise.resolve(u ? o.v : o).then(function (t) { if (u) { var i = "return" === r ? "return" : "next"; if (!o.k || t.done) return resume(i, t); t = e[i](t).value; } settle(n.done ? "return" : "normal", t); }, function (e) { resume("throw", e); }); } catch (e) { settle("throw", e); } } function settle(e, n) { switch (e) { case "return": r.resolve({ value: n, done: !0 }); break; case "throw": r.reject(n); break; default: r.resolve({ value: n, done: !1 }); } (r = r.next) ? resume(r.key, r.arg) : t = null; } this._invoke = function (e, n) { return new Promise(function (o, u) { var i = { key: e, arg: n, resolve: o, reject: u, next: null }; t ? t = t.next = i : (r = t = i, resume(e, n)); }); }, "function" != typeof e.return && (this.return = void 0); }
6
- AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, AsyncGenerator.prototype.throw = function (e) { return this._invoke("throw", e); }, AsyncGenerator.prototype.return = function (e) { return this._invoke("return", e); };
7
- function _OverloadYield(e, d) { this.v = e, this.k = d; }
8
- function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
9
- function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function (r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (r) { var n = this.s.return; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, throw: function (r) { var n = this.s.return; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
10
3
  const {
11
4
  SaxesParser
12
5
  } = require('saxes');
@@ -16,65 +9,39 @@ const {
16
9
  const {
17
10
  bufferToString
18
11
  } = require('./browser-buffer-decode');
19
- module.exports = /*#__PURE__*/function () {
20
- var _ref = _wrapAsyncGenerator(function* (iterable) {
21
- // TODO: Remove once node v8 is deprecated
22
- // Detect and upgrade old streams
23
- if (iterable.pipe && !iterable[Symbol.asyncIterator]) {
24
- iterable = iterable.pipe(new PassThrough());
25
- }
26
- const saxesParser = new SaxesParser();
27
- let error;
28
- saxesParser.on('error', err => {
29
- error = err;
30
- });
31
- let events = [];
32
- saxesParser.on('opentag', value => events.push({
33
- eventType: 'opentag',
34
- value
35
- }));
36
- saxesParser.on('text', value => events.push({
37
- eventType: 'text',
38
- value
39
- }));
40
- saxesParser.on('closetag', value => events.push({
41
- eventType: 'closetag',
42
- value
43
- }));
44
- var _iteratorAbruptCompletion = false;
45
- var _didIteratorError = false;
46
- var _iteratorError;
47
- try {
48
- for (var _iterator = _asyncIterator(iterable), _step; _iteratorAbruptCompletion = !(_step = yield _awaitAsyncGenerator(_iterator.next())).done; _iteratorAbruptCompletion = false) {
49
- const chunk = _step.value;
50
- {
51
- saxesParser.write(bufferToString(chunk));
52
- // saxesParser.write and saxesParser.on() are synchronous,
53
- // so we can only reach the below line once all events have been emitted
54
- if (error) throw error;
55
- // As a performance optimization, we gather all events instead of passing
56
- // them one by one, which would cause each event to go through the event queue
57
- yield events;
58
- events = [];
59
- }
60
- }
61
- } catch (err) {
62
- _didIteratorError = true;
63
- _iteratorError = err;
64
- } finally {
65
- try {
66
- if (_iteratorAbruptCompletion && _iterator.return != null) {
67
- yield _awaitAsyncGenerator(_iterator.return());
68
- }
69
- } finally {
70
- if (_didIteratorError) {
71
- throw _iteratorError;
72
- }
73
- }
74
- }
12
+ module.exports = async function* (iterable) {
13
+ // TODO: Remove once node v8 is deprecated
14
+ // Detect and upgrade old streams
15
+ if (iterable.pipe && !iterable[Symbol.asyncIterator]) {
16
+ iterable = iterable.pipe(new PassThrough());
17
+ }
18
+ const saxesParser = new SaxesParser();
19
+ let error;
20
+ saxesParser.on('error', err => {
21
+ error = err;
75
22
  });
76
- return function (_x) {
77
- return _ref.apply(this, arguments);
78
- };
79
- }();
23
+ let events = [];
24
+ saxesParser.on('opentag', value => events.push({
25
+ eventType: 'opentag',
26
+ value
27
+ }));
28
+ saxesParser.on('text', value => events.push({
29
+ eventType: 'text',
30
+ value
31
+ }));
32
+ saxesParser.on('closetag', value => events.push({
33
+ eventType: 'closetag',
34
+ value
35
+ }));
36
+ for await (const chunk of iterable) {
37
+ saxesParser.write(bufferToString(chunk));
38
+ // saxesParser.write and saxesParser.on() are synchronous,
39
+ // so we can only reach the below line once all events have been emitted
40
+ if (error) throw error;
41
+ // As a performance optimization, we gather all events instead of passing
42
+ // them one by one, which would cause each event to go through the event queue
43
+ yield events;
44
+ events = [];
45
+ }
46
+ };
80
47
  //# sourceMappingURL=parse-sax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-sax.js","names":["SaxesParser","require","PassThrough","bufferToString","module","exports","_ref","_wrapAsyncGenerator","iterable","pipe","Symbol","asyncIterator","saxesParser","error","on","err","events","value","push","eventType","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_asyncIterator","_step","_awaitAsyncGenerator","next","done","chunk","write","return","_x","apply","arguments"],"sources":["../../../lib/utils/parse-sax.js"],"sourcesContent":["const {SaxesParser} = require('saxes');\nconst {PassThrough} = require('readable-stream');\nconst {bufferToString} = require('./browser-buffer-decode');\n\nmodule.exports = async function* (iterable) {\n // TODO: Remove once node v8 is deprecated\n // Detect and upgrade old streams\n if (iterable.pipe && !iterable[Symbol.asyncIterator]) {\n iterable = iterable.pipe(new PassThrough());\n }\n const saxesParser = new SaxesParser();\n let error;\n saxesParser.on('error', err => {\n error = err;\n });\n let events = [];\n saxesParser.on('opentag', value => events.push({eventType: 'opentag', value}));\n saxesParser.on('text', value => events.push({eventType: 'text', value}));\n saxesParser.on('closetag', value => events.push({eventType: 'closetag', value}));\n for await (const chunk of iterable) {\n saxesParser.write(bufferToString(chunk));\n // saxesParser.write and saxesParser.on() are synchronous,\n // so we can only reach the below line once all events have been emitted\n if (error) throw error;\n // As a performance optimization, we gather all events instead of passing\n // them one by one, which would cause each event to go through the event queue\n yield events;\n events = [];\n }\n};\n"],"mappings":";;;;;;;;;AAAA,MAAM;EAACA;AAAW,CAAC,GAAGC,OAAO,CAAC,OAAO,CAAC;AACtC,MAAM;EAACC;AAAW,CAAC,GAAGD,OAAO,CAAC,iBAAiB,CAAC;AAChD,MAAM;EAACE;AAAc,CAAC,GAAGF,OAAO,CAAC,yBAAyB,CAAC;AAE3DG,MAAM,CAACC,OAAO;EAAA,IAAAC,IAAA,GAAAC,mBAAA,CAAG,WAAiBC,QAAQ,EAAE;IAC1C;IACA;IACA,IAAIA,QAAQ,CAACC,IAAI,IAAI,CAACD,QAAQ,CAACE,MAAM,CAACC,aAAa,CAAC,EAAE;MACpDH,QAAQ,GAAGA,QAAQ,CAACC,IAAI,CAAC,IAAIP,WAAW,CAAC,CAAC,CAAC;IAC7C;IACA,MAAMU,WAAW,GAAG,IAAIZ,WAAW,CAAC,CAAC;IACrC,IAAIa,KAAK;IACTD,WAAW,CAACE,EAAE,CAAC,OAAO,EAAEC,GAAG,IAAI;MAC7BF,KAAK,GAAGE,GAAG;IACb,CAAC,CAAC;IACF,IAAIC,MAAM,GAAG,EAAE;IACfJ,WAAW,CAACE,EAAE,CAAC,SAAS,EAAEG,KAAK,IAAID,MAAM,CAACE,IAAI,CAAC;MAACC,SAAS,EAAE,SAAS;MAAEF;IAAK,CAAC,CAAC,CAAC;IAC9EL,WAAW,CAACE,EAAE,CAAC,MAAM,EAAEG,KAAK,IAAID,MAAM,CAACE,IAAI,CAAC;MAACC,SAAS,EAAE,MAAM;MAAEF;IAAK,CAAC,CAAC,CAAC;IACxEL,WAAW,CAACE,EAAE,CAAC,UAAU,EAAEG,KAAK,IAAID,MAAM,CAACE,IAAI,CAAC;MAACC,SAAS,EAAE,UAAU;MAAEF;IAAK,CAAC,CAAC,CAAC;IAAC,IAAAG,yBAAA;IAAA,IAAAC,iBAAA;IAAA,IAAAC,cAAA;IAAA;MACjF,SAAAC,SAAA,GAAAC,cAAA,CAA0BhB,QAAQ,GAAAiB,KAAA,EAAAL,yBAAA,KAAAK,KAAA,SAAAC,oBAAA,CAAAH,SAAA,CAAAI,IAAA,KAAAC,IAAA,EAAAR,yBAAA,UAAE;QAAA,MAAnBS,KAAK,GAAAJ,KAAA,CAAAR,KAAA;QAAA;UACpBL,WAAW,CAACkB,KAAK,CAAC3B,cAAc,CAAC0B,KAAK,CAAC,CAAC;UACxC;UACA;UACA,IAAIhB,KAAK,EAAE,MAAMA,KAAK;UACtB;UACA;UACA,MAAMG,MAAM;UACZA,MAAM,GAAG,EAAE;QAAC;MACd;IAAC,SAAAD,GAAA;MAAAM,iBAAA;MAAAC,cAAA,GAAAP,GAAA;IAAA;MAAA;QAAA,IAAAK,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;UAAA,MAAAL,oBAAA,CAAAH,SAAA,CAAAQ,MAAA;QAAA;MAAA;QAAA,IAAAV,iBAAA;UAAA,MAAAC,cAAA;QAAA;MAAA;IAAA;EACH,CAAC;EAAA,iBAAAU,EAAA;IAAA,OAAA1B,IAAA,CAAA2B,KAAA,OAAAC,SAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"parse-sax.js","names":["SaxesParser","require","PassThrough","bufferToString","module","exports","iterable","pipe","Symbol","asyncIterator","saxesParser","error","on","err","events","value","push","eventType","chunk","write"],"sources":["../../../lib/utils/parse-sax.js"],"sourcesContent":["const {SaxesParser} = require('saxes');\nconst {PassThrough} = require('readable-stream');\nconst {bufferToString} = require('./browser-buffer-decode');\n\nmodule.exports = async function* (iterable) {\n // TODO: Remove once node v8 is deprecated\n // Detect and upgrade old streams\n if (iterable.pipe && !iterable[Symbol.asyncIterator]) {\n iterable = iterable.pipe(new PassThrough());\n }\n const saxesParser = new SaxesParser();\n let error;\n saxesParser.on('error', err => {\n error = err;\n });\n let events = [];\n saxesParser.on('opentag', value => events.push({eventType: 'opentag', value}));\n saxesParser.on('text', value => events.push({eventType: 'text', value}));\n saxesParser.on('closetag', value => events.push({eventType: 'closetag', value}));\n for await (const chunk of iterable) {\n saxesParser.write(bufferToString(chunk));\n // saxesParser.write and saxesParser.on() are synchronous,\n // so we can only reach the below line once all events have been emitted\n if (error) throw error;\n // As a performance optimization, we gather all events instead of passing\n // them one by one, which would cause each event to go through the event queue\n yield events;\n events = [];\n }\n};\n"],"mappings":";;AAAA,MAAM;EAACA;AAAW,CAAC,GAAGC,OAAO,CAAC,OAAO,CAAC;AACtC,MAAM;EAACC;AAAW,CAAC,GAAGD,OAAO,CAAC,iBAAiB,CAAC;AAChD,MAAM;EAACE;AAAc,CAAC,GAAGF,OAAO,CAAC,yBAAyB,CAAC;AAE3DG,MAAM,CAACC,OAAO,GAAG,iBAAiBC,QAAQ,EAAE;EAC1C;EACA;EACA,IAAIA,QAAQ,CAACC,IAAI,IAAI,CAACD,QAAQ,CAACE,MAAM,CAACC,aAAa,CAAC,EAAE;IACpDH,QAAQ,GAAGA,QAAQ,CAACC,IAAI,CAAC,IAAIL,WAAW,CAAC,CAAC,CAAC;EAC7C;EACA,MAAMQ,WAAW,GAAG,IAAIV,WAAW,CAAC,CAAC;EACrC,IAAIW,KAAK;EACTD,WAAW,CAACE,EAAE,CAAC,OAAO,EAAEC,GAAG,IAAI;IAC7BF,KAAK,GAAGE,GAAG;EACb,CAAC,CAAC;EACF,IAAIC,MAAM,GAAG,EAAE;EACfJ,WAAW,CAACE,EAAE,CAAC,SAAS,EAAEG,KAAK,IAAID,MAAM,CAACE,IAAI,CAAC;IAACC,SAAS,EAAE,SAAS;IAAEF;EAAK,CAAC,CAAC,CAAC;EAC9EL,WAAW,CAACE,EAAE,CAAC,MAAM,EAAEG,KAAK,IAAID,MAAM,CAACE,IAAI,CAAC;IAACC,SAAS,EAAE,MAAM;IAAEF;EAAK,CAAC,CAAC,CAAC;EACxEL,WAAW,CAACE,EAAE,CAAC,UAAU,EAAEG,KAAK,IAAID,MAAM,CAACE,IAAI,CAAC;IAACC,SAAS,EAAE,UAAU;IAAEF;EAAK,CAAC,CAAC,CAAC;EAChF,WAAW,MAAMG,KAAK,IAAIZ,QAAQ,EAAE;IAClCI,WAAW,CAACS,KAAK,CAAChB,cAAc,CAACe,KAAK,CAAC,CAAC;IACxC;IACA;IACA,IAAIP,KAAK,EAAE,MAAMA,KAAK;IACtB;IACA;IACA,MAAMG,MAAM;IACZA,MAAM,GAAG,EAAE;EACb;AACF,CAAC","ignoreList":[]}
@@ -68,7 +68,7 @@ const utils = {
68
68
  },
69
69
  getRelsPath(filepath) {
70
70
  const path = utils.parsePath(filepath);
71
- return "".concat(path.path, "/_rels/").concat(path.name, ".rels");
71
+ return `${path.path}/_rels/${path.name}.rels`;
72
72
  },
73
73
  xmlEncode(text) {
74
74
  const regexResult = xmlDecodeRegex.exec(text);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["fs","require","inherits","cls","superCtor","statics","prototype","super_","Object","keys","forEach","i","defineProperty","getOwnPropertyDescriptor","properties","constructor","value","enumerable","writable","configurable","create","xmlDecodeRegex","utils","nop","promiseImmediate","Promise","resolve","global","setImmediate","setTimeout","dateToExcel","d","date1904","getTime","excelToDate","v","millisecondSinceEpoch","Math","round","Date","parsePath","filepath","last","lastIndexOf","path","substring","name","getRelsPath","concat","xmlEncode","text","regexResult","exec","result","escape","lastIndex","index","length","charCode","charCodeAt","xmlDecode","replace","c","validInt","parseInt","Number","isNaN","isDateFmt","fmt","match","exists","access","constants","F_OK","err","toIsoDateString","dt","toIsoString","subsstr","parseBoolean","range","start","stop","step","arguments","undefined","compareOrder","a","b","toSortedArray","values","Array","from","every","item","isFinite","compareNumbers","sort","objectFromProps","props","reduce","property","module","exports"],"sources":["../../../lib/utils/utils.js"],"sourcesContent":["const fs = require('fs');\n\n// useful stuff\nconst inherits = function(cls, superCtor, statics, prototype) {\n // eslint-disable-next-line no-underscore-dangle\n cls.super_ = superCtor;\n\n if (!prototype) {\n prototype = statics;\n statics = null;\n }\n\n if (statics) {\n Object.keys(statics).forEach(i => {\n Object.defineProperty(cls, i, Object.getOwnPropertyDescriptor(statics, i));\n });\n }\n\n const properties = {\n constructor: {\n value: cls,\n enumerable: false,\n writable: false,\n configurable: true,\n },\n };\n if (prototype) {\n Object.keys(prototype).forEach(i => {\n properties[i] = Object.getOwnPropertyDescriptor(prototype, i);\n });\n }\n\n cls.prototype = Object.create(superCtor.prototype, properties);\n};\n\n// eslint-disable-next-line no-control-regex\nconst xmlDecodeRegex = /[<>&'\"\\x7F\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]/;\nconst utils = {\n nop() {},\n promiseImmediate(value) {\n return new Promise(resolve => {\n if (global.setImmediate) {\n setImmediate(() => {\n resolve(value);\n });\n } else {\n // poorman's setImmediate - must wait at least 1ms\n setTimeout(() => {\n resolve(value);\n }, 1);\n }\n });\n },\n inherits,\n dateToExcel(d, date1904) {\n // eslint-disable-next-line no-mixed-operators\n return 25569 + d.getTime() / (24 * 3600 * 1000) - (date1904 ? 1462 : 0);\n },\n excelToDate(v, date1904) {\n // eslint-disable-next-line no-mixed-operators\n const millisecondSinceEpoch = Math.round((v - 25569 + (date1904 ? 1462 : 0)) * 24 * 3600 * 1000);\n return new Date(millisecondSinceEpoch);\n },\n parsePath(filepath) {\n const last = filepath.lastIndexOf('/');\n return {\n path: filepath.substring(0, last),\n name: filepath.substring(last + 1),\n };\n },\n getRelsPath(filepath) {\n const path = utils.parsePath(filepath);\n return `${path.path}/_rels/${path.name}.rels`;\n },\n xmlEncode(text) {\n const regexResult = xmlDecodeRegex.exec(text);\n if (!regexResult) return text;\n\n let result = '';\n let escape = '';\n let lastIndex = 0;\n let i = regexResult.index;\n for (; i < text.length; i++) {\n const charCode = text.charCodeAt(i);\n switch (charCode) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&apos;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n case 127:\n escape = '';\n break;\n default: {\n if (charCode <= 31 && (charCode <= 8 || (charCode >= 11 && charCode !== 13))) {\n escape = '';\n break;\n }\n continue;\n }\n }\n if (lastIndex !== i) result += text.substring(lastIndex, i);\n lastIndex = i + 1;\n if (escape) result += escape;\n }\n if (lastIndex !== i) return result + text.substring(lastIndex, i);\n return result;\n },\n xmlDecode(text) {\n return text.replace(/&([a-z]*);/g, c => {\n switch (c) {\n case '&lt;':\n return '<';\n case '&gt;':\n return '>';\n case '&amp;':\n return '&';\n case '&apos;':\n return '\\'';\n case '&quot;':\n return '\"';\n default:\n return c;\n }\n });\n },\n validInt(value) {\n const i = parseInt(value, 10);\n return !Number.isNaN(i) ? i : 0;\n },\n\n isDateFmt(fmt) {\n if (!fmt) {\n return false;\n }\n\n // must remove all chars inside quotes and []\n fmt = fmt.replace(/\\[[^\\]]*]/g, '');\n fmt = fmt.replace(/\"[^\"]*\"/g, '');\n // then check for date formatting chars\n const result = fmt.match(/[ymdhMsb]+/) !== null;\n return result;\n },\n\n fs: {\n exists(path) {\n return new Promise(resolve => {\n fs.access(path, fs.constants.F_OK, err => {\n resolve(!err);\n });\n });\n },\n },\n\n toIsoDateString(dt) {\n return dt.toIsoString().subsstr(0, 10);\n },\n\n parseBoolean(value) {\n return value === true || value === 'true' || value === 1 || value === '1';\n },\n\n *range(start, stop, step = 1) {\n const compareOrder = step > 0 ? (a, b) => a < b : (a, b) => a > b;\n for (let value = start; compareOrder(value, stop); value += step) {\n yield value;\n }\n },\n\n toSortedArray(values) {\n const result = Array.from(values);\n\n // Note: per default, `Array.prototype.sort()` converts values\n // to strings when comparing. Here, if we have numbers, we use\n // numeric sort.\n if (result.every(item => Number.isFinite(item))) {\n const compareNumbers = (a, b) => a - b;\n return result.sort(compareNumbers);\n }\n\n return result.sort();\n },\n\n objectFromProps(props, value = null) {\n // *Note*: Using `reduce` as `Object.fromEntries` requires Node 12+;\n // ExcelJs is >=8.3.0 (as of 2023-10-08).\n // return Object.fromEntries(props.map(property => [property, value]));\n return props.reduce((result, property) => {\n result[property] = value;\n return result;\n }, {});\n },\n};\n\nmodule.exports = utils;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["fs","require","inherits","cls","superCtor","statics","prototype","super_","Object","keys","forEach","i","defineProperty","getOwnPropertyDescriptor","properties","constructor","value","enumerable","writable","configurable","create","xmlDecodeRegex","utils","nop","promiseImmediate","Promise","resolve","global","setImmediate","setTimeout","dateToExcel","d","date1904","getTime","excelToDate","v","millisecondSinceEpoch","Math","round","Date","parsePath","filepath","last","lastIndexOf","path","substring","name","getRelsPath","xmlEncode","text","regexResult","exec","result","escape","lastIndex","index","length","charCode","charCodeAt","xmlDecode","replace","c","validInt","parseInt","Number","isNaN","isDateFmt","fmt","match","exists","access","constants","F_OK","err","toIsoDateString","dt","toIsoString","subsstr","parseBoolean","range","start","stop","step","arguments","undefined","compareOrder","a","b","toSortedArray","values","Array","from","every","item","isFinite","compareNumbers","sort","objectFromProps","props","reduce","property","module","exports"],"sources":["../../../lib/utils/utils.js"],"sourcesContent":["const fs = require('fs');\n\n// useful stuff\nconst inherits = function(cls, superCtor, statics, prototype) {\n // eslint-disable-next-line no-underscore-dangle\n cls.super_ = superCtor;\n\n if (!prototype) {\n prototype = statics;\n statics = null;\n }\n\n if (statics) {\n Object.keys(statics).forEach(i => {\n Object.defineProperty(cls, i, Object.getOwnPropertyDescriptor(statics, i));\n });\n }\n\n const properties = {\n constructor: {\n value: cls,\n enumerable: false,\n writable: false,\n configurable: true,\n },\n };\n if (prototype) {\n Object.keys(prototype).forEach(i => {\n properties[i] = Object.getOwnPropertyDescriptor(prototype, i);\n });\n }\n\n cls.prototype = Object.create(superCtor.prototype, properties);\n};\n\n// eslint-disable-next-line no-control-regex\nconst xmlDecodeRegex = /[<>&'\"\\x7F\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]/;\nconst utils = {\n nop() {},\n promiseImmediate(value) {\n return new Promise(resolve => {\n if (global.setImmediate) {\n setImmediate(() => {\n resolve(value);\n });\n } else {\n // poorman's setImmediate - must wait at least 1ms\n setTimeout(() => {\n resolve(value);\n }, 1);\n }\n });\n },\n inherits,\n dateToExcel(d, date1904) {\n // eslint-disable-next-line no-mixed-operators\n return 25569 + d.getTime() / (24 * 3600 * 1000) - (date1904 ? 1462 : 0);\n },\n excelToDate(v, date1904) {\n // eslint-disable-next-line no-mixed-operators\n const millisecondSinceEpoch = Math.round((v - 25569 + (date1904 ? 1462 : 0)) * 24 * 3600 * 1000);\n return new Date(millisecondSinceEpoch);\n },\n parsePath(filepath) {\n const last = filepath.lastIndexOf('/');\n return {\n path: filepath.substring(0, last),\n name: filepath.substring(last + 1),\n };\n },\n getRelsPath(filepath) {\n const path = utils.parsePath(filepath);\n return `${path.path}/_rels/${path.name}.rels`;\n },\n xmlEncode(text) {\n const regexResult = xmlDecodeRegex.exec(text);\n if (!regexResult) return text;\n\n let result = '';\n let escape = '';\n let lastIndex = 0;\n let i = regexResult.index;\n for (; i < text.length; i++) {\n const charCode = text.charCodeAt(i);\n switch (charCode) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&apos;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n case 127:\n escape = '';\n break;\n default: {\n if (charCode <= 31 && (charCode <= 8 || (charCode >= 11 && charCode !== 13))) {\n escape = '';\n break;\n }\n continue;\n }\n }\n if (lastIndex !== i) result += text.substring(lastIndex, i);\n lastIndex = i + 1;\n if (escape) result += escape;\n }\n if (lastIndex !== i) return result + text.substring(lastIndex, i);\n return result;\n },\n xmlDecode(text) {\n return text.replace(/&([a-z]*);/g, c => {\n switch (c) {\n case '&lt;':\n return '<';\n case '&gt;':\n return '>';\n case '&amp;':\n return '&';\n case '&apos;':\n return '\\'';\n case '&quot;':\n return '\"';\n default:\n return c;\n }\n });\n },\n validInt(value) {\n const i = parseInt(value, 10);\n return !Number.isNaN(i) ? i : 0;\n },\n\n isDateFmt(fmt) {\n if (!fmt) {\n return false;\n }\n\n // must remove all chars inside quotes and []\n fmt = fmt.replace(/\\[[^\\]]*]/g, '');\n fmt = fmt.replace(/\"[^\"]*\"/g, '');\n // then check for date formatting chars\n const result = fmt.match(/[ymdhMsb]+/) !== null;\n return result;\n },\n\n fs: {\n exists(path) {\n return new Promise(resolve => {\n fs.access(path, fs.constants.F_OK, err => {\n resolve(!err);\n });\n });\n },\n },\n\n toIsoDateString(dt) {\n return dt.toIsoString().subsstr(0, 10);\n },\n\n parseBoolean(value) {\n return value === true || value === 'true' || value === 1 || value === '1';\n },\n\n *range(start, stop, step = 1) {\n const compareOrder = step > 0 ? (a, b) => a < b : (a, b) => a > b;\n for (let value = start; compareOrder(value, stop); value += step) {\n yield value;\n }\n },\n\n toSortedArray(values) {\n const result = Array.from(values);\n\n // Note: per default, `Array.prototype.sort()` converts values\n // to strings when comparing. Here, if we have numbers, we use\n // numeric sort.\n if (result.every(item => Number.isFinite(item))) {\n const compareNumbers = (a, b) => a - b;\n return result.sort(compareNumbers);\n }\n\n return result.sort();\n },\n\n objectFromProps(props, value = null) {\n // *Note*: Using `reduce` as `Object.fromEntries` requires Node 12+;\n // ExcelJs is >=8.3.0 (as of 2023-10-08).\n // return Object.fromEntries(props.map(property => [property, value]));\n return props.reduce((result, property) => {\n result[property] = value;\n return result;\n }, {});\n },\n};\n\nmodule.exports = utils;\n"],"mappings":";;AAAA,MAAMA,EAAE,GAAGC,OAAO,CAAC,IAAI,CAAC;;AAExB;AACA,MAAMC,QAAQ,GAAG,SAAAA,CAASC,GAAG,EAAEC,SAAS,EAAEC,OAAO,EAAEC,SAAS,EAAE;EAC5D;EACAH,GAAG,CAACI,MAAM,GAAGH,SAAS;EAEtB,IAAI,CAACE,SAAS,EAAE;IACdA,SAAS,GAAGD,OAAO;IACnBA,OAAO,GAAG,IAAI;EAChB;EAEA,IAAIA,OAAO,EAAE;IACXG,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,OAAO,CAACC,CAAC,IAAI;MAChCH,MAAM,CAACI,cAAc,CAACT,GAAG,EAAEQ,CAAC,EAAEH,MAAM,CAACK,wBAAwB,CAACR,OAAO,EAAEM,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;EACJ;EAEA,MAAMG,UAAU,GAAG;IACjBC,WAAW,EAAE;MACXC,KAAK,EAAEb,GAAG;MACVc,UAAU,EAAE,KAAK;MACjBC,QAAQ,EAAE,KAAK;MACfC,YAAY,EAAE;IAChB;EACF,CAAC;EACD,IAAIb,SAAS,EAAE;IACbE,MAAM,CAACC,IAAI,CAACH,SAAS,CAAC,CAACI,OAAO,CAACC,CAAC,IAAI;MAClCG,UAAU,CAACH,CAAC,CAAC,GAAGH,MAAM,CAACK,wBAAwB,CAACP,SAAS,EAAEK,CAAC,CAAC;IAC/D,CAAC,CAAC;EACJ;EAEAR,GAAG,CAACG,SAAS,GAAGE,MAAM,CAACY,MAAM,CAAChB,SAAS,CAACE,SAAS,EAAEQ,UAAU,CAAC;AAChE,CAAC;;AAED;AACA,MAAMO,cAAc,GAAG,wCAAwC;AAC/D,MAAMC,KAAK,GAAG;EACZC,GAAGA,CAAA,EAAG,CAAC,CAAC;EACRC,gBAAgBA,CAACR,KAAK,EAAE;IACtB,OAAO,IAAIS,OAAO,CAACC,OAAO,IAAI;MAC5B,IAAIC,MAAM,CAACC,YAAY,EAAE;QACvBA,YAAY,CAAC,MAAM;UACjBF,OAAO,CAACV,KAAK,CAAC;QAChB,CAAC,CAAC;MACJ,CAAC,MAAM;QACL;QACAa,UAAU,CAAC,MAAM;UACfH,OAAO,CAACV,KAAK,CAAC;QAChB,CAAC,EAAE,CAAC,CAAC;MACP;IACF,CAAC,CAAC;EACJ,CAAC;EACDd,QAAQ;EACR4B,WAAWA,CAACC,CAAC,EAAEC,QAAQ,EAAE;IACvB;IACA,OAAO,KAAK,GAAGD,CAAC,CAACE,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAID,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;EACzE,CAAC;EACDE,WAAWA,CAACC,CAAC,EAAEH,QAAQ,EAAE;IACvB;IACA,MAAMI,qBAAqB,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACH,CAAC,GAAG,KAAK,IAAIH,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAChG,OAAO,IAAIO,IAAI,CAACH,qBAAqB,CAAC;EACxC,CAAC;EACDI,SAASA,CAACC,QAAQ,EAAE;IAClB,MAAMC,IAAI,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;IACtC,OAAO;MACLC,IAAI,EAAEH,QAAQ,CAACI,SAAS,CAAC,CAAC,EAAEH,IAAI,CAAC;MACjCI,IAAI,EAAEL,QAAQ,CAACI,SAAS,CAACH,IAAI,GAAG,CAAC;IACnC,CAAC;EACH,CAAC;EACDK,WAAWA,CAACN,QAAQ,EAAE;IACpB,MAAMG,IAAI,GAAGtB,KAAK,CAACkB,SAAS,CAACC,QAAQ,CAAC;IACtC,OAAO,GAAGG,IAAI,CAACA,IAAI,UAAUA,IAAI,CAACE,IAAI,OAAO;EAC/C,CAAC;EACDE,SAASA,CAACC,IAAI,EAAE;IACd,MAAMC,WAAW,GAAG7B,cAAc,CAAC8B,IAAI,CAACF,IAAI,CAAC;IAC7C,IAAI,CAACC,WAAW,EAAE,OAAOD,IAAI;IAE7B,IAAIG,MAAM,GAAG,EAAE;IACf,IAAIC,MAAM,GAAG,EAAE;IACf,IAAIC,SAAS,GAAG,CAAC;IACjB,IAAI3C,CAAC,GAAGuC,WAAW,CAACK,KAAK;IACzB,OAAO5C,CAAC,GAAGsC,IAAI,CAACO,MAAM,EAAE7C,CAAC,EAAE,EAAE;MAC3B,MAAM8C,QAAQ,GAAGR,IAAI,CAACS,UAAU,CAAC/C,CAAC,CAAC;MACnC,QAAQ8C,QAAQ;QACd,KAAK,EAAE;UAAE;UACPJ,MAAM,GAAG,QAAQ;UACjB;QACF,KAAK,EAAE;UAAE;UACPA,MAAM,GAAG,OAAO;UAChB;QACF,KAAK,EAAE;UAAE;UACPA,MAAM,GAAG,QAAQ;UACjB;QACF,KAAK,EAAE;UAAE;UACPA,MAAM,GAAG,MAAM;UACf;QACF,KAAK,EAAE;UAAE;UACPA,MAAM,GAAG,MAAM;UACf;QACF,KAAK,GAAG;UACNA,MAAM,GAAG,EAAE;UACX;QACF;UAAS;YACP,IAAII,QAAQ,IAAI,EAAE,KAAKA,QAAQ,IAAI,CAAC,IAAKA,QAAQ,IAAI,EAAE,IAAIA,QAAQ,KAAK,EAAG,CAAC,EAAE;cAC5EJ,MAAM,GAAG,EAAE;cACX;YACF;YACA;UACF;MACF;MACA,IAAIC,SAAS,KAAK3C,CAAC,EAAEyC,MAAM,IAAIH,IAAI,CAACJ,SAAS,CAACS,SAAS,EAAE3C,CAAC,CAAC;MAC3D2C,SAAS,GAAG3C,CAAC,GAAG,CAAC;MACjB,IAAI0C,MAAM,EAAED,MAAM,IAAIC,MAAM;IAC9B;IACA,IAAIC,SAAS,KAAK3C,CAAC,EAAE,OAAOyC,MAAM,GAAGH,IAAI,CAACJ,SAAS,CAACS,SAAS,EAAE3C,CAAC,CAAC;IACjE,OAAOyC,MAAM;EACf,CAAC;EACDO,SAASA,CAACV,IAAI,EAAE;IACd,OAAOA,IAAI,CAACW,OAAO,CAAC,aAAa,EAAEC,CAAC,IAAI;MACtC,QAAQA,CAAC;QACP,KAAK,MAAM;UACT,OAAO,GAAG;QACZ,KAAK,MAAM;UACT,OAAO,GAAG;QACZ,KAAK,OAAO;UACV,OAAO,GAAG;QACZ,KAAK,QAAQ;UACX,OAAO,IAAI;QACb,KAAK,QAAQ;UACX,OAAO,GAAG;QACZ;UACE,OAAOA,CAAC;MACZ;IACF,CAAC,CAAC;EACJ,CAAC;EACDC,QAAQA,CAAC9C,KAAK,EAAE;IACd,MAAML,CAAC,GAAGoD,QAAQ,CAAC/C,KAAK,EAAE,EAAE,CAAC;IAC7B,OAAO,CAACgD,MAAM,CAACC,KAAK,CAACtD,CAAC,CAAC,GAAGA,CAAC,GAAG,CAAC;EACjC,CAAC;EAEDuD,SAASA,CAACC,GAAG,EAAE;IACb,IAAI,CAACA,GAAG,EAAE;MACR,OAAO,KAAK;IACd;;IAEA;IACAA,GAAG,GAAGA,GAAG,CAACP,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACnCO,GAAG,GAAGA,GAAG,CAACP,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IACjC;IACA,MAAMR,MAAM,GAAGe,GAAG,CAACC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI;IAC/C,OAAOhB,MAAM;EACf,CAAC;EAEDpD,EAAE,EAAE;IACFqE,MAAMA,CAACzB,IAAI,EAAE;MACX,OAAO,IAAInB,OAAO,CAACC,OAAO,IAAI;QAC5B1B,EAAE,CAACsE,MAAM,CAAC1B,IAAI,EAAE5C,EAAE,CAACuE,SAAS,CAACC,IAAI,EAAEC,GAAG,IAAI;UACxC/C,OAAO,CAAC,CAAC+C,GAAG,CAAC;QACf,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF,CAAC;EAEDC,eAAeA,CAACC,EAAE,EAAE;IAClB,OAAOA,EAAE,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;EACxC,CAAC;EAEDC,YAAYA,CAAC9D,KAAK,EAAE;IAClB,OAAOA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,MAAM,IAAIA,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAK,GAAG;EAC3E,CAAC;EAEA+D,KAAKA,CAACC,KAAK,EAAEC,IAAI;IAAA,IAAEC,IAAI,GAAAC,SAAA,CAAA3B,MAAA,QAAA2B,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;IAAA,oBAAE;MAC5B,MAAME,YAAY,GAAGH,IAAI,GAAG,CAAC,GAAG,CAACI,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,GAAG,CAACD,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC;MACjE,KAAK,IAAIvE,KAAK,GAAGgE,KAAK,EAAEK,YAAY,CAACrE,KAAK,EAAEiE,IAAI,CAAC,EAAEjE,KAAK,IAAIkE,IAAI,EAAE;QAChE,MAAMlE,KAAK;MACb;IACF,CAAC;EAAA;EAEDwE,aAAaA,CAACC,MAAM,EAAE;IACpB,MAAMrC,MAAM,GAAGsC,KAAK,CAACC,IAAI,CAACF,MAAM,CAAC;;IAEjC;IACA;IACA;IACA,IAAIrC,MAAM,CAACwC,KAAK,CAACC,IAAI,IAAI7B,MAAM,CAAC8B,QAAQ,CAACD,IAAI,CAAC,CAAC,EAAE;MAC/C,MAAME,cAAc,GAAGA,CAACT,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC;MACtC,OAAOnC,MAAM,CAAC4C,IAAI,CAACD,cAAc,CAAC;IACpC;IAEA,OAAO3C,MAAM,CAAC4C,IAAI,CAAC,CAAC;EACtB,CAAC;EAEDC,eAAeA,CAACC,KAAK,EAAgB;IAAA,IAAdlF,KAAK,GAAAmE,SAAA,CAAA3B,MAAA,QAAA2B,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IACjC;IACA;IACA;IACA,OAAOe,KAAK,CAACC,MAAM,CAAC,CAAC/C,MAAM,EAAEgD,QAAQ,KAAK;MACxChD,MAAM,CAACgD,QAAQ,CAAC,GAAGpF,KAAK;MACxB,OAAOoC,MAAM;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;AACF,CAAC;AAEDiD,MAAM,CAACC,OAAO,GAAGhF,KAAK","ignoreList":[]}
@@ -9,7 +9,7 @@ const CLOSE_ANGLE = '>';
9
9
  const OPEN_ANGLE_SLASH = '</';
10
10
  const CLOSE_SLASH_ANGLE = '/>';
11
11
  function pushAttribute(xml, name, value) {
12
- xml.push(" ".concat(name, "=\"").concat(utils.xmlEncode(value.toString()), "\""));
12
+ xml.push(` ${name}="${utils.xmlEncode(value.toString())}"`);
13
13
  }
14
14
  function pushAttributes(xml, attributes) {
15
15
  if (attributes) {
@@ -1 +1 @@
1
- {"version":3,"file":"xml-stream.js","names":["_","require","utils","OPEN_ANGLE","CLOSE_ANGLE","OPEN_ANGLE_SLASH","CLOSE_SLASH_ANGLE","pushAttribute","xml","name","value","push","concat","xmlEncode","toString","pushAttributes","attributes","tmp","each","undefined","join","XmlStream","constructor","_xml","_stack","_rollbacks","tos","length","cursor","openXml","docAttributes","openNode","parent","open","leaf","addAttribute","Error","addAttributes","attrs","writeText","text","writeXml","closeNode","node","pop","leafNode","closeAll","addRollback","stack","commit","rollback","r","splice","StdDocAttributes","version","encoding","standalone","module","exports"],"sources":["../../../lib/utils/xml-stream.js"],"sourcesContent":["const _ = require('./under-dash');\n\nconst utils = require('./utils');\n\n// constants\nconst OPEN_ANGLE = '<';\nconst CLOSE_ANGLE = '>';\nconst OPEN_ANGLE_SLASH = '</';\nconst CLOSE_SLASH_ANGLE = '/>';\n\nfunction pushAttribute(xml, name, value) {\n xml.push(` ${name}=\"${utils.xmlEncode(value.toString())}\"`);\n}\nfunction pushAttributes(xml, attributes) {\n if (attributes) {\n const tmp = [];\n _.each(attributes, (value, name) => {\n if (value !== undefined) {\n pushAttribute(tmp, name, value);\n }\n });\n xml.push(tmp.join(''));\n }\n}\n\nclass XmlStream {\n constructor() {\n this._xml = [];\n this._stack = [];\n this._rollbacks = [];\n }\n\n get tos() {\n return this._stack.length ? this._stack[this._stack.length - 1] : undefined;\n }\n\n get cursor() {\n // handy way to track whether anything has been added\n return this._xml.length;\n }\n\n openXml(docAttributes) {\n const xml = this._xml;\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n xml.push('<?xml');\n pushAttributes(xml, docAttributes);\n xml.push('?>\\n');\n }\n\n openNode(name, attributes) {\n const parent = this.tos;\n const xml = this._xml;\n if (parent && this.open) {\n xml.push(CLOSE_ANGLE);\n }\n\n this._stack.push(name);\n\n // start streaming node\n xml.push(OPEN_ANGLE);\n xml.push(name);\n pushAttributes(xml, attributes);\n this.leaf = true;\n this.open = true;\n }\n\n addAttribute(name, value) {\n if (!this.open) {\n throw new Error('Cannot write attributes to node if it is not open');\n }\n if (value !== undefined) {\n pushAttribute(this._xml, name, value);\n }\n }\n\n addAttributes(attrs) {\n if (!this.open) {\n throw new Error('Cannot write attributes to node if it is not open');\n }\n pushAttributes(this._xml, attrs);\n }\n\n writeText(text) {\n const xml = this._xml;\n if (this.open) {\n xml.push(CLOSE_ANGLE);\n this.open = false;\n }\n this.leaf = false;\n xml.push(utils.xmlEncode(text.toString()));\n }\n\n writeXml(xml) {\n if (this.open) {\n this._xml.push(CLOSE_ANGLE);\n this.open = false;\n }\n this.leaf = false;\n this._xml.push(xml);\n }\n\n closeNode() {\n const node = this._stack.pop();\n const xml = this._xml;\n if (this.leaf) {\n xml.push(CLOSE_SLASH_ANGLE);\n } else {\n xml.push(OPEN_ANGLE_SLASH);\n xml.push(node);\n xml.push(CLOSE_ANGLE);\n }\n this.open = false;\n this.leaf = false;\n }\n\n leafNode(name, attributes, text) {\n this.openNode(name, attributes);\n if (text !== undefined) {\n // zeros need to be written\n this.writeText(text);\n }\n this.closeNode();\n }\n\n closeAll() {\n while (this._stack.length) {\n this.closeNode();\n }\n }\n\n addRollback() {\n this._rollbacks.push({\n xml: this._xml.length,\n stack: this._stack.length,\n leaf: this.leaf,\n open: this.open,\n });\n return this.cursor;\n }\n\n commit() {\n this._rollbacks.pop();\n }\n\n rollback() {\n const r = this._rollbacks.pop();\n if (this._xml.length > r.xml) {\n this._xml.splice(r.xml, this._xml.length - r.xml);\n }\n if (this._stack.length > r.stack) {\n this._stack.splice(r.stack, this._stack.length - r.stack);\n }\n this.leaf = r.leaf;\n this.open = r.open;\n }\n\n get xml() {\n this.closeAll();\n return this._xml.join('');\n }\n}\n\nXmlStream.StdDocAttributes = {\n version: '1.0',\n encoding: 'UTF-8',\n standalone: 'yes',\n};\n\nmodule.exports = XmlStream;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"xml-stream.js","names":["_","require","utils","OPEN_ANGLE","CLOSE_ANGLE","OPEN_ANGLE_SLASH","CLOSE_SLASH_ANGLE","pushAttribute","xml","name","value","push","xmlEncode","toString","pushAttributes","attributes","tmp","each","undefined","join","XmlStream","constructor","_xml","_stack","_rollbacks","tos","length","cursor","openXml","docAttributes","openNode","parent","open","leaf","addAttribute","Error","addAttributes","attrs","writeText","text","writeXml","closeNode","node","pop","leafNode","closeAll","addRollback","stack","commit","rollback","r","splice","StdDocAttributes","version","encoding","standalone","module","exports"],"sources":["../../../lib/utils/xml-stream.js"],"sourcesContent":["const _ = require('./under-dash');\n\nconst utils = require('./utils');\n\n// constants\nconst OPEN_ANGLE = '<';\nconst CLOSE_ANGLE = '>';\nconst OPEN_ANGLE_SLASH = '</';\nconst CLOSE_SLASH_ANGLE = '/>';\n\nfunction pushAttribute(xml, name, value) {\n xml.push(` ${name}=\"${utils.xmlEncode(value.toString())}\"`);\n}\nfunction pushAttributes(xml, attributes) {\n if (attributes) {\n const tmp = [];\n _.each(attributes, (value, name) => {\n if (value !== undefined) {\n pushAttribute(tmp, name, value);\n }\n });\n xml.push(tmp.join(''));\n }\n}\n\nclass XmlStream {\n constructor() {\n this._xml = [];\n this._stack = [];\n this._rollbacks = [];\n }\n\n get tos() {\n return this._stack.length ? this._stack[this._stack.length - 1] : undefined;\n }\n\n get cursor() {\n // handy way to track whether anything has been added\n return this._xml.length;\n }\n\n openXml(docAttributes) {\n const xml = this._xml;\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n xml.push('<?xml');\n pushAttributes(xml, docAttributes);\n xml.push('?>\\n');\n }\n\n openNode(name, attributes) {\n const parent = this.tos;\n const xml = this._xml;\n if (parent && this.open) {\n xml.push(CLOSE_ANGLE);\n }\n\n this._stack.push(name);\n\n // start streaming node\n xml.push(OPEN_ANGLE);\n xml.push(name);\n pushAttributes(xml, attributes);\n this.leaf = true;\n this.open = true;\n }\n\n addAttribute(name, value) {\n if (!this.open) {\n throw new Error('Cannot write attributes to node if it is not open');\n }\n if (value !== undefined) {\n pushAttribute(this._xml, name, value);\n }\n }\n\n addAttributes(attrs) {\n if (!this.open) {\n throw new Error('Cannot write attributes to node if it is not open');\n }\n pushAttributes(this._xml, attrs);\n }\n\n writeText(text) {\n const xml = this._xml;\n if (this.open) {\n xml.push(CLOSE_ANGLE);\n this.open = false;\n }\n this.leaf = false;\n xml.push(utils.xmlEncode(text.toString()));\n }\n\n writeXml(xml) {\n if (this.open) {\n this._xml.push(CLOSE_ANGLE);\n this.open = false;\n }\n this.leaf = false;\n this._xml.push(xml);\n }\n\n closeNode() {\n const node = this._stack.pop();\n const xml = this._xml;\n if (this.leaf) {\n xml.push(CLOSE_SLASH_ANGLE);\n } else {\n xml.push(OPEN_ANGLE_SLASH);\n xml.push(node);\n xml.push(CLOSE_ANGLE);\n }\n this.open = false;\n this.leaf = false;\n }\n\n leafNode(name, attributes, text) {\n this.openNode(name, attributes);\n if (text !== undefined) {\n // zeros need to be written\n this.writeText(text);\n }\n this.closeNode();\n }\n\n closeAll() {\n while (this._stack.length) {\n this.closeNode();\n }\n }\n\n addRollback() {\n this._rollbacks.push({\n xml: this._xml.length,\n stack: this._stack.length,\n leaf: this.leaf,\n open: this.open,\n });\n return this.cursor;\n }\n\n commit() {\n this._rollbacks.pop();\n }\n\n rollback() {\n const r = this._rollbacks.pop();\n if (this._xml.length > r.xml) {\n this._xml.splice(r.xml, this._xml.length - r.xml);\n }\n if (this._stack.length > r.stack) {\n this._stack.splice(r.stack, this._stack.length - r.stack);\n }\n this.leaf = r.leaf;\n this.open = r.open;\n }\n\n get xml() {\n this.closeAll();\n return this._xml.join('');\n }\n}\n\nXmlStream.StdDocAttributes = {\n version: '1.0',\n encoding: 'UTF-8',\n standalone: 'yes',\n};\n\nmodule.exports = XmlStream;\n"],"mappings":"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","ignoreList":[]}