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":"worksheet-reader.js","names":["EventEmitter","require","parseSax","_","utils","colCache","Dimensions","Row","Column","WorksheetReader","constructor","_ref","workbook","id","iterator","options","name","concat","_columns","_keys","_dimensions","destroy","Error","dimensions","columns","getColumn","c","col","l2n","length","n","push","getColumnKey","key","setColumnKey","value","deleteColumnKey","eachColumnKey","f","each","read","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_asyncIterator","parse","_step","next","done","events","eventType","emit","err","return","error","Symbol","asyncIterator","_this","_wrapAsyncGenerator","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","_awaitAsyncGenerator","_this2","emitSheet","emitHyperlinks","hyperlinks","worksheets","sharedStrings","styles","properties","inCols","inRows","inHyperlinks","cols","row","current","_iteratorAbruptCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","worksheetEvents","node","min","parseInt","attributes","max","width","parseFloat","styleId","style","r","ht","height","s","getStyleModel","ref","t","text","v","hyperlink","rId","fromModel","expandRow","address","decodeAddress","cell","getCell","cellValue","formula","result","xmlDecode","index","sharedString","isDateFmt","numFmt","excelToDate","model","date1904","undefined","module","exports"],"sources":["../../../../lib/stream/xlsx/worksheet-reader.js"],"sourcesContent":["const {EventEmitter} = require('events');\nconst parseSax = require('../../utils/parse-sax');\n\nconst _ = require('../../utils/under-dash');\nconst utils = require('../../utils/utils');\nconst colCache = require('../../utils/col-cache');\nconst Dimensions = require('../../doc/range');\n\nconst Row = require('../../doc/row');\nconst Column = require('../../doc/column');\n\nclass WorksheetReader extends EventEmitter {\n constructor({workbook, id, iterator, options}) {\n super();\n\n this.workbook = workbook;\n this.id = id;\n this.iterator = iterator;\n this.options = options || {};\n\n // and a name\n this.name = `Sheet${this.id}`;\n\n // column definitions\n this._columns = null;\n this._keys = {};\n\n // keep a record of dimensions\n this._dimensions = new Dimensions();\n }\n\n // destroy - not a valid operation for a streaming writer\n // even though some streamers might be able to, it's a bad idea.\n destroy() {\n throw new Error('Invalid Operation: destroy');\n }\n\n // return the current dimensions of the writer\n get dimensions() {\n return this._dimensions;\n }\n\n // =========================================================================\n // Columns\n\n // get the current columns array.\n get columns() {\n return this._columns;\n }\n\n // get a single column by col number. If it doesn't exist, it and any gaps before it\n // are created.\n getColumn(c) {\n if (typeof c === 'string') {\n // if it matches a key'd column, return that\n const col = this._keys[c];\n if (col) {\n return col;\n }\n\n // otherise, assume letter\n c = colCache.l2n(c);\n }\n if (!this._columns) {\n this._columns = [];\n }\n if (c > this._columns.length) {\n let n = this._columns.length + 1;\n while (n <= c) {\n this._columns.push(new Column(this, n++));\n }\n }\n return this._columns[c - 1];\n }\n\n getColumnKey(key) {\n return this._keys[key];\n }\n\n setColumnKey(key, value) {\n this._keys[key] = value;\n }\n\n deleteColumnKey(key) {\n delete this._keys[key];\n }\n\n eachColumnKey(f) {\n _.each(this._keys, f);\n }\n\n async read() {\n try {\n for await (const events of this.parse()) {\n for (const {eventType, value} of events) {\n this.emit(eventType, value);\n }\n }\n this.emit('finished');\n } catch (error) {\n this.emit('error', error);\n }\n }\n\n async *[Symbol.asyncIterator]() {\n for await (const events of this.parse()) {\n for (const {eventType, value} of events) {\n if (eventType === 'row') {\n yield value;\n }\n }\n }\n }\n\n async *parse() {\n const {iterator, options} = this;\n let emitSheet = false;\n let emitHyperlinks = false;\n let hyperlinks = null;\n switch (options.worksheets) {\n case 'emit':\n emitSheet = true;\n break;\n case 'prep':\n break;\n default:\n break;\n }\n switch (options.hyperlinks) {\n case 'emit':\n emitHyperlinks = true;\n break;\n case 'cache':\n this.hyperlinks = hyperlinks = {};\n break;\n default:\n break;\n }\n if (!emitSheet && !emitHyperlinks && !hyperlinks) {\n return;\n }\n\n // references\n const {sharedStrings, styles, properties} = this.workbook;\n\n // xml position\n let inCols = false;\n let inRows = false;\n let inHyperlinks = false;\n\n // parse state\n let cols = null;\n let row = null;\n let c = null;\n let current = null;\n for await (const events of parseSax(iterator)) {\n const worksheetEvents = [];\n for (const {eventType, value} of events) {\n if (eventType === 'opentag') {\n const node = value;\n if (emitSheet) {\n switch (node.name) {\n case 'cols':\n inCols = true;\n cols = [];\n break;\n case 'sheetData':\n inRows = true;\n break;\n\n case 'col':\n if (inCols) {\n cols.push({\n min: parseInt(node.attributes.min, 10),\n max: parseInt(node.attributes.max, 10),\n width: parseFloat(node.attributes.width),\n styleId: parseInt(node.attributes.style || '0', 10),\n });\n }\n break;\n\n case 'row':\n if (inRows) {\n const r = parseInt(node.attributes.r, 10);\n row = new Row(this, r);\n if (node.attributes.ht) {\n row.height = parseFloat(node.attributes.ht);\n }\n if (node.attributes.s) {\n const styleId = parseInt(node.attributes.s, 10);\n const style = styles.getStyleModel(styleId);\n if (style) {\n row.style = style;\n }\n }\n }\n break;\n case 'c':\n if (row) {\n c = {\n ref: node.attributes.r,\n s: parseInt(node.attributes.s, 10),\n t: node.attributes.t,\n };\n }\n break;\n case 'f':\n if (c) {\n current = c.f = {text: ''};\n }\n break;\n case 'v':\n if (c) {\n current = c.v = {text: ''};\n }\n break;\n case 'is':\n case 't':\n if (c) {\n current = c.v = {text: ''};\n }\n break;\n case 'mergeCell':\n break;\n default:\n break;\n }\n }\n\n // =================================================================\n //\n if (emitHyperlinks || hyperlinks) {\n switch (node.name) {\n case 'hyperlinks':\n inHyperlinks = true;\n break;\n case 'hyperlink':\n if (inHyperlinks) {\n const hyperlink = {\n ref: node.attributes.ref,\n rId: node.attributes['r:id'],\n };\n if (emitHyperlinks) {\n worksheetEvents.push({eventType: 'hyperlink', value: hyperlink});\n } else {\n hyperlinks[hyperlink.ref] = hyperlink;\n }\n }\n break;\n default:\n break;\n }\n }\n } else if (eventType === 'text') {\n // only text data is for sheet values\n if (emitSheet) {\n if (current) {\n current.text += value;\n }\n }\n } else if (eventType === 'closetag') {\n const node = value;\n if (emitSheet) {\n switch (node.name) {\n case 'cols':\n inCols = false;\n this._columns = Column.fromModel(cols);\n break;\n case 'sheetData':\n inRows = false;\n break;\n\n case 'row':\n this._dimensions.expandRow(row);\n worksheetEvents.push({eventType: 'row', value: row});\n row = null;\n break;\n\n case 'c':\n if (row && c) {\n const address = colCache.decodeAddress(c.ref);\n const cell = row.getCell(address.col);\n if (c.s) {\n const style = styles.getStyleModel(c.s);\n if (style) {\n cell.style = style;\n }\n }\n\n if (c.f) {\n const cellValue = {\n formula: c.f.text,\n };\n if (c.v) {\n if (c.t === 'str') {\n cellValue.result = utils.xmlDecode(c.v.text);\n } else {\n cellValue.result = parseFloat(c.v.text);\n }\n }\n cell.value = cellValue;\n } else if (c.v) {\n switch (c.t) {\n case 's': {\n const index = parseInt(c.v.text, 10);\n if (sharedStrings) {\n cell.value = sharedStrings[index];\n } else {\n cell.value = {\n sharedString: index,\n };\n }\n break;\n }\n\n case 'inlineStr':\n case 'str':\n cell.value = utils.xmlDecode(c.v.text);\n break;\n\n case 'e':\n cell.value = {error: c.v.text};\n break;\n\n case 'b':\n cell.value = parseInt(c.v.text, 10) !== 0;\n break;\n\n default:\n if (utils.isDateFmt(cell.numFmt)) {\n cell.value = utils.excelToDate(\n parseFloat(c.v.text),\n properties.model && properties.model.date1904\n );\n } else {\n cell.value = parseFloat(c.v.text);\n }\n break;\n }\n }\n if (hyperlinks) {\n const hyperlink = hyperlinks[c.ref];\n if (hyperlink) {\n cell.text = cell.value;\n cell.value = undefined;\n cell.hyperlink = hyperlink;\n }\n }\n c = null;\n }\n break;\n default:\n break;\n }\n }\n if (emitHyperlinks || hyperlinks) {\n switch (node.name) {\n case 'hyperlinks':\n inHyperlinks = false;\n break;\n default:\n break;\n }\n }\n }\n }\n if (worksheetEvents.length > 0) {\n yield worksheetEvents;\n }\n }\n }\n}\n\nmodule.exports = WorksheetReader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"worksheet-reader.js","names":["EventEmitter","require","parseSax","_","utils","colCache","Dimensions","Row","Column","WorksheetReader","constructor","_ref","workbook","id","iterator","options","name","_columns","_keys","_dimensions","destroy","Error","dimensions","columns","getColumn","c","col","l2n","length","n","push","getColumnKey","key","setColumnKey","value","deleteColumnKey","eachColumnKey","f","each","read","events","parse","eventType","emit","error","Symbol","asyncIterator","emitSheet","emitHyperlinks","hyperlinks","worksheets","sharedStrings","styles","properties","inCols","inRows","inHyperlinks","cols","row","current","worksheetEvents","node","min","parseInt","attributes","max","width","parseFloat","styleId","style","r","ht","height","s","getStyleModel","ref","t","text","v","hyperlink","rId","fromModel","expandRow","address","decodeAddress","cell","getCell","cellValue","formula","result","xmlDecode","index","sharedString","isDateFmt","numFmt","excelToDate","model","date1904","undefined","module","exports"],"sources":["../../../../lib/stream/xlsx/worksheet-reader.js"],"sourcesContent":["const {EventEmitter} = require('events');\nconst parseSax = require('../../utils/parse-sax');\n\nconst _ = require('../../utils/under-dash');\nconst utils = require('../../utils/utils');\nconst colCache = require('../../utils/col-cache');\nconst Dimensions = require('../../doc/range');\n\nconst Row = require('../../doc/row');\nconst Column = require('../../doc/column');\n\nclass WorksheetReader extends EventEmitter {\n constructor({workbook, id, iterator, options}) {\n super();\n\n this.workbook = workbook;\n this.id = id;\n this.iterator = iterator;\n this.options = options || {};\n\n // and a name\n this.name = `Sheet${this.id}`;\n\n // column definitions\n this._columns = null;\n this._keys = {};\n\n // keep a record of dimensions\n this._dimensions = new Dimensions();\n }\n\n // destroy - not a valid operation for a streaming writer\n // even though some streamers might be able to, it's a bad idea.\n destroy() {\n throw new Error('Invalid Operation: destroy');\n }\n\n // return the current dimensions of the writer\n get dimensions() {\n return this._dimensions;\n }\n\n // =========================================================================\n // Columns\n\n // get the current columns array.\n get columns() {\n return this._columns;\n }\n\n // get a single column by col number. If it doesn't exist, it and any gaps before it\n // are created.\n getColumn(c) {\n if (typeof c === 'string') {\n // if it matches a key'd column, return that\n const col = this._keys[c];\n if (col) {\n return col;\n }\n\n // otherise, assume letter\n c = colCache.l2n(c);\n }\n if (!this._columns) {\n this._columns = [];\n }\n if (c > this._columns.length) {\n let n = this._columns.length + 1;\n while (n <= c) {\n this._columns.push(new Column(this, n++));\n }\n }\n return this._columns[c - 1];\n }\n\n getColumnKey(key) {\n return this._keys[key];\n }\n\n setColumnKey(key, value) {\n this._keys[key] = value;\n }\n\n deleteColumnKey(key) {\n delete this._keys[key];\n }\n\n eachColumnKey(f) {\n _.each(this._keys, f);\n }\n\n async read() {\n try {\n for await (const events of this.parse()) {\n for (const {eventType, value} of events) {\n this.emit(eventType, value);\n }\n }\n this.emit('finished');\n } catch (error) {\n this.emit('error', error);\n }\n }\n\n async *[Symbol.asyncIterator]() {\n for await (const events of this.parse()) {\n for (const {eventType, value} of events) {\n if (eventType === 'row') {\n yield value;\n }\n }\n }\n }\n\n async *parse() {\n const {iterator, options} = this;\n let emitSheet = false;\n let emitHyperlinks = false;\n let hyperlinks = null;\n switch (options.worksheets) {\n case 'emit':\n emitSheet = true;\n break;\n case 'prep':\n break;\n default:\n break;\n }\n switch (options.hyperlinks) {\n case 'emit':\n emitHyperlinks = true;\n break;\n case 'cache':\n this.hyperlinks = hyperlinks = {};\n break;\n default:\n break;\n }\n if (!emitSheet && !emitHyperlinks && !hyperlinks) {\n return;\n }\n\n // references\n const {sharedStrings, styles, properties} = this.workbook;\n\n // xml position\n let inCols = false;\n let inRows = false;\n let inHyperlinks = false;\n\n // parse state\n let cols = null;\n let row = null;\n let c = null;\n let current = null;\n for await (const events of parseSax(iterator)) {\n const worksheetEvents = [];\n for (const {eventType, value} of events) {\n if (eventType === 'opentag') {\n const node = value;\n if (emitSheet) {\n switch (node.name) {\n case 'cols':\n inCols = true;\n cols = [];\n break;\n case 'sheetData':\n inRows = true;\n break;\n\n case 'col':\n if (inCols) {\n cols.push({\n min: parseInt(node.attributes.min, 10),\n max: parseInt(node.attributes.max, 10),\n width: parseFloat(node.attributes.width),\n styleId: parseInt(node.attributes.style || '0', 10),\n });\n }\n break;\n\n case 'row':\n if (inRows) {\n const r = parseInt(node.attributes.r, 10);\n row = new Row(this, r);\n if (node.attributes.ht) {\n row.height = parseFloat(node.attributes.ht);\n }\n if (node.attributes.s) {\n const styleId = parseInt(node.attributes.s, 10);\n const style = styles.getStyleModel(styleId);\n if (style) {\n row.style = style;\n }\n }\n }\n break;\n case 'c':\n if (row) {\n c = {\n ref: node.attributes.r,\n s: parseInt(node.attributes.s, 10),\n t: node.attributes.t,\n };\n }\n break;\n case 'f':\n if (c) {\n current = c.f = {text: ''};\n }\n break;\n case 'v':\n if (c) {\n current = c.v = {text: ''};\n }\n break;\n case 'is':\n case 't':\n if (c) {\n current = c.v = {text: ''};\n }\n break;\n case 'mergeCell':\n break;\n default:\n break;\n }\n }\n\n // =================================================================\n //\n if (emitHyperlinks || hyperlinks) {\n switch (node.name) {\n case 'hyperlinks':\n inHyperlinks = true;\n break;\n case 'hyperlink':\n if (inHyperlinks) {\n const hyperlink = {\n ref: node.attributes.ref,\n rId: node.attributes['r:id'],\n };\n if (emitHyperlinks) {\n worksheetEvents.push({eventType: 'hyperlink', value: hyperlink});\n } else {\n hyperlinks[hyperlink.ref] = hyperlink;\n }\n }\n break;\n default:\n break;\n }\n }\n } else if (eventType === 'text') {\n // only text data is for sheet values\n if (emitSheet) {\n if (current) {\n current.text += value;\n }\n }\n } else if (eventType === 'closetag') {\n const node = value;\n if (emitSheet) {\n switch (node.name) {\n case 'cols':\n inCols = false;\n this._columns = Column.fromModel(cols);\n break;\n case 'sheetData':\n inRows = false;\n break;\n\n case 'row':\n this._dimensions.expandRow(row);\n worksheetEvents.push({eventType: 'row', value: row});\n row = null;\n break;\n\n case 'c':\n if (row && c) {\n const address = colCache.decodeAddress(c.ref);\n const cell = row.getCell(address.col);\n if (c.s) {\n const style = styles.getStyleModel(c.s);\n if (style) {\n cell.style = style;\n }\n }\n\n if (c.f) {\n const cellValue = {\n formula: c.f.text,\n };\n if (c.v) {\n if (c.t === 'str') {\n cellValue.result = utils.xmlDecode(c.v.text);\n } else {\n cellValue.result = parseFloat(c.v.text);\n }\n }\n cell.value = cellValue;\n } else if (c.v) {\n switch (c.t) {\n case 's': {\n const index = parseInt(c.v.text, 10);\n if (sharedStrings) {\n cell.value = sharedStrings[index];\n } else {\n cell.value = {\n sharedString: index,\n };\n }\n break;\n }\n\n case 'inlineStr':\n case 'str':\n cell.value = utils.xmlDecode(c.v.text);\n break;\n\n case 'e':\n cell.value = {error: c.v.text};\n break;\n\n case 'b':\n cell.value = parseInt(c.v.text, 10) !== 0;\n break;\n\n default:\n if (utils.isDateFmt(cell.numFmt)) {\n cell.value = utils.excelToDate(\n parseFloat(c.v.text),\n properties.model && properties.model.date1904\n );\n } else {\n cell.value = parseFloat(c.v.text);\n }\n break;\n }\n }\n if (hyperlinks) {\n const hyperlink = hyperlinks[c.ref];\n if (hyperlink) {\n cell.text = cell.value;\n cell.value = undefined;\n cell.hyperlink = hyperlink;\n }\n }\n c = null;\n }\n break;\n default:\n break;\n }\n }\n if (emitHyperlinks || hyperlinks) {\n switch (node.name) {\n case 'hyperlinks':\n inHyperlinks = false;\n break;\n default:\n break;\n }\n }\n }\n }\n if (worksheetEvents.length > 0) {\n yield worksheetEvents;\n }\n }\n }\n}\n\nmodule.exports = WorksheetReader;\n"],"mappings":";;AAAA,MAAM;EAACA;AAAY,CAAC,GAAGC,OAAO,CAAC,QAAQ,CAAC;AACxC,MAAMC,QAAQ,GAAGD,OAAO,CAAC,uBAAuB,CAAC;AAEjD,MAAME,CAAC,GAAGF,OAAO,CAAC,wBAAwB,CAAC;AAC3C,MAAMG,KAAK,GAAGH,OAAO,CAAC,mBAAmB,CAAC;AAC1C,MAAMI,QAAQ,GAAGJ,OAAO,CAAC,uBAAuB,CAAC;AACjD,MAAMK,UAAU,GAAGL,OAAO,CAAC,iBAAiB,CAAC;AAE7C,MAAMM,GAAG,GAAGN,OAAO,CAAC,eAAe,CAAC;AACpC,MAAMO,MAAM,GAAGP,OAAO,CAAC,kBAAkB,CAAC;AAE1C,MAAMQ,eAAe,SAAST,YAAY,CAAC;EACzCU,WAAWA,CAAAC,IAAA,EAAoC;IAAA,IAAnC;MAACC,QAAQ;MAAEC,EAAE;MAAEC,QAAQ;MAAEC;IAAO,CAAC,GAAAJ,IAAA;IAC3C,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;;IAE5B;IACA,IAAI,CAACC,IAAI,GAAG,QAAQ,IAAI,CAACH,EAAE,EAAE;;IAE7B;IACA,IAAI,CAACI,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;;IAEf;IACA,IAAI,CAACC,WAAW,GAAG,IAAIb,UAAU,CAAC,CAAC;EACrC;;EAEA;EACA;EACAc,OAAOA,CAAA,EAAG;IACR,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;EAC/C;;EAEA;EACA,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACH,WAAW;EACzB;;EAEA;EACA;;EAEA;EACA,IAAII,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACN,QAAQ;EACtB;;EAEA;EACA;EACAO,SAASA,CAACC,CAAC,EAAE;IACX,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACzB;MACA,MAAMC,GAAG,GAAG,IAAI,CAACR,KAAK,CAACO,CAAC,CAAC;MACzB,IAAIC,GAAG,EAAE;QACP,OAAOA,GAAG;MACZ;;MAEA;MACAD,CAAC,GAAGpB,QAAQ,CAACsB,GAAG,CAACF,CAAC,CAAC;IACrB;IACA,IAAI,CAAC,IAAI,CAACR,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,EAAE;IACpB;IACA,IAAIQ,CAAC,GAAG,IAAI,CAACR,QAAQ,CAACW,MAAM,EAAE;MAC5B,IAAIC,CAAC,GAAG,IAAI,CAACZ,QAAQ,CAACW,MAAM,GAAG,CAAC;MAChC,OAAOC,CAAC,IAAIJ,CAAC,EAAE;QACb,IAAI,CAACR,QAAQ,CAACa,IAAI,CAAC,IAAItB,MAAM,CAAC,IAAI,EAAEqB,CAAC,EAAE,CAAC,CAAC;MAC3C;IACF;IACA,OAAO,IAAI,CAACZ,QAAQ,CAACQ,CAAC,GAAG,CAAC,CAAC;EAC7B;EAEAM,YAAYA,CAACC,GAAG,EAAE;IAChB,OAAO,IAAI,CAACd,KAAK,CAACc,GAAG,CAAC;EACxB;EAEAC,YAAYA,CAACD,GAAG,EAAEE,KAAK,EAAE;IACvB,IAAI,CAAChB,KAAK,CAACc,GAAG,CAAC,GAAGE,KAAK;EACzB;EAEAC,eAAeA,CAACH,GAAG,EAAE;IACnB,OAAO,IAAI,CAACd,KAAK,CAACc,GAAG,CAAC;EACxB;EAEAI,aAAaA,CAACC,CAAC,EAAE;IACflC,CAAC,CAACmC,IAAI,CAAC,IAAI,CAACpB,KAAK,EAAEmB,CAAC,CAAC;EACvB;EAEA,MAAME,IAAIA,CAAA,EAAG;IACX,IAAI;MACF,WAAW,MAAMC,MAAM,IAAI,IAAI,CAACC,KAAK,CAAC,CAAC,EAAE;QACvC,KAAK,MAAM;UAACC,SAAS;UAAER;QAAK,CAAC,IAAIM,MAAM,EAAE;UACvC,IAAI,CAACG,IAAI,CAACD,SAAS,EAAER,KAAK,CAAC;QAC7B;MACF;MACA,IAAI,CAACS,IAAI,CAAC,UAAU,CAAC;IACvB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAI,CAACD,IAAI,CAAC,OAAO,EAAEC,KAAK,CAAC;IAC3B;EACF;EAEA,QAAQC,MAAM,CAACC,aAAa,IAAI;IAC9B,WAAW,MAAMN,MAAM,IAAI,IAAI,CAACC,KAAK,CAAC,CAAC,EAAE;MACvC,KAAK,MAAM;QAACC,SAAS;QAAER;MAAK,CAAC,IAAIM,MAAM,EAAE;QACvC,IAAIE,SAAS,KAAK,KAAK,EAAE;UACvB,MAAMR,KAAK;QACb;MACF;IACF;EACF;EAEA,OAAOO,KAAKA,CAAA,EAAG;IACb,MAAM;MAAC3B,QAAQ;MAAEC;IAAO,CAAC,GAAG,IAAI;IAChC,IAAIgC,SAAS,GAAG,KAAK;IACrB,IAAIC,cAAc,GAAG,KAAK;IAC1B,IAAIC,UAAU,GAAG,IAAI;IACrB,QAAQlC,OAAO,CAACmC,UAAU;MACxB,KAAK,MAAM;QACTH,SAAS,GAAG,IAAI;QAChB;MACF,KAAK,MAAM;QACT;MACF;QACE;IACJ;IACA,QAAQhC,OAAO,CAACkC,UAAU;MACxB,KAAK,MAAM;QACTD,cAAc,GAAG,IAAI;QACrB;MACF,KAAK,OAAO;QACV,IAAI,CAACC,UAAU,GAAGA,UAAU,GAAG,CAAC,CAAC;QACjC;MACF;QACE;IACJ;IACA,IAAI,CAACF,SAAS,IAAI,CAACC,cAAc,IAAI,CAACC,UAAU,EAAE;MAChD;IACF;;IAEA;IACA,MAAM;MAACE,aAAa;MAAEC,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACzC,QAAQ;;IAEzD;IACA,IAAI0C,MAAM,GAAG,KAAK;IAClB,IAAIC,MAAM,GAAG,KAAK;IAClB,IAAIC,YAAY,GAAG,KAAK;;IAExB;IACA,IAAIC,IAAI,GAAG,IAAI;IACf,IAAIC,GAAG,GAAG,IAAI;IACd,IAAIjC,CAAC,GAAG,IAAI;IACZ,IAAIkC,OAAO,GAAG,IAAI;IAClB,WAAW,MAAMnB,MAAM,IAAItC,QAAQ,CAACY,QAAQ,CAAC,EAAE;MAC7C,MAAM8C,eAAe,GAAG,EAAE;MAC1B,KAAK,MAAM;QAAClB,SAAS;QAAER;MAAK,CAAC,IAAIM,MAAM,EAAE;QACvC,IAAIE,SAAS,KAAK,SAAS,EAAE;UAC3B,MAAMmB,IAAI,GAAG3B,KAAK;UAClB,IAAIa,SAAS,EAAE;YACb,QAAQc,IAAI,CAAC7C,IAAI;cACf,KAAK,MAAM;gBACTsC,MAAM,GAAG,IAAI;gBACbG,IAAI,GAAG,EAAE;gBACT;cACF,KAAK,WAAW;gBACdF,MAAM,GAAG,IAAI;gBACb;cAEF,KAAK,KAAK;gBACR,IAAID,MAAM,EAAE;kBACVG,IAAI,CAAC3B,IAAI,CAAC;oBACRgC,GAAG,EAAEC,QAAQ,CAACF,IAAI,CAACG,UAAU,CAACF,GAAG,EAAE,EAAE,CAAC;oBACtCG,GAAG,EAAEF,QAAQ,CAACF,IAAI,CAACG,UAAU,CAACC,GAAG,EAAE,EAAE,CAAC;oBACtCC,KAAK,EAAEC,UAAU,CAACN,IAAI,CAACG,UAAU,CAACE,KAAK,CAAC;oBACxCE,OAAO,EAAEL,QAAQ,CAACF,IAAI,CAACG,UAAU,CAACK,KAAK,IAAI,GAAG,EAAE,EAAE;kBACpD,CAAC,CAAC;gBACJ;gBACA;cAEF,KAAK,KAAK;gBACR,IAAId,MAAM,EAAE;kBACV,MAAMe,CAAC,GAAGP,QAAQ,CAACF,IAAI,CAACG,UAAU,CAACM,CAAC,EAAE,EAAE,CAAC;kBACzCZ,GAAG,GAAG,IAAInD,GAAG,CAAC,IAAI,EAAE+D,CAAC,CAAC;kBACtB,IAAIT,IAAI,CAACG,UAAU,CAACO,EAAE,EAAE;oBACtBb,GAAG,CAACc,MAAM,GAAGL,UAAU,CAACN,IAAI,CAACG,UAAU,CAACO,EAAE,CAAC;kBAC7C;kBACA,IAAIV,IAAI,CAACG,UAAU,CAACS,CAAC,EAAE;oBACrB,MAAML,OAAO,GAAGL,QAAQ,CAACF,IAAI,CAACG,UAAU,CAACS,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAMJ,KAAK,GAAGjB,MAAM,CAACsB,aAAa,CAACN,OAAO,CAAC;oBAC3C,IAAIC,KAAK,EAAE;sBACTX,GAAG,CAACW,KAAK,GAAGA,KAAK;oBACnB;kBACF;gBACF;gBACA;cACF,KAAK,GAAG;gBACN,IAAIX,GAAG,EAAE;kBACPjC,CAAC,GAAG;oBACFkD,GAAG,EAAEd,IAAI,CAACG,UAAU,CAACM,CAAC;oBACtBG,CAAC,EAAEV,QAAQ,CAACF,IAAI,CAACG,UAAU,CAACS,CAAC,EAAE,EAAE,CAAC;oBAClCG,CAAC,EAAEf,IAAI,CAACG,UAAU,CAACY;kBACrB,CAAC;gBACH;gBACA;cACF,KAAK,GAAG;gBACN,IAAInD,CAAC,EAAE;kBACLkC,OAAO,GAAGlC,CAAC,CAACY,CAAC,GAAG;oBAACwC,IAAI,EAAE;kBAAE,CAAC;gBAC5B;gBACA;cACF,KAAK,GAAG;gBACN,IAAIpD,CAAC,EAAE;kBACLkC,OAAO,GAAGlC,CAAC,CAACqD,CAAC,GAAG;oBAACD,IAAI,EAAE;kBAAE,CAAC;gBAC5B;gBACA;cACF,KAAK,IAAI;cACT,KAAK,GAAG;gBACN,IAAIpD,CAAC,EAAE;kBACLkC,OAAO,GAAGlC,CAAC,CAACqD,CAAC,GAAG;oBAACD,IAAI,EAAE;kBAAE,CAAC;gBAC5B;gBACA;cACF,KAAK,WAAW;gBACd;cACF;gBACE;YACJ;UACF;;UAEA;UACA;UACA,IAAI7B,cAAc,IAAIC,UAAU,EAAE;YAChC,QAAQY,IAAI,CAAC7C,IAAI;cACf,KAAK,YAAY;gBACfwC,YAAY,GAAG,IAAI;gBACnB;cACF,KAAK,WAAW;gBACd,IAAIA,YAAY,EAAE;kBAChB,MAAMuB,SAAS,GAAG;oBAChBJ,GAAG,EAAEd,IAAI,CAACG,UAAU,CAACW,GAAG;oBACxBK,GAAG,EAAEnB,IAAI,CAACG,UAAU,CAAC,MAAM;kBAC7B,CAAC;kBACD,IAAIhB,cAAc,EAAE;oBAClBY,eAAe,CAAC9B,IAAI,CAAC;sBAACY,SAAS,EAAE,WAAW;sBAAER,KAAK,EAAE6C;oBAAS,CAAC,CAAC;kBAClE,CAAC,MAAM;oBACL9B,UAAU,CAAC8B,SAAS,CAACJ,GAAG,CAAC,GAAGI,SAAS;kBACvC;gBACF;gBACA;cACF;gBACE;YACJ;UACF;QACF,CAAC,MAAM,IAAIrC,SAAS,KAAK,MAAM,EAAE;UAC/B;UACA,IAAIK,SAAS,EAAE;YACb,IAAIY,OAAO,EAAE;cACXA,OAAO,CAACkB,IAAI,IAAI3C,KAAK;YACvB;UACF;QACF,CAAC,MAAM,IAAIQ,SAAS,KAAK,UAAU,EAAE;UACnC,MAAMmB,IAAI,GAAG3B,KAAK;UAClB,IAAIa,SAAS,EAAE;YACb,QAAQc,IAAI,CAAC7C,IAAI;cACf,KAAK,MAAM;gBACTsC,MAAM,GAAG,KAAK;gBACd,IAAI,CAACrC,QAAQ,GAAGT,MAAM,CAACyE,SAAS,CAACxB,IAAI,CAAC;gBACtC;cACF,KAAK,WAAW;gBACdF,MAAM,GAAG,KAAK;gBACd;cAEF,KAAK,KAAK;gBACR,IAAI,CAACpC,WAAW,CAAC+D,SAAS,CAACxB,GAAG,CAAC;gBAC/BE,eAAe,CAAC9B,IAAI,CAAC;kBAACY,SAAS,EAAE,KAAK;kBAAER,KAAK,EAAEwB;gBAAG,CAAC,CAAC;gBACpDA,GAAG,GAAG,IAAI;gBACV;cAEF,KAAK,GAAG;gBACN,IAAIA,GAAG,IAAIjC,CAAC,EAAE;kBACZ,MAAM0D,OAAO,GAAG9E,QAAQ,CAAC+E,aAAa,CAAC3D,CAAC,CAACkD,GAAG,CAAC;kBAC7C,MAAMU,IAAI,GAAG3B,GAAG,CAAC4B,OAAO,CAACH,OAAO,CAACzD,GAAG,CAAC;kBACrC,IAAID,CAAC,CAACgD,CAAC,EAAE;oBACP,MAAMJ,KAAK,GAAGjB,MAAM,CAACsB,aAAa,CAACjD,CAAC,CAACgD,CAAC,CAAC;oBACvC,IAAIJ,KAAK,EAAE;sBACTgB,IAAI,CAAChB,KAAK,GAAGA,KAAK;oBACpB;kBACF;kBAEA,IAAI5C,CAAC,CAACY,CAAC,EAAE;oBACP,MAAMkD,SAAS,GAAG;sBAChBC,OAAO,EAAE/D,CAAC,CAACY,CAAC,CAACwC;oBACf,CAAC;oBACD,IAAIpD,CAAC,CAACqD,CAAC,EAAE;sBACP,IAAIrD,CAAC,CAACmD,CAAC,KAAK,KAAK,EAAE;wBACjBW,SAAS,CAACE,MAAM,GAAGrF,KAAK,CAACsF,SAAS,CAACjE,CAAC,CAACqD,CAAC,CAACD,IAAI,CAAC;sBAC9C,CAAC,MAAM;wBACLU,SAAS,CAACE,MAAM,GAAGtB,UAAU,CAAC1C,CAAC,CAACqD,CAAC,CAACD,IAAI,CAAC;sBACzC;oBACF;oBACAQ,IAAI,CAACnD,KAAK,GAAGqD,SAAS;kBACxB,CAAC,MAAM,IAAI9D,CAAC,CAACqD,CAAC,EAAE;oBACd,QAAQrD,CAAC,CAACmD,CAAC;sBACT,KAAK,GAAG;wBAAE;0BACR,MAAMe,KAAK,GAAG5B,QAAQ,CAACtC,CAAC,CAACqD,CAAC,CAACD,IAAI,EAAE,EAAE,CAAC;0BACpC,IAAI1B,aAAa,EAAE;4BACjBkC,IAAI,CAACnD,KAAK,GAAGiB,aAAa,CAACwC,KAAK,CAAC;0BACnC,CAAC,MAAM;4BACLN,IAAI,CAACnD,KAAK,GAAG;8BACX0D,YAAY,EAAED;4BAChB,CAAC;0BACH;0BACA;wBACF;sBAEA,KAAK,WAAW;sBAChB,KAAK,KAAK;wBACRN,IAAI,CAACnD,KAAK,GAAG9B,KAAK,CAACsF,SAAS,CAACjE,CAAC,CAACqD,CAAC,CAACD,IAAI,CAAC;wBACtC;sBAEF,KAAK,GAAG;wBACNQ,IAAI,CAACnD,KAAK,GAAG;0BAACU,KAAK,EAAEnB,CAAC,CAACqD,CAAC,CAACD;wBAAI,CAAC;wBAC9B;sBAEF,KAAK,GAAG;wBACNQ,IAAI,CAACnD,KAAK,GAAG6B,QAAQ,CAACtC,CAAC,CAACqD,CAAC,CAACD,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC;wBACzC;sBAEF;wBACE,IAAIzE,KAAK,CAACyF,SAAS,CAACR,IAAI,CAACS,MAAM,CAAC,EAAE;0BAChCT,IAAI,CAACnD,KAAK,GAAG9B,KAAK,CAAC2F,WAAW,CAC5B5B,UAAU,CAAC1C,CAAC,CAACqD,CAAC,CAACD,IAAI,CAAC,EACpBxB,UAAU,CAAC2C,KAAK,IAAI3C,UAAU,CAAC2C,KAAK,CAACC,QACvC,CAAC;wBACH,CAAC,MAAM;0BACLZ,IAAI,CAACnD,KAAK,GAAGiC,UAAU,CAAC1C,CAAC,CAACqD,CAAC,CAACD,IAAI,CAAC;wBACnC;wBACA;oBACJ;kBACF;kBACA,IAAI5B,UAAU,EAAE;oBACd,MAAM8B,SAAS,GAAG9B,UAAU,CAACxB,CAAC,CAACkD,GAAG,CAAC;oBACnC,IAAII,SAAS,EAAE;sBACbM,IAAI,CAACR,IAAI,GAAGQ,IAAI,CAACnD,KAAK;sBACtBmD,IAAI,CAACnD,KAAK,GAAGgE,SAAS;sBACtBb,IAAI,CAACN,SAAS,GAAGA,SAAS;oBAC5B;kBACF;kBACAtD,CAAC,GAAG,IAAI;gBACV;gBACA;cACF;gBACE;YACJ;UACF;UACA,IAAIuB,cAAc,IAAIC,UAAU,EAAE;YAChC,QAAQY,IAAI,CAAC7C,IAAI;cACf,KAAK,YAAY;gBACfwC,YAAY,GAAG,KAAK;gBACpB;cACF;gBACE;YACJ;UACF;QACF;MACF;MACA,IAAII,eAAe,CAAChC,MAAM,GAAG,CAAC,EAAE;QAC9B,MAAMgC,eAAe;MACvB;IACF;EACF;AACF;AAEAuC,MAAM,CAACC,OAAO,GAAG3F,eAAe","ignoreList":[]}
@@ -1,10 +1,5 @@
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
3
  const _ = require('../../utils/under-dash');
9
4
  const RelType = require('../../xlsx/rel-type');
10
5
  const colCache = require('../../utils/col-cache');
@@ -76,7 +71,7 @@ class WorksheetWriter {
76
71
  this.id = options.id;
77
72
 
78
73
  // and a name
79
- this.name = options.name || "Sheet".concat(this.id);
74
+ this.name = options.name || `Sheet${this.id}`;
80
75
 
81
76
  // add a state
82
77
  this.state = options.state || 'visible';
@@ -195,7 +190,7 @@ class WorksheetWriter {
195
190
  get stream() {
196
191
  if (!this._stream) {
197
192
  // eslint-disable-next-line no-underscore-dangle
198
- this._stream = this._workbook._openStream("/xl/worksheets/sheet".concat(this.id, ".xml"));
193
+ this._stream = this._workbook._openStream(`/xl/worksheets/sheet${this.id}.xml`);
199
194
 
200
195
  // pause stream to prevent 'data' events
201
196
  this._stream.pause();
@@ -579,9 +574,9 @@ class WorksheetWriter {
579
574
  _writeMergeCells() {
580
575
  if (this._merges.length) {
581
576
  xmlBuffer.reset();
582
- xmlBuffer.addText("<mergeCells count=\"".concat(this._merges.length, "\">"));
577
+ xmlBuffer.addText(`<mergeCells count="${this._merges.length}">`);
583
578
  this._merges.forEach(merge => {
584
- xmlBuffer.addText("<mergeCell ref=\"".concat(merge, "\"/>"));
579
+ xmlBuffer.addText(`<mergeCell ref="${merge}"/>`);
585
580
  });
586
581
  xmlBuffer.addText('</mergeCells>');
587
582
  this.stream.write(xmlBuffer);
@@ -624,12 +619,13 @@ class WorksheetWriter {
624
619
  if (this._background.imageId !== undefined) {
625
620
  const image = this._workbook.getImage(this._background.imageId);
626
621
  const pictureId = this._sheetRelsWriter.addMedia({
627
- Target: "../media/".concat(image.name),
622
+ Target: `../media/${image.name}`,
628
623
  Type: RelType.Image
629
624
  });
630
- this._background = _objectSpread(_objectSpread({}, this._background), {}, {
625
+ this._background = {
626
+ ...this._background,
631
627
  rId: pictureId
632
- });
628
+ };
633
629
  }
634
630
  this.stream.write(xform.picture.toXml({
635
631
  rId: this._background.rId
@@ -639,7 +635,7 @@ class WorksheetWriter {
639
635
  _writeLegacyData() {
640
636
  if (this.hasComments) {
641
637
  xmlBuffer.reset();
642
- xmlBuffer.addText("<legacyDrawing r:id=\"".concat(this._sheetCommentsWriter.vmlRelId, "\"/>"));
638
+ xmlBuffer.addText(`<legacyDrawing r:id="${this._sheetCommentsWriter.vmlRelId}"/>`);
643
639
  this.stream.write(xmlBuffer);
644
640
  }
645
641
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-writer.js","names":["_","require","RelType","colCache","Encryptor","Dimensions","StringBuf","Row","Column","SheetRelsWriter","SheetCommentsWriter","DataValidations","xmlBuffer","ListXform","DataValidationsXform","SheetPropertiesXform","SheetFormatPropertiesXform","ColXform","RowXform","HyperlinkXform","SheetViewXform","SheetProtectionXform","PageMarginsXform","PageSetupXform","AutoFilterXform","PictureXform","ConditionalFormattingsXform","HeaderFooterXform","RowBreaksXform","xform","dataValidations","sheetProperties","sheetFormatProperties","columns","tag","length","childXform","row","hyperlinks","sheetViews","sheetProtection","pageMargins","pageSeteup","autoFilter","picture","conditionalFormattings","headerFooter","rowBreaks","WorksheetWriter","constructor","options","id","name","concat","state","_rows","_columns","_keys","_merges","add","_sheetRelsWriter","_sheetCommentsWriter","_dimensions","_rowZero","committed","_formulae","_siFormulae","conditionalFormatting","properties","Object","assign","defaultRowHeight","dyDescent","outlineLevelCol","outlineLevelRow","differentFirst","differentOddEven","oddHeader","oddFooter","evenHeader","evenFooter","firstHeader","firstFooter","pageSetup","margins","left","right","top","bottom","header","footer","orientation","horizontalDpi","verticalDpi","fitToPage","fitToWidth","fitToHeight","scale","pageOrder","blackAndWhite","draft","cellComments","errors","paperSize","undefined","showRowColHeaders","showGridLines","horizontalCentered","verticalCentered","colBreaks","useSharedStrings","_workbook","workbook","hasComments","_views","views","_media","_writeOpenWorksheet","startedData","stream","_stream","_openStream","pause","destroy","Error","commit","forEach","cRow","_writeRow","_writeOpenSheetData","_writeCloseSheetData","_writeAutoFilter","_writeMergeCells","_writeHyperlinks","_writeConditionalFormatting","_writeDataValidations","_writeSheetProtection","_writePageMargins","_writePageSetup","_writeBackground","_writeHeaderFooter","_writeRowBreaks","_writeLegacyData","_writeCloseWorksheet","end","dimensions","value","_headerRowCount","reduce","pv","cv","headerCount","headers","Math","max","count","defn","column","push","getColumnKey","key","setColumnKey","deleteColumnKey","eachColumnKey","f","each","getColumn","c","col","l2n","n","_nextRow","eachRow","iteratee","includeEmpty","i","getRow","hasValues","number","_commitRow","found","shift","lastRow","findRow","rowNumber","index","addRow","values","findCell","r","address","getAddress","getCell","getCellEx","mergeCells","_len","arguments","cells","Array","_key","merge","intersects","master","j","addConditionalFormatting","cf","removeConditionalFormatting","filter","splice","Function","addBackgroundImage","imageId","_background","getBackgroundImageId","protect","password","Promise","resolve","sheet","spinCount","Number","isFinite","round","algorithmName","saltValue","randomBytes","toString","hashValue","convertPasswordToHash","unprotect","_write","text","reset","addText","write","_writeSheetProperties","xmlBuf","sheetPropertiesModel","outlineProperties","tabColor","toXml","_writeSheetFormatProperties","sheetFormatPropertiesModel","defaultColWidth","_writeColumns","cols","toModel","prepare","styles","height","model","sharedStrings","hyperlinksProxy","merges","formulae","siFormulae","comments","addComments","_hyperlinks","image","getImage","pictureId","addMedia","Target","Type","Image","_objectSpread","rId","vmlRelId","_writeDimensions","module","exports"],"sources":["../../../../lib/stream/xlsx/worksheet-writer.js"],"sourcesContent":["const _ = require('../../utils/under-dash');\n\nconst RelType = require('../../xlsx/rel-type');\n\nconst colCache = require('../../utils/col-cache');\nconst Encryptor = require('../../utils/encryptor');\nconst Dimensions = require('../../doc/range');\nconst StringBuf = require('../../utils/string-buf');\n\nconst Row = require('../../doc/row');\nconst Column = require('../../doc/column');\n\nconst SheetRelsWriter = require('./sheet-rels-writer');\nconst SheetCommentsWriter = require('./sheet-comments-writer');\nconst DataValidations = require('../../doc/data-validations');\n\nconst xmlBuffer = new StringBuf();\n\n// ============================================================================================\n// Xforms\nconst ListXform = require('../../xlsx/xform/list-xform');\nconst DataValidationsXform = require('../../xlsx/xform/sheet/data-validations-xform');\nconst SheetPropertiesXform = require('../../xlsx/xform/sheet/sheet-properties-xform');\nconst SheetFormatPropertiesXform = require('../../xlsx/xform/sheet/sheet-format-properties-xform');\nconst ColXform = require('../../xlsx/xform/sheet/col-xform');\nconst RowXform = require('../../xlsx/xform/sheet/row-xform');\nconst HyperlinkXform = require('../../xlsx/xform/sheet/hyperlink-xform');\nconst SheetViewXform = require('../../xlsx/xform/sheet/sheet-view-xform');\nconst SheetProtectionXform = require('../../xlsx/xform/sheet/sheet-protection-xform');\nconst PageMarginsXform = require('../../xlsx/xform/sheet/page-margins-xform');\nconst PageSetupXform = require('../../xlsx/xform/sheet/page-setup-xform');\nconst AutoFilterXform = require('../../xlsx/xform/sheet/auto-filter-xform');\nconst PictureXform = require('../../xlsx/xform/sheet/picture-xform');\nconst ConditionalFormattingsXform = require('../../xlsx/xform/sheet/cf/conditional-formattings-xform');\nconst HeaderFooterXform = require('../../xlsx/xform/sheet/header-footer-xform');\nconst RowBreaksXform = require('../../xlsx/xform/sheet/row-breaks-xform');\n\n// since prepare and render are functional, we can use singletons\nconst xform = {\n dataValidations: new DataValidationsXform(),\n sheetProperties: new SheetPropertiesXform(),\n sheetFormatProperties: new SheetFormatPropertiesXform(),\n columns: new ListXform({tag: 'cols', length: false, childXform: new ColXform()}),\n row: new RowXform(),\n hyperlinks: new ListXform({tag: 'hyperlinks', length: false, childXform: new HyperlinkXform()}),\n sheetViews: new ListXform({tag: 'sheetViews', length: false, childXform: new SheetViewXform()}),\n sheetProtection: new SheetProtectionXform(),\n pageMargins: new PageMarginsXform(),\n pageSeteup: new PageSetupXform(),\n autoFilter: new AutoFilterXform(),\n picture: new PictureXform(),\n conditionalFormattings: new ConditionalFormattingsXform(),\n headerFooter: new HeaderFooterXform(),\n rowBreaks: new RowBreaksXform(),\n};\n\n// ============================================================================================\n\nclass WorksheetWriter {\n constructor(options) {\n // in a workbook, each sheet will have a number\n this.id = options.id;\n\n // and a name\n this.name = options.name || `Sheet${this.id}`;\n\n // add a state\n this.state = options.state || 'visible';\n\n // rows are stored here while they need to be worked on.\n // when they are committed, they will be deleted.\n this._rows = [];\n\n // column definitions\n this._columns = null;\n\n // column keys (addRow convenience): key ==> this._columns index\n this._keys = {};\n\n // keep a record of all row and column pageBreaks\n this._merges = [];\n this._merges.add = function() {}; // ignore cell instruction\n\n // keep record of all hyperlinks\n this._sheetRelsWriter = new SheetRelsWriter(options);\n\n this._sheetCommentsWriter = new SheetCommentsWriter(this, this._sheetRelsWriter, options);\n\n // keep a record of dimensions\n this._dimensions = new Dimensions();\n\n // first uncommitted row\n this._rowZero = 1;\n\n // committed flag\n this.committed = false;\n\n // for data validations\n this.dataValidations = new DataValidations();\n\n // for sharing formulae\n this._formulae = {};\n this._siFormulae = 0;\n\n // keep a record of conditionalFormattings\n this.conditionalFormatting = [];\n\n // keep a record of all row and column pageBreaks\n this.rowBreaks = [];\n\n // for default row height, outline levels, etc\n this.properties = Object.assign(\n {},\n {\n defaultRowHeight: 15,\n dyDescent: 55,\n outlineLevelCol: 0,\n outlineLevelRow: 0,\n },\n options.properties\n );\n\n this.headerFooter = Object.assign(\n {},\n {\n differentFirst: false,\n differentOddEven: false,\n oddHeader: null,\n oddFooter: null,\n evenHeader: null,\n evenFooter: null,\n firstHeader: null,\n firstFooter: null,\n },\n options.headerFooter\n );\n\n // for all things printing\n this.pageSetup = Object.assign(\n {},\n {\n margins: {left: 0.7, right: 0.7, top: 0.75, bottom: 0.75, header: 0.3, footer: 0.3},\n orientation: 'portrait',\n horizontalDpi: 4294967295,\n verticalDpi: 4294967295,\n fitToPage: !!(\n options.pageSetup &&\n (options.pageSetup.fitToWidth || options.pageSetup.fitToHeight) &&\n !options.pageSetup.scale\n ),\n pageOrder: 'downThenOver',\n blackAndWhite: false,\n draft: false,\n cellComments: 'None',\n errors: 'displayed',\n scale: 100,\n fitToWidth: 1,\n fitToHeight: 1,\n paperSize: undefined,\n showRowColHeaders: false,\n showGridLines: false,\n horizontalCentered: false,\n verticalCentered: false,\n rowBreaks: null,\n colBreaks: null,\n },\n options.pageSetup\n );\n\n // using shared strings creates a smaller xlsx file but may use more memory\n this.useSharedStrings = options.useSharedStrings || false;\n\n this._workbook = options.workbook;\n\n this.hasComments = false;\n\n // views\n this._views = options.views || [];\n\n // auto filter\n this.autoFilter = options.autoFilter || null;\n\n this._media = [];\n\n // worksheet protection\n this.sheetProtection = null;\n\n // start writing to stream now\n this._writeOpenWorksheet();\n\n this.startedData = false;\n }\n\n get workbook() {\n return this._workbook;\n }\n\n get stream() {\n if (!this._stream) {\n // eslint-disable-next-line no-underscore-dangle\n this._stream = this._workbook._openStream(`/xl/worksheets/sheet${this.id}.xml`);\n\n // pause stream to prevent 'data' events\n this._stream.pause();\n }\n return this._stream;\n }\n\n // destroy - not a valid operation for a streaming writer\n // even though some streamers might be able to, it's a bad idea.\n destroy() {\n throw new Error('Invalid Operation: destroy');\n }\n\n commit() {\n if (this.committed) {\n return;\n }\n // commit all rows\n this._rows.forEach(cRow => {\n if (cRow) {\n // write the row to the stream\n this._writeRow(cRow);\n }\n });\n\n // we _cannot_ accept new rows from now on\n this._rows = null;\n\n if (!this.startedData) {\n this._writeOpenSheetData();\n }\n this._writeCloseSheetData();\n this._writeAutoFilter();\n this._writeMergeCells();\n\n // for some reason, Excel can't handle dimensions at the bottom of the file\n // this._writeDimensions();\n\n this._writeHyperlinks();\n this._writeConditionalFormatting();\n this._writeDataValidations();\n this._writeSheetProtection();\n this._writePageMargins();\n this._writePageSetup();\n this._writeBackground();\n this._writeHeaderFooter();\n this._writeRowBreaks();\n\n // Legacy Data tag for comments\n this._writeLegacyData();\n\n this._writeCloseWorksheet();\n // signal end of stream to workbook\n this.stream.end();\n\n this._sheetCommentsWriter.commit();\n // also commit the hyperlinks if any\n this._sheetRelsWriter.commit();\n\n this.committed = true;\n }\n\n // return the current dimensions of the writer\n get dimensions() {\n return this._dimensions;\n }\n\n get views() {\n return this._views;\n }\n\n // =========================================================================\n // Columns\n\n // get the current columns array.\n get columns() {\n return this._columns;\n }\n\n // set the columns from an array of column definitions.\n // Note: any headers defined will overwrite existing values.\n set columns(value) {\n // calculate max header row count\n this._headerRowCount = value.reduce((pv, cv) => {\n const headerCount = (cv.header && 1) || (cv.headers && cv.headers.length) || 0;\n return Math.max(pv, headerCount);\n }, 0);\n\n // construct Column objects\n let count = 1;\n const columns = (this._columns = []);\n value.forEach(defn => {\n const column = new Column(this, count++, false);\n columns.push(column);\n column.defn = defn;\n });\n }\n\n getColumnKey(key) {\n return this._keys[key];\n }\n\n setColumnKey(key, value) {\n this._keys[key] = value;\n }\n\n deleteColumnKey(key) {\n delete this._keys[key];\n }\n\n eachColumnKey(f) {\n _.each(this._keys, f);\n }\n\n // get a single column by col number. If it doesn't exist, it and any gaps before it\n // are created.\n getColumn(c) {\n if (typeof c === 'string') {\n // if it matches a key'd column, return that\n const col = this._keys[c];\n if (col) return col;\n\n // otherwise, assume letter\n c = colCache.l2n(c);\n }\n if (!this._columns) {\n this._columns = [];\n }\n if (c > this._columns.length) {\n let n = this._columns.length + 1;\n while (n <= c) {\n this._columns.push(new Column(this, n++));\n }\n }\n return this._columns[c - 1];\n }\n\n // =========================================================================\n // Rows\n get _nextRow() {\n return this._rowZero + this._rows.length;\n }\n\n // iterate over every uncommitted row in the worksheet, including maybe empty rows\n eachRow(options, iteratee) {\n if (!iteratee) {\n iteratee = options;\n options = undefined;\n }\n if (options && options.includeEmpty) {\n const n = this._nextRow;\n for (let i = this._rowZero; i < n; i++) {\n iteratee(this.getRow(i), i);\n }\n } else {\n this._rows.forEach(row => {\n if (row.hasValues) {\n iteratee(row, row.number);\n }\n });\n }\n }\n\n _commitRow(cRow) {\n // since rows must be written in order, we commit all rows up till and including cRow\n let found = false;\n while (this._rows.length && !found) {\n const row = this._rows.shift();\n this._rowZero++;\n if (row) {\n this._writeRow(row);\n found = row.number === cRow.number;\n this._rowZero = row.number + 1;\n }\n }\n }\n\n get lastRow() {\n // returns last uncommitted row\n if (this._rows.length) {\n return this._rows[this._rows.length - 1];\n }\n return undefined;\n }\n\n // find a row (if exists) by row number\n findRow(rowNumber) {\n const index = rowNumber - this._rowZero;\n return this._rows[index];\n }\n\n getRow(rowNumber) {\n const index = rowNumber - this._rowZero;\n\n // may fail if rows have been comitted\n if (index < 0) {\n throw new Error('Out of bounds: this row has been committed');\n }\n let row = this._rows[index];\n if (!row) {\n this._rows[index] = row = new Row(this, rowNumber);\n }\n return row;\n }\n\n addRow(value) {\n const row = new Row(this, this._nextRow);\n this._rows[row.number - this._rowZero] = row;\n row.values = value;\n return row;\n }\n\n // ================================================================================\n // Cells\n\n // returns the cell at [r,c] or address given by r. If not found, return undefined\n findCell(r, c) {\n const address = colCache.getAddress(r, c);\n const row = this.findRow(address.row);\n return row ? row.findCell(address.column) : undefined;\n }\n\n // return the cell at [r,c] or address given by r. If not found, create a new one.\n getCell(r, c) {\n const address = colCache.getAddress(r, c);\n const row = this.getRow(address.row);\n return row.getCellEx(address);\n }\n\n mergeCells(...cells) {\n // may fail if rows have been comitted\n const dimensions = new Dimensions(cells);\n\n // check cells aren't already merged\n this._merges.forEach(merge => {\n if (merge.intersects(dimensions)) {\n throw new Error('Cannot merge already merged cells');\n }\n });\n\n // apply merge\n const master = this.getCell(dimensions.top, dimensions.left);\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\n for (let j = dimensions.left; j <= dimensions.right; j++) {\n if (i > dimensions.top || j > dimensions.left) {\n this.getCell(i, j).merge(master);\n }\n }\n }\n\n // index merge\n this._merges.push(dimensions);\n }\n\n // ===========================================================================\n // Conditional Formatting\n addConditionalFormatting(cf) {\n this.conditionalFormatting.push(cf);\n }\n\n removeConditionalFormatting(filter) {\n if (typeof filter === 'number') {\n this.conditionalFormatting.splice(filter, 1);\n } else if (filter instanceof Function) {\n this.conditionalFormatting = this.conditionalFormatting.filter(filter);\n } else {\n this.conditionalFormatting = [];\n }\n }\n\n // =========================================================================\n\n addBackgroundImage(imageId) {\n this._background = {\n imageId,\n };\n }\n\n getBackgroundImageId() {\n return this._background && this._background.imageId;\n }\n\n // =========================================================================\n // Worksheet Protection\n protect(password, options) {\n // TODO: make this function truly async\n // perhaps marshal to worker thread or something\n return new Promise(resolve => {\n this.sheetProtection = {\n sheet: true,\n };\n if (options && 'spinCount' in options) {\n // force spinCount to be integer >= 0\n options.spinCount = Number.isFinite(options.spinCount) ? Math.round(Math.max(0, options.spinCount)) : 100000;\n }\n if (password) {\n this.sheetProtection.algorithmName = 'SHA-512';\n this.sheetProtection.saltValue = Encryptor.randomBytes(16).toString('base64');\n this.sheetProtection.spinCount = options && 'spinCount' in options ? options.spinCount : 100000; // allow user specified spinCount\n this.sheetProtection.hashValue = Encryptor.convertPasswordToHash(\n password,\n 'SHA512',\n this.sheetProtection.saltValue,\n this.sheetProtection.spinCount\n );\n }\n if (options) {\n this.sheetProtection = Object.assign(this.sheetProtection, options);\n if (!password && 'spinCount' in options) {\n delete this.sheetProtection.spinCount;\n }\n }\n resolve();\n });\n }\n\n unprotect() {\n this.sheetProtection = null;\n }\n\n // ================================================================================\n\n _write(text) {\n xmlBuffer.reset();\n xmlBuffer.addText(text);\n this.stream.write(xmlBuffer);\n }\n\n _writeSheetProperties(xmlBuf, properties, pageSetup) {\n const sheetPropertiesModel = {\n outlineProperties: properties && properties.outlineProperties,\n tabColor: properties && properties.tabColor,\n pageSetup:\n pageSetup && pageSetup.fitToPage\n ? {\n fitToPage: pageSetup.fitToPage,\n }\n : undefined,\n };\n\n xmlBuf.addText(xform.sheetProperties.toXml(sheetPropertiesModel));\n }\n\n _writeSheetFormatProperties(xmlBuf, properties) {\n const sheetFormatPropertiesModel = properties\n ? {\n defaultRowHeight: properties.defaultRowHeight,\n dyDescent: properties.dyDescent,\n outlineLevelCol: properties.outlineLevelCol,\n outlineLevelRow: properties.outlineLevelRow,\n }\n : undefined;\n if (properties.defaultColWidth) {\n sheetFormatPropertiesModel.defaultColWidth = properties.defaultColWidth;\n }\n\n xmlBuf.addText(xform.sheetFormatProperties.toXml(sheetFormatPropertiesModel));\n }\n\n _writeOpenWorksheet() {\n xmlBuffer.reset();\n\n xmlBuffer.addText('<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>');\n xmlBuffer.addText(\n '<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"' +\n ' xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"' +\n ' xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"' +\n ' mc:Ignorable=\"x14ac\"' +\n ' xmlns:x14ac=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\">'\n );\n\n this._writeSheetProperties(xmlBuffer, this.properties, this.pageSetup);\n\n xmlBuffer.addText(xform.sheetViews.toXml(this.views));\n\n this._writeSheetFormatProperties(xmlBuffer, this.properties);\n\n this.stream.write(xmlBuffer);\n }\n\n _writeColumns() {\n const cols = Column.toModel(this.columns);\n if (cols) {\n xform.columns.prepare(cols, {styles: this._workbook.styles});\n this.stream.write(xform.columns.toXml(cols));\n }\n }\n\n _writeOpenSheetData() {\n this._write('<sheetData>');\n }\n\n _writeRow(row) {\n if (!this.startedData) {\n this._writeColumns();\n this._writeOpenSheetData();\n this.startedData = true;\n }\n\n if (row.hasValues || row.height) {\n const {model} = row;\n const options = {\n styles: this._workbook.styles,\n sharedStrings: this.useSharedStrings ? this._workbook.sharedStrings : undefined,\n hyperlinks: this._sheetRelsWriter.hyperlinksProxy,\n merges: this._merges,\n formulae: this._formulae,\n siFormulae: this._siFormulae,\n comments: [],\n };\n xform.row.prepare(model, options);\n this.stream.write(xform.row.toXml(model));\n\n if (options.comments.length) {\n this.hasComments = true;\n this._sheetCommentsWriter.addComments(options.comments);\n }\n }\n }\n\n _writeCloseSheetData() {\n this._write('</sheetData>');\n }\n\n _writeMergeCells() {\n if (this._merges.length) {\n xmlBuffer.reset();\n xmlBuffer.addText(`<mergeCells count=\"${this._merges.length}\">`);\n this._merges.forEach(merge => {\n xmlBuffer.addText(`<mergeCell ref=\"${merge}\"/>`);\n });\n xmlBuffer.addText('</mergeCells>');\n\n this.stream.write(xmlBuffer);\n }\n }\n\n _writeHyperlinks() {\n // eslint-disable-next-line no-underscore-dangle\n this.stream.write(xform.hyperlinks.toXml(this._sheetRelsWriter._hyperlinks));\n }\n\n _writeConditionalFormatting() {\n const options = {\n styles: this._workbook.styles,\n };\n xform.conditionalFormattings.prepare(this.conditionalFormatting, options);\n this.stream.write(xform.conditionalFormattings.toXml(this.conditionalFormatting));\n }\n\n _writeRowBreaks() {\n this.stream.write(xform.rowBreaks.toXml(this.rowBreaks));\n }\n\n _writeDataValidations() {\n this.stream.write(xform.dataValidations.toXml(this.dataValidations.model));\n }\n\n _writeSheetProtection() {\n this.stream.write(xform.sheetProtection.toXml(this.sheetProtection));\n }\n\n _writePageMargins() {\n this.stream.write(xform.pageMargins.toXml(this.pageSetup.margins));\n }\n\n _writePageSetup() {\n this.stream.write(xform.pageSeteup.toXml(this.pageSetup));\n }\n\n _writeHeaderFooter() {\n this.stream.write(xform.headerFooter.toXml(this.headerFooter));\n }\n\n _writeAutoFilter() {\n this.stream.write(xform.autoFilter.toXml(this.autoFilter));\n }\n\n _writeBackground() {\n if (this._background) {\n if (this._background.imageId !== undefined) {\n const image = this._workbook.getImage(this._background.imageId);\n const pictureId = this._sheetRelsWriter.addMedia({\n Target: `../media/${image.name}`,\n Type: RelType.Image,\n });\n\n this._background = {\n ...this._background,\n rId: pictureId,\n };\n }\n this.stream.write(xform.picture.toXml({rId: this._background.rId}));\n }\n }\n\n _writeLegacyData() {\n if (this.hasComments) {\n xmlBuffer.reset();\n xmlBuffer.addText(`<legacyDrawing r:id=\"${this._sheetCommentsWriter.vmlRelId}\"/>`);\n this.stream.write(xmlBuffer);\n }\n }\n\n _writeDimensions() {\n // for some reason, Excel can't handle dimensions at the bottom of the file\n // and we don't know the dimensions until the commit, so don't write them.\n // this._write('<dimension ref=\"' + this._dimensions + '\"/>');\n }\n\n _writeCloseWorksheet() {\n this._write('</worksheet>');\n }\n}\n\nmodule.exports = WorksheetWriter;\n"],"mappings":";;;;;;;AAAA,MAAMA,CAAC,GAAGC,OAAO,CAAC,wBAAwB,CAAC;AAE3C,MAAMC,OAAO,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AAE9C,MAAME,QAAQ,GAAGF,OAAO,CAAC,uBAAuB,CAAC;AACjD,MAAMG,SAAS,GAAGH,OAAO,CAAC,uBAAuB,CAAC;AAClD,MAAMI,UAAU,GAAGJ,OAAO,CAAC,iBAAiB,CAAC;AAC7C,MAAMK,SAAS,GAAGL,OAAO,CAAC,wBAAwB,CAAC;AAEnD,MAAMM,GAAG,GAAGN,OAAO,CAAC,eAAe,CAAC;AACpC,MAAMO,MAAM,GAAGP,OAAO,CAAC,kBAAkB,CAAC;AAE1C,MAAMQ,eAAe,GAAGR,OAAO,CAAC,qBAAqB,CAAC;AACtD,MAAMS,mBAAmB,GAAGT,OAAO,CAAC,yBAAyB,CAAC;AAC9D,MAAMU,eAAe,GAAGV,OAAO,CAAC,4BAA4B,CAAC;AAE7D,MAAMW,SAAS,GAAG,IAAIN,SAAS,CAAC,CAAC;;AAEjC;AACA;AACA,MAAMO,SAAS,GAAGZ,OAAO,CAAC,6BAA6B,CAAC;AACxD,MAAMa,oBAAoB,GAAGb,OAAO,CAAC,+CAA+C,CAAC;AACrF,MAAMc,oBAAoB,GAAGd,OAAO,CAAC,+CAA+C,CAAC;AACrF,MAAMe,0BAA0B,GAAGf,OAAO,CAAC,sDAAsD,CAAC;AAClG,MAAMgB,QAAQ,GAAGhB,OAAO,CAAC,kCAAkC,CAAC;AAC5D,MAAMiB,QAAQ,GAAGjB,OAAO,CAAC,kCAAkC,CAAC;AAC5D,MAAMkB,cAAc,GAAGlB,OAAO,CAAC,wCAAwC,CAAC;AACxE,MAAMmB,cAAc,GAAGnB,OAAO,CAAC,yCAAyC,CAAC;AACzE,MAAMoB,oBAAoB,GAAGpB,OAAO,CAAC,+CAA+C,CAAC;AACrF,MAAMqB,gBAAgB,GAAGrB,OAAO,CAAC,2CAA2C,CAAC;AAC7E,MAAMsB,cAAc,GAAGtB,OAAO,CAAC,yCAAyC,CAAC;AACzE,MAAMuB,eAAe,GAAGvB,OAAO,CAAC,0CAA0C,CAAC;AAC3E,MAAMwB,YAAY,GAAGxB,OAAO,CAAC,sCAAsC,CAAC;AACpE,MAAMyB,2BAA2B,GAAGzB,OAAO,CAAC,yDAAyD,CAAC;AACtG,MAAM0B,iBAAiB,GAAG1B,OAAO,CAAC,4CAA4C,CAAC;AAC/E,MAAM2B,cAAc,GAAG3B,OAAO,CAAC,yCAAyC,CAAC;;AAEzE;AACA,MAAM4B,KAAK,GAAG;EACZC,eAAe,EAAE,IAAIhB,oBAAoB,CAAC,CAAC;EAC3CiB,eAAe,EAAE,IAAIhB,oBAAoB,CAAC,CAAC;EAC3CiB,qBAAqB,EAAE,IAAIhB,0BAA0B,CAAC,CAAC;EACvDiB,OAAO,EAAE,IAAIpB,SAAS,CAAC;IAACqB,GAAG,EAAE,MAAM;IAAEC,MAAM,EAAE,KAAK;IAAEC,UAAU,EAAE,IAAInB,QAAQ,CAAC;EAAC,CAAC,CAAC;EAChFoB,GAAG,EAAE,IAAInB,QAAQ,CAAC,CAAC;EACnBoB,UAAU,EAAE,IAAIzB,SAAS,CAAC;IAACqB,GAAG,EAAE,YAAY;IAAEC,MAAM,EAAE,KAAK;IAAEC,UAAU,EAAE,IAAIjB,cAAc,CAAC;EAAC,CAAC,CAAC;EAC/FoB,UAAU,EAAE,IAAI1B,SAAS,CAAC;IAACqB,GAAG,EAAE,YAAY;IAAEC,MAAM,EAAE,KAAK;IAAEC,UAAU,EAAE,IAAIhB,cAAc,CAAC;EAAC,CAAC,CAAC;EAC/FoB,eAAe,EAAE,IAAInB,oBAAoB,CAAC,CAAC;EAC3CoB,WAAW,EAAE,IAAInB,gBAAgB,CAAC,CAAC;EACnCoB,UAAU,EAAE,IAAInB,cAAc,CAAC,CAAC;EAChCoB,UAAU,EAAE,IAAInB,eAAe,CAAC,CAAC;EACjCoB,OAAO,EAAE,IAAInB,YAAY,CAAC,CAAC;EAC3BoB,sBAAsB,EAAE,IAAInB,2BAA2B,CAAC,CAAC;EACzDoB,YAAY,EAAE,IAAInB,iBAAiB,CAAC,CAAC;EACrCoB,SAAS,EAAE,IAAInB,cAAc,CAAC;AAChC,CAAC;;AAED;;AAEA,MAAMoB,eAAe,CAAC;EACpBC,WAAWA,CAACC,OAAO,EAAE;IACnB;IACA,IAAI,CAACC,EAAE,GAAGD,OAAO,CAACC,EAAE;;IAEpB;IACA,IAAI,CAACC,IAAI,GAAGF,OAAO,CAACE,IAAI,YAAAC,MAAA,CAAY,IAAI,CAACF,EAAE,CAAE;;IAE7C;IACA,IAAI,CAACG,KAAK,GAAGJ,OAAO,CAACI,KAAK,IAAI,SAAS;;IAEvC;IACA;IACA,IAAI,CAACC,KAAK,GAAG,EAAE;;IAEf;IACA,IAAI,CAACC,QAAQ,GAAG,IAAI;;IAEpB;IACA,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;;IAEf;IACA,IAAI,CAACC,OAAO,GAAG,EAAE;IACjB,IAAI,CAACA,OAAO,CAACC,GAAG,GAAG,YAAW,CAAC,CAAC,CAAC,CAAC;;IAElC;IACA,IAAI,CAACC,gBAAgB,GAAG,IAAInD,eAAe,CAACyC,OAAO,CAAC;IAEpD,IAAI,CAACW,oBAAoB,GAAG,IAAInD,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAACkD,gBAAgB,EAAEV,OAAO,CAAC;;IAEzF;IACA,IAAI,CAACY,WAAW,GAAG,IAAIzD,UAAU,CAAC,CAAC;;IAEnC;IACA,IAAI,CAAC0D,QAAQ,GAAG,CAAC;;IAEjB;IACA,IAAI,CAACC,SAAS,GAAG,KAAK;;IAEtB;IACA,IAAI,CAAClC,eAAe,GAAG,IAAInB,eAAe,CAAC,CAAC;;IAE5C;IACA,IAAI,CAACsD,SAAS,GAAG,CAAC,CAAC;IACnB,IAAI,CAACC,WAAW,GAAG,CAAC;;IAEpB;IACA,IAAI,CAACC,qBAAqB,GAAG,EAAE;;IAE/B;IACA,IAAI,CAACpB,SAAS,GAAG,EAAE;;IAEnB;IACA,IAAI,CAACqB,UAAU,GAAGC,MAAM,CAACC,MAAM,CAC7B,CAAC,CAAC,EACF;MACEC,gBAAgB,EAAE,EAAE;MACpBC,SAAS,EAAE,EAAE;MACbC,eAAe,EAAE,CAAC;MAClBC,eAAe,EAAE;IACnB,CAAC,EACDxB,OAAO,CAACkB,UACV,CAAC;IAED,IAAI,CAACtB,YAAY,GAAGuB,MAAM,CAACC,MAAM,CAC/B,CAAC,CAAC,EACF;MACEK,cAAc,EAAE,KAAK;MACrBC,gBAAgB,EAAE,KAAK;MACvBC,SAAS,EAAE,IAAI;MACfC,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE,IAAI;MAChBC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE,IAAI;MACjBC,WAAW,EAAE;IACf,CAAC,EACDhC,OAAO,CAACJ,YACV,CAAC;;IAED;IACA,IAAI,CAACqC,SAAS,GAAGd,MAAM,CAACC,MAAM,CAC5B,CAAC,CAAC,EACF;MACEc,OAAO,EAAE;QAACC,IAAI,EAAE,GAAG;QAAEC,KAAK,EAAE,GAAG;QAAEC,GAAG,EAAE,IAAI;QAAEC,MAAM,EAAE,IAAI;QAAEC,MAAM,EAAE,GAAG;QAAEC,MAAM,EAAE;MAAG,CAAC;MACnFC,WAAW,EAAE,UAAU;MACvBC,aAAa,EAAE,UAAU;MACzBC,WAAW,EAAE,UAAU;MACvBC,SAAS,EAAE,CAAC,EACV5C,OAAO,CAACiC,SAAS,KAChBjC,OAAO,CAACiC,SAAS,CAACY,UAAU,IAAI7C,OAAO,CAACiC,SAAS,CAACa,WAAW,CAAC,IAC/D,CAAC9C,OAAO,CAACiC,SAAS,CAACc,KAAK,CACzB;MACDC,SAAS,EAAE,cAAc;MACzBC,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,KAAK;MACZC,YAAY,EAAE,MAAM;MACpBC,MAAM,EAAE,WAAW;MACnBL,KAAK,EAAE,GAAG;MACVF,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE,CAAC;MACdO,SAAS,EAAEC,SAAS;MACpBC,iBAAiB,EAAE,KAAK;MACxBC,aAAa,EAAE,KAAK;MACpBC,kBAAkB,EAAE,KAAK;MACzBC,gBAAgB,EAAE,KAAK;MACvB7D,SAAS,EAAE,IAAI;MACf8D,SAAS,EAAE;IACb,CAAC,EACD3D,OAAO,CAACiC,SACV,CAAC;;IAED;IACA,IAAI,CAAC2B,gBAAgB,GAAG5D,OAAO,CAAC4D,gBAAgB,IAAI,KAAK;IAEzD,IAAI,CAACC,SAAS,GAAG7D,OAAO,CAAC8D,QAAQ;IAEjC,IAAI,CAACC,WAAW,GAAG,KAAK;;IAExB;IACA,IAAI,CAACC,MAAM,GAAGhE,OAAO,CAACiE,KAAK,IAAI,EAAE;;IAEjC;IACA,IAAI,CAACxE,UAAU,GAAGO,OAAO,CAACP,UAAU,IAAI,IAAI;IAE5C,IAAI,CAACyE,MAAM,GAAG,EAAE;;IAEhB;IACA,IAAI,CAAC5E,eAAe,GAAG,IAAI;;IAE3B;IACA,IAAI,CAAC6E,mBAAmB,CAAC,CAAC;IAE1B,IAAI,CAACC,WAAW,GAAG,KAAK;EAC1B;EAEA,IAAIN,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,SAAS;EACvB;EAEA,IAAIQ,MAAMA,CAAA,EAAG;IACX,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;MACjB;MACA,IAAI,CAACA,OAAO,GAAG,IAAI,CAACT,SAAS,CAACU,WAAW,wBAAApE,MAAA,CAAwB,IAAI,CAACF,EAAE,SAAM,CAAC;;MAE/E;MACA,IAAI,CAACqE,OAAO,CAACE,KAAK,CAAC,CAAC;IACtB;IACA,OAAO,IAAI,CAACF,OAAO;EACrB;;EAEA;EACA;EACAG,OAAOA,CAAA,EAAG;IACR,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;EAC/C;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAAC7D,SAAS,EAAE;MAClB;IACF;IACA;IACA,IAAI,CAACT,KAAK,CAACuE,OAAO,CAACC,IAAI,IAAI;MACzB,IAAIA,IAAI,EAAE;QACR;QACA,IAAI,CAACC,SAAS,CAACD,IAAI,CAAC;MACtB;IACF,CAAC,CAAC;;IAEF;IACA,IAAI,CAACxE,KAAK,GAAG,IAAI;IAEjB,IAAI,CAAC,IAAI,CAAC+D,WAAW,EAAE;MACrB,IAAI,CAACW,mBAAmB,CAAC,CAAC;IAC5B;IACA,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACvB,IAAI,CAACC,gBAAgB,CAAC,CAAC;;IAEvB;IACA;;IAEA,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACvB,IAAI,CAACC,2BAA2B,CAAC,CAAC;IAClC,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC5B,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC5B,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACC,eAAe,CAAC,CAAC;IACtB,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACvB,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,eAAe,CAAC,CAAC;;IAEtB;IACA,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAEvB,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC3B;IACA,IAAI,CAACxB,MAAM,CAACyB,GAAG,CAAC,CAAC;IAEjB,IAAI,CAACnF,oBAAoB,CAACgE,MAAM,CAAC,CAAC;IAClC;IACA,IAAI,CAACjE,gBAAgB,CAACiE,MAAM,CAAC,CAAC;IAE9B,IAAI,CAAC7D,SAAS,GAAG,IAAI;EACvB;;EAEA;EACA,IAAIiF,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACnF,WAAW;EACzB;EAEA,IAAIqD,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACD,MAAM;EACpB;;EAEA;EACA;;EAEA;EACA,IAAIjF,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACuB,QAAQ;EACtB;;EAEA;EACA;EACA,IAAIvB,OAAOA,CAACiH,KAAK,EAAE;IACjB;IACA,IAAI,CAACC,eAAe,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,EAAE,EAAEC,EAAE,KAAK;MAC9C,MAAMC,WAAW,GAAID,EAAE,CAAC7D,MAAM,IAAI,CAAC,IAAM6D,EAAE,CAACE,OAAO,IAAIF,EAAE,CAACE,OAAO,CAACrH,MAAO,IAAI,CAAC;MAC9E,OAAOsH,IAAI,CAACC,GAAG,CAACL,EAAE,EAAEE,WAAW,CAAC;IAClC,CAAC,EAAE,CAAC,CAAC;;IAEL;IACA,IAAII,KAAK,GAAG,CAAC;IACb,MAAM1H,OAAO,GAAI,IAAI,CAACuB,QAAQ,GAAG,EAAG;IACpC0F,KAAK,CAACpB,OAAO,CAAC8B,IAAI,IAAI;MACpB,MAAMC,MAAM,GAAG,IAAIrJ,MAAM,CAAC,IAAI,EAAEmJ,KAAK,EAAE,EAAE,KAAK,CAAC;MAC/C1H,OAAO,CAAC6H,IAAI,CAACD,MAAM,CAAC;MACpBA,MAAM,CAACD,IAAI,GAAGA,IAAI;IACpB,CAAC,CAAC;EACJ;EAEAG,YAAYA,CAACC,GAAG,EAAE;IAChB,OAAO,IAAI,CAACvG,KAAK,CAACuG,GAAG,CAAC;EACxB;EAEAC,YAAYA,CAACD,GAAG,EAAEd,KAAK,EAAE;IACvB,IAAI,CAACzF,KAAK,CAACuG,GAAG,CAAC,GAAGd,KAAK;EACzB;EAEAgB,eAAeA,CAACF,GAAG,EAAE;IACnB,OAAO,IAAI,CAACvG,KAAK,CAACuG,GAAG,CAAC;EACxB;EAEAG,aAAaA,CAACC,CAAC,EAAE;IACfpK,CAAC,CAACqK,IAAI,CAAC,IAAI,CAAC5G,KAAK,EAAE2G,CAAC,CAAC;EACvB;;EAEA;EACA;EACAE,SAASA,CAACC,CAAC,EAAE;IACX,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACzB;MACA,MAAMC,GAAG,GAAG,IAAI,CAAC/G,KAAK,CAAC8G,CAAC,CAAC;MACzB,IAAIC,GAAG,EAAE,OAAOA,GAAG;;MAEnB;MACAD,CAAC,GAAGpK,QAAQ,CAACsK,GAAG,CAACF,CAAC,CAAC;IACrB;IACA,IAAI,CAAC,IAAI,CAAC/G,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,EAAE;IACpB;IACA,IAAI+G,CAAC,GAAG,IAAI,CAAC/G,QAAQ,CAACrB,MAAM,EAAE;MAC5B,IAAIuI,CAAC,GAAG,IAAI,CAAClH,QAAQ,CAACrB,MAAM,GAAG,CAAC;MAChC,OAAOuI,CAAC,IAAIH,CAAC,EAAE;QACb,IAAI,CAAC/G,QAAQ,CAACsG,IAAI,CAAC,IAAItJ,MAAM,CAAC,IAAI,EAAEkK,CAAC,EAAE,CAAC,CAAC;MAC3C;IACF;IACA,OAAO,IAAI,CAAClH,QAAQ,CAAC+G,CAAC,GAAG,CAAC,CAAC;EAC7B;;EAEA;EACA;EACA,IAAII,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAAC5G,QAAQ,GAAG,IAAI,CAACR,KAAK,CAACpB,MAAM;EAC1C;;EAEA;EACAyI,OAAOA,CAAC1H,OAAO,EAAE2H,QAAQ,EAAE;IACzB,IAAI,CAACA,QAAQ,EAAE;MACbA,QAAQ,GAAG3H,OAAO;MAClBA,OAAO,GAAGsD,SAAS;IACrB;IACA,IAAItD,OAAO,IAAIA,OAAO,CAAC4H,YAAY,EAAE;MACnC,MAAMJ,CAAC,GAAG,IAAI,CAACC,QAAQ;MACvB,KAAK,IAAII,CAAC,GAAG,IAAI,CAAChH,QAAQ,EAAEgH,CAAC,GAAGL,CAAC,EAAEK,CAAC,EAAE,EAAE;QACtCF,QAAQ,CAAC,IAAI,CAACG,MAAM,CAACD,CAAC,CAAC,EAAEA,CAAC,CAAC;MAC7B;IACF,CAAC,MAAM;MACL,IAAI,CAACxH,KAAK,CAACuE,OAAO,CAACzF,GAAG,IAAI;QACxB,IAAIA,GAAG,CAAC4I,SAAS,EAAE;UACjBJ,QAAQ,CAACxI,GAAG,EAAEA,GAAG,CAAC6I,MAAM,CAAC;QAC3B;MACF,CAAC,CAAC;IACJ;EACF;EAEAC,UAAUA,CAACpD,IAAI,EAAE;IACf;IACA,IAAIqD,KAAK,GAAG,KAAK;IACjB,OAAO,IAAI,CAAC7H,KAAK,CAACpB,MAAM,IAAI,CAACiJ,KAAK,EAAE;MAClC,MAAM/I,GAAG,GAAG,IAAI,CAACkB,KAAK,CAAC8H,KAAK,CAAC,CAAC;MAC9B,IAAI,CAACtH,QAAQ,EAAE;MACf,IAAI1B,GAAG,EAAE;QACP,IAAI,CAAC2F,SAAS,CAAC3F,GAAG,CAAC;QACnB+I,KAAK,GAAG/I,GAAG,CAAC6I,MAAM,KAAKnD,IAAI,CAACmD,MAAM;QAClC,IAAI,CAACnH,QAAQ,GAAG1B,GAAG,CAAC6I,MAAM,GAAG,CAAC;MAChC;IACF;EACF;EAEA,IAAII,OAAOA,CAAA,EAAG;IACZ;IACA,IAAI,IAAI,CAAC/H,KAAK,CAACpB,MAAM,EAAE;MACrB,OAAO,IAAI,CAACoB,KAAK,CAAC,IAAI,CAACA,KAAK,CAACpB,MAAM,GAAG,CAAC,CAAC;IAC1C;IACA,OAAOqE,SAAS;EAClB;;EAEA;EACA+E,OAAOA,CAACC,SAAS,EAAE;IACjB,MAAMC,KAAK,GAAGD,SAAS,GAAG,IAAI,CAACzH,QAAQ;IACvC,OAAO,IAAI,CAACR,KAAK,CAACkI,KAAK,CAAC;EAC1B;EAEAT,MAAMA,CAACQ,SAAS,EAAE;IAChB,MAAMC,KAAK,GAAGD,SAAS,GAAG,IAAI,CAACzH,QAAQ;;IAEvC;IACA,IAAI0H,KAAK,GAAG,CAAC,EAAE;MACb,MAAM,IAAI7D,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IACA,IAAIvF,GAAG,GAAG,IAAI,CAACkB,KAAK,CAACkI,KAAK,CAAC;IAC3B,IAAI,CAACpJ,GAAG,EAAE;MACR,IAAI,CAACkB,KAAK,CAACkI,KAAK,CAAC,GAAGpJ,GAAG,GAAG,IAAI9B,GAAG,CAAC,IAAI,EAAEiL,SAAS,CAAC;IACpD;IACA,OAAOnJ,GAAG;EACZ;EAEAqJ,MAAMA,CAACxC,KAAK,EAAE;IACZ,MAAM7G,GAAG,GAAG,IAAI9B,GAAG,CAAC,IAAI,EAAE,IAAI,CAACoK,QAAQ,CAAC;IACxC,IAAI,CAACpH,KAAK,CAAClB,GAAG,CAAC6I,MAAM,GAAG,IAAI,CAACnH,QAAQ,CAAC,GAAG1B,GAAG;IAC5CA,GAAG,CAACsJ,MAAM,GAAGzC,KAAK;IAClB,OAAO7G,GAAG;EACZ;;EAEA;EACA;;EAEA;EACAuJ,QAAQA,CAACC,CAAC,EAAEtB,CAAC,EAAE;IACb,MAAMuB,OAAO,GAAG3L,QAAQ,CAAC4L,UAAU,CAACF,CAAC,EAAEtB,CAAC,CAAC;IACzC,MAAMlI,GAAG,GAAG,IAAI,CAACkJ,OAAO,CAACO,OAAO,CAACzJ,GAAG,CAAC;IACrC,OAAOA,GAAG,GAAGA,GAAG,CAACuJ,QAAQ,CAACE,OAAO,CAACjC,MAAM,CAAC,GAAGrD,SAAS;EACvD;;EAEA;EACAwF,OAAOA,CAACH,CAAC,EAAEtB,CAAC,EAAE;IACZ,MAAMuB,OAAO,GAAG3L,QAAQ,CAAC4L,UAAU,CAACF,CAAC,EAAEtB,CAAC,CAAC;IACzC,MAAMlI,GAAG,GAAG,IAAI,CAAC2I,MAAM,CAACc,OAAO,CAACzJ,GAAG,CAAC;IACpC,OAAOA,GAAG,CAAC4J,SAAS,CAACH,OAAO,CAAC;EAC/B;EAEAI,UAAUA,CAAA,EAAW;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAjK,MAAA,EAAPkK,KAAK,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAALF,KAAK,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;IAAA;IACjB;IACA,MAAMtD,UAAU,GAAG,IAAI5I,UAAU,CAACgM,KAAK,CAAC;;IAExC;IACA,IAAI,CAAC3I,OAAO,CAACoE,OAAO,CAAC0E,KAAK,IAAI;MAC5B,IAAIA,KAAK,CAACC,UAAU,CAACxD,UAAU,CAAC,EAAE;QAChC,MAAM,IAAIrB,KAAK,CAAC,mCAAmC,CAAC;MACtD;IACF,CAAC,CAAC;;IAEF;IACA,MAAM8E,MAAM,GAAG,IAAI,CAACV,OAAO,CAAC/C,UAAU,CAAC1D,GAAG,EAAE0D,UAAU,CAAC5D,IAAI,CAAC;IAC5D,KAAK,IAAI0F,CAAC,GAAG9B,UAAU,CAAC1D,GAAG,EAAEwF,CAAC,IAAI9B,UAAU,CAACzD,MAAM,EAAEuF,CAAC,EAAE,EAAE;MACxD,KAAK,IAAI4B,CAAC,GAAG1D,UAAU,CAAC5D,IAAI,EAAEsH,CAAC,IAAI1D,UAAU,CAAC3D,KAAK,EAAEqH,CAAC,EAAE,EAAE;QACxD,IAAI5B,CAAC,GAAG9B,UAAU,CAAC1D,GAAG,IAAIoH,CAAC,GAAG1D,UAAU,CAAC5D,IAAI,EAAE;UAC7C,IAAI,CAAC2G,OAAO,CAACjB,CAAC,EAAE4B,CAAC,CAAC,CAACH,KAAK,CAACE,MAAM,CAAC;QAClC;MACF;IACF;;IAEA;IACA,IAAI,CAAChJ,OAAO,CAACoG,IAAI,CAACb,UAAU,CAAC;EAC/B;;EAEA;EACA;EACA2D,wBAAwBA,CAACC,EAAE,EAAE;IAC3B,IAAI,CAAC1I,qBAAqB,CAAC2F,IAAI,CAAC+C,EAAE,CAAC;EACrC;EAEAC,2BAA2BA,CAACC,MAAM,EAAE;IAClC,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MAC9B,IAAI,CAAC5I,qBAAqB,CAAC6I,MAAM,CAACD,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC,MAAM,IAAIA,MAAM,YAAYE,QAAQ,EAAE;MACrC,IAAI,CAAC9I,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAAC4I,MAAM,CAACA,MAAM,CAAC;IACxE,CAAC,MAAM;MACL,IAAI,CAAC5I,qBAAqB,GAAG,EAAE;IACjC;EACF;;EAEA;;EAEA+I,kBAAkBA,CAACC,OAAO,EAAE;IAC1B,IAAI,CAACC,WAAW,GAAG;MACjBD;IACF,CAAC;EACH;EAEAE,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACD,WAAW,IAAI,IAAI,CAACA,WAAW,CAACD,OAAO;EACrD;;EAEA;EACA;EACAG,OAAOA,CAACC,QAAQ,EAAErK,OAAO,EAAE;IACzB;IACA;IACA,OAAO,IAAIsK,OAAO,CAACC,OAAO,IAAI;MAC5B,IAAI,CAACjL,eAAe,GAAG;QACrBkL,KAAK,EAAE;MACT,CAAC;MACD,IAAIxK,OAAO,IAAI,WAAW,IAAIA,OAAO,EAAE;QACrC;QACAA,OAAO,CAACyK,SAAS,GAAGC,MAAM,CAACC,QAAQ,CAAC3K,OAAO,CAACyK,SAAS,CAAC,GAAGlE,IAAI,CAACqE,KAAK,CAACrE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAExG,OAAO,CAACyK,SAAS,CAAC,CAAC,GAAG,MAAM;MAC9G;MACA,IAAIJ,QAAQ,EAAE;QACZ,IAAI,CAAC/K,eAAe,CAACuL,aAAa,GAAG,SAAS;QAC9C,IAAI,CAACvL,eAAe,CAACwL,SAAS,GAAG5N,SAAS,CAAC6N,WAAW,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,QAAQ,CAAC;QAC7E,IAAI,CAAC1L,eAAe,CAACmL,SAAS,GAAGzK,OAAO,IAAI,WAAW,IAAIA,OAAO,GAAGA,OAAO,CAACyK,SAAS,GAAG,MAAM,CAAC,CAAC;QACjG,IAAI,CAACnL,eAAe,CAAC2L,SAAS,GAAG/N,SAAS,CAACgO,qBAAqB,CAC9Db,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC/K,eAAe,CAACwL,SAAS,EAC9B,IAAI,CAACxL,eAAe,CAACmL,SACvB,CAAC;MACH;MACA,IAAIzK,OAAO,EAAE;QACX,IAAI,CAACV,eAAe,GAAG6B,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC9B,eAAe,EAAEU,OAAO,CAAC;QACnE,IAAI,CAACqK,QAAQ,IAAI,WAAW,IAAIrK,OAAO,EAAE;UACvC,OAAO,IAAI,CAACV,eAAe,CAACmL,SAAS;QACvC;MACF;MACAF,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;EACJ;EAEAY,SAASA,CAAA,EAAG;IACV,IAAI,CAAC7L,eAAe,GAAG,IAAI;EAC7B;;EAEA;;EAEA8L,MAAMA,CAACC,IAAI,EAAE;IACX3N,SAAS,CAAC4N,KAAK,CAAC,CAAC;IACjB5N,SAAS,CAAC6N,OAAO,CAACF,IAAI,CAAC;IACvB,IAAI,CAAChH,MAAM,CAACmH,KAAK,CAAC9N,SAAS,CAAC;EAC9B;EAEA+N,qBAAqBA,CAACC,MAAM,EAAExK,UAAU,EAAEe,SAAS,EAAE;IACnD,MAAM0J,oBAAoB,GAAG;MAC3BC,iBAAiB,EAAE1K,UAAU,IAAIA,UAAU,CAAC0K,iBAAiB;MAC7DC,QAAQ,EAAE3K,UAAU,IAAIA,UAAU,CAAC2K,QAAQ;MAC3C5J,SAAS,EACPA,SAAS,IAAIA,SAAS,CAACW,SAAS,GAC5B;QACEA,SAAS,EAAEX,SAAS,CAACW;MACvB,CAAC,GACDU;IACR,CAAC;IAEDoI,MAAM,CAACH,OAAO,CAAC5M,KAAK,CAACE,eAAe,CAACiN,KAAK,CAACH,oBAAoB,CAAC,CAAC;EACnE;EAEAI,2BAA2BA,CAACL,MAAM,EAAExK,UAAU,EAAE;IAC9C,MAAM8K,0BAA0B,GAAG9K,UAAU,GACzC;MACEG,gBAAgB,EAAEH,UAAU,CAACG,gBAAgB;MAC7CC,SAAS,EAAEJ,UAAU,CAACI,SAAS;MAC/BC,eAAe,EAAEL,UAAU,CAACK,eAAe;MAC3CC,eAAe,EAAEN,UAAU,CAACM;IAC9B,CAAC,GACD8B,SAAS;IACb,IAAIpC,UAAU,CAAC+K,eAAe,EAAE;MAC9BD,0BAA0B,CAACC,eAAe,GAAG/K,UAAU,CAAC+K,eAAe;IACzE;IAEAP,MAAM,CAACH,OAAO,CAAC5M,KAAK,CAACG,qBAAqB,CAACgN,KAAK,CAACE,0BAA0B,CAAC,CAAC;EAC/E;EAEA7H,mBAAmBA,CAAA,EAAG;IACpBzG,SAAS,CAAC4N,KAAK,CAAC,CAAC;IAEjB5N,SAAS,CAAC6N,OAAO,CAAC,yDAAyD,CAAC;IAC5E7N,SAAS,CAAC6N,OAAO,CACf,8EAA8E,GAC5E,gFAAgF,GAChF,yEAAyE,GACzE,uBAAuB,GACvB,6EACJ,CAAC;IAED,IAAI,CAACE,qBAAqB,CAAC/N,SAAS,EAAE,IAAI,CAACwD,UAAU,EAAE,IAAI,CAACe,SAAS,CAAC;IAEtEvE,SAAS,CAAC6N,OAAO,CAAC5M,KAAK,CAACU,UAAU,CAACyM,KAAK,CAAC,IAAI,CAAC7H,KAAK,CAAC,CAAC;IAErD,IAAI,CAAC8H,2BAA2B,CAACrO,SAAS,EAAE,IAAI,CAACwD,UAAU,CAAC;IAE5D,IAAI,CAACmD,MAAM,CAACmH,KAAK,CAAC9N,SAAS,CAAC;EAC9B;EAEAwO,aAAaA,CAAA,EAAG;IACd,MAAMC,IAAI,GAAG7O,MAAM,CAAC8O,OAAO,CAAC,IAAI,CAACrN,OAAO,CAAC;IACzC,IAAIoN,IAAI,EAAE;MACRxN,KAAK,CAACI,OAAO,CAACsN,OAAO,CAACF,IAAI,EAAE;QAACG,MAAM,EAAE,IAAI,CAACzI,SAAS,CAACyI;MAAM,CAAC,CAAC;MAC5D,IAAI,CAACjI,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACI,OAAO,CAAC+M,KAAK,CAACK,IAAI,CAAC,CAAC;IAC9C;EACF;EAEApH,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAACqG,MAAM,CAAC,aAAa,CAAC;EAC5B;EAEAtG,SAASA,CAAC3F,GAAG,EAAE;IACb,IAAI,CAAC,IAAI,CAACiF,WAAW,EAAE;MACrB,IAAI,CAAC8H,aAAa,CAAC,CAAC;MACpB,IAAI,CAACnH,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACX,WAAW,GAAG,IAAI;IACzB;IAEA,IAAIjF,GAAG,CAAC4I,SAAS,IAAI5I,GAAG,CAACoN,MAAM,EAAE;MAC/B,MAAM;QAACC;MAAK,CAAC,GAAGrN,GAAG;MACnB,MAAMa,OAAO,GAAG;QACdsM,MAAM,EAAE,IAAI,CAACzI,SAAS,CAACyI,MAAM;QAC7BG,aAAa,EAAE,IAAI,CAAC7I,gBAAgB,GAAG,IAAI,CAACC,SAAS,CAAC4I,aAAa,GAAGnJ,SAAS;QAC/ElE,UAAU,EAAE,IAAI,CAACsB,gBAAgB,CAACgM,eAAe;QACjDC,MAAM,EAAE,IAAI,CAACnM,OAAO;QACpBoM,QAAQ,EAAE,IAAI,CAAC7L,SAAS;QACxB8L,UAAU,EAAE,IAAI,CAAC7L,WAAW;QAC5B8L,QAAQ,EAAE;MACZ,CAAC;MACDnO,KAAK,CAACQ,GAAG,CAACkN,OAAO,CAACG,KAAK,EAAExM,OAAO,CAAC;MACjC,IAAI,CAACqE,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACQ,GAAG,CAAC2M,KAAK,CAACU,KAAK,CAAC,CAAC;MAEzC,IAAIxM,OAAO,CAAC8M,QAAQ,CAAC7N,MAAM,EAAE;QAC3B,IAAI,CAAC8E,WAAW,GAAG,IAAI;QACvB,IAAI,CAACpD,oBAAoB,CAACoM,WAAW,CAAC/M,OAAO,CAAC8M,QAAQ,CAAC;MACzD;IACF;EACF;EAEA9H,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACoG,MAAM,CAAC,cAAc,CAAC;EAC7B;EAEAlG,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAAC1E,OAAO,CAACvB,MAAM,EAAE;MACvBvB,SAAS,CAAC4N,KAAK,CAAC,CAAC;MACjB5N,SAAS,CAAC6N,OAAO,wBAAApL,MAAA,CAAuB,IAAI,CAACK,OAAO,CAACvB,MAAM,QAAI,CAAC;MAChE,IAAI,CAACuB,OAAO,CAACoE,OAAO,CAAC0E,KAAK,IAAI;QAC5B5L,SAAS,CAAC6N,OAAO,qBAAApL,MAAA,CAAoBmJ,KAAK,SAAK,CAAC;MAClD,CAAC,CAAC;MACF5L,SAAS,CAAC6N,OAAO,CAAC,eAAe,CAAC;MAElC,IAAI,CAAClH,MAAM,CAACmH,KAAK,CAAC9N,SAAS,CAAC;IAC9B;EACF;EAEAyH,gBAAgBA,CAAA,EAAG;IACjB;IACA,IAAI,CAACd,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACS,UAAU,CAAC0M,KAAK,CAAC,IAAI,CAACpL,gBAAgB,CAACsM,WAAW,CAAC,CAAC;EAC9E;EAEA5H,2BAA2BA,CAAA,EAAG;IAC5B,MAAMpF,OAAO,GAAG;MACdsM,MAAM,EAAE,IAAI,CAACzI,SAAS,CAACyI;IACzB,CAAC;IACD3N,KAAK,CAACgB,sBAAsB,CAAC0M,OAAO,CAAC,IAAI,CAACpL,qBAAqB,EAAEjB,OAAO,CAAC;IACzE,IAAI,CAACqE,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACgB,sBAAsB,CAACmM,KAAK,CAAC,IAAI,CAAC7K,qBAAqB,CAAC,CAAC;EACnF;EAEA0E,eAAeA,CAAA,EAAG;IAChB,IAAI,CAACtB,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACkB,SAAS,CAACiM,KAAK,CAAC,IAAI,CAACjM,SAAS,CAAC,CAAC;EAC1D;EAEAwF,qBAAqBA,CAAA,EAAG;IACtB,IAAI,CAAChB,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACC,eAAe,CAACkN,KAAK,CAAC,IAAI,CAAClN,eAAe,CAAC4N,KAAK,CAAC,CAAC;EAC5E;EAEAlH,qBAAqBA,CAAA,EAAG;IACtB,IAAI,CAACjB,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACW,eAAe,CAACwM,KAAK,CAAC,IAAI,CAACxM,eAAe,CAAC,CAAC;EACtE;EAEAiG,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAClB,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACY,WAAW,CAACuM,KAAK,CAAC,IAAI,CAAC7J,SAAS,CAACC,OAAO,CAAC,CAAC;EACpE;EAEAsD,eAAeA,CAAA,EAAG;IAChB,IAAI,CAACnB,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACa,UAAU,CAACsM,KAAK,CAAC,IAAI,CAAC7J,SAAS,CAAC,CAAC;EAC3D;EAEAyD,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACrB,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACiB,YAAY,CAACkM,KAAK,CAAC,IAAI,CAAClM,YAAY,CAAC,CAAC;EAChE;EAEAqF,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACZ,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACc,UAAU,CAACqM,KAAK,CAAC,IAAI,CAACrM,UAAU,CAAC,CAAC;EAC5D;EAEAgG,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACyE,WAAW,EAAE;MACpB,IAAI,IAAI,CAACA,WAAW,CAACD,OAAO,KAAK3G,SAAS,EAAE;QAC1C,MAAM2J,KAAK,GAAG,IAAI,CAACpJ,SAAS,CAACqJ,QAAQ,CAAC,IAAI,CAAChD,WAAW,CAACD,OAAO,CAAC;QAC/D,MAAMkD,SAAS,GAAG,IAAI,CAACzM,gBAAgB,CAAC0M,QAAQ,CAAC;UAC/CC,MAAM,cAAAlN,MAAA,CAAc8M,KAAK,CAAC/M,IAAI,CAAE;UAChCoN,IAAI,EAAEtQ,OAAO,CAACuQ;QAChB,CAAC,CAAC;QAEF,IAAI,CAACrD,WAAW,GAAAsD,aAAA,CAAAA,aAAA,KACX,IAAI,CAACtD,WAAW;UACnBuD,GAAG,EAAEN;QAAS,EACf;MACH;MACA,IAAI,CAAC9I,MAAM,CAACmH,KAAK,CAAC7M,KAAK,CAACe,OAAO,CAACoM,KAAK,CAAC;QAAC2B,GAAG,EAAE,IAAI,CAACvD,WAAW,CAACuD;MAAG,CAAC,CAAC,CAAC;IACrE;EACF;EAEA7H,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAAC7B,WAAW,EAAE;MACpBrG,SAAS,CAAC4N,KAAK,CAAC,CAAC;MACjB5N,SAAS,CAAC6N,OAAO,0BAAApL,MAAA,CAAyB,IAAI,CAACQ,oBAAoB,CAAC+M,QAAQ,SAAK,CAAC;MAClF,IAAI,CAACrJ,MAAM,CAACmH,KAAK,CAAC9N,SAAS,CAAC;IAC9B;EACF;EAEAiQ,gBAAgBA,CAAA,EAAG;IACjB;IACA;IACA;EAAA;EAGF9H,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACuF,MAAM,CAAC,cAAc,CAAC;EAC7B;AACF;AAEAwC,MAAM,CAACC,OAAO,GAAG/N,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"worksheet-writer.js","names":["_","require","RelType","colCache","Encryptor","Dimensions","StringBuf","Row","Column","SheetRelsWriter","SheetCommentsWriter","DataValidations","xmlBuffer","ListXform","DataValidationsXform","SheetPropertiesXform","SheetFormatPropertiesXform","ColXform","RowXform","HyperlinkXform","SheetViewXform","SheetProtectionXform","PageMarginsXform","PageSetupXform","AutoFilterXform","PictureXform","ConditionalFormattingsXform","HeaderFooterXform","RowBreaksXform","xform","dataValidations","sheetProperties","sheetFormatProperties","columns","tag","length","childXform","row","hyperlinks","sheetViews","sheetProtection","pageMargins","pageSeteup","autoFilter","picture","conditionalFormattings","headerFooter","rowBreaks","WorksheetWriter","constructor","options","id","name","state","_rows","_columns","_keys","_merges","add","_sheetRelsWriter","_sheetCommentsWriter","_dimensions","_rowZero","committed","_formulae","_siFormulae","conditionalFormatting","properties","Object","assign","defaultRowHeight","dyDescent","outlineLevelCol","outlineLevelRow","differentFirst","differentOddEven","oddHeader","oddFooter","evenHeader","evenFooter","firstHeader","firstFooter","pageSetup","margins","left","right","top","bottom","header","footer","orientation","horizontalDpi","verticalDpi","fitToPage","fitToWidth","fitToHeight","scale","pageOrder","blackAndWhite","draft","cellComments","errors","paperSize","undefined","showRowColHeaders","showGridLines","horizontalCentered","verticalCentered","colBreaks","useSharedStrings","_workbook","workbook","hasComments","_views","views","_media","_writeOpenWorksheet","startedData","stream","_stream","_openStream","pause","destroy","Error","commit","forEach","cRow","_writeRow","_writeOpenSheetData","_writeCloseSheetData","_writeAutoFilter","_writeMergeCells","_writeHyperlinks","_writeConditionalFormatting","_writeDataValidations","_writeSheetProtection","_writePageMargins","_writePageSetup","_writeBackground","_writeHeaderFooter","_writeRowBreaks","_writeLegacyData","_writeCloseWorksheet","end","dimensions","value","_headerRowCount","reduce","pv","cv","headerCount","headers","Math","max","count","defn","column","push","getColumnKey","key","setColumnKey","deleteColumnKey","eachColumnKey","f","each","getColumn","c","col","l2n","n","_nextRow","eachRow","iteratee","includeEmpty","i","getRow","hasValues","number","_commitRow","found","shift","lastRow","findRow","rowNumber","index","addRow","values","findCell","r","address","getAddress","getCell","getCellEx","mergeCells","_len","arguments","cells","Array","_key","merge","intersects","master","j","addConditionalFormatting","cf","removeConditionalFormatting","filter","splice","Function","addBackgroundImage","imageId","_background","getBackgroundImageId","protect","password","Promise","resolve","sheet","spinCount","Number","isFinite","round","algorithmName","saltValue","randomBytes","toString","hashValue","convertPasswordToHash","unprotect","_write","text","reset","addText","write","_writeSheetProperties","xmlBuf","sheetPropertiesModel","outlineProperties","tabColor","toXml","_writeSheetFormatProperties","sheetFormatPropertiesModel","defaultColWidth","_writeColumns","cols","toModel","prepare","styles","height","model","sharedStrings","hyperlinksProxy","merges","formulae","siFormulae","comments","addComments","_hyperlinks","image","getImage","pictureId","addMedia","Target","Type","Image","rId","vmlRelId","_writeDimensions","module","exports"],"sources":["../../../../lib/stream/xlsx/worksheet-writer.js"],"sourcesContent":["const _ = require('../../utils/under-dash');\n\nconst RelType = require('../../xlsx/rel-type');\n\nconst colCache = require('../../utils/col-cache');\nconst Encryptor = require('../../utils/encryptor');\nconst Dimensions = require('../../doc/range');\nconst StringBuf = require('../../utils/string-buf');\n\nconst Row = require('../../doc/row');\nconst Column = require('../../doc/column');\n\nconst SheetRelsWriter = require('./sheet-rels-writer');\nconst SheetCommentsWriter = require('./sheet-comments-writer');\nconst DataValidations = require('../../doc/data-validations');\n\nconst xmlBuffer = new StringBuf();\n\n// ============================================================================================\n// Xforms\nconst ListXform = require('../../xlsx/xform/list-xform');\nconst DataValidationsXform = require('../../xlsx/xform/sheet/data-validations-xform');\nconst SheetPropertiesXform = require('../../xlsx/xform/sheet/sheet-properties-xform');\nconst SheetFormatPropertiesXform = require('../../xlsx/xform/sheet/sheet-format-properties-xform');\nconst ColXform = require('../../xlsx/xform/sheet/col-xform');\nconst RowXform = require('../../xlsx/xform/sheet/row-xform');\nconst HyperlinkXform = require('../../xlsx/xform/sheet/hyperlink-xform');\nconst SheetViewXform = require('../../xlsx/xform/sheet/sheet-view-xform');\nconst SheetProtectionXform = require('../../xlsx/xform/sheet/sheet-protection-xform');\nconst PageMarginsXform = require('../../xlsx/xform/sheet/page-margins-xform');\nconst PageSetupXform = require('../../xlsx/xform/sheet/page-setup-xform');\nconst AutoFilterXform = require('../../xlsx/xform/sheet/auto-filter-xform');\nconst PictureXform = require('../../xlsx/xform/sheet/picture-xform');\nconst ConditionalFormattingsXform = require('../../xlsx/xform/sheet/cf/conditional-formattings-xform');\nconst HeaderFooterXform = require('../../xlsx/xform/sheet/header-footer-xform');\nconst RowBreaksXform = require('../../xlsx/xform/sheet/row-breaks-xform');\n\n// since prepare and render are functional, we can use singletons\nconst xform = {\n dataValidations: new DataValidationsXform(),\n sheetProperties: new SheetPropertiesXform(),\n sheetFormatProperties: new SheetFormatPropertiesXform(),\n columns: new ListXform({tag: 'cols', length: false, childXform: new ColXform()}),\n row: new RowXform(),\n hyperlinks: new ListXform({tag: 'hyperlinks', length: false, childXform: new HyperlinkXform()}),\n sheetViews: new ListXform({tag: 'sheetViews', length: false, childXform: new SheetViewXform()}),\n sheetProtection: new SheetProtectionXform(),\n pageMargins: new PageMarginsXform(),\n pageSeteup: new PageSetupXform(),\n autoFilter: new AutoFilterXform(),\n picture: new PictureXform(),\n conditionalFormattings: new ConditionalFormattingsXform(),\n headerFooter: new HeaderFooterXform(),\n rowBreaks: new RowBreaksXform(),\n};\n\n// ============================================================================================\n\nclass WorksheetWriter {\n constructor(options) {\n // in a workbook, each sheet will have a number\n this.id = options.id;\n\n // and a name\n this.name = options.name || `Sheet${this.id}`;\n\n // add a state\n this.state = options.state || 'visible';\n\n // rows are stored here while they need to be worked on.\n // when they are committed, they will be deleted.\n this._rows = [];\n\n // column definitions\n this._columns = null;\n\n // column keys (addRow convenience): key ==> this._columns index\n this._keys = {};\n\n // keep a record of all row and column pageBreaks\n this._merges = [];\n this._merges.add = function() {}; // ignore cell instruction\n\n // keep record of all hyperlinks\n this._sheetRelsWriter = new SheetRelsWriter(options);\n\n this._sheetCommentsWriter = new SheetCommentsWriter(this, this._sheetRelsWriter, options);\n\n // keep a record of dimensions\n this._dimensions = new Dimensions();\n\n // first uncommitted row\n this._rowZero = 1;\n\n // committed flag\n this.committed = false;\n\n // for data validations\n this.dataValidations = new DataValidations();\n\n // for sharing formulae\n this._formulae = {};\n this._siFormulae = 0;\n\n // keep a record of conditionalFormattings\n this.conditionalFormatting = [];\n\n // keep a record of all row and column pageBreaks\n this.rowBreaks = [];\n\n // for default row height, outline levels, etc\n this.properties = Object.assign(\n {},\n {\n defaultRowHeight: 15,\n dyDescent: 55,\n outlineLevelCol: 0,\n outlineLevelRow: 0,\n },\n options.properties\n );\n\n this.headerFooter = Object.assign(\n {},\n {\n differentFirst: false,\n differentOddEven: false,\n oddHeader: null,\n oddFooter: null,\n evenHeader: null,\n evenFooter: null,\n firstHeader: null,\n firstFooter: null,\n },\n options.headerFooter\n );\n\n // for all things printing\n this.pageSetup = Object.assign(\n {},\n {\n margins: {left: 0.7, right: 0.7, top: 0.75, bottom: 0.75, header: 0.3, footer: 0.3},\n orientation: 'portrait',\n horizontalDpi: 4294967295,\n verticalDpi: 4294967295,\n fitToPage: !!(\n options.pageSetup &&\n (options.pageSetup.fitToWidth || options.pageSetup.fitToHeight) &&\n !options.pageSetup.scale\n ),\n pageOrder: 'downThenOver',\n blackAndWhite: false,\n draft: false,\n cellComments: 'None',\n errors: 'displayed',\n scale: 100,\n fitToWidth: 1,\n fitToHeight: 1,\n paperSize: undefined,\n showRowColHeaders: false,\n showGridLines: false,\n horizontalCentered: false,\n verticalCentered: false,\n rowBreaks: null,\n colBreaks: null,\n },\n options.pageSetup\n );\n\n // using shared strings creates a smaller xlsx file but may use more memory\n this.useSharedStrings = options.useSharedStrings || false;\n\n this._workbook = options.workbook;\n\n this.hasComments = false;\n\n // views\n this._views = options.views || [];\n\n // auto filter\n this.autoFilter = options.autoFilter || null;\n\n this._media = [];\n\n // worksheet protection\n this.sheetProtection = null;\n\n // start writing to stream now\n this._writeOpenWorksheet();\n\n this.startedData = false;\n }\n\n get workbook() {\n return this._workbook;\n }\n\n get stream() {\n if (!this._stream) {\n // eslint-disable-next-line no-underscore-dangle\n this._stream = this._workbook._openStream(`/xl/worksheets/sheet${this.id}.xml`);\n\n // pause stream to prevent 'data' events\n this._stream.pause();\n }\n return this._stream;\n }\n\n // destroy - not a valid operation for a streaming writer\n // even though some streamers might be able to, it's a bad idea.\n destroy() {\n throw new Error('Invalid Operation: destroy');\n }\n\n commit() {\n if (this.committed) {\n return;\n }\n // commit all rows\n this._rows.forEach(cRow => {\n if (cRow) {\n // write the row to the stream\n this._writeRow(cRow);\n }\n });\n\n // we _cannot_ accept new rows from now on\n this._rows = null;\n\n if (!this.startedData) {\n this._writeOpenSheetData();\n }\n this._writeCloseSheetData();\n this._writeAutoFilter();\n this._writeMergeCells();\n\n // for some reason, Excel can't handle dimensions at the bottom of the file\n // this._writeDimensions();\n\n this._writeHyperlinks();\n this._writeConditionalFormatting();\n this._writeDataValidations();\n this._writeSheetProtection();\n this._writePageMargins();\n this._writePageSetup();\n this._writeBackground();\n this._writeHeaderFooter();\n this._writeRowBreaks();\n\n // Legacy Data tag for comments\n this._writeLegacyData();\n\n this._writeCloseWorksheet();\n // signal end of stream to workbook\n this.stream.end();\n\n this._sheetCommentsWriter.commit();\n // also commit the hyperlinks if any\n this._sheetRelsWriter.commit();\n\n this.committed = true;\n }\n\n // return the current dimensions of the writer\n get dimensions() {\n return this._dimensions;\n }\n\n get views() {\n return this._views;\n }\n\n // =========================================================================\n // Columns\n\n // get the current columns array.\n get columns() {\n return this._columns;\n }\n\n // set the columns from an array of column definitions.\n // Note: any headers defined will overwrite existing values.\n set columns(value) {\n // calculate max header row count\n this._headerRowCount = value.reduce((pv, cv) => {\n const headerCount = (cv.header && 1) || (cv.headers && cv.headers.length) || 0;\n return Math.max(pv, headerCount);\n }, 0);\n\n // construct Column objects\n let count = 1;\n const columns = (this._columns = []);\n value.forEach(defn => {\n const column = new Column(this, count++, false);\n columns.push(column);\n column.defn = defn;\n });\n }\n\n getColumnKey(key) {\n return this._keys[key];\n }\n\n setColumnKey(key, value) {\n this._keys[key] = value;\n }\n\n deleteColumnKey(key) {\n delete this._keys[key];\n }\n\n eachColumnKey(f) {\n _.each(this._keys, f);\n }\n\n // get a single column by col number. If it doesn't exist, it and any gaps before it\n // are created.\n getColumn(c) {\n if (typeof c === 'string') {\n // if it matches a key'd column, return that\n const col = this._keys[c];\n if (col) return col;\n\n // otherwise, assume letter\n c = colCache.l2n(c);\n }\n if (!this._columns) {\n this._columns = [];\n }\n if (c > this._columns.length) {\n let n = this._columns.length + 1;\n while (n <= c) {\n this._columns.push(new Column(this, n++));\n }\n }\n return this._columns[c - 1];\n }\n\n // =========================================================================\n // Rows\n get _nextRow() {\n return this._rowZero + this._rows.length;\n }\n\n // iterate over every uncommitted row in the worksheet, including maybe empty rows\n eachRow(options, iteratee) {\n if (!iteratee) {\n iteratee = options;\n options = undefined;\n }\n if (options && options.includeEmpty) {\n const n = this._nextRow;\n for (let i = this._rowZero; i < n; i++) {\n iteratee(this.getRow(i), i);\n }\n } else {\n this._rows.forEach(row => {\n if (row.hasValues) {\n iteratee(row, row.number);\n }\n });\n }\n }\n\n _commitRow(cRow) {\n // since rows must be written in order, we commit all rows up till and including cRow\n let found = false;\n while (this._rows.length && !found) {\n const row = this._rows.shift();\n this._rowZero++;\n if (row) {\n this._writeRow(row);\n found = row.number === cRow.number;\n this._rowZero = row.number + 1;\n }\n }\n }\n\n get lastRow() {\n // returns last uncommitted row\n if (this._rows.length) {\n return this._rows[this._rows.length - 1];\n }\n return undefined;\n }\n\n // find a row (if exists) by row number\n findRow(rowNumber) {\n const index = rowNumber - this._rowZero;\n return this._rows[index];\n }\n\n getRow(rowNumber) {\n const index = rowNumber - this._rowZero;\n\n // may fail if rows have been comitted\n if (index < 0) {\n throw new Error('Out of bounds: this row has been committed');\n }\n let row = this._rows[index];\n if (!row) {\n this._rows[index] = row = new Row(this, rowNumber);\n }\n return row;\n }\n\n addRow(value) {\n const row = new Row(this, this._nextRow);\n this._rows[row.number - this._rowZero] = row;\n row.values = value;\n return row;\n }\n\n // ================================================================================\n // Cells\n\n // returns the cell at [r,c] or address given by r. If not found, return undefined\n findCell(r, c) {\n const address = colCache.getAddress(r, c);\n const row = this.findRow(address.row);\n return row ? row.findCell(address.column) : undefined;\n }\n\n // return the cell at [r,c] or address given by r. If not found, create a new one.\n getCell(r, c) {\n const address = colCache.getAddress(r, c);\n const row = this.getRow(address.row);\n return row.getCellEx(address);\n }\n\n mergeCells(...cells) {\n // may fail if rows have been comitted\n const dimensions = new Dimensions(cells);\n\n // check cells aren't already merged\n this._merges.forEach(merge => {\n if (merge.intersects(dimensions)) {\n throw new Error('Cannot merge already merged cells');\n }\n });\n\n // apply merge\n const master = this.getCell(dimensions.top, dimensions.left);\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\n for (let j = dimensions.left; j <= dimensions.right; j++) {\n if (i > dimensions.top || j > dimensions.left) {\n this.getCell(i, j).merge(master);\n }\n }\n }\n\n // index merge\n this._merges.push(dimensions);\n }\n\n // ===========================================================================\n // Conditional Formatting\n addConditionalFormatting(cf) {\n this.conditionalFormatting.push(cf);\n }\n\n removeConditionalFormatting(filter) {\n if (typeof filter === 'number') {\n this.conditionalFormatting.splice(filter, 1);\n } else if (filter instanceof Function) {\n this.conditionalFormatting = this.conditionalFormatting.filter(filter);\n } else {\n this.conditionalFormatting = [];\n }\n }\n\n // =========================================================================\n\n addBackgroundImage(imageId) {\n this._background = {\n imageId,\n };\n }\n\n getBackgroundImageId() {\n return this._background && this._background.imageId;\n }\n\n // =========================================================================\n // Worksheet Protection\n protect(password, options) {\n // TODO: make this function truly async\n // perhaps marshal to worker thread or something\n return new Promise(resolve => {\n this.sheetProtection = {\n sheet: true,\n };\n if (options && 'spinCount' in options) {\n // force spinCount to be integer >= 0\n options.spinCount = Number.isFinite(options.spinCount) ? Math.round(Math.max(0, options.spinCount)) : 100000;\n }\n if (password) {\n this.sheetProtection.algorithmName = 'SHA-512';\n this.sheetProtection.saltValue = Encryptor.randomBytes(16).toString('base64');\n this.sheetProtection.spinCount = options && 'spinCount' in options ? options.spinCount : 100000; // allow user specified spinCount\n this.sheetProtection.hashValue = Encryptor.convertPasswordToHash(\n password,\n 'SHA512',\n this.sheetProtection.saltValue,\n this.sheetProtection.spinCount\n );\n }\n if (options) {\n this.sheetProtection = Object.assign(this.sheetProtection, options);\n if (!password && 'spinCount' in options) {\n delete this.sheetProtection.spinCount;\n }\n }\n resolve();\n });\n }\n\n unprotect() {\n this.sheetProtection = null;\n }\n\n // ================================================================================\n\n _write(text) {\n xmlBuffer.reset();\n xmlBuffer.addText(text);\n this.stream.write(xmlBuffer);\n }\n\n _writeSheetProperties(xmlBuf, properties, pageSetup) {\n const sheetPropertiesModel = {\n outlineProperties: properties && properties.outlineProperties,\n tabColor: properties && properties.tabColor,\n pageSetup:\n pageSetup && pageSetup.fitToPage\n ? {\n fitToPage: pageSetup.fitToPage,\n }\n : undefined,\n };\n\n xmlBuf.addText(xform.sheetProperties.toXml(sheetPropertiesModel));\n }\n\n _writeSheetFormatProperties(xmlBuf, properties) {\n const sheetFormatPropertiesModel = properties\n ? {\n defaultRowHeight: properties.defaultRowHeight,\n dyDescent: properties.dyDescent,\n outlineLevelCol: properties.outlineLevelCol,\n outlineLevelRow: properties.outlineLevelRow,\n }\n : undefined;\n if (properties.defaultColWidth) {\n sheetFormatPropertiesModel.defaultColWidth = properties.defaultColWidth;\n }\n\n xmlBuf.addText(xform.sheetFormatProperties.toXml(sheetFormatPropertiesModel));\n }\n\n _writeOpenWorksheet() {\n xmlBuffer.reset();\n\n xmlBuffer.addText('<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>');\n xmlBuffer.addText(\n '<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"' +\n ' xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"' +\n ' xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"' +\n ' mc:Ignorable=\"x14ac\"' +\n ' xmlns:x14ac=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\">'\n );\n\n this._writeSheetProperties(xmlBuffer, this.properties, this.pageSetup);\n\n xmlBuffer.addText(xform.sheetViews.toXml(this.views));\n\n this._writeSheetFormatProperties(xmlBuffer, this.properties);\n\n this.stream.write(xmlBuffer);\n }\n\n _writeColumns() {\n const cols = Column.toModel(this.columns);\n if (cols) {\n xform.columns.prepare(cols, {styles: this._workbook.styles});\n this.stream.write(xform.columns.toXml(cols));\n }\n }\n\n _writeOpenSheetData() {\n this._write('<sheetData>');\n }\n\n _writeRow(row) {\n if (!this.startedData) {\n this._writeColumns();\n this._writeOpenSheetData();\n this.startedData = true;\n }\n\n if (row.hasValues || row.height) {\n const {model} = row;\n const options = {\n styles: this._workbook.styles,\n sharedStrings: this.useSharedStrings ? this._workbook.sharedStrings : undefined,\n hyperlinks: this._sheetRelsWriter.hyperlinksProxy,\n merges: this._merges,\n formulae: this._formulae,\n siFormulae: this._siFormulae,\n comments: [],\n };\n xform.row.prepare(model, options);\n this.stream.write(xform.row.toXml(model));\n\n if (options.comments.length) {\n this.hasComments = true;\n this._sheetCommentsWriter.addComments(options.comments);\n }\n }\n }\n\n _writeCloseSheetData() {\n this._write('</sheetData>');\n }\n\n _writeMergeCells() {\n if (this._merges.length) {\n xmlBuffer.reset();\n xmlBuffer.addText(`<mergeCells count=\"${this._merges.length}\">`);\n this._merges.forEach(merge => {\n xmlBuffer.addText(`<mergeCell ref=\"${merge}\"/>`);\n });\n xmlBuffer.addText('</mergeCells>');\n\n this.stream.write(xmlBuffer);\n }\n }\n\n _writeHyperlinks() {\n // eslint-disable-next-line no-underscore-dangle\n this.stream.write(xform.hyperlinks.toXml(this._sheetRelsWriter._hyperlinks));\n }\n\n _writeConditionalFormatting() {\n const options = {\n styles: this._workbook.styles,\n };\n xform.conditionalFormattings.prepare(this.conditionalFormatting, options);\n this.stream.write(xform.conditionalFormattings.toXml(this.conditionalFormatting));\n }\n\n _writeRowBreaks() {\n this.stream.write(xform.rowBreaks.toXml(this.rowBreaks));\n }\n\n _writeDataValidations() {\n this.stream.write(xform.dataValidations.toXml(this.dataValidations.model));\n }\n\n _writeSheetProtection() {\n this.stream.write(xform.sheetProtection.toXml(this.sheetProtection));\n }\n\n _writePageMargins() {\n this.stream.write(xform.pageMargins.toXml(this.pageSetup.margins));\n }\n\n _writePageSetup() {\n this.stream.write(xform.pageSeteup.toXml(this.pageSetup));\n }\n\n _writeHeaderFooter() {\n this.stream.write(xform.headerFooter.toXml(this.headerFooter));\n }\n\n _writeAutoFilter() {\n this.stream.write(xform.autoFilter.toXml(this.autoFilter));\n }\n\n _writeBackground() {\n if (this._background) {\n if (this._background.imageId !== undefined) {\n const image = this._workbook.getImage(this._background.imageId);\n const pictureId = this._sheetRelsWriter.addMedia({\n Target: `../media/${image.name}`,\n Type: RelType.Image,\n });\n\n this._background = {\n ...this._background,\n rId: pictureId,\n };\n }\n this.stream.write(xform.picture.toXml({rId: this._background.rId}));\n }\n }\n\n _writeLegacyData() {\n if (this.hasComments) {\n xmlBuffer.reset();\n xmlBuffer.addText(`<legacyDrawing r:id=\"${this._sheetCommentsWriter.vmlRelId}\"/>`);\n this.stream.write(xmlBuffer);\n }\n }\n\n _writeDimensions() {\n // for some reason, Excel can't handle dimensions at the bottom of the file\n // and we don't know the dimensions until the commit, so don't write them.\n // this._write('<dimension ref=\"' + this._dimensions + '\"/>');\n }\n\n _writeCloseWorksheet() {\n this._write('</worksheet>');\n }\n}\n\nmodule.exports = WorksheetWriter;\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- // eslint-disable-next-line node/no-unsupported-features/node-builtins
3
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
4
4
  const textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8');
5
5
  function bufferToString(chunk) {
6
6
  if (typeof chunk === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-buffer-decode.js","names":["textDecoder","TextDecoder","bufferToString","chunk","decode","toString","exports"],"sources":["../../../lib/utils/browser-buffer-decode.js"],"sourcesContent":["// eslint-disable-next-line node/no-unsupported-features/node-builtins\nconst textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8');\n\nfunction bufferToString(chunk) {\n if (typeof chunk === 'string') {\n return chunk;\n }\n if (textDecoder) {\n return textDecoder.decode(chunk);\n }\n return chunk.toString();\n}\n\nexports.bufferToString = bufferToString;\n"],"mappings":";;AAAA;AACA,MAAMA,WAAW,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAG,IAAI,GAAG,IAAIA,WAAW,CAAC,OAAO,CAAC;AAExF,SAASC,cAAcA,CAACC,KAAK,EAAE;EAC7B,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EACA,IAAIH,WAAW,EAAE;IACf,OAAOA,WAAW,CAACI,MAAM,CAACD,KAAK,CAAC;EAClC;EACA,OAAOA,KAAK,CAACE,QAAQ,CAAC,CAAC;AACzB;AAEAC,OAAO,CAACJ,cAAc,GAAGA,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"browser-buffer-decode.js","names":["textDecoder","TextDecoder","bufferToString","chunk","decode","toString","exports"],"sources":["../../../lib/utils/browser-buffer-decode.js"],"sourcesContent":["// eslint-disable-next-line n/no-unsupported-features/node-builtins\nconst textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8');\n\nfunction bufferToString(chunk) {\n if (typeof chunk === 'string') {\n return chunk;\n }\n if (textDecoder) {\n return textDecoder.decode(chunk);\n }\n return chunk.toString();\n}\n\nexports.bufferToString = bufferToString;\n"],"mappings":";;AAAA;AACA,MAAMA,WAAW,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAG,IAAI,GAAG,IAAIA,WAAW,CAAC,OAAO,CAAC;AAExF,SAASC,cAAcA,CAACC,KAAK,EAAE;EAC7B,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EACA,IAAIH,WAAW,EAAE;IACf,OAAOA,WAAW,CAACI,MAAM,CAACD,KAAK,CAAC;EAClC;EACA,OAAOA,KAAK,CAACE,QAAQ,CAAC,CAAC;AACzB;AAEAC,OAAO,CAACJ,cAAc,GAAGA,cAAc","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- // eslint-disable-next-line node/no-unsupported-features/node-builtins
3
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
4
4
  const textEncoder = typeof TextEncoder === 'undefined' ? null : new TextEncoder('utf-8');
5
5
  const {
6
6
  Buffer
@@ -1 +1 @@
1
- {"version":3,"file":"browser-buffer-encode.js","names":["textEncoder","TextEncoder","Buffer","require","stringToBuffer","str","from","encode","buffer","exports"],"sources":["../../../lib/utils/browser-buffer-encode.js"],"sourcesContent":["// eslint-disable-next-line node/no-unsupported-features/node-builtins\nconst textEncoder = typeof TextEncoder === 'undefined' ? null : new TextEncoder('utf-8');\nconst {Buffer} = require('buffer');\n\nfunction stringToBuffer(str) {\n if (typeof str !== 'string') {\n return str;\n }\n if (textEncoder) {\n return Buffer.from(textEncoder.encode(str).buffer);\n }\n return Buffer.from(str);\n}\n\nexports.stringToBuffer = stringToBuffer;\n"],"mappings":";;AAAA;AACA,MAAMA,WAAW,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAG,IAAI,GAAG,IAAIA,WAAW,CAAC,OAAO,CAAC;AACxF,MAAM;EAACC;AAAM,CAAC,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAElC,SAASC,cAAcA,CAACC,GAAG,EAAE;EAC3B,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAOA,GAAG;EACZ;EACA,IAAIL,WAAW,EAAE;IACf,OAAOE,MAAM,CAACI,IAAI,CAACN,WAAW,CAACO,MAAM,CAACF,GAAG,CAAC,CAACG,MAAM,CAAC;EACpD;EACA,OAAON,MAAM,CAACI,IAAI,CAACD,GAAG,CAAC;AACzB;AAEAI,OAAO,CAACL,cAAc,GAAGA,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"browser-buffer-encode.js","names":["textEncoder","TextEncoder","Buffer","require","stringToBuffer","str","from","encode","buffer","exports"],"sources":["../../../lib/utils/browser-buffer-encode.js"],"sourcesContent":["// eslint-disable-next-line n/no-unsupported-features/node-builtins\nconst textEncoder = typeof TextEncoder === 'undefined' ? null : new TextEncoder('utf-8');\nconst {Buffer} = require('buffer');\n\nfunction stringToBuffer(str) {\n if (typeof str !== 'string') {\n return str;\n }\n if (textEncoder) {\n return Buffer.from(textEncoder.encode(str).buffer);\n }\n return Buffer.from(str);\n}\n\nexports.stringToBuffer = stringToBuffer;\n"],"mappings":";;AAAA;AACA,MAAMA,WAAW,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAG,IAAI,GAAG,IAAIA,WAAW,CAAC,OAAO,CAAC;AACxF,MAAM;EAACC;AAAM,CAAC,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAElC,SAASC,cAAcA,CAACC,GAAG,EAAE;EAC3B,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAOA,GAAG;EACZ;EACA,IAAIL,WAAW,EAAE;IACf,OAAOE,MAAM,CAACI,IAAI,CAACN,WAAW,CAACO,MAAM,CAACF,GAAG,CAAC,CAACG,MAAM,CAAC;EACpD;EACA,OAAON,MAAM,CAACI,IAAI,CAACD,GAAG,CAAC;AACzB;AAEAI,OAAO,CAACL,cAAc,GAAGA,cAAc","ignoreList":[]}
@@ -1,10 +1,5 @@
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
3
  const addressRegex = /^[A-Z]+\d+$/;
9
4
  // =========================================================================
10
5
  // Column Letter to Number conversion
@@ -74,13 +69,13 @@ const colCache = {
74
69
  this._fill(l.length);
75
70
  }
76
71
  if (!this._l2n[l]) {
77
- throw new Error("Out of bounds. Invalid column letter: ".concat(l));
72
+ throw new Error(`Out of bounds. Invalid column letter: ${l}`);
78
73
  }
79
74
  return this._l2n[l];
80
75
  },
81
76
  n2l(n) {
82
77
  if (n < 1 || n > 16384) {
83
- throw new Error("".concat(n, " is out of bounds. Excel supports columns from 1 to 16384"));
78
+ throw new Error(`${n} is out of bounds. Excel supports columns from 1 to 16384`);
84
79
  }
85
80
  if (!this._n2l[n]) {
86
81
  this._fill(this._level(n));
@@ -93,7 +88,7 @@ const colCache = {
93
88
  // check if value looks like an address
94
89
  validateAddress(value) {
95
90
  if (!addressRegex.test(value)) {
96
- throw new Error("Invalid Address: ".concat(value));
91
+ throw new Error(`Invalid Address: ${value}`);
97
92
  }
98
93
  return true;
99
94
  },
@@ -134,7 +129,7 @@ const colCache = {
134
129
  if (!hasCol) {
135
130
  colNumber = undefined;
136
131
  } else if (colNumber > 16384) {
137
- throw new Error("Out of bounds. Invalid column letter: ".concat(col));
132
+ throw new Error(`Out of bounds. Invalid column letter: ${col}`);
138
133
  }
139
134
  if (!hasRow) {
140
135
  rowNumber = undefined;
@@ -146,7 +141,7 @@ const colCache = {
146
141
  address: value,
147
142
  col: colNumber,
148
143
  row: rowNumber,
149
- $col$row: "$".concat(col, "$").concat(row)
144
+ $col$row: `$${col}$${row}`
150
145
  };
151
146
 
152
147
  // mem fix - cache only the tl 100x100 square
@@ -179,7 +174,7 @@ const colCache = {
179
174
  // reconstruct tl, br and dimensions
180
175
  result.tl = this.n2l(result.left) + result.top;
181
176
  result.br = this.n2l(result.right) + result.bottom;
182
- result.dimensions = "".concat(result.tl, ":").concat(result.br);
177
+ result.dimensions = `${result.tl}:${result.br}`;
183
178
  return result;
184
179
  }
185
180
  return this.decodeAddress(value);
@@ -229,17 +224,17 @@ const colCache = {
229
224
  address: tl,
230
225
  col: left,
231
226
  row: top,
232
- $col$row: "$".concat(this.n2l(left), "$").concat(top),
227
+ $col$row: `$${this.n2l(left)}$${top}`,
233
228
  sheetName
234
229
  },
235
230
  br: {
236
231
  address: br,
237
232
  col: right,
238
233
  row: bottom,
239
- $col$row: "$".concat(this.n2l(right), "$").concat(bottom),
234
+ $col$row: `$${this.n2l(right)}$${bottom}`,
240
235
  sheetName
241
236
  },
242
- dimensions: "".concat(tl, ":").concat(br)
237
+ dimensions: `${tl}:${br}`
243
238
  };
244
239
  }
245
240
  if (reference.startsWith('#')) {
@@ -251,9 +246,10 @@ const colCache = {
251
246
  };
252
247
  }
253
248
  const address = this.decodeAddress(reference);
254
- return sheetName ? _objectSpread({
255
- sheetName
256
- }, address) : address;
249
+ return sheetName ? {
250
+ sheetName,
251
+ ...address
252
+ } : address;
257
253
  },
258
254
  // convert row,col into address string
259
255
  encodeAddress(row, col) {
@@ -265,7 +261,7 @@ const colCache = {
265
261
  case 2:
266
262
  return colCache.encodeAddress(arguments[0], arguments[1]);
267
263
  case 4:
268
- return "".concat(colCache.encodeAddress(arguments[0], arguments[1]), ":").concat(colCache.encodeAddress(arguments[2], arguments[3]));
264
+ return `${colCache.encodeAddress(arguments[0], arguments[1])}:${colCache.encodeAddress(arguments[2], arguments[3])}`;
269
265
  default:
270
266
  throw new Error('Can only encode with 2 or 4 arguments');
271
267
  }