devextreme-exceljs-fork 4.4.7 → 4.4.8

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 (109) hide show
  1. package/dist/dx-exceljs-fork.bare.js +445 -541
  2. package/dist/dx-exceljs-fork.bare.js.map +18 -18
  3. package/dist/dx-exceljs-fork.bare.min.js +7 -7
  4. package/dist/dx-exceljs-fork.bare.min.js.map +1 -1
  5. package/dist/dx-exceljs-fork.js +445 -541
  6. package/dist/dx-exceljs-fork.js.map +18 -18
  7. package/dist/dx-exceljs-fork.min.js +6 -6
  8. package/dist/dx-exceljs-fork.min.js.map +1 -1
  9. package/dist/es5/csv/csv.js +1 -1
  10. package/dist/es5/csv/csv.js.map +1 -1
  11. package/dist/es5/doc/cell.js +5 -5
  12. package/dist/es5/doc/cell.js.map +1 -1
  13. package/dist/es5/doc/pivot-table.js +1 -1
  14. package/dist/es5/doc/pivot-table.js.map +1 -1
  15. package/dist/es5/doc/range.js +7 -7
  16. package/dist/es5/doc/range.js.map +1 -1
  17. package/dist/es5/doc/row.js +1 -1
  18. package/dist/es5/doc/row.js.map +1 -1
  19. package/dist/es5/doc/table.js +10 -10
  20. package/dist/es5/doc/table.js.map +1 -1
  21. package/dist/es5/doc/worksheet.js +7 -6
  22. package/dist/es5/doc/worksheet.js.map +1 -1
  23. package/dist/es5/stream/xlsx/hyperlink-reader.js +26 -49
  24. package/dist/es5/stream/xlsx/hyperlink-reader.js.map +1 -1
  25. package/dist/es5/stream/xlsx/sheet-comments-writer.js +6 -6
  26. package/dist/es5/stream/xlsx/sheet-comments-writer.js.map +1 -1
  27. package/dist/es5/stream/xlsx/sheet-rels-writer.js +6 -5
  28. package/dist/es5/stream/xlsx/sheet-rels-writer.js.map +1 -1
  29. package/dist/es5/stream/xlsx/workbook-reader.js +215 -320
  30. package/dist/es5/stream/xlsx/workbook-reader.js.map +1 -1
  31. package/dist/es5/stream/xlsx/workbook-writer.js +8 -8
  32. package/dist/es5/stream/xlsx/workbook-writer.js.map +1 -1
  33. package/dist/es5/stream/xlsx/worksheet-reader.js +265 -341
  34. package/dist/es5/stream/xlsx/worksheet-reader.js.map +1 -1
  35. package/dist/es5/stream/xlsx/worksheet-writer.js +9 -13
  36. package/dist/es5/stream/xlsx/worksheet-writer.js.map +1 -1
  37. package/dist/es5/utils/col-cache.js +14 -18
  38. package/dist/es5/utils/col-cache.js.map +1 -1
  39. package/dist/es5/utils/copy-style.js +12 -10
  40. package/dist/es5/utils/copy-style.js.map +1 -1
  41. package/dist/es5/utils/encryptor.js +1 -1
  42. package/dist/es5/utils/encryptor.js.map +1 -1
  43. package/dist/es5/utils/iterate-stream.js +26 -37
  44. package/dist/es5/utils/iterate-stream.js.map +1 -1
  45. package/dist/es5/utils/parse-sax.js +34 -67
  46. package/dist/es5/utils/parse-sax.js.map +1 -1
  47. package/dist/es5/utils/utils.js +1 -1
  48. package/dist/es5/utils/utils.js.map +1 -1
  49. package/dist/es5/utils/xml-stream.js +1 -1
  50. package/dist/es5/utils/xml-stream.js.map +1 -1
  51. package/dist/es5/xlsx/xform/base-xform.js +12 -35
  52. package/dist/es5/xlsx/xform/base-xform.js.map +1 -1
  53. package/dist/es5/xlsx/xform/book/defined-name-xform.js +2 -2
  54. package/dist/es5/xlsx/xform/book/defined-name-xform.js.map +1 -1
  55. package/dist/es5/xlsx/xform/book/workbook-xform.js +5 -5
  56. package/dist/es5/xlsx/xform/book/workbook-xform.js.map +1 -1
  57. package/dist/es5/xlsx/xform/comment/comment-xform.js +4 -8
  58. package/dist/es5/xlsx/xform/comment/comment-xform.js.map +1 -1
  59. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js +1 -1
  60. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +1 -1
  61. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +1 -1
  62. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +1 -1
  63. package/dist/es5/xlsx/xform/core/content-types-xform.js +5 -5
  64. package/dist/es5/xlsx/xform/core/content-types-xform.js.map +1 -1
  65. package/dist/es5/xlsx/xform/core/core-xform.js +2 -2
  66. package/dist/es5/xlsx/xform/core/core-xform.js.map +1 -1
  67. package/dist/es5/xlsx/xform/core/relationships-xform.js +2 -2
  68. package/dist/es5/xlsx/xform/core/relationships-xform.js.map +1 -1
  69. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +1 -1
  70. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +1 -1
  71. package/dist/es5/xlsx/xform/list-xform.js +1 -1
  72. package/dist/es5/xlsx/xform/list-xform.js.map +1 -1
  73. package/dist/es5/xlsx/xform/pivot-table/cache-field.js +8 -2
  74. package/dist/es5/xlsx/xform/pivot-table/cache-field.js.map +1 -1
  75. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +3 -7
  76. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js.map +1 -1
  77. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js +7 -11
  78. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js.map +1 -1
  79. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js +70 -10
  80. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js.map +1 -1
  81. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +1 -1
  82. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +1 -1
  83. package/dist/es5/xlsx/xform/sheet/cell-xform.js +4 -8
  84. package/dist/es5/xlsx/xform/sheet/cell-xform.js.map +1 -1
  85. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +18 -22
  86. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +1 -1
  87. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -2
  88. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +1 -1
  89. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js +11 -13
  90. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +1 -1
  91. package/dist/es5/xlsx/xform/sheet/merges.js +1 -1
  92. package/dist/es5/xlsx/xform/sheet/merges.js.map +1 -1
  93. package/dist/es5/xlsx/xform/sheet/row-xform.js +2 -2
  94. package/dist/es5/xlsx/xform/sheet/row-xform.js.map +1 -1
  95. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js +10 -10
  96. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +1 -1
  97. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js +2 -2
  98. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +1 -1
  99. package/dist/es5/xlsx/xform/style/border-xform.js +3 -7
  100. package/dist/es5/xlsx/xform/style/border-xform.js.map +1 -1
  101. package/dist/es5/xlsx/xform/table/auto-filter-xform.js +2 -2
  102. package/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +1 -1
  103. package/dist/es5/xlsx/xform/table/filter-column-xform.js +1 -1
  104. package/dist/es5/xlsx/xform/table/filter-column-xform.js.map +1 -1
  105. package/dist/es5/xlsx/xform/table/table-xform.js +3 -7
  106. package/dist/es5/xlsx/xform/table/table-xform.js.map +1 -1
  107. package/dist/es5/xlsx/xlsx.js +22 -45
  108. package/dist/es5/xlsx/xlsx.js.map +1 -1
  109. package/package.json +13 -14
