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,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
4
- function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function (r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (r) { var n = this.s.return; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, throw: function (r) { var n = this.s.return; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
5
3
  const parseSax = require('../../utils/parse-sax');
6
4
  const XmlStream = require('../../utils/xml-stream');
7
5
 
@@ -56,42 +54,21 @@ class BaseXform {
56
54
  this.model = Object.assign(this.model || {}, obj);
57
55
  }
58
56
  async parse(saxParser) {
59
- var _iteratorAbruptCompletion = false;
60
- var _didIteratorError = false;
61
- var _iteratorError;
62
- try {
63
- for (var _iterator = _asyncIterator(saxParser), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {
64
- const events = _step.value;
65
- {
66
- for (const {
67
- eventType,
68
- value
69
- } of events) {
70
- if (eventType === 'opentag') {
71
- this.parseOpen(value);
72
- } else if (eventType === 'text') {
73
- this.parseText(value);
74
- } else if (eventType === 'closetag') {
75
- if (!this.parseClose(value.name)) {
76
- return this.model;
77
- }
78
- }
57
+ for await (const events of saxParser) {
58
+ for (const {
59
+ eventType,
60
+ value
61
+ } of events) {
62
+ if (eventType === 'opentag') {
63
+ this.parseOpen(value);
64
+ } else if (eventType === 'text') {
65
+ this.parseText(value);
66
+ } else if (eventType === 'closetag') {
67
+ if (!this.parseClose(value.name)) {
68
+ return this.model;
79
69
  }
80
70
  }
81
71
  }
82
- } catch (err) {
83
- _didIteratorError = true;
84
- _iteratorError = err;
85
- } finally {
86
- try {
87
- if (_iteratorAbruptCompletion && _iterator.return != null) {
88
- await _iterator.return();
89
- }
90
- } finally {
91
- if (_didIteratorError) {
92
- throw _iteratorError;
93
- }
94
- }
95
72
  }
96
73
  return this.model;
97
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-xform.js","names":["parseSax","require","XmlStream","BaseXform","prepare","render","parseOpen","node","parseText","text","parseClose","name","reconcile","model","options","reset","map","Object","values","forEach","xform","mergeModel","obj","assign","parse","saxParser","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_asyncIterator","_step","next","done","events","value","eventType","err","return","parseStream","stream","xml","toXml","xmlStream","toAttribute","dflt","always","arguments","length","undefined","toString","toStringAttribute","toStringValue","attr","toBoolAttribute","toBoolValue","toIntAttribute","toIntValue","parseInt","toFloatAttribute","toFloatValue","parseFloat","module","exports"],"sources":["../../../../lib/xlsx/xform/base-xform.js"],"sourcesContent":["const parseSax = require('../../utils/parse-sax');\nconst XmlStream = require('../../utils/xml-stream');\n\n/* 'virtual' methods used as a form of documentation */\n/* eslint-disable class-methods-use-this */\n\n// Base class for Xforms\nclass BaseXform {\n // constructor(/* model, name */) {}\n\n // ============================================================\n // Virtual Interface\n prepare(/* model, options */) {\n // optional preparation (mutation) of model so it is ready for write\n }\n\n render(/* xmlStream, model */) {\n // convert model to xml\n }\n\n parseOpen(node) {\n // XML node opened\n }\n\n parseText(text) {\n // chunk of text encountered for current node\n }\n\n parseClose(name) {\n // XML node closed\n }\n\n reconcile(model, options) {\n // optional post-parse step (opposite to prepare)\n }\n\n // ============================================================\n reset() {\n // to make sure parses don't bleed to next iteration\n this.model = null;\n\n // if we have a map - reset them too\n if (this.map) {\n Object.values(this.map).forEach(xform => {\n if (xform instanceof BaseXform) {\n xform.reset();\n } else if (xform.xform) {\n xform.xform.reset();\n }\n });\n }\n }\n\n mergeModel(obj) {\n // set obj's props to this.model\n this.model = Object.assign(this.model || {}, obj);\n }\n\n async parse(saxParser) {\n for await (const events of saxParser) {\n for (const {eventType, value} of events) {\n if (eventType === 'opentag') {\n this.parseOpen(value);\n } else if (eventType === 'text') {\n this.parseText(value);\n } else if (eventType === 'closetag') {\n if (!this.parseClose(value.name)) {\n return this.model;\n }\n }\n }\n }\n return this.model;\n }\n\n async parseStream(stream) {\n return this.parse(parseSax(stream));\n }\n\n get xml() {\n // convenience function to get the xml of this.model\n // useful for manager types that are built during the prepare phase\n return this.toXml(this.model);\n }\n\n toXml(model) {\n const xmlStream = new XmlStream();\n this.render(xmlStream, model);\n return xmlStream.xml;\n }\n\n // ============================================================\n // Useful Utilities\n static toAttribute(value, dflt, always = false) {\n if (value === undefined) {\n if (always) {\n return dflt;\n }\n } else if (always || value !== dflt) {\n return value.toString();\n }\n return undefined;\n }\n\n static toStringAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toStringValue(attr, dflt) {\n return attr === undefined ? dflt : attr;\n }\n\n static toBoolAttribute(value, dflt, always = false) {\n if (value === undefined) {\n if (always) {\n return dflt;\n }\n } else if (always || value !== dflt) {\n return value ? '1' : '0';\n }\n return undefined;\n }\n\n static toBoolValue(attr, dflt) {\n return attr === undefined ? dflt : attr === '1';\n }\n\n static toIntAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toIntValue(attr, dflt) {\n return attr === undefined ? dflt : parseInt(attr, 10);\n }\n\n static toFloatAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toFloatValue(attr, dflt) {\n return attr === undefined ? dflt : parseFloat(attr);\n }\n}\n\nmodule.exports = BaseXform;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"base-xform.js","names":["parseSax","require","XmlStream","BaseXform","prepare","render","parseOpen","node","parseText","text","parseClose","name","reconcile","model","options","reset","map","Object","values","forEach","xform","mergeModel","obj","assign","parse","saxParser","events","eventType","value","parseStream","stream","xml","toXml","xmlStream","toAttribute","dflt","always","arguments","length","undefined","toString","toStringAttribute","toStringValue","attr","toBoolAttribute","toBoolValue","toIntAttribute","toIntValue","parseInt","toFloatAttribute","toFloatValue","parseFloat","module","exports"],"sources":["../../../../lib/xlsx/xform/base-xform.js"],"sourcesContent":["const parseSax = require('../../utils/parse-sax');\nconst XmlStream = require('../../utils/xml-stream');\n\n/* 'virtual' methods used as a form of documentation */\n/* eslint-disable class-methods-use-this */\n\n// Base class for Xforms\nclass BaseXform {\n // constructor(/* model, name */) {}\n\n // ============================================================\n // Virtual Interface\n prepare(/* model, options */) {\n // optional preparation (mutation) of model so it is ready for write\n }\n\n render(/* xmlStream, model */) {\n // convert model to xml\n }\n\n parseOpen(node) {\n // XML node opened\n }\n\n parseText(text) {\n // chunk of text encountered for current node\n }\n\n parseClose(name) {\n // XML node closed\n }\n\n reconcile(model, options) {\n // optional post-parse step (opposite to prepare)\n }\n\n // ============================================================\n reset() {\n // to make sure parses don't bleed to next iteration\n this.model = null;\n\n // if we have a map - reset them too\n if (this.map) {\n Object.values(this.map).forEach(xform => {\n if (xform instanceof BaseXform) {\n xform.reset();\n } else if (xform.xform) {\n xform.xform.reset();\n }\n });\n }\n }\n\n mergeModel(obj) {\n // set obj's props to this.model\n this.model = Object.assign(this.model || {}, obj);\n }\n\n async parse(saxParser) {\n for await (const events of saxParser) {\n for (const {eventType, value} of events) {\n if (eventType === 'opentag') {\n this.parseOpen(value);\n } else if (eventType === 'text') {\n this.parseText(value);\n } else if (eventType === 'closetag') {\n if (!this.parseClose(value.name)) {\n return this.model;\n }\n }\n }\n }\n return this.model;\n }\n\n async parseStream(stream) {\n return this.parse(parseSax(stream));\n }\n\n get xml() {\n // convenience function to get the xml of this.model\n // useful for manager types that are built during the prepare phase\n return this.toXml(this.model);\n }\n\n toXml(model) {\n const xmlStream = new XmlStream();\n this.render(xmlStream, model);\n return xmlStream.xml;\n }\n\n // ============================================================\n // Useful Utilities\n static toAttribute(value, dflt, always = false) {\n if (value === undefined) {\n if (always) {\n return dflt;\n }\n } else if (always || value !== dflt) {\n return value.toString();\n }\n return undefined;\n }\n\n static toStringAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toStringValue(attr, dflt) {\n return attr === undefined ? dflt : attr;\n }\n\n static toBoolAttribute(value, dflt, always = false) {\n if (value === undefined) {\n if (always) {\n return dflt;\n }\n } else if (always || value !== dflt) {\n return value ? '1' : '0';\n }\n return undefined;\n }\n\n static toBoolValue(attr, dflt) {\n return attr === undefined ? dflt : attr === '1';\n }\n\n static toIntAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toIntValue(attr, dflt) {\n return attr === undefined ? dflt : parseInt(attr, 10);\n }\n\n static toFloatAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toFloatValue(attr, dflt) {\n return attr === undefined ? dflt : parseFloat(attr);\n }\n}\n\nmodule.exports = BaseXform;\n"],"mappings":"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","ignoreList":[]}
@@ -59,7 +59,7 @@ function extractRanges(parsedText) {
59
59
  const quotes = (item.match(/'/g) || []).length;
60
60
  if (!quotes) {
61
61
  if (quotesOpened) {
62
- last += "".concat(item, ",");
62
+ last += `${item},`;
63
63
  } else if (isValidRange(item)) {
64
64
  ranges.push(item);
65
65
  }
@@ -76,7 +76,7 @@ function extractRanges(parsedText) {
76
76
  last = '';
77
77
  } else {
78
78
  quotesOpened = true;
79
- last += "".concat(item, ",");
79
+ last += `${item},`;
80
80
  }
81
81
  });
82
82
  return ranges;
@@ -1 +1 @@
1
- {"version":3,"file":"defined-name-xform.js","names":["BaseXform","require","colCache","DefinedNamesXform","render","xmlStream","model","openNode","name","localSheetId","writeText","ranges","join","closeNode","parseOpen","node","_parsedName","attributes","_parsedLocalSheetId","_parsedText","parseText","text","push","parseClose","extractRanges","undefined","parseInt","isValidRange","range","decodeEx","err","parsedText","quotesOpened","last","split","forEach","item","quotes","match","length","concat","quotesEven","module","exports"],"sources":["../../../../../lib/xlsx/xform/book/defined-name-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst colCache = require('../../../utils/col-cache');\n\nclass DefinedNamesXform extends BaseXform {\n render(xmlStream, model) {\n // <definedNames>\n // <definedName name=\"name\">name.ranges.join(',')</definedName>\n // <definedName name=\"_xlnm.Print_Area\" localSheetId=\"0\">name.ranges.join(',')</definedName>\n // </definedNames>\n xmlStream.openNode('definedName', {\n name: model.name,\n localSheetId: model.localSheetId,\n });\n xmlStream.writeText(model.ranges.join(','));\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'definedName':\n this._parsedName = node.attributes.name;\n this._parsedLocalSheetId = node.attributes.localSheetId;\n this._parsedText = [];\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this._parsedText.push(text);\n }\n\n parseClose() {\n this.model = {\n name: this._parsedName,\n ranges: extractRanges(this._parsedText.join('')),\n };\n if (this._parsedLocalSheetId !== undefined) {\n this.model.localSheetId = parseInt(this._parsedLocalSheetId, 10);\n }\n return false;\n }\n}\n\nfunction isValidRange(range) {\n try {\n colCache.decodeEx(range);\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction extractRanges(parsedText) {\n const ranges = [];\n let quotesOpened = false;\n let last = '';\n parsedText.split(',').forEach(item => {\n if (!item) {\n return;\n }\n const quotes = (item.match(/'/g) || []).length;\n\n if (!quotes) {\n if (quotesOpened) {\n last += `${item},`;\n } else if (isValidRange(item)) {\n ranges.push(item);\n }\n return;\n }\n const quotesEven = quotes % 2 === 0;\n\n if (!quotesOpened && quotesEven && isValidRange(item)) {\n ranges.push(item);\n } else if (quotesOpened && !quotesEven) {\n quotesOpened = false;\n if (isValidRange(last + item)) {\n ranges.push(last + item);\n }\n last = '';\n } else {\n quotesOpened = true;\n last += `${item},`;\n }\n });\n return ranges;\n}\n\nmodule.exports = DefinedNamesXform;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"defined-name-xform.js","names":["BaseXform","require","colCache","DefinedNamesXform","render","xmlStream","model","openNode","name","localSheetId","writeText","ranges","join","closeNode","parseOpen","node","_parsedName","attributes","_parsedLocalSheetId","_parsedText","parseText","text","push","parseClose","extractRanges","undefined","parseInt","isValidRange","range","decodeEx","err","parsedText","quotesOpened","last","split","forEach","item","quotes","match","length","quotesEven","module","exports"],"sources":["../../../../../lib/xlsx/xform/book/defined-name-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst colCache = require('../../../utils/col-cache');\n\nclass DefinedNamesXform extends BaseXform {\n render(xmlStream, model) {\n // <definedNames>\n // <definedName name=\"name\">name.ranges.join(',')</definedName>\n // <definedName name=\"_xlnm.Print_Area\" localSheetId=\"0\">name.ranges.join(',')</definedName>\n // </definedNames>\n xmlStream.openNode('definedName', {\n name: model.name,\n localSheetId: model.localSheetId,\n });\n xmlStream.writeText(model.ranges.join(','));\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'definedName':\n this._parsedName = node.attributes.name;\n this._parsedLocalSheetId = node.attributes.localSheetId;\n this._parsedText = [];\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this._parsedText.push(text);\n }\n\n parseClose() {\n this.model = {\n name: this._parsedName,\n ranges: extractRanges(this._parsedText.join('')),\n };\n if (this._parsedLocalSheetId !== undefined) {\n this.model.localSheetId = parseInt(this._parsedLocalSheetId, 10);\n }\n return false;\n }\n}\n\nfunction isValidRange(range) {\n try {\n colCache.decodeEx(range);\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction extractRanges(parsedText) {\n const ranges = [];\n let quotesOpened = false;\n let last = '';\n parsedText.split(',').forEach(item => {\n if (!item) {\n return;\n }\n const quotes = (item.match(/'/g) || []).length;\n\n if (!quotes) {\n if (quotesOpened) {\n last += `${item},`;\n } else if (isValidRange(item)) {\n ranges.push(item);\n }\n return;\n }\n const quotesEven = quotes % 2 === 0;\n\n if (!quotesOpened && quotesEven && isValidRange(item)) {\n ranges.push(item);\n } else if (quotesOpened && !quotesEven) {\n quotesOpened = false;\n if (isValidRange(last + item)) {\n ranges.push(last + item);\n }\n last = '';\n } else {\n quotesOpened = true;\n last += `${item},`;\n }\n });\n return ranges;\n}\n\nmodule.exports = DefinedNamesXform;\n"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,7 @@ class WorkbookXform extends BaseXform {
53
53
  const printAreaComponents = printArea.split(':');
54
54
  const definedName = {
55
55
  name: '_xlnm.Print_Area',
56
- ranges: ["'".concat(sheet.name, "'!$").concat(printAreaComponents[0], ":$").concat(printAreaComponents[1])],
56
+ ranges: [`'${sheet.name}'!$${printAreaComponents[0]}:$${printAreaComponents[1]}`],
57
57
  localSheetId: index
58
58
  };
59
59
  printAreas.push(definedName);
@@ -63,11 +63,11 @@ class WorkbookXform extends BaseXform {
63
63
  const ranges = [];
64
64
  if (sheet.pageSetup.printTitlesColumn) {
65
65
  const titlesColumns = sheet.pageSetup.printTitlesColumn.split(':');
66
- ranges.push("'".concat(sheet.name, "'!$").concat(titlesColumns[0], ":$").concat(titlesColumns[1]));
66
+ ranges.push(`'${sheet.name}'!$${titlesColumns[0]}:$${titlesColumns[1]}`);
67
67
  }
68
68
  if (sheet.pageSetup.printTitlesRow) {
69
69
  const titlesRows = sheet.pageSetup.printTitlesRow.split(':');
70
- ranges.push("'".concat(sheet.name, "'!$").concat(titlesRows[0], ":$").concat(titlesRows[1]));
70
+ ranges.push(`'${sheet.name}'!$${titlesRows[0]}:$${titlesRows[1]}`);
71
71
  }
72
72
  const definedName = {
73
73
  name: '_xlnm.Print_Titles',
@@ -160,7 +160,7 @@ class WorkbookXform extends BaseXform {
160
160
  }
161
161
  // if rel.Target start with `[space]/xl/` or `/xl/` , then it will be replaced with `''` and spliced behind `xl/`,
162
162
  // otherwise it will be spliced directly behind `xl/`. i.g.
163
- worksheet = model.worksheetHash["xl/".concat(rel.Target.replace(/^(\s|\/xl\/)+/, ''))];
163
+ worksheet = model.worksheetHash[`xl/${rel.Target.replace(/^(\s|\/xl\/)+/, '')}`];
164
164
  // If there are "chartsheets" in the file, rel.Target will
165
165
  // come out as chartsheets/sheet1.xml or similar here, and
166
166
  // that won't be in model.worksheetHash.
@@ -184,7 +184,7 @@ class WorkbookXform extends BaseXform {
184
184
  worksheet.pageSetup = {};
185
185
  }
186
186
  const range = colCache.decodeEx(definedName.ranges[0]);
187
- worksheet.pageSetup.printArea = worksheet.pageSetup.printArea ? "".concat(worksheet.pageSetup.printArea, "&&").concat(range.dimensions) : range.dimensions;
187
+ worksheet.pageSetup.printArea = worksheet.pageSetup.printArea ? `${worksheet.pageSetup.printArea}&&${range.dimensions}` : range.dimensions;
188
188
  }
189
189
  } else if (definedName.name === '_xlnm.Print_Titles') {
190
190
  worksheet = worksheets[definedName.localSheetId];
@@ -1 +1 @@
1
- {"version":3,"file":"workbook-xform.js","names":["_","require","colCache","XmlStream","BaseXform","StaticXform","ListXform","DefinedNameXform","SheetXform","WorkbookViewXform","WorkbookPropertiesXform","WorkbookCalcPropertiesXform","WorkbookPivotCacheXform","WorkbookXform","constructor","map","fileVersion","STATIC_XFORMS","workbookPr","bookViews","tag","count","childXform","sheets","definedNames","calcPr","pivotCaches","prepare","model","worksheets","printAreas","index","forEach","sheet","pageSetup","printArea","split","printAreaComponents","definedName","name","ranges","concat","localSheetId","push","printTitlesRow","printTitlesColumn","titlesColumns","titlesRows","length","media","medium","i","type","render","xmlStream","openXml","StdDocAttributes","openNode","WORKBOOK_ATTRIBUTES","properties","views","calcProperties","pivotTables","closeNode","parseOpen","node","parser","parseText","text","parseClose","undefined","reconcile","rels","workbookRels","reduce","rel","Id","worksheet","rId","worksheetHash","Target","replace","id","state","each","range","decodeEx","dimensions","rangeString","join","dollarRegex","rowRangeRegex","rowRangeMatches","match","columnRangeRegex","columnRangeMatches","xmlns","$","appName","lastEdited","lowestEdited","rupBuild","module","exports"],"sources":["../../../../../lib/xlsx/xform/book/workbook-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\n\nconst colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst StaticXform = require('../static-xform');\nconst ListXform = require('../list-xform');\nconst DefinedNameXform = require('./defined-name-xform');\nconst SheetXform = require('./sheet-xform');\nconst WorkbookViewXform = require('./workbook-view-xform');\nconst WorkbookPropertiesXform = require('./workbook-properties-xform');\nconst WorkbookCalcPropertiesXform = require('./workbook-calc-properties-xform');\nconst WorkbookPivotCacheXform = require('./workbook-pivot-cache-xform');\n\nclass WorkbookXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n fileVersion: WorkbookXform.STATIC_XFORMS.fileVersion,\n workbookPr: new WorkbookPropertiesXform(),\n bookViews: new ListXform({\n tag: 'bookViews',\n count: false,\n childXform: new WorkbookViewXform(),\n }),\n sheets: new ListXform({tag: 'sheets', count: false, childXform: new SheetXform()}),\n definedNames: new ListXform({\n tag: 'definedNames',\n count: false,\n childXform: new DefinedNameXform(),\n }),\n calcPr: new WorkbookCalcPropertiesXform(),\n pivotCaches: new ListXform({\n tag: 'pivotCaches',\n count: false,\n childXform: new WorkbookPivotCacheXform(),\n }),\n };\n }\n\n prepare(model) {\n model.sheets = model.worksheets;\n\n // collate all the print areas from all of the sheets and add them to the defined names\n const printAreas = [];\n let index = 0; // sheets is sparse array - calc index manually\n model.sheets.forEach(sheet => {\n if (sheet.pageSetup && sheet.pageSetup.printArea) {\n sheet.pageSetup.printArea.split('&&').forEach(printArea => {\n const printAreaComponents = printArea.split(':');\n const definedName = {\n name: '_xlnm.Print_Area',\n ranges: [`'${sheet.name}'!$${printAreaComponents[0]}:$${printAreaComponents[1]}`],\n localSheetId: index,\n };\n printAreas.push(definedName);\n });\n }\n\n if (sheet.pageSetup && (sheet.pageSetup.printTitlesRow || sheet.pageSetup.printTitlesColumn)) {\n const ranges = [];\n\n if (sheet.pageSetup.printTitlesColumn) {\n const titlesColumns = sheet.pageSetup.printTitlesColumn.split(':');\n ranges.push(`'${sheet.name}'!$${titlesColumns[0]}:$${titlesColumns[1]}`);\n }\n\n if (sheet.pageSetup.printTitlesRow) {\n const titlesRows = sheet.pageSetup.printTitlesRow.split(':');\n ranges.push(`'${sheet.name}'!$${titlesRows[0]}:$${titlesRows[1]}`);\n }\n\n const definedName = {\n name: '_xlnm.Print_Titles',\n ranges,\n localSheetId: index,\n };\n\n printAreas.push(definedName);\n }\n index++;\n });\n if (printAreas.length) {\n model.definedNames = model.definedNames.concat(printAreas);\n }\n\n (model.media || []).forEach((medium, i) => {\n // assign name\n medium.name = medium.type + (i + 1);\n });\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('workbook', WorkbookXform.WORKBOOK_ATTRIBUTES);\n\n this.map.fileVersion.render(xmlStream);\n this.map.workbookPr.render(xmlStream, model.properties);\n this.map.bookViews.render(xmlStream, model.views);\n this.map.sheets.render(xmlStream, model.sheets);\n this.map.definedNames.render(xmlStream, model.definedNames);\n this.map.calcPr.render(xmlStream, model.calcProperties);\n this.map.pivotCaches.render(xmlStream, model.pivotTables);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'workbook':\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n return true;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'workbook':\n this.model = {\n sheets: this.map.sheets.model,\n properties: this.map.workbookPr.model || {},\n views: this.map.bookViews.model,\n calcProperties: {},\n };\n if (this.map.definedNames.model) {\n this.model.definedNames = this.map.definedNames.model;\n }\n\n return false;\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n reconcile(model) {\n const rels = (model.workbookRels || []).reduce((map, rel) => {\n map[rel.Id] = rel;\n return map;\n }, {});\n\n // reconcile sheet ids, rIds and names\n const worksheets = [];\n let worksheet;\n let index = 0;\n\n (model.sheets || []).forEach(sheet => {\n const rel = rels[sheet.rId];\n if (!rel) {\n return;\n }\n // if rel.Target start with `[space]/xl/` or `/xl/` , then it will be replaced with `''` and spliced behind `xl/`,\n // otherwise it will be spliced directly behind `xl/`. i.g.\n worksheet = model.worksheetHash[`xl/${rel.Target.replace(/^(\\s|\\/xl\\/)+/, '')}`];\n // If there are \"chartsheets\" in the file, rel.Target will\n // come out as chartsheets/sheet1.xml or similar here, and\n // that won't be in model.worksheetHash.\n // As we don't have the infrastructure to support chartsheets,\n // we will ignore them for now:\n if (worksheet) {\n worksheet.name = sheet.name;\n worksheet.id = sheet.id;\n worksheet.state = sheet.state;\n worksheets[index++] = worksheet;\n }\n });\n\n // reconcile print areas\n const definedNames = [];\n _.each(model.definedNames, definedName => {\n if (definedName.name === '_xlnm.Print_Area') {\n worksheet = worksheets[definedName.localSheetId];\n if (worksheet) {\n if (!worksheet.pageSetup) {\n worksheet.pageSetup = {};\n }\n const range = colCache.decodeEx(definedName.ranges[0]);\n worksheet.pageSetup.printArea = worksheet.pageSetup.printArea\n ? `${worksheet.pageSetup.printArea}&&${range.dimensions}`\n : range.dimensions;\n }\n } else if (definedName.name === '_xlnm.Print_Titles') {\n worksheet = worksheets[definedName.localSheetId];\n if (worksheet) {\n if (!worksheet.pageSetup) {\n worksheet.pageSetup = {};\n }\n\n const rangeString = definedName.ranges.join(',');\n\n const dollarRegex = /\\$/g;\n\n const rowRangeRegex = /\\$\\d+:\\$\\d+/;\n const rowRangeMatches = rangeString.match(rowRangeRegex);\n\n if (rowRangeMatches && rowRangeMatches.length) {\n const range = rowRangeMatches[0];\n worksheet.pageSetup.printTitlesRow = range.replace(dollarRegex, '');\n }\n\n const columnRangeRegex = /\\$[A-Z]+:\\$[A-Z]+/;\n const columnRangeMatches = rangeString.match(columnRangeRegex);\n\n if (columnRangeMatches && columnRangeMatches.length) {\n const range = columnRangeMatches[0];\n worksheet.pageSetup.printTitlesColumn = range.replace(dollarRegex, '');\n }\n }\n } else {\n definedNames.push(definedName);\n }\n });\n model.definedNames = definedNames;\n\n // used by sheets to build their image models\n model.media.forEach((media, i) => {\n media.index = i;\n });\n }\n}\n\nWorkbookXform.WORKBOOK_ATTRIBUTES = {\n 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': 'x15',\n 'xmlns:x15': 'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main',\n};\nWorkbookXform.STATIC_XFORMS = {\n fileVersion: new StaticXform({\n tag: 'fileVersion',\n $: {appName: 'xl', lastEdited: 5, lowestEdited: 5, rupBuild: 9303},\n }),\n};\n\nmodule.exports = WorkbookXform;\n"],"mappings":";;AAAA,MAAMA,CAAC,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AAE9C,MAAMC,QAAQ,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AACpD,MAAME,SAAS,GAAGF,OAAO,CAAC,2BAA2B,CAAC;AAEtD,MAAMG,SAAS,GAAGH,OAAO,CAAC,eAAe,CAAC;AAC1C,MAAMI,WAAW,GAAGJ,OAAO,CAAC,iBAAiB,CAAC;AAC9C,MAAMK,SAAS,GAAGL,OAAO,CAAC,eAAe,CAAC;AAC1C,MAAMM,gBAAgB,GAAGN,OAAO,CAAC,sBAAsB,CAAC;AACxD,MAAMO,UAAU,GAAGP,OAAO,CAAC,eAAe,CAAC;AAC3C,MAAMQ,iBAAiB,GAAGR,OAAO,CAAC,uBAAuB,CAAC;AAC1D,MAAMS,uBAAuB,GAAGT,OAAO,CAAC,6BAA6B,CAAC;AACtE,MAAMU,2BAA2B,GAAGV,OAAO,CAAC,kCAAkC,CAAC;AAC/E,MAAMW,uBAAuB,GAAGX,OAAO,CAAC,8BAA8B,CAAC;AAEvE,MAAMY,aAAa,SAAST,SAAS,CAAC;EACpCU,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,GAAG,GAAG;MACTC,WAAW,EAAEH,aAAa,CAACI,aAAa,CAACD,WAAW;MACpDE,UAAU,EAAE,IAAIR,uBAAuB,CAAC,CAAC;MACzCS,SAAS,EAAE,IAAIb,SAAS,CAAC;QACvBc,GAAG,EAAE,WAAW;QAChBC,KAAK,EAAE,KAAK;QACZC,UAAU,EAAE,IAAIb,iBAAiB,CAAC;MACpC,CAAC,CAAC;MACFc,MAAM,EAAE,IAAIjB,SAAS,CAAC;QAACc,GAAG,EAAE,QAAQ;QAAEC,KAAK,EAAE,KAAK;QAAEC,UAAU,EAAE,IAAId,UAAU,CAAC;MAAC,CAAC,CAAC;MAClFgB,YAAY,EAAE,IAAIlB,SAAS,CAAC;QAC1Bc,GAAG,EAAE,cAAc;QACnBC,KAAK,EAAE,KAAK;QACZC,UAAU,EAAE,IAAIf,gBAAgB,CAAC;MACnC,CAAC,CAAC;MACFkB,MAAM,EAAE,IAAId,2BAA2B,CAAC,CAAC;MACzCe,WAAW,EAAE,IAAIpB,SAAS,CAAC;QACzBc,GAAG,EAAE,aAAa;QAClBC,KAAK,EAAE,KAAK;QACZC,UAAU,EAAE,IAAIV,uBAAuB,CAAC;MAC1C,CAAC;IACH,CAAC;EACH;EAEAe,OAAOA,CAACC,KAAK,EAAE;IACbA,KAAK,CAACL,MAAM,GAAGK,KAAK,CAACC,UAAU;;IAE/B;IACA,MAAMC,UAAU,GAAG,EAAE;IACrB,IAAIC,KAAK,GAAG,CAAC,CAAC,CAAC;IACfH,KAAK,CAACL,MAAM,CAACS,OAAO,CAACC,KAAK,IAAI;MAC5B,IAAIA,KAAK,CAACC,SAAS,IAAID,KAAK,CAACC,SAAS,CAACC,SAAS,EAAE;QAChDF,KAAK,CAACC,SAAS,CAACC,SAAS,CAACC,KAAK,CAAC,IAAI,CAAC,CAACJ,OAAO,CAACG,SAAS,IAAI;UACzD,MAAME,mBAAmB,GAAGF,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC;UAChD,MAAME,WAAW,GAAG;YAClBC,IAAI,EAAE,kBAAkB;YACxBC,MAAM,EAAE,KAAAC,MAAA,CAAKR,KAAK,CAACM,IAAI,SAAAE,MAAA,CAAMJ,mBAAmB,CAAC,CAAC,CAAC,QAAAI,MAAA,CAAKJ,mBAAmB,CAAC,CAAC,CAAC,EAAG;YACjFK,YAAY,EAAEX;UAChB,CAAC;UACDD,UAAU,CAACa,IAAI,CAACL,WAAW,CAAC;QAC9B,CAAC,CAAC;MACJ;MAEA,IAAIL,KAAK,CAACC,SAAS,KAAKD,KAAK,CAACC,SAAS,CAACU,cAAc,IAAIX,KAAK,CAACC,SAAS,CAACW,iBAAiB,CAAC,EAAE;QAC5F,MAAML,MAAM,GAAG,EAAE;QAEjB,IAAIP,KAAK,CAACC,SAAS,CAACW,iBAAiB,EAAE;UACrC,MAAMC,aAAa,GAAGb,KAAK,CAACC,SAAS,CAACW,iBAAiB,CAACT,KAAK,CAAC,GAAG,CAAC;UAClEI,MAAM,CAACG,IAAI,KAAAF,MAAA,CAAKR,KAAK,CAACM,IAAI,SAAAE,MAAA,CAAMK,aAAa,CAAC,CAAC,CAAC,QAAAL,MAAA,CAAKK,aAAa,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1E;QAEA,IAAIb,KAAK,CAACC,SAAS,CAACU,cAAc,EAAE;UAClC,MAAMG,UAAU,GAAGd,KAAK,CAACC,SAAS,CAACU,cAAc,CAACR,KAAK,CAAC,GAAG,CAAC;UAC5DI,MAAM,CAACG,IAAI,KAAAF,MAAA,CAAKR,KAAK,CAACM,IAAI,SAAAE,MAAA,CAAMM,UAAU,CAAC,CAAC,CAAC,QAAAN,MAAA,CAAKM,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;QACpE;QAEA,MAAMT,WAAW,GAAG;UAClBC,IAAI,EAAE,oBAAoB;UAC1BC,MAAM;UACNE,YAAY,EAAEX;QAChB,CAAC;QAEDD,UAAU,CAACa,IAAI,CAACL,WAAW,CAAC;MAC9B;MACAP,KAAK,EAAE;IACT,CAAC,CAAC;IACF,IAAID,UAAU,CAACkB,MAAM,EAAE;MACrBpB,KAAK,CAACJ,YAAY,GAAGI,KAAK,CAACJ,YAAY,CAACiB,MAAM,CAACX,UAAU,CAAC;IAC5D;IAEA,CAACF,KAAK,CAACqB,KAAK,IAAI,EAAE,EAAEjB,OAAO,CAAC,CAACkB,MAAM,EAAEC,CAAC,KAAK;MACzC;MACAD,MAAM,CAACX,IAAI,GAAGW,MAAM,CAACE,IAAI,IAAID,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;EACJ;EAEAE,MAAMA,CAACC,SAAS,EAAE1B,KAAK,EAAE;IACvB0B,SAAS,CAACC,OAAO,CAACpD,SAAS,CAACqD,gBAAgB,CAAC;IAC7CF,SAAS,CAACG,QAAQ,CAAC,UAAU,EAAE5C,aAAa,CAAC6C,mBAAmB,CAAC;IAEjE,IAAI,CAAC3C,GAAG,CAACC,WAAW,CAACqC,MAAM,CAACC,SAAS,CAAC;IACtC,IAAI,CAACvC,GAAG,CAACG,UAAU,CAACmC,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAAC+B,UAAU,CAAC;IACvD,IAAI,CAAC5C,GAAG,CAACI,SAAS,CAACkC,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACgC,KAAK,CAAC;IACjD,IAAI,CAAC7C,GAAG,CAACQ,MAAM,CAAC8B,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACL,MAAM,CAAC;IAC/C,IAAI,CAACR,GAAG,CAACS,YAAY,CAAC6B,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACJ,YAAY,CAAC;IAC3D,IAAI,CAACT,GAAG,CAACU,MAAM,CAAC4B,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACiC,cAAc,CAAC;IACvD,IAAI,CAAC9C,GAAG,CAACW,WAAW,CAAC2B,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACkC,WAAW,CAAC;IAEzDR,SAAS,CAACS,SAAS,CAAC,CAAC;EACvB;EAEAC,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACC,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,QAAQA,IAAI,CAAC1B,IAAI;MACf,KAAK,UAAU;QACb,OAAO,IAAI;MACb;QACE,IAAI,CAAC2B,MAAM,GAAG,IAAI,CAACnD,GAAG,CAACkD,IAAI,CAAC1B,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC2B,MAAM,EAAE;UACf,IAAI,CAACA,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;QAC7B;QACA,OAAO,IAAI;IACf;EACF;EAEAE,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACF,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACC,SAAS,CAACC,IAAI,CAAC;IAC7B;EACF;EAEAC,UAAUA,CAAC9B,IAAI,EAAE;IACf,IAAI,IAAI,CAAC2B,MAAM,EAAE;MACf,IAAI,CAAC,IAAI,CAACA,MAAM,CAACG,UAAU,CAAC9B,IAAI,CAAC,EAAE;QACjC,IAAI,CAAC2B,MAAM,GAAGI,SAAS;MACzB;MACA,OAAO,IAAI;IACb;IACA,QAAQ/B,IAAI;MACV,KAAK,UAAU;QACb,IAAI,CAACX,KAAK,GAAG;UACXL,MAAM,EAAE,IAAI,CAACR,GAAG,CAACQ,MAAM,CAACK,KAAK;UAC7B+B,UAAU,EAAE,IAAI,CAAC5C,GAAG,CAACG,UAAU,CAACU,KAAK,IAAI,CAAC,CAAC;UAC3CgC,KAAK,EAAE,IAAI,CAAC7C,GAAG,CAACI,SAAS,CAACS,KAAK;UAC/BiC,cAAc,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC9C,GAAG,CAACS,YAAY,CAACI,KAAK,EAAE;UAC/B,IAAI,CAACA,KAAK,CAACJ,YAAY,GAAG,IAAI,CAACT,GAAG,CAACS,YAAY,CAACI,KAAK;QACvD;QAEA,OAAO,KAAK;MACd;QACE;QACA,OAAO,IAAI;IACf;EACF;EAEA2C,SAASA,CAAC3C,KAAK,EAAE;IACf,MAAM4C,IAAI,GAAG,CAAC5C,KAAK,CAAC6C,YAAY,IAAI,EAAE,EAAEC,MAAM,CAAC,CAAC3D,GAAG,EAAE4D,GAAG,KAAK;MAC3D5D,GAAG,CAAC4D,GAAG,CAACC,EAAE,CAAC,GAAGD,GAAG;MACjB,OAAO5D,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA,MAAMc,UAAU,GAAG,EAAE;IACrB,IAAIgD,SAAS;IACb,IAAI9C,KAAK,GAAG,CAAC;IAEb,CAACH,KAAK,CAACL,MAAM,IAAI,EAAE,EAAES,OAAO,CAACC,KAAK,IAAI;MACpC,MAAM0C,GAAG,GAAGH,IAAI,CAACvC,KAAK,CAAC6C,GAAG,CAAC;MAC3B,IAAI,CAACH,GAAG,EAAE;QACR;MACF;MACA;MACA;MACAE,SAAS,GAAGjD,KAAK,CAACmD,aAAa,OAAAtC,MAAA,CAAOkC,GAAG,CAACK,MAAM,CAACC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAG;MAChF;MACA;MACA;MACA;MACA;MACA,IAAIJ,SAAS,EAAE;QACbA,SAAS,CAACtC,IAAI,GAAGN,KAAK,CAACM,IAAI;QAC3BsC,SAAS,CAACK,EAAE,GAAGjD,KAAK,CAACiD,EAAE;QACvBL,SAAS,CAACM,KAAK,GAAGlD,KAAK,CAACkD,KAAK;QAC7BtD,UAAU,CAACE,KAAK,EAAE,CAAC,GAAG8C,SAAS;MACjC;IACF,CAAC,CAAC;;IAEF;IACA,MAAMrD,YAAY,GAAG,EAAE;IACvBxB,CAAC,CAACoF,IAAI,CAACxD,KAAK,CAACJ,YAAY,EAAEc,WAAW,IAAI;MACxC,IAAIA,WAAW,CAACC,IAAI,KAAK,kBAAkB,EAAE;QAC3CsC,SAAS,GAAGhD,UAAU,CAACS,WAAW,CAACI,YAAY,CAAC;QAChD,IAAImC,SAAS,EAAE;UACb,IAAI,CAACA,SAAS,CAAC3C,SAAS,EAAE;YACxB2C,SAAS,CAAC3C,SAAS,GAAG,CAAC,CAAC;UAC1B;UACA,MAAMmD,KAAK,GAAGnF,QAAQ,CAACoF,QAAQ,CAAChD,WAAW,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;UACtDqC,SAAS,CAAC3C,SAAS,CAACC,SAAS,GAAG0C,SAAS,CAAC3C,SAAS,CAACC,SAAS,MAAAM,MAAA,CACtDoC,SAAS,CAAC3C,SAAS,CAACC,SAAS,QAAAM,MAAA,CAAK4C,KAAK,CAACE,UAAU,IACrDF,KAAK,CAACE,UAAU;QACtB;MACF,CAAC,MAAM,IAAIjD,WAAW,CAACC,IAAI,KAAK,oBAAoB,EAAE;QACpDsC,SAAS,GAAGhD,UAAU,CAACS,WAAW,CAACI,YAAY,CAAC;QAChD,IAAImC,SAAS,EAAE;UACb,IAAI,CAACA,SAAS,CAAC3C,SAAS,EAAE;YACxB2C,SAAS,CAAC3C,SAAS,GAAG,CAAC,CAAC;UAC1B;UAEA,MAAMsD,WAAW,GAAGlD,WAAW,CAACE,MAAM,CAACiD,IAAI,CAAC,GAAG,CAAC;UAEhD,MAAMC,WAAW,GAAG,KAAK;UAEzB,MAAMC,aAAa,GAAG,aAAa;UACnC,MAAMC,eAAe,GAAGJ,WAAW,CAACK,KAAK,CAACF,aAAa,CAAC;UAExD,IAAIC,eAAe,IAAIA,eAAe,CAAC5C,MAAM,EAAE;YAC7C,MAAMqC,KAAK,GAAGO,eAAe,CAAC,CAAC,CAAC;YAChCf,SAAS,CAAC3C,SAAS,CAACU,cAAc,GAAGyC,KAAK,CAACJ,OAAO,CAACS,WAAW,EAAE,EAAE,CAAC;UACrE;UAEA,MAAMI,gBAAgB,GAAG,mBAAmB;UAC5C,MAAMC,kBAAkB,GAAGP,WAAW,CAACK,KAAK,CAACC,gBAAgB,CAAC;UAE9D,IAAIC,kBAAkB,IAAIA,kBAAkB,CAAC/C,MAAM,EAAE;YACnD,MAAMqC,KAAK,GAAGU,kBAAkB,CAAC,CAAC,CAAC;YACnClB,SAAS,CAAC3C,SAAS,CAACW,iBAAiB,GAAGwC,KAAK,CAACJ,OAAO,CAACS,WAAW,EAAE,EAAE,CAAC;UACxE;QACF;MACF,CAAC,MAAM;QACLlE,YAAY,CAACmB,IAAI,CAACL,WAAW,CAAC;MAChC;IACF,CAAC,CAAC;IACFV,KAAK,CAACJ,YAAY,GAAGA,YAAY;;IAEjC;IACAI,KAAK,CAACqB,KAAK,CAACjB,OAAO,CAAC,CAACiB,KAAK,EAAEE,CAAC,KAAK;MAChCF,KAAK,CAAClB,KAAK,GAAGoB,CAAC;IACjB,CAAC,CAAC;EACJ;AACF;AAEAtC,aAAa,CAAC6C,mBAAmB,GAAG;EAClCsC,KAAK,EAAE,2DAA2D;EAClE,SAAS,EAAE,qEAAqE;EAChF,UAAU,EAAE,6DAA6D;EACzE,cAAc,EAAE,KAAK;EACrB,WAAW,EAAE;AACf,CAAC;AACDnF,aAAa,CAACI,aAAa,GAAG;EAC5BD,WAAW,EAAE,IAAIX,WAAW,CAAC;IAC3Be,GAAG,EAAE,aAAa;IAClB6E,CAAC,EAAE;MAACC,OAAO,EAAE,IAAI;MAAEC,UAAU,EAAE,CAAC;MAAEC,YAAY,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAI;EACnE,CAAC;AACH,CAAC;AAEDC,MAAM,CAACC,OAAO,GAAG1F,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"workbook-xform.js","names":["_","require","colCache","XmlStream","BaseXform","StaticXform","ListXform","DefinedNameXform","SheetXform","WorkbookViewXform","WorkbookPropertiesXform","WorkbookCalcPropertiesXform","WorkbookPivotCacheXform","WorkbookXform","constructor","map","fileVersion","STATIC_XFORMS","workbookPr","bookViews","tag","count","childXform","sheets","definedNames","calcPr","pivotCaches","prepare","model","worksheets","printAreas","index","forEach","sheet","pageSetup","printArea","split","printAreaComponents","definedName","name","ranges","localSheetId","push","printTitlesRow","printTitlesColumn","titlesColumns","titlesRows","length","concat","media","medium","i","type","render","xmlStream","openXml","StdDocAttributes","openNode","WORKBOOK_ATTRIBUTES","properties","views","calcProperties","pivotTables","closeNode","parseOpen","node","parser","parseText","text","parseClose","undefined","reconcile","rels","workbookRels","reduce","rel","Id","worksheet","rId","worksheetHash","Target","replace","id","state","each","range","decodeEx","dimensions","rangeString","join","dollarRegex","rowRangeRegex","rowRangeMatches","match","columnRangeRegex","columnRangeMatches","xmlns","$","appName","lastEdited","lowestEdited","rupBuild","module","exports"],"sources":["../../../../../lib/xlsx/xform/book/workbook-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\n\nconst colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst StaticXform = require('../static-xform');\nconst ListXform = require('../list-xform');\nconst DefinedNameXform = require('./defined-name-xform');\nconst SheetXform = require('./sheet-xform');\nconst WorkbookViewXform = require('./workbook-view-xform');\nconst WorkbookPropertiesXform = require('./workbook-properties-xform');\nconst WorkbookCalcPropertiesXform = require('./workbook-calc-properties-xform');\nconst WorkbookPivotCacheXform = require('./workbook-pivot-cache-xform');\n\nclass WorkbookXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n fileVersion: WorkbookXform.STATIC_XFORMS.fileVersion,\n workbookPr: new WorkbookPropertiesXform(),\n bookViews: new ListXform({\n tag: 'bookViews',\n count: false,\n childXform: new WorkbookViewXform(),\n }),\n sheets: new ListXform({tag: 'sheets', count: false, childXform: new SheetXform()}),\n definedNames: new ListXform({\n tag: 'definedNames',\n count: false,\n childXform: new DefinedNameXform(),\n }),\n calcPr: new WorkbookCalcPropertiesXform(),\n pivotCaches: new ListXform({\n tag: 'pivotCaches',\n count: false,\n childXform: new WorkbookPivotCacheXform(),\n }),\n };\n }\n\n prepare(model) {\n model.sheets = model.worksheets;\n\n // collate all the print areas from all of the sheets and add them to the defined names\n const printAreas = [];\n let index = 0; // sheets is sparse array - calc index manually\n model.sheets.forEach(sheet => {\n if (sheet.pageSetup && sheet.pageSetup.printArea) {\n sheet.pageSetup.printArea.split('&&').forEach(printArea => {\n const printAreaComponents = printArea.split(':');\n const definedName = {\n name: '_xlnm.Print_Area',\n ranges: [`'${sheet.name}'!$${printAreaComponents[0]}:$${printAreaComponents[1]}`],\n localSheetId: index,\n };\n printAreas.push(definedName);\n });\n }\n\n if (sheet.pageSetup && (sheet.pageSetup.printTitlesRow || sheet.pageSetup.printTitlesColumn)) {\n const ranges = [];\n\n if (sheet.pageSetup.printTitlesColumn) {\n const titlesColumns = sheet.pageSetup.printTitlesColumn.split(':');\n ranges.push(`'${sheet.name}'!$${titlesColumns[0]}:$${titlesColumns[1]}`);\n }\n\n if (sheet.pageSetup.printTitlesRow) {\n const titlesRows = sheet.pageSetup.printTitlesRow.split(':');\n ranges.push(`'${sheet.name}'!$${titlesRows[0]}:$${titlesRows[1]}`);\n }\n\n const definedName = {\n name: '_xlnm.Print_Titles',\n ranges,\n localSheetId: index,\n };\n\n printAreas.push(definedName);\n }\n index++;\n });\n if (printAreas.length) {\n model.definedNames = model.definedNames.concat(printAreas);\n }\n\n (model.media || []).forEach((medium, i) => {\n // assign name\n medium.name = medium.type + (i + 1);\n });\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('workbook', WorkbookXform.WORKBOOK_ATTRIBUTES);\n\n this.map.fileVersion.render(xmlStream);\n this.map.workbookPr.render(xmlStream, model.properties);\n this.map.bookViews.render(xmlStream, model.views);\n this.map.sheets.render(xmlStream, model.sheets);\n this.map.definedNames.render(xmlStream, model.definedNames);\n this.map.calcPr.render(xmlStream, model.calcProperties);\n this.map.pivotCaches.render(xmlStream, model.pivotTables);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'workbook':\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n return true;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'workbook':\n this.model = {\n sheets: this.map.sheets.model,\n properties: this.map.workbookPr.model || {},\n views: this.map.bookViews.model,\n calcProperties: {},\n };\n if (this.map.definedNames.model) {\n this.model.definedNames = this.map.definedNames.model;\n }\n\n return false;\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n reconcile(model) {\n const rels = (model.workbookRels || []).reduce((map, rel) => {\n map[rel.Id] = rel;\n return map;\n }, {});\n\n // reconcile sheet ids, rIds and names\n const worksheets = [];\n let worksheet;\n let index = 0;\n\n (model.sheets || []).forEach(sheet => {\n const rel = rels[sheet.rId];\n if (!rel) {\n return;\n }\n // if rel.Target start with `[space]/xl/` or `/xl/` , then it will be replaced with `''` and spliced behind `xl/`,\n // otherwise it will be spliced directly behind `xl/`. i.g.\n worksheet = model.worksheetHash[`xl/${rel.Target.replace(/^(\\s|\\/xl\\/)+/, '')}`];\n // If there are \"chartsheets\" in the file, rel.Target will\n // come out as chartsheets/sheet1.xml or similar here, and\n // that won't be in model.worksheetHash.\n // As we don't have the infrastructure to support chartsheets,\n // we will ignore them for now:\n if (worksheet) {\n worksheet.name = sheet.name;\n worksheet.id = sheet.id;\n worksheet.state = sheet.state;\n worksheets[index++] = worksheet;\n }\n });\n\n // reconcile print areas\n const definedNames = [];\n _.each(model.definedNames, definedName => {\n if (definedName.name === '_xlnm.Print_Area') {\n worksheet = worksheets[definedName.localSheetId];\n if (worksheet) {\n if (!worksheet.pageSetup) {\n worksheet.pageSetup = {};\n }\n const range = colCache.decodeEx(definedName.ranges[0]);\n worksheet.pageSetup.printArea = worksheet.pageSetup.printArea\n ? `${worksheet.pageSetup.printArea}&&${range.dimensions}`\n : range.dimensions;\n }\n } else if (definedName.name === '_xlnm.Print_Titles') {\n worksheet = worksheets[definedName.localSheetId];\n if (worksheet) {\n if (!worksheet.pageSetup) {\n worksheet.pageSetup = {};\n }\n\n const rangeString = definedName.ranges.join(',');\n\n const dollarRegex = /\\$/g;\n\n const rowRangeRegex = /\\$\\d+:\\$\\d+/;\n const rowRangeMatches = rangeString.match(rowRangeRegex);\n\n if (rowRangeMatches && rowRangeMatches.length) {\n const range = rowRangeMatches[0];\n worksheet.pageSetup.printTitlesRow = range.replace(dollarRegex, '');\n }\n\n const columnRangeRegex = /\\$[A-Z]+:\\$[A-Z]+/;\n const columnRangeMatches = rangeString.match(columnRangeRegex);\n\n if (columnRangeMatches && columnRangeMatches.length) {\n const range = columnRangeMatches[0];\n worksheet.pageSetup.printTitlesColumn = range.replace(dollarRegex, '');\n }\n }\n } else {\n definedNames.push(definedName);\n }\n });\n model.definedNames = definedNames;\n\n // used by sheets to build their image models\n model.media.forEach((media, i) => {\n media.index = i;\n });\n }\n}\n\nWorkbookXform.WORKBOOK_ATTRIBUTES = {\n 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': 'x15',\n 'xmlns:x15': 'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main',\n};\nWorkbookXform.STATIC_XFORMS = {\n fileVersion: new StaticXform({\n tag: 'fileVersion',\n $: {appName: 'xl', lastEdited: 5, lowestEdited: 5, rupBuild: 9303},\n }),\n};\n\nmodule.exports = WorkbookXform;\n"],"mappings":"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","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 RichTextXform = require('../strings/rich-text-xform');
9
4
  const utils = require('../../../utils/utils');
10
5
  const BaseXform = require('../base-xform');
@@ -68,12 +63,13 @@ utils.inherits(CommentXform, BaseXform, {
68
63
  }
69
64
  switch (node.name) {
70
65
  case 'comment':
71
- this.model = _objectSpread({
66
+ this.model = {
72
67
  type: 'note',
73
68
  note: {
74
69
  texts: []
75
- }
76
- }, node.attributes);
70
+ },
71
+ ...node.attributes
72
+ };
77
73
  return true;
78
74
  case 'r':
79
75
  this.parser = this.richTextXform;
@@ -1 +1 @@
1
- {"version":3,"file":"comment-xform.js","names":["RichTextXform","require","utils","BaseXform","CommentXform","module","exports","model","inherits","tag","richTextXform","_richTextXform","render","xmlStream","openNode","ref","authorId","note","texts","forEach","text","closeNode","parseOpen","node","parser","name","_objectSpread","type","attributes","parseText","parseClose","push","undefined"],"sources":["../../../../../lib/xlsx/xform/comment/comment-xform.js"],"sourcesContent":["const RichTextXform = require('../strings/rich-text-xform');\nconst utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\n/**\n <comment ref=\"B1\" authorId=\"0\">\n <text>\n <r>\n <rPr>\n <b/>\n <sz val=\"9\"/>\n <rFont val=\"宋体\"/>\n <charset val=\"134\"/>\n </rPr>\n <t>51422:</t>\n </r>\n <r>\n <rPr>\n <sz val=\"9\"/>\n <rFont val=\"宋体\"/>\n <charset val=\"134\"/>\n </rPr>\n <t xml:space=\"preserve\">&#10;test</t>\n </r>\n </text>\n </comment>\n */\n\nconst CommentXform = (module.exports = function(model) {\n this.model = model;\n});\n\nutils.inherits(CommentXform, BaseXform, {\n get tag() {\n return 'r';\n },\n\n get richTextXform() {\n if (!this._richTextXform) {\n this._richTextXform = new RichTextXform();\n }\n return this._richTextXform;\n },\n\n render(xmlStream, model) {\n model = model || this.model;\n\n xmlStream.openNode('comment', {\n ref: model.ref,\n authorId: 0,\n });\n xmlStream.openNode('text');\n if (model && model.note && model.note.texts) {\n model.note.texts.forEach(text => {\n this.richTextXform.render(xmlStream, text);\n });\n }\n xmlStream.closeNode();\n xmlStream.closeNode();\n },\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'comment':\n this.model = {\n type: 'note',\n note: {\n texts: [],\n },\n ...node.attributes,\n };\n return true;\n case 'r':\n this.parser = this.richTextXform;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n },\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n },\n parseClose(name) {\n switch (name) {\n case 'comment':\n return false;\n case 'r':\n this.model.note.texts.push(this.parser.model);\n this.parser = undefined;\n return true;\n default:\n if (this.parser) {\n this.parser.parseClose(name);\n }\n return true;\n }\n },\n});\n"],"mappings":";;;;;;;AAAA,MAAMA,aAAa,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AAC3D,MAAMC,KAAK,GAAGD,OAAO,CAAC,sBAAsB,CAAC;AAC7C,MAAME,SAAS,GAAGF,OAAO,CAAC,eAAe,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMG,YAAY,GAAIC,MAAM,CAACC,OAAO,GAAG,UAASC,KAAK,EAAE;EACrD,IAAI,CAACA,KAAK,GAAGA,KAAK;AACpB,CAAE;AAEFL,KAAK,CAACM,QAAQ,CAACJ,YAAY,EAAED,SAAS,EAAE;EACtC,IAAIM,GAAGA,CAAA,EAAG;IACR,OAAO,GAAG;EACZ,CAAC;EAED,IAAIC,aAAaA,CAAA,EAAG;IAClB,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE;MACxB,IAAI,CAACA,cAAc,GAAG,IAAIX,aAAa,CAAC,CAAC;IAC3C;IACA,OAAO,IAAI,CAACW,cAAc;EAC5B,CAAC;EAEDC,MAAMA,CAACC,SAAS,EAAEN,KAAK,EAAE;IACvBA,KAAK,GAAGA,KAAK,IAAI,IAAI,CAACA,KAAK;IAE3BM,SAAS,CAACC,QAAQ,CAAC,SAAS,EAAE;MAC5BC,GAAG,EAAER,KAAK,CAACQ,GAAG;MACdC,QAAQ,EAAE;IACZ,CAAC,CAAC;IACFH,SAAS,CAACC,QAAQ,CAAC,MAAM,CAAC;IAC1B,IAAIP,KAAK,IAAIA,KAAK,CAACU,IAAI,IAAIV,KAAK,CAACU,IAAI,CAACC,KAAK,EAAE;MAC3CX,KAAK,CAACU,IAAI,CAACC,KAAK,CAACC,OAAO,CAACC,IAAI,IAAI;QAC/B,IAAI,CAACV,aAAa,CAACE,MAAM,CAACC,SAAS,EAAEO,IAAI,CAAC;MAC5C,CAAC,CAAC;IACJ;IACAP,SAAS,CAACQ,SAAS,CAAC,CAAC;IACrBR,SAAS,CAACQ,SAAS,CAAC,CAAC;EACvB,CAAC;EAEDC,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACC,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,QAAQA,IAAI,CAACE,IAAI;MACf,KAAK,SAAS;QACZ,IAAI,CAAClB,KAAK,GAAAmB,aAAA;UACRC,IAAI,EAAE,MAAM;UACZV,IAAI,EAAE;YACJC,KAAK,EAAE;UACT;QAAC,GACEK,IAAI,CAACK,UAAU,CACnB;QACD,OAAO,IAAI;MACb,KAAK,GAAG;QACN,IAAI,CAACJ,MAAM,GAAG,IAAI,CAACd,aAAa;QAChC,IAAI,CAACc,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;QAC3B,OAAO,IAAI;MACb;QACE,OAAO,KAAK;IAChB;EACF,CAAC;EACDM,SAASA,CAACT,IAAI,EAAE;IACd,IAAI,IAAI,CAACI,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACK,SAAS,CAACT,IAAI,CAAC;IAC7B;EACF,CAAC;EACDU,UAAUA,CAACL,IAAI,EAAE;IACf,QAAQA,IAAI;MACV,KAAK,SAAS;QACZ,OAAO,KAAK;MACd,KAAK,GAAG;QACN,IAAI,CAAClB,KAAK,CAACU,IAAI,CAACC,KAAK,CAACa,IAAI,CAAC,IAAI,CAACP,MAAM,CAACjB,KAAK,CAAC;QAC7C,IAAI,CAACiB,MAAM,GAAGQ,SAAS;QACvB,OAAO,IAAI;MACb;QACE,IAAI,IAAI,CAACR,MAAM,EAAE;UACf,IAAI,CAACA,MAAM,CAACM,UAAU,CAACL,IAAI,CAAC;QAC9B;QACA,OAAO,IAAI;IACf;EACF;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"comment-xform.js","names":["RichTextXform","require","utils","BaseXform","CommentXform","module","exports","model","inherits","tag","richTextXform","_richTextXform","render","xmlStream","openNode","ref","authorId","note","texts","forEach","text","closeNode","parseOpen","node","parser","name","type","attributes","parseText","parseClose","push","undefined"],"sources":["../../../../../lib/xlsx/xform/comment/comment-xform.js"],"sourcesContent":["const RichTextXform = require('../strings/rich-text-xform');\nconst utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\n/**\n <comment ref=\"B1\" authorId=\"0\">\n <text>\n <r>\n <rPr>\n <b/>\n <sz val=\"9\"/>\n <rFont val=\"宋体\"/>\n <charset val=\"134\"/>\n </rPr>\n <t>51422:</t>\n </r>\n <r>\n <rPr>\n <sz val=\"9\"/>\n <rFont val=\"宋体\"/>\n <charset val=\"134\"/>\n </rPr>\n <t xml:space=\"preserve\">&#10;test</t>\n </r>\n </text>\n </comment>\n */\n\nconst CommentXform = (module.exports = function(model) {\n this.model = model;\n});\n\nutils.inherits(CommentXform, BaseXform, {\n get tag() {\n return 'r';\n },\n\n get richTextXform() {\n if (!this._richTextXform) {\n this._richTextXform = new RichTextXform();\n }\n return this._richTextXform;\n },\n\n render(xmlStream, model) {\n model = model || this.model;\n\n xmlStream.openNode('comment', {\n ref: model.ref,\n authorId: 0,\n });\n xmlStream.openNode('text');\n if (model && model.note && model.note.texts) {\n model.note.texts.forEach(text => {\n this.richTextXform.render(xmlStream, text);\n });\n }\n xmlStream.closeNode();\n xmlStream.closeNode();\n },\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'comment':\n this.model = {\n type: 'note',\n note: {\n texts: [],\n },\n ...node.attributes,\n };\n return true;\n case 'r':\n this.parser = this.richTextXform;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n },\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n },\n parseClose(name) {\n switch (name) {\n case 'comment':\n return false;\n case 'r':\n this.model.note.texts.push(this.parser.model);\n this.parser = undefined;\n return true;\n default:\n if (this.parser) {\n this.parser.parseClose(name);\n }\n return true;\n }\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -81,7 +81,7 @@ class VmlShapeXform extends BaseXform {
81
81
  }
82
82
  }
83
83
  VmlShapeXform.V_SHAPE_ATTRIBUTES = (model, index) => ({
84
- id: "_x0000_s".concat(1025 + index),
84
+ id: `_x0000_s${1025 + index}`,
85
85
  type: '#_x0000_t202',
86
86
  style: 'position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden',
87
87
  fillcolor: 'infoBackground [80]',
@@ -1 +1 @@
1
- {"version":3,"file":"vml-shape-xform.js","names":["BaseXform","require","VmlTextboxXform","VmlClientDataXform","VmlShapeXform","constructor","map","tag","render","xmlStream","model","index","openNode","V_SHAPE_ATTRIBUTES","leafNode","color2","color","obscured","closeNode","parseOpen","node","parser","name","reset","margins","insetmode","attributes","anchor","editAs","protection","parseText","text","parseClose","undefined","inset","id","concat","type","style","fillcolor","strokecolor","note","module","exports"],"sources":["../../../../../lib/xlsx/xform/comment/vml-shape-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst VmlTextboxXform = require('./vml-textbox-xform');\nconst VmlClientDataXform = require('./vml-client-data-xform');\n\nclass VmlShapeXform extends BaseXform {\n constructor() {\n super();\n this.map = {\n 'v:textbox': new VmlTextboxXform(),\n 'x:ClientData': new VmlClientDataXform(),\n };\n }\n\n get tag() {\n return 'v:shape';\n }\n\n render(xmlStream, model, index) {\n xmlStream.openNode('v:shape', VmlShapeXform.V_SHAPE_ATTRIBUTES(model, index));\n\n xmlStream.leafNode('v:fill', {color2: 'infoBackground [80]'});\n xmlStream.leafNode('v:shadow', {color: 'none [81]', obscured: 't'});\n xmlStream.leafNode('v:path', {'o:connecttype': 'none'});\n this.map['v:textbox'].render(xmlStream, model);\n this.map['x:ClientData'].render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n margins: {\n insetmode: node.attributes['o:insetmode'],\n },\n anchor: '',\n editAs: '',\n protection: {},\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.margins.inset = this.map['v:textbox'].model && this.map['v:textbox'].model.inset;\n this.model.protection =\n this.map['x:ClientData'].model && this.map['x:ClientData'].model.protection;\n this.model.anchor = this.map['x:ClientData'].model && this.map['x:ClientData'].model.anchor;\n this.model.editAs = this.map['x:ClientData'].model && this.map['x:ClientData'].model.editAs;\n return false;\n default:\n return true;\n }\n }\n}\n\nVmlShapeXform.V_SHAPE_ATTRIBUTES = (model, index) => ({\n id: `_x0000_s${1025 + index}`,\n type: '#_x0000_t202',\n style:\n 'position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden',\n fillcolor: 'infoBackground [80]',\n strokecolor: 'none [81]',\n 'o:insetmode': model.note.margins && model.note.margins.insetmode,\n});\n\nmodule.exports = VmlShapeXform;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"vml-shape-xform.js","names":["BaseXform","require","VmlTextboxXform","VmlClientDataXform","VmlShapeXform","constructor","map","tag","render","xmlStream","model","index","openNode","V_SHAPE_ATTRIBUTES","leafNode","color2","color","obscured","closeNode","parseOpen","node","parser","name","reset","margins","insetmode","attributes","anchor","editAs","protection","parseText","text","parseClose","undefined","inset","id","type","style","fillcolor","strokecolor","note","module","exports"],"sources":["../../../../../lib/xlsx/xform/comment/vml-shape-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst VmlTextboxXform = require('./vml-textbox-xform');\nconst VmlClientDataXform = require('./vml-client-data-xform');\n\nclass VmlShapeXform extends BaseXform {\n constructor() {\n super();\n this.map = {\n 'v:textbox': new VmlTextboxXform(),\n 'x:ClientData': new VmlClientDataXform(),\n };\n }\n\n get tag() {\n return 'v:shape';\n }\n\n render(xmlStream, model, index) {\n xmlStream.openNode('v:shape', VmlShapeXform.V_SHAPE_ATTRIBUTES(model, index));\n\n xmlStream.leafNode('v:fill', {color2: 'infoBackground [80]'});\n xmlStream.leafNode('v:shadow', {color: 'none [81]', obscured: 't'});\n xmlStream.leafNode('v:path', {'o:connecttype': 'none'});\n this.map['v:textbox'].render(xmlStream, model);\n this.map['x:ClientData'].render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n margins: {\n insetmode: node.attributes['o:insetmode'],\n },\n anchor: '',\n editAs: '',\n protection: {},\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.margins.inset = this.map['v:textbox'].model && this.map['v:textbox'].model.inset;\n this.model.protection =\n this.map['x:ClientData'].model && this.map['x:ClientData'].model.protection;\n this.model.anchor = this.map['x:ClientData'].model && this.map['x:ClientData'].model.anchor;\n this.model.editAs = this.map['x:ClientData'].model && this.map['x:ClientData'].model.editAs;\n return false;\n default:\n return true;\n }\n }\n}\n\nVmlShapeXform.V_SHAPE_ATTRIBUTES = (model, index) => ({\n id: `_x0000_s${1025 + index}`,\n type: '#_x0000_t202',\n style:\n 'position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden',\n fillcolor: 'infoBackground [80]',\n strokecolor: 'none [81]',\n 'o:insetmode': model.note.margins && model.note.margins.insetmode,\n});\n\nmodule.exports = VmlShapeXform;\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ class VmlTextboxXform extends BaseXform {
6
6
  return 'v:textbox';
7
7
  }
8
8
  conversionUnit(value, multiple, unit) {
9
- return "".concat(parseFloat(value) * multiple.toFixed(2)).concat(unit);
9
+ return `${parseFloat(value) * multiple.toFixed(2)}${unit}`;
10
10
  }
11
11
  reverseConversionUnit(inset) {
12
12
  return (inset || '').split(',').map(margin => {
@@ -1 +1 @@
1
- {"version":3,"file":"vml-textbox-xform.js","names":["BaseXform","require","VmlTextboxXform","tag","conversionUnit","value","multiple","unit","concat","parseFloat","toFixed","reverseConversionUnit","inset","split","map","margin","Number","render","xmlStream","model","attributes","style","note","margins","Array","isArray","join","openNode","leafNode","closeNode","parseOpen","node","name","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/comment/vml-textbox-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\n\nclass VmlTextboxXform extends BaseXform {\n get tag() {\n return 'v:textbox';\n }\n\n conversionUnit(value, multiple, unit) {\n return `${parseFloat(value) * multiple.toFixed(2)}${unit}`;\n }\n\n reverseConversionUnit(inset) {\n return (inset || '').split(',').map(margin => {\n return Number(parseFloat(this.conversionUnit(parseFloat(margin), 0.1, '')).toFixed(2));\n });\n }\n\n render(xmlStream, model) {\n const attributes = {\n style: 'mso-direction-alt:auto',\n };\n if (model && model.note) {\n let {inset} = model.note && model.note.margins;\n if (Array.isArray(inset)) {\n inset = inset\n .map(margin => {\n return this.conversionUnit(margin, 10, 'mm');\n })\n .join(',');\n }\n if (inset) {\n attributes.inset = inset;\n }\n }\n xmlStream.openNode('v:textbox', attributes);\n xmlStream.leafNode('div', {style: 'text-align:left'});\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n inset: this.reverseConversionUnit(node.attributes.inset),\n };\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this.tag:\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = VmlTextboxXform;\n"],"mappings":";;AAAA,MAAMA,SAAS,GAAGC,OAAO,CAAC,eAAe,CAAC;AAE1C,MAAMC,eAAe,SAASF,SAAS,CAAC;EACtC,IAAIG,GAAGA,CAAA,EAAG;IACR,OAAO,WAAW;EACpB;EAEAC,cAAcA,CAACC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAE;IACpC,UAAAC,MAAA,CAAUC,UAAU,CAACJ,KAAK,CAAC,GAAGC,QAAQ,CAACI,OAAO,CAAC,CAAC,CAAC,EAAAF,MAAA,CAAGD,IAAI;EAC1D;EAEAI,qBAAqBA,CAACC,KAAK,EAAE;IAC3B,OAAO,CAACA,KAAK,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,IAAI;MAC5C,OAAOC,MAAM,CAACP,UAAU,CAAC,IAAI,CAACL,cAAc,CAACK,UAAU,CAACM,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAACL,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC;EACJ;EAEAO,MAAMA,CAACC,SAAS,EAAEC,KAAK,EAAE;IACvB,MAAMC,UAAU,GAAG;MACjBC,KAAK,EAAE;IACT,CAAC;IACD,IAAIF,KAAK,IAAIA,KAAK,CAACG,IAAI,EAAE;MACvB,IAAI;QAACV;MAAK,CAAC,GAAGO,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACG,IAAI,CAACC,OAAO;MAC9C,IAAIC,KAAK,CAACC,OAAO,CAACb,KAAK,CAAC,EAAE;QACxBA,KAAK,GAAGA,KAAK,CACVE,GAAG,CAACC,MAAM,IAAI;UACb,OAAO,IAAI,CAACX,cAAc,CAACW,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;QAC9C,CAAC,CAAC,CACDW,IAAI,CAAC,GAAG,CAAC;MACd;MACA,IAAId,KAAK,EAAE;QACTQ,UAAU,CAACR,KAAK,GAAGA,KAAK;MAC1B;IACF;IACAM,SAAS,CAACS,QAAQ,CAAC,WAAW,EAAEP,UAAU,CAAC;IAC3CF,SAAS,CAACU,QAAQ,CAAC,KAAK,EAAE;MAACP,KAAK,EAAE;IAAiB,CAAC,CAAC;IACrDH,SAAS,CAACW,SAAS,CAAC,CAAC;EACvB;EAEAC,SAASA,CAACC,IAAI,EAAE;IACd,QAAQA,IAAI,CAACC,IAAI;MACf,KAAK,IAAI,CAAC7B,GAAG;QACX,IAAI,CAACgB,KAAK,GAAG;UACXP,KAAK,EAAE,IAAI,CAACD,qBAAqB,CAACoB,IAAI,CAACX,UAAU,CAACR,KAAK;QACzD,CAAC;QACD,OAAO,IAAI;MACb;QACE,OAAO,IAAI;IACf;EACF;EAEAqB,SAASA,CAAA,EAAG,CAAC;EAEbC,UAAUA,CAACF,IAAI,EAAE;IACf,QAAQA,IAAI;MACV,KAAK,IAAI,CAAC7B,GAAG;QACX,OAAO,KAAK;MACd;QACE,OAAO,IAAI;IACf;EACF;AACF;AAEAgC,MAAM,CAACC,OAAO,GAAGlC,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"vml-textbox-xform.js","names":["BaseXform","require","VmlTextboxXform","tag","conversionUnit","value","multiple","unit","parseFloat","toFixed","reverseConversionUnit","inset","split","map","margin","Number","render","xmlStream","model","attributes","style","note","margins","Array","isArray","join","openNode","leafNode","closeNode","parseOpen","node","name","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/comment/vml-textbox-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\n\nclass VmlTextboxXform extends BaseXform {\n get tag() {\n return 'v:textbox';\n }\n\n conversionUnit(value, multiple, unit) {\n return `${parseFloat(value) * multiple.toFixed(2)}${unit}`;\n }\n\n reverseConversionUnit(inset) {\n return (inset || '').split(',').map(margin => {\n return Number(parseFloat(this.conversionUnit(parseFloat(margin), 0.1, '')).toFixed(2));\n });\n }\n\n render(xmlStream, model) {\n const attributes = {\n style: 'mso-direction-alt:auto',\n };\n if (model && model.note) {\n let {inset} = model.note && model.note.margins;\n if (Array.isArray(inset)) {\n inset = inset\n .map(margin => {\n return this.conversionUnit(margin, 10, 'mm');\n })\n .join(',');\n }\n if (inset) {\n attributes.inset = inset;\n }\n }\n xmlStream.openNode('v:textbox', attributes);\n xmlStream.leafNode('div', {style: 'text-align:left'});\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n inset: this.reverseConversionUnit(node.attributes.inset),\n };\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this.tag:\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = VmlTextboxXform;\n"],"mappings":";;AAAA,MAAMA,SAAS,GAAGC,OAAO,CAAC,eAAe,CAAC;AAE1C,MAAMC,eAAe,SAASF,SAAS,CAAC;EACtC,IAAIG,GAAGA,CAAA,EAAG;IACR,OAAO,WAAW;EACpB;EAEAC,cAAcA,CAACC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAE;IACpC,OAAO,GAAGC,UAAU,CAACH,KAAK,CAAC,GAAGC,QAAQ,CAACG,OAAO,CAAC,CAAC,CAAC,GAAGF,IAAI,EAAE;EAC5D;EAEAG,qBAAqBA,CAACC,KAAK,EAAE;IAC3B,OAAO,CAACA,KAAK,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,IAAI;MAC5C,OAAOC,MAAM,CAACP,UAAU,CAAC,IAAI,CAACJ,cAAc,CAACI,UAAU,CAACM,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAACL,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC;EACJ;EAEAO,MAAMA,CAACC,SAAS,EAAEC,KAAK,EAAE;IACvB,MAAMC,UAAU,GAAG;MACjBC,KAAK,EAAE;IACT,CAAC;IACD,IAAIF,KAAK,IAAIA,KAAK,CAACG,IAAI,EAAE;MACvB,IAAI;QAACV;MAAK,CAAC,GAAGO,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACG,IAAI,CAACC,OAAO;MAC9C,IAAIC,KAAK,CAACC,OAAO,CAACb,KAAK,CAAC,EAAE;QACxBA,KAAK,GAAGA,KAAK,CACVE,GAAG,CAACC,MAAM,IAAI;UACb,OAAO,IAAI,CAACV,cAAc,CAACU,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;QAC9C,CAAC,CAAC,CACDW,IAAI,CAAC,GAAG,CAAC;MACd;MACA,IAAId,KAAK,EAAE;QACTQ,UAAU,CAACR,KAAK,GAAGA,KAAK;MAC1B;IACF;IACAM,SAAS,CAACS,QAAQ,CAAC,WAAW,EAAEP,UAAU,CAAC;IAC3CF,SAAS,CAACU,QAAQ,CAAC,KAAK,EAAE;MAACP,KAAK,EAAE;IAAiB,CAAC,CAAC;IACrDH,SAAS,CAACW,SAAS,CAAC,CAAC;EACvB;EAEAC,SAASA,CAACC,IAAI,EAAE;IACd,QAAQA,IAAI,CAACC,IAAI;MACf,KAAK,IAAI,CAAC5B,GAAG;QACX,IAAI,CAACe,KAAK,GAAG;UACXP,KAAK,EAAE,IAAI,CAACD,qBAAqB,CAACoB,IAAI,CAACX,UAAU,CAACR,KAAK;QACzD,CAAC;QACD,OAAO,IAAI;MACb;QACE,OAAO,IAAI;IACf;EACF;EAEAqB,SAASA,CAAA,EAAG,CAAC;EAEbC,UAAUA,CAACF,IAAI,EAAE;IACf,QAAQA,IAAI;MACV,KAAK,IAAI,CAAC5B,GAAG;QACX,OAAO,KAAK;MACd;QACE,OAAO,IAAI;IACf;EACF;AACF;AAEA+B,MAAM,CAACC,OAAO,GAAGjC,eAAe","ignoreList":[]}
@@ -17,7 +17,7 @@ class ContentTypesXform extends BaseXform {
17
17
  mediaHash[imageType] = true;
18
18
  xmlStream.leafNode('Default', {
19
19
  Extension: imageType,
20
- ContentType: "image/".concat(imageType)
20
+ ContentType: `image/${imageType}`
21
21
  });
22
22
  }
23
23
  }
@@ -35,7 +35,7 @@ class ContentTypesXform extends BaseXform {
35
35
  ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'
36
36
  });
37
37
  model.worksheets.forEach(worksheet => {
38
- const name = "/xl/worksheets/sheet".concat(worksheet.id, ".xml");
38
+ const name = `/xl/worksheets/sheet${worksheet.id}.xml`;
39
39
  xmlStream.leafNode('Override', {
40
40
  PartName: name,
41
41
  ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'
@@ -74,7 +74,7 @@ class ContentTypesXform extends BaseXform {
74
74
  if (model.tables) {
75
75
  model.tables.forEach(table => {
76
76
  xmlStream.leafNode('Override', {
77
- PartName: "/xl/tables/".concat(table.target),
77
+ PartName: `/xl/tables/${table.target}`,
78
78
  ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml'
79
79
  });
80
80
  });
@@ -82,7 +82,7 @@ class ContentTypesXform extends BaseXform {
82
82
  if (model.drawings) {
83
83
  model.drawings.forEach(drawing => {
84
84
  xmlStream.leafNode('Override', {
85
- PartName: "/xl/drawings/".concat(drawing.name, ".xml"),
85
+ PartName: `/xl/drawings/${drawing.name}.xml`,
86
86
  ContentType: 'application/vnd.openxmlformats-officedocument.drawing+xml'
87
87
  });
88
88
  });
@@ -97,7 +97,7 @@ class ContentTypesXform extends BaseXform {
97
97
  commentName
98
98
  } = _ref;
99
99
  xmlStream.leafNode('Override', {
100
- PartName: "/xl/".concat(commentName, ".xml"),
100
+ PartName: `/xl/${commentName}.xml`,
101
101
  ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml'
102
102
  });
103
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"content-types-xform.js","names":["XmlStream","require","BaseXform","ContentTypesXform","render","xmlStream","model","openXml","StdDocAttributes","openNode","PROPERTY_ATTRIBUTES","mediaHash","media","forEach","medium","type","imageType","extension","leafNode","Extension","ContentType","concat","PartName","worksheets","worksheet","name","id","pivotTables","length","hasSharedStrings","sharedStrings","count","tables","table","target","drawings","drawing","commentRefs","_ref","commentName","closeNode","parseOpen","parseText","parseClose","xmlns","module","exports"],"sources":["../../../../../lib/xlsx/xform/core/content-types-xform.js"],"sourcesContent":["const XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\n\n// used for rendering the [Content_Types].xml file\n// not used for parsing\nclass ContentTypesXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('Types', ContentTypesXform.PROPERTY_ATTRIBUTES);\n\n const mediaHash = {};\n (model.media || []).forEach(medium => {\n if (medium.type === 'image') {\n const imageType = medium.extension;\n if (!mediaHash[imageType]) {\n mediaHash[imageType] = true;\n xmlStream.leafNode('Default', {Extension: imageType, ContentType: `image/${imageType}`});\n }\n }\n });\n\n xmlStream.leafNode('Default', {\n Extension: 'rels',\n ContentType: 'application/vnd.openxmlformats-package.relationships+xml',\n });\n xmlStream.leafNode('Default', {Extension: 'xml', ContentType: 'application/xml'});\n\n xmlStream.leafNode('Override', {\n PartName: '/xl/workbook.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml',\n });\n\n model.worksheets.forEach(worksheet => {\n const name = `/xl/worksheets/sheet${worksheet.id}.xml`;\n xmlStream.leafNode('Override', {\n PartName: name,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml',\n });\n });\n\n if ((model.pivotTables || []).length) {\n // Note(2023-10-06): assuming at most one pivot table for now.\n xmlStream.leafNode('Override', {\n PartName: '/xl/pivotCache/pivotCacheDefinition1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/pivotCache/pivotCacheRecords1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/pivotTables/pivotTable1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml',\n });\n }\n\n xmlStream.leafNode('Override', {\n PartName: '/xl/theme/theme1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.theme+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/styles.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml',\n });\n\n const hasSharedStrings = model.sharedStrings && model.sharedStrings.count;\n if (hasSharedStrings) {\n xmlStream.leafNode('Override', {\n PartName: '/xl/sharedStrings.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml',\n });\n }\n\n if (model.tables) {\n model.tables.forEach(table => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/tables/${table.target}`,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml',\n });\n });\n }\n\n if (model.drawings) {\n model.drawings.forEach(drawing => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/drawings/${drawing.name}.xml`,\n ContentType: 'application/vnd.openxmlformats-officedocument.drawing+xml',\n });\n });\n }\n\n if (model.commentRefs) {\n xmlStream.leafNode('Default', {\n Extension: 'vml',\n ContentType: 'application/vnd.openxmlformats-officedocument.vmlDrawing',\n });\n\n model.commentRefs.forEach(({commentName}) => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/${commentName}.xml`,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml',\n });\n });\n }\n\n xmlStream.leafNode('Override', {\n PartName: '/docProps/core.xml',\n ContentType: 'application/vnd.openxmlformats-package.core-properties+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/docProps/app.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.extended-properties+xml',\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen() {\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nContentTypesXform.PROPERTY_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/package/2006/content-types',\n};\n\nmodule.exports = ContentTypesXform;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"content-types-xform.js","names":["XmlStream","require","BaseXform","ContentTypesXform","render","xmlStream","model","openXml","StdDocAttributes","openNode","PROPERTY_ATTRIBUTES","mediaHash","media","forEach","medium","type","imageType","extension","leafNode","Extension","ContentType","PartName","worksheets","worksheet","name","id","pivotTables","length","hasSharedStrings","sharedStrings","count","tables","table","target","drawings","drawing","commentRefs","_ref","commentName","closeNode","parseOpen","parseText","parseClose","xmlns","module","exports"],"sources":["../../../../../lib/xlsx/xform/core/content-types-xform.js"],"sourcesContent":["const XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\n\n// used for rendering the [Content_Types].xml file\n// not used for parsing\nclass ContentTypesXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('Types', ContentTypesXform.PROPERTY_ATTRIBUTES);\n\n const mediaHash = {};\n (model.media || []).forEach(medium => {\n if (medium.type === 'image') {\n const imageType = medium.extension;\n if (!mediaHash[imageType]) {\n mediaHash[imageType] = true;\n xmlStream.leafNode('Default', {Extension: imageType, ContentType: `image/${imageType}`});\n }\n }\n });\n\n xmlStream.leafNode('Default', {\n Extension: 'rels',\n ContentType: 'application/vnd.openxmlformats-package.relationships+xml',\n });\n xmlStream.leafNode('Default', {Extension: 'xml', ContentType: 'application/xml'});\n\n xmlStream.leafNode('Override', {\n PartName: '/xl/workbook.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml',\n });\n\n model.worksheets.forEach(worksheet => {\n const name = `/xl/worksheets/sheet${worksheet.id}.xml`;\n xmlStream.leafNode('Override', {\n PartName: name,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml',\n });\n });\n\n if ((model.pivotTables || []).length) {\n // Note(2023-10-06): assuming at most one pivot table for now.\n xmlStream.leafNode('Override', {\n PartName: '/xl/pivotCache/pivotCacheDefinition1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/pivotCache/pivotCacheRecords1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/pivotTables/pivotTable1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml',\n });\n }\n\n xmlStream.leafNode('Override', {\n PartName: '/xl/theme/theme1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.theme+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/styles.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml',\n });\n\n const hasSharedStrings = model.sharedStrings && model.sharedStrings.count;\n if (hasSharedStrings) {\n xmlStream.leafNode('Override', {\n PartName: '/xl/sharedStrings.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml',\n });\n }\n\n if (model.tables) {\n model.tables.forEach(table => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/tables/${table.target}`,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml',\n });\n });\n }\n\n if (model.drawings) {\n model.drawings.forEach(drawing => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/drawings/${drawing.name}.xml`,\n ContentType: 'application/vnd.openxmlformats-officedocument.drawing+xml',\n });\n });\n }\n\n if (model.commentRefs) {\n xmlStream.leafNode('Default', {\n Extension: 'vml',\n ContentType: 'application/vnd.openxmlformats-officedocument.vmlDrawing',\n });\n\n model.commentRefs.forEach(({commentName}) => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/${commentName}.xml`,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml',\n });\n });\n }\n\n xmlStream.leafNode('Override', {\n PartName: '/docProps/core.xml',\n ContentType: 'application/vnd.openxmlformats-package.core-properties+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/docProps/app.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.extended-properties+xml',\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen() {\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nContentTypesXform.PROPERTY_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/package/2006/content-types',\n};\n\nmodule.exports = ContentTypesXform;\n"],"mappings":"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","ignoreList":[]}
@@ -100,7 +100,7 @@ class CoreXform extends BaseXform {
100
100
  this.parser.parseOpen(node);
101
101
  return true;
102
102
  }
103
- throw new Error("Unexpected xml node in parseOpen: ".concat(JSON.stringify(node)));
103
+ throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);
104
104
  }
105
105
  }
106
106
  parseText(text) {
@@ -137,7 +137,7 @@ class CoreXform extends BaseXform {
137
137
  };
138
138
  return false;
139
139
  default:
140
- throw new Error("Unexpected xml node in parseClose: ".concat(name));
140
+ throw new Error(`Unexpected xml node in parseClose: ${name}`);
141
141
  }
142
142
  }
143
143
  }