@cosmotech/core 1.6.3 → 1.6.7

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.
package/dist/index.cjs.js CHANGED
@@ -11071,7 +11071,7 @@ module.exports = ZStream;
11071
11071
  /*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */
11072
11072
  var XLSX = {};
11073
11073
  function make_xlsx_lib(XLSX){
11074
- XLSX.version = '0.17.4';
11074
+ XLSX.version = '0.17.5';
11075
11075
  var current_codepage = 1200, current_ansi = 1252;
11076
11076
  /*global cptable:true, window */
11077
11077
  if(typeof commonjsRequire !== 'undefined') {
@@ -14761,7 +14761,8 @@ function safe_decode_range(range) {
14761
14761
  }
14762
14762
  o.s.r = --idx;
14763
14763
 
14764
- if(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }
14764
+ if(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }
14765
+ ++i;
14765
14766
 
14766
14767
  for(idx = 0; i != len; ++i) {
14767
14768
  if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;
@@ -15802,7 +15803,7 @@ function parse_rels(data, currentFilePath) {
15802
15803
  var y = parsexmltag(x);
15803
15804
  /* 9.3.2.2 OPC_Relationships */
15804
15805
  if (y[0] === '<Relationship') {
15805
- var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; rel.TargetMode = y.TargetMode;
15806
+ var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; if(y.TargetMode) rel.TargetMode = y.TargetMode;
15806
15807
  var canonictarget = y.TargetMode === 'External' ? y.Target : resolve_path(y.Target, currentFilePath);
15807
15808
  rels[canonictarget] = rel;
15808
15809
  hash[y.Id] = rel;
@@ -17604,7 +17605,9 @@ function parse_Lbl(blob, length, opts) {
17604
17605
  var name = parse_XLUnicodeStringNoCch(blob, cch, opts);
17605
17606
  if(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];
17606
17607
  var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;
17608
+ /*jshint -W018 */
17607
17609
  var rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);
17610
+ /*jshint +W018 */
17608
17611
  return {
17609
17612
  chKey: chKey,
17610
17613
  Name: name,
@@ -19020,12 +19023,18 @@ var WK_ = (function() {
19020
19023
  function lotus_to_workbook_buf(d, opts) {
19021
19024
  if(!d) return d;
19022
19025
  var o = opts || {};
19023
- var s = ((o.dense ? [] : {})), n = "Sheet1", sidx = 0;
19024
- var sheets = {}, snames = [n], realnames = [];
19026
+ var s = ((o.dense ? [] : {})), n = "Sheet1", next_n = "", sidx = 0;
19027
+ var sheets = {}, snames = [], realnames = [];
19025
19028
 
19026
19029
  var refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
19027
19030
  var sheetRows = o.sheetRows || 0;
19028
19031
 
19032
+ if(d[2] == 0x00) {
19033
+ if(d[3] == 0x08 || d[3] == 0x09) {
19034
+ if(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error("Unsupported Works 3 for Mac file");
19035
+ }
19036
+ }
19037
+
19029
19038
  if(d[2] == 0x02) {
19030
19039
  o.Enum = WK1Enum;
19031
19040
  lotushopper(d, function(val, R, RT) { switch(RT) {
@@ -19034,6 +19043,8 @@ var WK_ = (function() {
19034
19043
  if(val >= 0x1000) o.qpro = true;
19035
19044
  break;
19036
19045
  case 0x06: refguess = val; break; /* RANGE */
19046
+ case 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */
19047
+ case 0xDE: next_n = val; break; /* SHEETNAMELP */
19037
19048
  case 0x0F: /* LABEL */
19038
19049
  case 0x33: /* STRING */
19039
19050
  if(!o.qpro) val[1].v = val[1].v.slice(1);
@@ -19046,6 +19057,18 @@ var WK_ = (function() {
19046
19057
  val[1].z = o.dateNF || SSF._table[14];
19047
19058
  if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }
19048
19059
  }
19060
+
19061
+ if(o.qpro) {
19062
+ if(val[3] > sidx) {
19063
+ s["!ref"] = encode_range(refguess);
19064
+ sheets[n] = s;
19065
+ snames.push(n);
19066
+ s = (o.dense ? [] : {});
19067
+ refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
19068
+ sidx = val[3]; n = next_n || "Sheet" + (sidx + 1); next_n = "";
19069
+ }
19070
+ }
19071
+
19049
19072
  var tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];
19050
19073
  if(tmpcell) {
19051
19074
  tmpcell.t = val[1].t; tmpcell.v = val[1].v;
@@ -19063,6 +19086,7 @@ var WK_ = (function() {
19063
19086
  o.Enum = WK3Enum;
19064
19087
  if(d[2] == 0x0E) { o.qpro = true; d.l = 0; }
19065
19088
  lotushopper(d, function(val, R, RT) { switch(RT) {
19089
+ case 0xCC: n = val; break; /* SHEETNAMECS */
19066
19090
  case 0x16: /* LABEL16 */
19067
19091
  val[1].v = val[1].v.slice(1);
19068
19092
  /* falls through */
@@ -19075,10 +19099,10 @@ var WK_ = (function() {
19075
19099
  if(val[3] > sidx) {
19076
19100
  s["!ref"] = encode_range(refguess);
19077
19101
  sheets[n] = s;
19102
+ snames.push(n);
19078
19103
  s = (o.dense ? [] : {});
19079
19104
  refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
19080
19105
  sidx = val[3]; n = "Sheet" + (sidx + 1);
19081
- snames.push(n);
19082
19106
  }
19083
19107
  if(sheetRows > 0 && val[0].r >= sheetRows) break;
19084
19108
  if(o.dense) {
@@ -19091,16 +19115,22 @@ var WK_ = (function() {
19091
19115
  case 0x1B: /* XFORMAT */
19092
19116
  if(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];
19093
19117
  break;
19118
+ case 0x0601: /* SHEETINFOQP */
19119
+ realnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;
19094
19120
  }}, o);
19095
19121
  } else throw new Error("Unrecognized LOTUS BOF " + d[2]);
19096
-
19097
19122
  s["!ref"] = encode_range(refguess);
19098
- sheets[n] = s;
19123
+ sheets[next_n || n] = s;
19124
+ snames.push(next_n || n);
19099
19125
  if(!realnames.length) return { SheetNames: snames, Sheets: sheets };
19100
19126
  var osheets = {}, rnames = [];
19127
+ /* TODO: verify no collisions */
19101
19128
  for(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {
19129
+ rnames.push(realnames[i] || snames[i]);
19130
+ osheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];
19131
+ } else {
19102
19132
  rnames.push(realnames[i]);
19103
- osheets[realnames[i]] = sheets[snames[i]];
19133
+ osheets[realnames[i]] = ({ "!ref": "A1" });
19104
19134
  }
19105
19135
  return { SheetNames: rnames, Sheets: osheets };
19106
19136
  }
@@ -19116,7 +19146,8 @@ var WK_ = (function() {
19116
19146
 
19117
19147
  write_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));
19118
19148
  write_biff_rec(ba, 0x06, write_RANGE(range));
19119
- for(var R = range.s.r; R <= range.e.r; ++R) {
19149
+ var max_R = Math.min(range.e.r, 8191);
19150
+ for(var R = range.s.r; R <= max_R; ++R) {
19120
19151
  var rr = encode_row(R);
19121
19152
  for(var C = range.s.c; C <= range.e.c; ++C) {
19122
19153
  if(R === range.s.r) cols[C] = encode_col(C);
@@ -19155,7 +19186,8 @@ var WK_ = (function() {
19155
19186
  var range = safe_decode_range(ws["!ref"]);
19156
19187
  var dense = Array.isArray(ws);
19157
19188
  var cols = [];
19158
- for(var R = range.s.r; R <= range.e.r; ++R) {
19189
+ var max_R = Math.min(range.e.r, 8191);
19190
+ for(var R = range.s.r; R <= max_R; ++R) {
19159
19191
  var rr = encode_row(R);
19160
19192
  for(var C = range.s.c; C <= range.e.c; ++C) {
19161
19193
  if(R === range.s.r) cols[C] = encode_col(C);
@@ -19201,6 +19233,7 @@ var WK_ = (function() {
19201
19233
  if(rows < range.e.r) rows = range.e.r;
19202
19234
  if(cols < range.e.c) cols = range.e.c;
19203
19235
  }
19236
+ if(rows > 8191) rows = 8191;
19204
19237
  out.write_shift(2, rows);
19205
19238
  out.write_shift(1, wscnt);
19206
19239
  out.write_shift(1, cols);
@@ -19213,12 +19246,23 @@ var WK_ = (function() {
19213
19246
  return out;
19214
19247
  }
19215
19248
 
19216
- function parse_RANGE(blob) {
19249
+ function parse_RANGE(blob, length, opts) {
19217
19250
  var o = {s:{c:0,r:0},e:{c:0,r:0}};
19251
+ if(length == 8 && opts.qpro) {
19252
+ o.s.c = blob.read_shift(1);
19253
+ blob.l++;
19254
+ o.s.r = blob.read_shift(2);
19255
+ o.e.c = blob.read_shift(1);
19256
+ blob.l++;
19257
+ o.e.r = blob.read_shift(2);
19258
+ return o;
19259
+ }
19218
19260
  o.s.c = blob.read_shift(2);
19219
19261
  o.s.r = blob.read_shift(2);
19262
+ if(length == 12 && opts.qpro) blob.l += 2;
19220
19263
  o.e.c = blob.read_shift(2);
19221
19264
  o.e.r = blob.read_shift(2);
19265
+ if(length == 12 && opts.qpro) blob.l += 2;
19222
19266
  if(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;
19223
19267
  return o;
19224
19268
  }
@@ -19232,10 +19276,10 @@ var WK_ = (function() {
19232
19276
  }
19233
19277
 
19234
19278
  function parse_cell(blob, length, opts) {
19235
- var o = [{c:0,r:0}, {t:'n',v:0}, 0];
19279
+ var o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];
19236
19280
  if(opts.qpro && opts.vers != 0x5120) {
19237
19281
  o[0].c = blob.read_shift(1);
19238
- blob.l++;
19282
+ o[3] = blob.read_shift(1);
19239
19283
  o[0].r = blob.read_shift(2);
19240
19284
  blob.l+=2;
19241
19285
  } else {
@@ -19343,7 +19387,7 @@ var WK_ = (function() {
19343
19387
 
19344
19388
  function wk1_fmla_to_csf(blob, o) {
19345
19389
  prep_blob(blob, 0);
19346
- var out = [], argc = 0, R = "", C = "";
19390
+ var out = [], argc = 0, R = "", C = "", argL = "", argR = "";
19347
19391
  while(blob.l < blob.length) {
19348
19392
  var cc = blob[blob.l++];
19349
19393
  switch(cc) {
@@ -19375,7 +19419,7 @@ var WK_ = (function() {
19375
19419
  case 0x16: out.push("NOT(" + out.pop() + ")"); break;
19376
19420
 
19377
19421
  case 0x14: case 0x15: {
19378
- var argR = out.pop(), argL = out.pop();
19422
+ argR = out.pop(); argL = out.pop();
19379
19423
  out.push(["AND", "OR"][cc - 0x14] + "(" + argL + "," + argR + ")");
19380
19424
  } break;
19381
19425
 
@@ -19521,6 +19565,27 @@ var WK_ = (function() {
19521
19565
  return o;
19522
19566
  }
19523
19567
 
19568
+ function parse_SHEETNAMECS(blob, length) {
19569
+ return blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : "";
19570
+ }
19571
+
19572
+ function parse_SHEETNAMELP(blob, length) {
19573
+ var len = blob[blob.l++];
19574
+ if(len > length - 1) len = length - 1;
19575
+ var o = ""; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);
19576
+ return o;
19577
+ }
19578
+
19579
+ function parse_SHEETINFOQP(blob, length, opts) {
19580
+ if(!opts.qpro || length < 21) return;
19581
+ var id = blob.read_shift(1);
19582
+ blob.l += 17;
19583
+ blob.read_shift(1);
19584
+ blob.l += 2;
19585
+ var nm = blob.read_shift(length - 21, 'cstr');
19586
+ return [id, nm];
19587
+ }
19588
+
19524
19589
  function parse_XFORMAT(blob, length) {
19525
19590
  var o = {}, tgt = blob.l + length;
19526
19591
  while(blob.l < tgt) {
@@ -19608,6 +19673,8 @@ var WK_ = (function() {
19608
19673
  0x0067: { n:"RRANGES??" },
19609
19674
  0x0068: { n:"FNAME??" },
19610
19675
  0x0069: { n:"MRANGES??" },
19676
+ 0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
19677
+ 0x00DE: { n:"SHEETNAMELP", f:parse_SHEETNAMELP },
19611
19678
  0xFFFF: { n:"" }
19612
19679
  };
19613
19680
 
@@ -19673,6 +19740,7 @@ var WK_ = (function() {
19673
19740
  0x00BC: { n:"??" },
19674
19741
  0x00C3: { n:"??" },
19675
19742
  0x00C9: { n:"??" },
19743
+ 0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
19676
19744
  0x00CD: { n:"??" },
19677
19745
  0x00CE: { n:"??" },
19678
19746
  0x00CF: { n:"??" },
@@ -19717,6 +19785,7 @@ var WK_ = (function() {
19717
19785
  0x029A: { n:"??" },
19718
19786
  0x0300: { n:"??" },
19719
19787
  0x0304: { n:"??" },
19788
+ 0x0601: { n:"SHEETINFOQP", f:parse_SHEETINFOQP },
19720
19789
  0x0640: { n:"??" },
19721
19790
  0x0642: { n:"??" },
19722
19791
  0x0701: { n:"??" },
@@ -27489,6 +27558,7 @@ function parse_xlml_xml(d, _opts) {
27489
27558
  else str = utf8read(str);
27490
27559
  }
27491
27560
  var opening = str.slice(0, 1024).toLowerCase(), ishtml = false;
27561
+ opening = opening.replace(/".*?"/g, "");
27492
27562
  if((opening.indexOf(">") & 1023) > Math.min((opening.indexOf(",") & 1023), (opening.indexOf(";")&1023))) { var _o = dup(opts); _o.type = "string"; return PRN.to_workbook(str, _o); }
27493
27563
  if(opening.indexOf("<?xml") == -1) ["html", "table", "head", "meta", "script", "style", "div"].forEach(function(tag) { if(opening.indexOf("<" + tag) >= 0) ishtml = true; });
27494
27564
  if(ishtml) return HTML_.to_workbook(str, opts);
@@ -29362,7 +29432,9 @@ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook";
29362
29432
  if(!options.bookSheets) wb.Sheets=Sheets;
29363
29433
  if(!wb.SheetNames.length && Preamble["!ref"]) {
29364
29434
  wb.SheetNames.push("Sheet1");
29435
+ /*jshint -W069 */
29365
29436
  if(wb.Sheets) wb.Sheets["Sheet1"] = Preamble;
29437
+ /*jshint +W069 */
29366
29438
  } else wb.Preamble=Preamble;
29367
29439
  if(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });
29368
29440
  wb.Strings = sst;
@@ -29457,6 +29529,8 @@ else {
29457
29529
  else if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
29458
29530
  /* Quattro Pro 9 */
29459
29531
  else if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
29532
+ /* Works 4 for Mac */
29533
+ else if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error("Unsupported Works 4 for Mac file");
29460
29534
  else throw new Error("Cannot find Workbook stream");
29461
29535
  if(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);
29462
29536
  }
@@ -30334,7 +30408,9 @@ var XLSBRecordEnum = {
30334
30408
  };
30335
30409
 
30336
30410
  var XLSBRE = evert_key(XLSBRecordEnum, 'n');
30411
+ /*jshint -W069 */
30337
30412
  XLSBRE["BrtFRTArchID$"] = 0x0010;
30413
+ /*jshint +W069 */
30338
30414
 
30339
30415
  /* [MS-XLS] 2.3 Record Enumeration (and other sources) */
30340
30416
  var XLSRecordEnum = {
@@ -31182,6 +31258,15 @@ function write_biff8_buf(wb, opts) {
31182
31258
  }
31183
31259
 
31184
31260
  function write_biff_buf(wb, opts) {
31261
+ for(var i = 0; i <= wb.SheetNames.length; ++i) {
31262
+ var ws = wb.Sheets[wb.SheetNames[i]];
31263
+ if(!ws || !ws["!ref"]) continue;
31264
+ var range = decode_range(ws["!ref"]);
31265
+ if(range.e.c > 255) { // note: 255 is IV
31266
+ console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost.");
31267
+ }
31268
+ }
31269
+
31185
31270
  var o = opts || {};
31186
31271
  switch(o.biff || 2) {
31187
31272
  case 8: case 5: return write_biff8_buf(wb, opts);
@@ -31995,14 +32080,16 @@ function parse_fods(data, opts) {
31995
32080
 
31996
32081
  /* OpenDocument */
31997
32082
  var write_styles_ods = (function() {
31998
- var master_styles = '<office:master-styles>'
31999
- + '<style:master-page style:name="mp1" style:page-layout-name="mp1">'
32000
- + '<style:header/>'
32001
- + '<style:header-left style:display="false"/>'
32002
- + '<style:footer/>'
32003
- + '<style:footer-left style:display="false"/>'
32004
- + '</style:master-page>'
32005
- + '</office:master-styles>';
32083
+ var master_styles = [
32084
+ '<office:master-styles>',
32085
+ '<style:master-page style:name="mp1" style:page-layout-name="mp1">',
32086
+ '<style:header/>',
32087
+ '<style:header-left style:display="false"/>',
32088
+ '<style:footer/>',
32089
+ '<style:footer-left style:display="false"/>',
32090
+ '</style:master-page>',
32091
+ '</office:master-styles>'
32092
+ ].join("");
32006
32093
 
32007
32094
  var payload = '<office:document-styles ' + wxt_helper({
32008
32095
  'xmlns:office': "urn:oasis:names:tc:opendocument:xmlns:office:1.0",
@@ -32419,6 +32506,11 @@ function parse_zip(zip, opts) {
32419
32506
  if(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);
32420
32507
  /* Numbers */
32421
32508
  if(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');
32509
+ if(!safegetzipfile(zip, '[Content_Types].xml')) {
32510
+ if(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');
32511
+ if(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');
32512
+ throw new Error('Unsupported ZIP file');
32513
+ }
32422
32514
 
32423
32515
  var entries = zipentries(zip);
32424
32516
  var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));
@@ -32836,12 +32928,20 @@ function readSync(data, opts) {
32836
32928
  case 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;
32837
32929
  case 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);
32838
32930
  case 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);
32839
- case 0xFF: if(n[1] === 0xFE) { return read_utf16(d, o); } break;
32840
- case 0x00: if(n[1] === 0x00 && n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); break;
32931
+ case 0xFF:
32932
+ if(n[1] === 0xFE) { return read_utf16(d, o); }
32933
+ else if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
32934
+ break;
32935
+ case 0x00:
32936
+ if(n[1] === 0x00) {
32937
+ if(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
32938
+ if(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);
32939
+ }
32940
+ break;
32841
32941
  case 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);
32842
32942
  case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;
32843
32943
  case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);
32844
- case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
32944
+ case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
32845
32945
  }
32846
32946
  if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
32847
32947
  return read_prn(data, d, o, str);
@@ -33388,7 +33488,10 @@ return utils;
33388
33488
  })(utils);
33389
33489
 
33390
33490
  if(has_buf && typeof commonjsRequire != 'undefined') (function() {
33391
- var Readable = require$$0__default["default"].Readable;
33491
+ var strmod = require$$0__default["default"];
33492
+ if(!strmod) return;
33493
+ var Readable = strmod.Readable;
33494
+ if(!Readable) return;
33392
33495
 
33393
33496
  var write_csv_stream = function(sheet, opts) {
33394
33497
  var stream = Readable();
@@ -33525,7 +33628,7 @@ if(typeof CFB !== "undefined") XLSX.CFB = CFB;
33525
33628
  /*global define */
33526
33629
  make_xlsx_lib(exports);
33527
33630
  /* NOTE: the following extra line is needed for "Lightning Locker Service" */
33528
- if(typeof window !== 'undefined' && !window.XLSX) window.XLSX = XLSX;
33631
+ if(typeof window !== 'undefined' && !window.XLSX) try { window.XLSX = XLSX; } catch(e) {}
33529
33632
  }(xlsx, xlsx.exports));
33530
33633
 
33531
33634
  var _castCellValueToStr = cellValue => {
package/dist/index.esm.js CHANGED
@@ -11062,7 +11062,7 @@ module.exports = ZStream;
11062
11062
  /*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */
11063
11063
  var XLSX = {};
11064
11064
  function make_xlsx_lib(XLSX){
11065
- XLSX.version = '0.17.4';
11065
+ XLSX.version = '0.17.5';
11066
11066
  var current_codepage = 1200, current_ansi = 1252;
11067
11067
  /*global cptable:true, window */
11068
11068
  if(typeof commonjsRequire !== 'undefined') {
@@ -14752,7 +14752,8 @@ function safe_decode_range(range) {
14752
14752
  }
14753
14753
  o.s.r = --idx;
14754
14754
 
14755
- if(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }
14755
+ if(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }
14756
+ ++i;
14756
14757
 
14757
14758
  for(idx = 0; i != len; ++i) {
14758
14759
  if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;
@@ -15793,7 +15794,7 @@ function parse_rels(data, currentFilePath) {
15793
15794
  var y = parsexmltag(x);
15794
15795
  /* 9.3.2.2 OPC_Relationships */
15795
15796
  if (y[0] === '<Relationship') {
15796
- var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; rel.TargetMode = y.TargetMode;
15797
+ var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; if(y.TargetMode) rel.TargetMode = y.TargetMode;
15797
15798
  var canonictarget = y.TargetMode === 'External' ? y.Target : resolve_path(y.Target, currentFilePath);
15798
15799
  rels[canonictarget] = rel;
15799
15800
  hash[y.Id] = rel;
@@ -17595,7 +17596,9 @@ function parse_Lbl(blob, length, opts) {
17595
17596
  var name = parse_XLUnicodeStringNoCch(blob, cch, opts);
17596
17597
  if(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];
17597
17598
  var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;
17599
+ /*jshint -W018 */
17598
17600
  var rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);
17601
+ /*jshint +W018 */
17599
17602
  return {
17600
17603
  chKey: chKey,
17601
17604
  Name: name,
@@ -19011,12 +19014,18 @@ var WK_ = (function() {
19011
19014
  function lotus_to_workbook_buf(d, opts) {
19012
19015
  if(!d) return d;
19013
19016
  var o = opts || {};
19014
- var s = ((o.dense ? [] : {})), n = "Sheet1", sidx = 0;
19015
- var sheets = {}, snames = [n], realnames = [];
19017
+ var s = ((o.dense ? [] : {})), n = "Sheet1", next_n = "", sidx = 0;
19018
+ var sheets = {}, snames = [], realnames = [];
19016
19019
 
19017
19020
  var refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
19018
19021
  var sheetRows = o.sheetRows || 0;
19019
19022
 
19023
+ if(d[2] == 0x00) {
19024
+ if(d[3] == 0x08 || d[3] == 0x09) {
19025
+ if(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error("Unsupported Works 3 for Mac file");
19026
+ }
19027
+ }
19028
+
19020
19029
  if(d[2] == 0x02) {
19021
19030
  o.Enum = WK1Enum;
19022
19031
  lotushopper(d, function(val, R, RT) { switch(RT) {
@@ -19025,6 +19034,8 @@ var WK_ = (function() {
19025
19034
  if(val >= 0x1000) o.qpro = true;
19026
19035
  break;
19027
19036
  case 0x06: refguess = val; break; /* RANGE */
19037
+ case 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */
19038
+ case 0xDE: next_n = val; break; /* SHEETNAMELP */
19028
19039
  case 0x0F: /* LABEL */
19029
19040
  case 0x33: /* STRING */
19030
19041
  if(!o.qpro) val[1].v = val[1].v.slice(1);
@@ -19037,6 +19048,18 @@ var WK_ = (function() {
19037
19048
  val[1].z = o.dateNF || SSF._table[14];
19038
19049
  if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }
19039
19050
  }
19051
+
19052
+ if(o.qpro) {
19053
+ if(val[3] > sidx) {
19054
+ s["!ref"] = encode_range(refguess);
19055
+ sheets[n] = s;
19056
+ snames.push(n);
19057
+ s = (o.dense ? [] : {});
19058
+ refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
19059
+ sidx = val[3]; n = next_n || "Sheet" + (sidx + 1); next_n = "";
19060
+ }
19061
+ }
19062
+
19040
19063
  var tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];
19041
19064
  if(tmpcell) {
19042
19065
  tmpcell.t = val[1].t; tmpcell.v = val[1].v;
@@ -19054,6 +19077,7 @@ var WK_ = (function() {
19054
19077
  o.Enum = WK3Enum;
19055
19078
  if(d[2] == 0x0E) { o.qpro = true; d.l = 0; }
19056
19079
  lotushopper(d, function(val, R, RT) { switch(RT) {
19080
+ case 0xCC: n = val; break; /* SHEETNAMECS */
19057
19081
  case 0x16: /* LABEL16 */
19058
19082
  val[1].v = val[1].v.slice(1);
19059
19083
  /* falls through */
@@ -19066,10 +19090,10 @@ var WK_ = (function() {
19066
19090
  if(val[3] > sidx) {
19067
19091
  s["!ref"] = encode_range(refguess);
19068
19092
  sheets[n] = s;
19093
+ snames.push(n);
19069
19094
  s = (o.dense ? [] : {});
19070
19095
  refguess = {s: {r:0, c:0}, e: {r:0, c:0} };
19071
19096
  sidx = val[3]; n = "Sheet" + (sidx + 1);
19072
- snames.push(n);
19073
19097
  }
19074
19098
  if(sheetRows > 0 && val[0].r >= sheetRows) break;
19075
19099
  if(o.dense) {
@@ -19082,16 +19106,22 @@ var WK_ = (function() {
19082
19106
  case 0x1B: /* XFORMAT */
19083
19107
  if(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];
19084
19108
  break;
19109
+ case 0x0601: /* SHEETINFOQP */
19110
+ realnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;
19085
19111
  }}, o);
19086
19112
  } else throw new Error("Unrecognized LOTUS BOF " + d[2]);
19087
-
19088
19113
  s["!ref"] = encode_range(refguess);
19089
- sheets[n] = s;
19114
+ sheets[next_n || n] = s;
19115
+ snames.push(next_n || n);
19090
19116
  if(!realnames.length) return { SheetNames: snames, Sheets: sheets };
19091
19117
  var osheets = {}, rnames = [];
19118
+ /* TODO: verify no collisions */
19092
19119
  for(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {
19120
+ rnames.push(realnames[i] || snames[i]);
19121
+ osheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];
19122
+ } else {
19093
19123
  rnames.push(realnames[i]);
19094
- osheets[realnames[i]] = sheets[snames[i]];
19124
+ osheets[realnames[i]] = ({ "!ref": "A1" });
19095
19125
  }
19096
19126
  return { SheetNames: rnames, Sheets: osheets };
19097
19127
  }
@@ -19107,7 +19137,8 @@ var WK_ = (function() {
19107
19137
 
19108
19138
  write_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));
19109
19139
  write_biff_rec(ba, 0x06, write_RANGE(range));
19110
- for(var R = range.s.r; R <= range.e.r; ++R) {
19140
+ var max_R = Math.min(range.e.r, 8191);
19141
+ for(var R = range.s.r; R <= max_R; ++R) {
19111
19142
  var rr = encode_row(R);
19112
19143
  for(var C = range.s.c; C <= range.e.c; ++C) {
19113
19144
  if(R === range.s.r) cols[C] = encode_col(C);
@@ -19146,7 +19177,8 @@ var WK_ = (function() {
19146
19177
  var range = safe_decode_range(ws["!ref"]);
19147
19178
  var dense = Array.isArray(ws);
19148
19179
  var cols = [];
19149
- for(var R = range.s.r; R <= range.e.r; ++R) {
19180
+ var max_R = Math.min(range.e.r, 8191);
19181
+ for(var R = range.s.r; R <= max_R; ++R) {
19150
19182
  var rr = encode_row(R);
19151
19183
  for(var C = range.s.c; C <= range.e.c; ++C) {
19152
19184
  if(R === range.s.r) cols[C] = encode_col(C);
@@ -19192,6 +19224,7 @@ var WK_ = (function() {
19192
19224
  if(rows < range.e.r) rows = range.e.r;
19193
19225
  if(cols < range.e.c) cols = range.e.c;
19194
19226
  }
19227
+ if(rows > 8191) rows = 8191;
19195
19228
  out.write_shift(2, rows);
19196
19229
  out.write_shift(1, wscnt);
19197
19230
  out.write_shift(1, cols);
@@ -19204,12 +19237,23 @@ var WK_ = (function() {
19204
19237
  return out;
19205
19238
  }
19206
19239
 
19207
- function parse_RANGE(blob) {
19240
+ function parse_RANGE(blob, length, opts) {
19208
19241
  var o = {s:{c:0,r:0},e:{c:0,r:0}};
19242
+ if(length == 8 && opts.qpro) {
19243
+ o.s.c = blob.read_shift(1);
19244
+ blob.l++;
19245
+ o.s.r = blob.read_shift(2);
19246
+ o.e.c = blob.read_shift(1);
19247
+ blob.l++;
19248
+ o.e.r = blob.read_shift(2);
19249
+ return o;
19250
+ }
19209
19251
  o.s.c = blob.read_shift(2);
19210
19252
  o.s.r = blob.read_shift(2);
19253
+ if(length == 12 && opts.qpro) blob.l += 2;
19211
19254
  o.e.c = blob.read_shift(2);
19212
19255
  o.e.r = blob.read_shift(2);
19256
+ if(length == 12 && opts.qpro) blob.l += 2;
19213
19257
  if(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;
19214
19258
  return o;
19215
19259
  }
@@ -19223,10 +19267,10 @@ var WK_ = (function() {
19223
19267
  }
19224
19268
 
19225
19269
  function parse_cell(blob, length, opts) {
19226
- var o = [{c:0,r:0}, {t:'n',v:0}, 0];
19270
+ var o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];
19227
19271
  if(opts.qpro && opts.vers != 0x5120) {
19228
19272
  o[0].c = blob.read_shift(1);
19229
- blob.l++;
19273
+ o[3] = blob.read_shift(1);
19230
19274
  o[0].r = blob.read_shift(2);
19231
19275
  blob.l+=2;
19232
19276
  } else {
@@ -19334,7 +19378,7 @@ var WK_ = (function() {
19334
19378
 
19335
19379
  function wk1_fmla_to_csf(blob, o) {
19336
19380
  prep_blob(blob, 0);
19337
- var out = [], argc = 0, R = "", C = "";
19381
+ var out = [], argc = 0, R = "", C = "", argL = "", argR = "";
19338
19382
  while(blob.l < blob.length) {
19339
19383
  var cc = blob[blob.l++];
19340
19384
  switch(cc) {
@@ -19366,7 +19410,7 @@ var WK_ = (function() {
19366
19410
  case 0x16: out.push("NOT(" + out.pop() + ")"); break;
19367
19411
 
19368
19412
  case 0x14: case 0x15: {
19369
- var argR = out.pop(), argL = out.pop();
19413
+ argR = out.pop(); argL = out.pop();
19370
19414
  out.push(["AND", "OR"][cc - 0x14] + "(" + argL + "," + argR + ")");
19371
19415
  } break;
19372
19416
 
@@ -19512,6 +19556,27 @@ var WK_ = (function() {
19512
19556
  return o;
19513
19557
  }
19514
19558
 
19559
+ function parse_SHEETNAMECS(blob, length) {
19560
+ return blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : "";
19561
+ }
19562
+
19563
+ function parse_SHEETNAMELP(blob, length) {
19564
+ var len = blob[blob.l++];
19565
+ if(len > length - 1) len = length - 1;
19566
+ var o = ""; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);
19567
+ return o;
19568
+ }
19569
+
19570
+ function parse_SHEETINFOQP(blob, length, opts) {
19571
+ if(!opts.qpro || length < 21) return;
19572
+ var id = blob.read_shift(1);
19573
+ blob.l += 17;
19574
+ blob.read_shift(1);
19575
+ blob.l += 2;
19576
+ var nm = blob.read_shift(length - 21, 'cstr');
19577
+ return [id, nm];
19578
+ }
19579
+
19515
19580
  function parse_XFORMAT(blob, length) {
19516
19581
  var o = {}, tgt = blob.l + length;
19517
19582
  while(blob.l < tgt) {
@@ -19599,6 +19664,8 @@ var WK_ = (function() {
19599
19664
  0x0067: { n:"RRANGES??" },
19600
19665
  0x0068: { n:"FNAME??" },
19601
19666
  0x0069: { n:"MRANGES??" },
19667
+ 0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
19668
+ 0x00DE: { n:"SHEETNAMELP", f:parse_SHEETNAMELP },
19602
19669
  0xFFFF: { n:"" }
19603
19670
  };
19604
19671
 
@@ -19664,6 +19731,7 @@ var WK_ = (function() {
19664
19731
  0x00BC: { n:"??" },
19665
19732
  0x00C3: { n:"??" },
19666
19733
  0x00C9: { n:"??" },
19734
+ 0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS },
19667
19735
  0x00CD: { n:"??" },
19668
19736
  0x00CE: { n:"??" },
19669
19737
  0x00CF: { n:"??" },
@@ -19708,6 +19776,7 @@ var WK_ = (function() {
19708
19776
  0x029A: { n:"??" },
19709
19777
  0x0300: { n:"??" },
19710
19778
  0x0304: { n:"??" },
19779
+ 0x0601: { n:"SHEETINFOQP", f:parse_SHEETINFOQP },
19711
19780
  0x0640: { n:"??" },
19712
19781
  0x0642: { n:"??" },
19713
19782
  0x0701: { n:"??" },
@@ -27480,6 +27549,7 @@ function parse_xlml_xml(d, _opts) {
27480
27549
  else str = utf8read(str);
27481
27550
  }
27482
27551
  var opening = str.slice(0, 1024).toLowerCase(), ishtml = false;
27552
+ opening = opening.replace(/".*?"/g, "");
27483
27553
  if((opening.indexOf(">") & 1023) > Math.min((opening.indexOf(",") & 1023), (opening.indexOf(";")&1023))) { var _o = dup(opts); _o.type = "string"; return PRN.to_workbook(str, _o); }
27484
27554
  if(opening.indexOf("<?xml") == -1) ["html", "table", "head", "meta", "script", "style", "div"].forEach(function(tag) { if(opening.indexOf("<" + tag) >= 0) ishtml = true; });
27485
27555
  if(ishtml) return HTML_.to_workbook(str, opts);
@@ -29353,7 +29423,9 @@ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook";
29353
29423
  if(!options.bookSheets) wb.Sheets=Sheets;
29354
29424
  if(!wb.SheetNames.length && Preamble["!ref"]) {
29355
29425
  wb.SheetNames.push("Sheet1");
29426
+ /*jshint -W069 */
29356
29427
  if(wb.Sheets) wb.Sheets["Sheet1"] = Preamble;
29428
+ /*jshint +W069 */
29357
29429
  } else wb.Preamble=Preamble;
29358
29430
  if(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });
29359
29431
  wb.Strings = sst;
@@ -29448,6 +29520,8 @@ else {
29448
29520
  else if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
29449
29521
  /* Quattro Pro 9 */
29450
29522
  else if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));
29523
+ /* Works 4 for Mac */
29524
+ else if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error("Unsupported Works 4 for Mac file");
29451
29525
  else throw new Error("Cannot find Workbook stream");
29452
29526
  if(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);
29453
29527
  }
@@ -30325,7 +30399,9 @@ var XLSBRecordEnum = {
30325
30399
  };
30326
30400
 
30327
30401
  var XLSBRE = evert_key(XLSBRecordEnum, 'n');
30402
+ /*jshint -W069 */
30328
30403
  XLSBRE["BrtFRTArchID$"] = 0x0010;
30404
+ /*jshint +W069 */
30329
30405
 
30330
30406
  /* [MS-XLS] 2.3 Record Enumeration (and other sources) */
30331
30407
  var XLSRecordEnum = {
@@ -31173,6 +31249,15 @@ function write_biff8_buf(wb, opts) {
31173
31249
  }
31174
31250
 
31175
31251
  function write_biff_buf(wb, opts) {
31252
+ for(var i = 0; i <= wb.SheetNames.length; ++i) {
31253
+ var ws = wb.Sheets[wb.SheetNames[i]];
31254
+ if(!ws || !ws["!ref"]) continue;
31255
+ var range = decode_range(ws["!ref"]);
31256
+ if(range.e.c > 255) { // note: 255 is IV
31257
+ console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost.");
31258
+ }
31259
+ }
31260
+
31176
31261
  var o = opts || {};
31177
31262
  switch(o.biff || 2) {
31178
31263
  case 8: case 5: return write_biff8_buf(wb, opts);
@@ -31986,14 +32071,16 @@ function parse_fods(data, opts) {
31986
32071
 
31987
32072
  /* OpenDocument */
31988
32073
  var write_styles_ods = (function() {
31989
- var master_styles = '<office:master-styles>'
31990
- + '<style:master-page style:name="mp1" style:page-layout-name="mp1">'
31991
- + '<style:header/>'
31992
- + '<style:header-left style:display="false"/>'
31993
- + '<style:footer/>'
31994
- + '<style:footer-left style:display="false"/>'
31995
- + '</style:master-page>'
31996
- + '</office:master-styles>';
32074
+ var master_styles = [
32075
+ '<office:master-styles>',
32076
+ '<style:master-page style:name="mp1" style:page-layout-name="mp1">',
32077
+ '<style:header/>',
32078
+ '<style:header-left style:display="false"/>',
32079
+ '<style:footer/>',
32080
+ '<style:footer-left style:display="false"/>',
32081
+ '</style:master-page>',
32082
+ '</office:master-styles>'
32083
+ ].join("");
31997
32084
 
31998
32085
  var payload = '<office:document-styles ' + wxt_helper({
31999
32086
  'xmlns:office': "urn:oasis:names:tc:opendocument:xmlns:office:1.0",
@@ -32410,6 +32497,11 @@ function parse_zip(zip, opts) {
32410
32497
  if(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);
32411
32498
  /* Numbers */
32412
32499
  if(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');
32500
+ if(!safegetzipfile(zip, '[Content_Types].xml')) {
32501
+ if(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');
32502
+ if(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');
32503
+ throw new Error('Unsupported ZIP file');
32504
+ }
32413
32505
 
32414
32506
  var entries = zipentries(zip);
32415
32507
  var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));
@@ -32827,12 +32919,20 @@ function readSync(data, opts) {
32827
32919
  case 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;
32828
32920
  case 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);
32829
32921
  case 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);
32830
- case 0xFF: if(n[1] === 0xFE) { return read_utf16(d, o); } break;
32831
- case 0x00: if(n[1] === 0x00 && n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); break;
32922
+ case 0xFF:
32923
+ if(n[1] === 0xFE) { return read_utf16(d, o); }
32924
+ else if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
32925
+ break;
32926
+ case 0x00:
32927
+ if(n[1] === 0x00) {
32928
+ if(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);
32929
+ if(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);
32930
+ }
32931
+ break;
32832
32932
  case 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);
32833
32933
  case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;
32834
32934
  case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);
32835
- case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
32935
+ case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
32836
32936
  }
32837
32937
  if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
32838
32938
  return read_prn(data, d, o, str);
@@ -33379,7 +33479,10 @@ return utils;
33379
33479
  })(utils);
33380
33480
 
33381
33481
  if(has_buf && typeof commonjsRequire != 'undefined') (function() {
33382
- var Readable = require$$0.Readable;
33482
+ var strmod = require$$0;
33483
+ if(!strmod) return;
33484
+ var Readable = strmod.Readable;
33485
+ if(!Readable) return;
33383
33486
 
33384
33487
  var write_csv_stream = function(sheet, opts) {
33385
33488
  var stream = Readable();
@@ -33516,7 +33619,7 @@ if(typeof CFB !== "undefined") XLSX.CFB = CFB;
33516
33619
  /*global define */
33517
33620
  make_xlsx_lib(exports);
33518
33621
  /* NOTE: the following extra line is needed for "Lightning Locker Service" */
33519
- if(typeof window !== 'undefined' && !window.XLSX) window.XLSX = XLSX;
33622
+ if(typeof window !== 'undefined' && !window.XLSX) try { window.XLSX = XLSX; } catch(e) {}
33520
33623
  }(xlsx, xlsx.exports));
33521
33624
 
33522
33625
  var _castCellValueToStr = cellValue => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cosmotech/core",
3
3
  "private": false,
4
- "version": "1.6.3",
4
+ "version": "1.6.7",
5
5
  "description": "",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.esm.js",