@@ -1,12 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _awaitAsyncGenerator(e) { return new _OverloadYield(e, 0); }
4
- function _wrapAsyncGenerator(e) { return function () { return new AsyncGenerator(e.apply(this, arguments)); }; }
5
- function AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[r](t), o = n.value, u = o instanceof _OverloadYield; Promise.resolve(u ? o.v : o).then(function (t) { if (u) { var i = "return" === r ? "return" : "next"; if (!o.k || t.done) return resume(i, t); t = e[i](t).value; } settle(n.done ? "return" : "normal", t); }, function (e) { resume("throw", e); }); } catch (e) { settle("throw", e); } } function settle(e, n) { switch (e) { case "return": r.resolve({ value: n, done: !0 }); break; case "throw": r.reject(n); break; default: r.resolve({ value: n, done: !1 }); } (r = r.next) ? resume(r.key, r.arg) : t = null; } this._invoke = function (e, n) { return new Promise(function (o, u) { var i = { key: e, arg: n, resolve: o, reject: u, next: null }; t ? t = t.next = i : (r = t = i, resume(e, n)); }); }, "function" != typeof e.return && (this.return = void 0); }
6
- AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, AsyncGenerator.prototype.throw = function (e) { return this._invoke("throw", e); }, AsyncGenerator.prototype.return = function (e) { return this._invoke("return", e); };
7
- function _OverloadYield(e, d) { this.v = e, this.k = d; }
8
- function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
9
- function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function (r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (r) { var n = this.s.return; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, throw: function (r) { var n = this.s.return; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
10
3
  const {
11
4
  EventEmitter
12
5
  } = require('events');
@@ -32,7 +25,7 @@ class WorksheetReader extends EventEmitter {
32
25
  this.options = options || {};
33
26
 
34
27
  // and a name
35
- this.name = "Sheet".concat(this.id);
28
+ this.name = `Sheet${this.id}`;
36
29
 
37
30
  // column definitions
38
31
  this._columns = null;
@@ -99,33 +92,12 @@ class WorksheetReader extends EventEmitter {
99
92
  }
100
93
  async read() {
101
94
  try {
102
- var _iteratorAbruptCompletion = false;
103
- var _didIteratorError = false;
104
- var _iteratorError;
105
- try {
106
- for (var _iterator = _asyncIterator(this.parse()), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {
107
- const events = _step.value;
108
- {
109
- for (const {
110
- eventType,
111
- value
112
- } of events) {
113
- this.emit(eventType, value);
114
- }
115
- }
116
- }
117
- } catch (err) {
118
- _didIteratorError = true;
119
- _iteratorError = err;
120
- } finally {
121
- try {
122
- if (_iteratorAbruptCompletion && _iterator.return != null) {
123
- await _iterator.return();
124
- }
125
- } finally {
126
- if (_didIteratorError) {
127
- throw _iteratorError;
128
- }
95
+ for await (const events of this.parse()) {
96
+ for (const {
97
+ eventType,
98
+ value
99
+ } of events) {
100
+ this.emit(eventType, value);
129
101
  }
130
102
  }
131
103
  this.emit('finished');
@@ -133,335 +105,287 @@ class WorksheetReader extends EventEmitter {
133
105
  this.emit('error', error);
134
106
  }
135
107
  }
136
- [Symbol.asyncIterator]() {
137
- var _this = this;
138
- return _wrapAsyncGenerator(function* () {
139
- var _iteratorAbruptCompletion2 = false;
140
- var _didIteratorError2 = false;
141
- var _iteratorError2;
142
- try {
143
- for (var _iterator2 = _asyncIterator(_this.parse()), _step2; _iteratorAbruptCompletion2 = !(_step2 = yield _awaitAsyncGenerator(_iterator2.next())).done; _iteratorAbruptCompletion2 = false) {
144
- const events = _step2.value;
145
- {
146
- for (const {
147
- eventType,
148
- value
149
- } of events) {
150
- if (eventType === 'row') {
151
- yield value;
152
- }
153
- }
154
- }
155
- }
156
- } catch (err) {
157
- _didIteratorError2 = true;
158
- _iteratorError2 = err;
159
- } finally {
160
- try {
161
- if (_iteratorAbruptCompletion2 && _iterator2.return != null) {
162
- yield _awaitAsyncGenerator(_iterator2.return());
163
- }
164
- } finally {
165
- if (_didIteratorError2) {
166
- throw _iteratorError2;
167
- }
108
+ async *[Symbol.asyncIterator]() {
109
+ for await (const events of this.parse()) {
110
+ for (const {
111
+ eventType,
112
+ value
113
+ } of events) {
114
+ if (eventType === 'row') {
115
+ yield value;
168
116
  }
169
117
  }
170
- })();
118
+ }
171
119
  }
172
- parse() {
173
- var _this2 = this;
174
- return _wrapAsyncGenerator(function* () {
175
- const {
176
- iterator,
177
- options
178
- } = _this2;
179
- let emitSheet = false;
180
- let emitHyperlinks = false;
181
- let hyperlinks = null;
182
- switch (options.worksheets) {
183
- case 'emit':
184
- emitSheet = true;
185
- break;
186
- case 'prep':
187
- break;
188
- default:
189
- break;
190
- }
191
- switch (options.hyperlinks) {
192
- case 'emit':
193
- emitHyperlinks = true;
194
- break;
195
- case 'cache':
196
- _this2.hyperlinks = hyperlinks = {};
197
- break;
198
- default:
199
- break;
200
- }
201
- if (!emitSheet && !emitHyperlinks && !hyperlinks) {
202
- return;
203
- }
120
+ async *parse() {
121
+ const {
122
+ iterator,
123
+ options
124
+ } = this;
125
+ let emitSheet = false;
126
+ let emitHyperlinks = false;
127
+ let hyperlinks = null;
128
+ switch (options.worksheets) {
129
+ case 'emit':
130
+ emitSheet = true;
131
+ break;
132
+ case 'prep':
133
+ break;
134
+ default:
135
+ break;
136
+ }
137
+ switch (options.hyperlinks) {
138
+ case 'emit':
139
+ emitHyperlinks = true;
140
+ break;
141
+ case 'cache':
142
+ this.hyperlinks = hyperlinks = {};
143
+ break;
144
+ default:
145
+ break;
146
+ }
147
+ if (!emitSheet && !emitHyperlinks && !hyperlinks) {
148
+ return;
149
+ }
204
150
 
205
- // references
206
- const {
207
- sharedStrings,
208
- styles,
209
- properties
210
- } = _this2.workbook;
151
+ // references
152
+ const {
153
+ sharedStrings,
154
+ styles,
155
+ properties
156
+ } = this.workbook;
211
157
 
212
- // xml position
213
- let inCols = false;
214
- let inRows = false;
215
- let inHyperlinks = false;
158
+ // xml position
159
+ let inCols = false;
160
+ let inRows = false;
161
+ let inHyperlinks = false;
216
162
 
217
- // parse state
218
- let cols = null;
219
- let row = null;
220
- let c = null;
221
- let current = null;
222
- var _iteratorAbruptCompletion3 = false;
223
- var _didIteratorError3 = false;
224
- var _iteratorError3;
225
- try {
226
- for (var _iterator3 = _asyncIterator(parseSax(iterator)), _step3; _iteratorAbruptCompletion3 = !(_step3 = yield _awaitAsyncGenerator(_iterator3.next())).done; _iteratorAbruptCompletion3 = false) {
227
- const events = _step3.value;
228
- {
229
- const worksheetEvents = [];
230
- for (const {
231
- eventType,
232
- value
233
- } of events) {
234
- if (eventType === 'opentag') {
235
- const node = value;
236
- if (emitSheet) {
237
- switch (node.name) {
238
- case 'cols':
239
- inCols = true;
240
- cols = [];
241
- break;
242
- case 'sheetData':
243
- inRows = true;
244
- break;
245
- case 'col':
246
- if (inCols) {
247
- cols.push({
248
- min: parseInt(node.attributes.min, 10),
249
- max: parseInt(node.attributes.max, 10),
250
- width: parseFloat(node.attributes.width),
251
- styleId: parseInt(node.attributes.style || '0', 10)
252
- });
253
- }
254
- break;
255
- case 'row':
256
- if (inRows) {
257
- const r = parseInt(node.attributes.r, 10);
258
- row = new Row(_this2, r);
259
- if (node.attributes.ht) {
260
- row.height = parseFloat(node.attributes.ht);
261
- }
262
- if (node.attributes.s) {
263
- const styleId = parseInt(node.attributes.s, 10);
264
- const style = styles.getStyleModel(styleId);
265
- if (style) {
266
- row.style = style;
267
- }
268
- }
269
- }
270
- break;
271
- case 'c':
272
- if (row) {
273
- c = {
274
- ref: node.attributes.r,
275
- s: parseInt(node.attributes.s, 10),
276
- t: node.attributes.t
277
- };
278
- }
279
- break;
280
- case 'f':
281
- if (c) {
282
- current = c.f = {
283
- text: ''
284
- };
285
- }
286
- break;
287
- case 'v':
288
- if (c) {
289
- current = c.v = {
290
- text: ''
291
- };
292
- }
293
- break;
294
- case 'is':
295
- case 't':
296
- if (c) {
297
- current = c.v = {
298
- text: ''
299
- };
300
- }
301
- break;
302
- case 'mergeCell':
303
- break;
304
- default:
305
- break;
163
+ // parse state
164
+ let cols = null;
165
+ let row = null;
166
+ let c = null;
167
+ let current = null;
168
+ for await (const events of parseSax(iterator)) {
169
+ const worksheetEvents = [];
170
+ for (const {
171
+ eventType,
172
+ value
173
+ } of events) {
174
+ if (eventType === 'opentag') {
175
+ const node = value;
176
+ if (emitSheet) {
177
+ switch (node.name) {
178
+ case 'cols':
179
+ inCols = true;
180
+ cols = [];
181
+ break;
182
+ case 'sheetData':
183
+ inRows = true;
184
+ break;
185
+ case 'col':
186
+ if (inCols) {
187
+ cols.push({
188
+ min: parseInt(node.attributes.min, 10),
189
+ max: parseInt(node.attributes.max, 10),
190
+ width: parseFloat(node.attributes.width),
191
+ styleId: parseInt(node.attributes.style || '0', 10)
192
+ });
193
+ }
194
+ break;
195
+ case 'row':
196
+ if (inRows) {
197
+ const r = parseInt(node.attributes.r, 10);
198
+ row = new Row(this, r);
199
+ if (node.attributes.ht) {
200
+ row.height = parseFloat(node.attributes.ht);
201
+ }
202
+ if (node.attributes.s) {
203
+ const styleId = parseInt(node.attributes.s, 10);
204
+ const style = styles.getStyleModel(styleId);
205
+ if (style) {
206
+ row.style = style;
207
+ }
306
208
  }
307
209
  }
210
+ break;
211
+ case 'c':
212
+ if (row) {
213
+ c = {
214
+ ref: node.attributes.r,
215
+ s: parseInt(node.attributes.s, 10),
216
+ t: node.attributes.t
217
+ };
218
+ }
219
+ break;
220
+ case 'f':
221
+ if (c) {
222
+ current = c.f = {
223
+ text: ''
224
+ };
225
+ }
226
+ break;
227
+ case 'v':
228
+ if (c) {
229
+ current = c.v = {
230
+ text: ''
231
+ };
232
+ }
233
+ break;
234
+ case 'is':
235
+ case 't':
236
+ if (c) {
237
+ current = c.v = {
238
+ text: ''
239
+ };
240
+ }
241
+ break;
242
+ case 'mergeCell':
243
+ break;
244
+ default:
245
+ break;
246
+ }
247
+ }
308
248
 
309
- // =================================================================
310
- //
311
- if (emitHyperlinks || hyperlinks) {
312
- switch (node.name) {
313
- case 'hyperlinks':
314
- inHyperlinks = true;
315
- break;
316
- case 'hyperlink':
317
- if (inHyperlinks) {
318
- const hyperlink = {
319
- ref: node.attributes.ref,
320
- rId: node.attributes['r:id']
321
- };
322
- if (emitHyperlinks) {
323
- worksheetEvents.push({
324
- eventType: 'hyperlink',
325
- value: hyperlink
326
- });
327
- } else {
328
- hyperlinks[hyperlink.ref] = hyperlink;
329
- }
330
- }
331
- break;
332
- default:
333
- break;
249
+ // =================================================================
250
+ //
251
+ if (emitHyperlinks || hyperlinks) {
252
+ switch (node.name) {
253
+ case 'hyperlinks':
254
+ inHyperlinks = true;
255
+ break;
256
+ case 'hyperlink':
257
+ if (inHyperlinks) {
258
+ const hyperlink = {
259
+ ref: node.attributes.ref,
260
+ rId: node.attributes['r:id']
261
+ };
262
+ if (emitHyperlinks) {
263
+ worksheetEvents.push({
264
+ eventType: 'hyperlink',
265
+ value: hyperlink
266
+ });
267
+ } else {
268
+ hyperlinks[hyperlink.ref] = hyperlink;
334
269
  }
335
270
  }
336
- } else if (eventType === 'text') {
337
- // only text data is for sheet values
338
- if (emitSheet) {
339
- if (current) {
340
- current.text += value;
271
+ break;
272
+ default:
273
+ break;
274
+ }
275
+ }
276
+ } else if (eventType === 'text') {
277
+ // only text data is for sheet values
278
+ if (emitSheet) {
279
+ if (current) {
280
+ current.text += value;
281
+ }
282
+ }
283
+ } else if (eventType === 'closetag') {
284
+ const node = value;
285
+ if (emitSheet) {
286
+ switch (node.name) {
287
+ case 'cols':
288
+ inCols = false;
289
+ this._columns = Column.fromModel(cols);
290
+ break;
291
+ case 'sheetData':
292
+ inRows = false;
293
+ break;
294
+ case 'row':
295
+ this._dimensions.expandRow(row);
296
+ worksheetEvents.push({
297
+ eventType: 'row',
298
+ value: row
299
+ });
300
+ row = null;
301
+ break;
302
+ case 'c':
303
+ if (row && c) {
304
+ const address = colCache.decodeAddress(c.ref);
305
+ const cell = row.getCell(address.col);
306
+ if (c.s) {
307
+ const style = styles.getStyleModel(c.s);
308
+ if (style) {
309
+ cell.style = style;
310
+ }
341
311
  }
342
- }
343
- } else if (eventType === 'closetag') {
344
- const node = value;
345
- if (emitSheet) {
346
- switch (node.name) {
347
- case 'cols':
348
- inCols = false;
349
- _this2._columns = Column.fromModel(cols);
350
- break;
351
- case 'sheetData':
352
- inRows = false;
353
- break;
354
- case 'row':
355
- _this2._dimensions.expandRow(row);
356
- worksheetEvents.push({
357
- eventType: 'row',
358
- value: row
359
- });
360
- row = null;
361
- break;
362
- case 'c':
363
- if (row && c) {
364
- const address = colCache.decodeAddress(c.ref);
365
- const cell = row.getCell(address.col);
366
- if (c.s) {
367
- const style = styles.getStyleModel(c.s);
368
- if (style) {
369
- cell.style = style;
370
- }
371
- }
372
- if (c.f) {
373
- const cellValue = {
374
- formula: c.f.text
375
- };
376
- if (c.v) {
377
- if (c.t === 'str') {
378
- cellValue.result = utils.xmlDecode(c.v.text);
379
- } else {
380
- cellValue.result = parseFloat(c.v.text);
381
- }
382
- }
383
- cell.value = cellValue;
384
- } else if (c.v) {
385
- switch (c.t) {
386
- case 's':
387
- {
388
- const index = parseInt(c.v.text, 10);
389
- if (sharedStrings) {
390
- cell.value = sharedStrings[index];
391
- } else {
392
- cell.value = {
393
- sharedString: index
394
- };
395
- }
396
- break;
397
- }
398
- case 'inlineStr':
399
- case 'str':
400
- cell.value = utils.xmlDecode(c.v.text);
401
- break;
402
- case 'e':
403
- cell.value = {
404
- error: c.v.text
405
- };
406
- break;
407
- case 'b':
408
- cell.value = parseInt(c.v.text, 10) !== 0;
409
- break;
410
- default:
411
- if (utils.isDateFmt(cell.numFmt)) {
412
- cell.value = utils.excelToDate(parseFloat(c.v.text), properties.model && properties.model.date1904);
413
- } else {
414
- cell.value = parseFloat(c.v.text);
415
- }
416
- break;
312
+ if (c.f) {
313
+ const cellValue = {
314
+ formula: c.f.text
315
+ };
316
+ if (c.v) {
317
+ if (c.t === 'str') {
318
+ cellValue.result = utils.xmlDecode(c.v.text);
319
+ } else {
320
+ cellValue.result = parseFloat(c.v.text);
321
+ }
322
+ }
323
+ cell.value = cellValue;
324
+ } else if (c.v) {
325
+ switch (c.t) {
326
+ case 's':
327
+ {
328
+ const index = parseInt(c.v.text, 10);
329
+ if (sharedStrings) {
330
+ cell.value = sharedStrings[index];
331
+ } else {
332
+ cell.value = {
333
+ sharedString: index
334
+ };
417
335
  }
336
+ break;
418
337
  }
419
- if (hyperlinks) {
420
- const hyperlink = hyperlinks[c.ref];
421
- if (hyperlink) {
422
- cell.text = cell.value;
423
- cell.value = undefined;
424
- cell.hyperlink = hyperlink;
425
- }
338
+ case 'inlineStr':
339
+ case 'str':
340
+ cell.value = utils.xmlDecode(c.v.text);
341
+ break;
342
+ case 'e':
343
+ cell.value = {
344
+ error: c.v.text
345
+ };
346
+ break;
347
+ case 'b':
348
+ cell.value = parseInt(c.v.text, 10) !== 0;
349
+ break;
350
+ default:
351
+ if (utils.isDateFmt(cell.numFmt)) {
352
+ cell.value = utils.excelToDate(parseFloat(c.v.text), properties.model && properties.model.date1904);
353
+ } else {
354
+ cell.value = parseFloat(c.v.text);
426
355
  }
427
- c = null;
428
- }
429
- break;
430
- default:
431
- break;
356
+ break;
357
+ }
432
358
  }
433
- }
434
- if (emitHyperlinks || hyperlinks) {
435
- switch (node.name) {
436
- case 'hyperlinks':
437
- inHyperlinks = false;
438
- break;
439
- default:
440
- break;
359
+ if (hyperlinks) {
360
+ const hyperlink = hyperlinks[c.ref];
361
+ if (hyperlink) {
362
+ cell.text = cell.value;
363
+ cell.value = undefined;
364
+ cell.hyperlink = hyperlink;
365
+ }
441
366
  }
367
+ c = null;
442
368
  }
443
- }
369
+ break;
370
+ default:
371
+ break;
444
372
  }
445
- if (worksheetEvents.length > 0) {
446
- yield worksheetEvents;
447
- }
448
- }
449
- }
450
- } catch (err) {
451
- _didIteratorError3 = true;
452
- _iteratorError3 = err;
453
- } finally {
454
- try {
455
- if (_iteratorAbruptCompletion3 && _iterator3.return != null) {
456
- yield _awaitAsyncGenerator(_iterator3.return());
457
373
  }
458
- } finally {
459
- if (_didIteratorError3) {
460
- throw _iteratorError3;
374
+ if (emitHyperlinks || hyperlinks) {
375
+ switch (node.name) {
376
+ case 'hyperlinks':
377
+ inHyperlinks = false;
378
+ break;
379
+ default:
380
+ break;
381
+ }
461
382
  }
462
383
  }
463
384
  }
464
- })();
385
+ if (worksheetEvents.length > 0) {
386
+ yield worksheetEvents;
387
+ }
388
+ }
465
389
  }
466
390
  }
467
391
  module.exports = WorksheetReader;