@sunertech/docx 10.0.1 → 10.0.3
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 +574 -269
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.iife.js +574 -269
- package/dist/index.mjs +574 -269
- package/dist/index.umd.cjs +574 -269
- package/package.json +4 -4
package/dist/index.umd.cjs
CHANGED
|
@@ -10489,9 +10489,34 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10489
10489
|
}
|
|
10490
10490
|
return o;
|
|
10491
10491
|
}
|
|
10492
|
+
function Base64_encode_arr(input) {
|
|
10493
|
+
var o = "";
|
|
10494
|
+
var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;
|
|
10495
|
+
for (var i = 0; i < input.length; ) {
|
|
10496
|
+
c1 = input[i++];
|
|
10497
|
+
e1 = c1 >> 2;
|
|
10498
|
+
c2 = input[i++];
|
|
10499
|
+
e2 = (c1 & 3) << 4 | c2 >> 4;
|
|
10500
|
+
c3 = input[i++];
|
|
10501
|
+
e3 = (c2 & 15) << 2 | c3 >> 6;
|
|
10502
|
+
e4 = c3 & 63;
|
|
10503
|
+
if (isNaN(c2)) {
|
|
10504
|
+
e3 = e4 = 64;
|
|
10505
|
+
} else if (isNaN(c3)) {
|
|
10506
|
+
e4 = 64;
|
|
10507
|
+
}
|
|
10508
|
+
o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);
|
|
10509
|
+
}
|
|
10510
|
+
return o;
|
|
10511
|
+
}
|
|
10492
10512
|
function Base64_decode(input) {
|
|
10493
10513
|
var o = "";
|
|
10494
10514
|
var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;
|
|
10515
|
+
if (input.slice(0, 5) == "data:") {
|
|
10516
|
+
var i = input.slice(0, 1024).indexOf(";base64,");
|
|
10517
|
+
if (i > -1)
|
|
10518
|
+
input = input.slice(i + 8);
|
|
10519
|
+
}
|
|
10495
10520
|
input = input.replace(/[^\w\+\/\=]/g, "");
|
|
10496
10521
|
for (var i = 0; i < input.length; ) {
|
|
10497
10522
|
e1 = Base64_map.indexOf(input.charAt(i++));
|
|
@@ -10529,6 +10554,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10529
10554
|
return function() {
|
|
10530
10555
|
};
|
|
10531
10556
|
})();
|
|
10557
|
+
var buf_utf16le = /* @__PURE__ */ (function() {
|
|
10558
|
+
if (typeof Buffer === "undefined") return false;
|
|
10559
|
+
var x = Buffer_from([65, 0]);
|
|
10560
|
+
if (!x) return false;
|
|
10561
|
+
var o = x.toString("utf16le");
|
|
10562
|
+
return o.length == 1;
|
|
10563
|
+
})();
|
|
10532
10564
|
function new_raw_buf(len) {
|
|
10533
10565
|
if (has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);
|
|
10534
10566
|
return typeof Uint8Array != "undefined" ? new Uint8Array(len) : new Array(len);
|
|
@@ -10574,9 +10606,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10574
10606
|
for (i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {
|
|
10575
10607
|
len = bufs[i].length;
|
|
10576
10608
|
if (bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);
|
|
10577
|
-
else if (typeof bufs[i] == "string")
|
|
10578
|
-
|
|
10579
|
-
} else o.set(new Uint8Array(bufs[i]), maxlen);
|
|
10609
|
+
else if (typeof bufs[i] == "string") o.set(new Uint8Array(s2a(bufs[i])), maxlen);
|
|
10610
|
+
else o.set(new Uint8Array(bufs[i]), maxlen);
|
|
10580
10611
|
}
|
|
10581
10612
|
return o;
|
|
10582
10613
|
}
|
|
@@ -10845,8 +10876,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10845
10876
|
var q = Math.floor(sgn * P / Q);
|
|
10846
10877
|
return [q, sgn * P - q * Q, Q];
|
|
10847
10878
|
}
|
|
10879
|
+
function SSF_normalize_xl_unsafe(v) {
|
|
10880
|
+
var s = v.toPrecision(16);
|
|
10881
|
+
if (s.indexOf("e") > -1) {
|
|
10882
|
+
var m = s.slice(0, s.indexOf("e"));
|
|
10883
|
+
m = m.indexOf(".") > -1 ? m.slice(0, m.slice(0, 2) == "0." ? 17 : 16) : m.slice(0, 15) + fill("0", m.length - 15);
|
|
10884
|
+
return m + s.slice(s.indexOf("e"));
|
|
10885
|
+
}
|
|
10886
|
+
var n = s.indexOf(".") > -1 ? s.slice(0, s.slice(0, 2) == "0." ? 17 : 16) : s.slice(0, 15) + fill("0", s.length - 15);
|
|
10887
|
+
return Number(n);
|
|
10888
|
+
}
|
|
10848
10889
|
function SSF_parse_date_code(v, opts, b2) {
|
|
10849
10890
|
if (v > 2958465 || v < 0) return null;
|
|
10891
|
+
v = SSF_normalize_xl_unsafe(v);
|
|
10850
10892
|
var date = v | 0, time = Math.floor(86400 * (v - date)), dow = 0;
|
|
10851
10893
|
var dout = [];
|
|
10852
10894
|
var out = { D: date, T: time, u: 86400 * (v - date) - time, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 };
|
|
@@ -10886,15 +10928,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10886
10928
|
out.q = dow;
|
|
10887
10929
|
return out;
|
|
10888
10930
|
}
|
|
10889
|
-
var SSFbasedate = /* @__PURE__ */ new Date(1899, 11, 31, 0, 0, 0);
|
|
10890
|
-
var SSFdnthresh = /* @__PURE__ */ SSFbasedate.getTime();
|
|
10891
|
-
var SSFbase1904 = /* @__PURE__ */ new Date(1900, 2, 1, 0, 0, 0);
|
|
10892
|
-
function datenum_local(v, date1904) {
|
|
10893
|
-
var epoch = /* @__PURE__ */ v.getTime();
|
|
10894
|
-
if (date1904) epoch -= 1461 * 24 * 60 * 60 * 1e3;
|
|
10895
|
-
else if (v >= SSFbase1904) epoch += 24 * 60 * 60 * 1e3;
|
|
10896
|
-
return (epoch - (SSFdnthresh + (/* @__PURE__ */ v.getTimezoneOffset() - /* @__PURE__ */ SSFbasedate.getTimezoneOffset()) * 6e4)) / (24 * 60 * 60 * 1e3);
|
|
10897
|
-
}
|
|
10898
10931
|
function SSF_strip_decimal(o) {
|
|
10899
10932
|
return o.indexOf(".") == -1 ? o : o.replace(/(?:\.0*|(\.\d*[1-9])0+)$/, "$1");
|
|
10900
10933
|
}
|
|
@@ -10915,6 +10948,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10915
10948
|
return o.length > (v < 0 ? 12 : 11) || o === "0" || o === "-0" ? v.toPrecision(6) : o;
|
|
10916
10949
|
}
|
|
10917
10950
|
function SSF_general_num(v) {
|
|
10951
|
+
if (!isFinite(v)) return isNaN(v) ? "#NUM!" : "#DIV/0!";
|
|
10918
10952
|
var V = Math.floor(Math.log(Math.abs(v)) * Math.LOG10E), o;
|
|
10919
10953
|
if (V >= -4 && V <= -1) o = v.toPrecision(10 + V);
|
|
10920
10954
|
else if (Math.abs(V) <= 9) o = SSF_small_exp(v);
|
|
@@ -10934,7 +10968,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
10934
10968
|
return "";
|
|
10935
10969
|
case "object":
|
|
10936
10970
|
if (v == null) return "";
|
|
10937
|
-
if (v instanceof Date) return SSF_format(14,
|
|
10971
|
+
if (v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts);
|
|
10938
10972
|
}
|
|
10939
10973
|
throw new Error("unsupported value in General format: " + v);
|
|
10940
10974
|
}
|
|
@@ -11047,7 +11081,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11047
11081
|
break;
|
|
11048
11082
|
case "[s]":
|
|
11049
11083
|
case "[ss]":
|
|
11050
|
-
out = ((val.D * 24 + val.H) * 60 + val.M) * 60 + Math.round(val.S + val.u);
|
|
11084
|
+
out = ((val.D * 24 + val.H) * 60 + val.M) * 60 + (ss0 == 0 ? Math.round(val.S + val.u) : val.S);
|
|
11051
11085
|
break;
|
|
11052
11086
|
default:
|
|
11053
11087
|
throw "bad abstime format: " + fmt;
|
|
@@ -11118,7 +11152,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11118
11152
|
return sign2 + (aval === 0 ? "" : "" + aval) + fill(" ", r[1].length + 2 + r[4].length);
|
|
11119
11153
|
}
|
|
11120
11154
|
var dec1 = /^#*0*\.([0#]+)/;
|
|
11121
|
-
var closeparen = /\)
|
|
11155
|
+
var closeparen = /\)[^)]*[0#]/;
|
|
11122
11156
|
var phone = /\(###\) ###\\?-####/;
|
|
11123
11157
|
function hashq(str) {
|
|
11124
11158
|
var o = "", cc;
|
|
@@ -11602,7 +11636,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11602
11636
|
var q = { t: c, v: c };
|
|
11603
11637
|
if (dt == null) dt = SSF_parse_date_code(v, opts);
|
|
11604
11638
|
if (fmt.substr(i, 3).toUpperCase() === "A/P") {
|
|
11605
|
-
if (dt != null) q.v = dt.H >= 12 ?
|
|
11639
|
+
if (dt != null) q.v = dt.H >= 12 ? fmt.charAt(i + 2) : c;
|
|
11606
11640
|
q.t = "T";
|
|
11607
11641
|
hr = "h";
|
|
11608
11642
|
i += 3;
|
|
@@ -11709,15 +11743,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11709
11743
|
if (bt < 1) bt = 1;
|
|
11710
11744
|
break;
|
|
11711
11745
|
case "s":
|
|
11712
|
-
if (ssm = out[i].v.match(/\.0+$/))
|
|
11746
|
+
if (ssm = out[i].v.match(/\.0+$/)) {
|
|
11747
|
+
ss0 = Math.max(ss0, ssm[0].length - 1);
|
|
11748
|
+
bt = 4;
|
|
11749
|
+
}
|
|
11713
11750
|
if (bt < 3) bt = 3;
|
|
11714
11751
|
/* falls through */
|
|
11715
11752
|
case "d":
|
|
11716
11753
|
case "y":
|
|
11717
|
-
case "M":
|
|
11718
11754
|
case "e":
|
|
11719
11755
|
lst = out[i].t;
|
|
11720
11756
|
break;
|
|
11757
|
+
case "M":
|
|
11758
|
+
lst = out[i].t;
|
|
11759
|
+
if (bt < 2) bt = 2;
|
|
11760
|
+
break;
|
|
11721
11761
|
case "m":
|
|
11722
11762
|
if (lst === "s") {
|
|
11723
11763
|
out[i].t = "M";
|
|
@@ -11732,10 +11772,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11732
11772
|
if (bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;
|
|
11733
11773
|
}
|
|
11734
11774
|
}
|
|
11775
|
+
var _dt;
|
|
11735
11776
|
switch (bt) {
|
|
11736
11777
|
case 0:
|
|
11737
11778
|
break;
|
|
11738
11779
|
case 1:
|
|
11780
|
+
case 2:
|
|
11781
|
+
case 3:
|
|
11739
11782
|
if (dt.u >= 0.5) {
|
|
11740
11783
|
dt.u = 0;
|
|
11741
11784
|
++dt.S;
|
|
@@ -11748,9 +11791,30 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11748
11791
|
dt.M = 0;
|
|
11749
11792
|
++dt.H;
|
|
11750
11793
|
}
|
|
11794
|
+
if (dt.H >= 24) {
|
|
11795
|
+
dt.H = 0;
|
|
11796
|
+
++dt.D;
|
|
11797
|
+
_dt = SSF_parse_date_code(dt.D);
|
|
11798
|
+
_dt.u = dt.u;
|
|
11799
|
+
_dt.S = dt.S;
|
|
11800
|
+
_dt.M = dt.M;
|
|
11801
|
+
_dt.H = dt.H;
|
|
11802
|
+
dt = _dt;
|
|
11803
|
+
}
|
|
11751
11804
|
break;
|
|
11752
|
-
case
|
|
11753
|
-
|
|
11805
|
+
case 4:
|
|
11806
|
+
switch (ss0) {
|
|
11807
|
+
case 1:
|
|
11808
|
+
dt.u = Math.round(dt.u * 10) / 10;
|
|
11809
|
+
break;
|
|
11810
|
+
case 2:
|
|
11811
|
+
dt.u = Math.round(dt.u * 100) / 100;
|
|
11812
|
+
break;
|
|
11813
|
+
case 3:
|
|
11814
|
+
dt.u = Math.round(dt.u * 1e3) / 1e3;
|
|
11815
|
+
break;
|
|
11816
|
+
}
|
|
11817
|
+
if (dt.u >= 1) {
|
|
11754
11818
|
dt.u = 0;
|
|
11755
11819
|
++dt.S;
|
|
11756
11820
|
}
|
|
@@ -11758,6 +11822,20 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11758
11822
|
dt.S = 0;
|
|
11759
11823
|
++dt.M;
|
|
11760
11824
|
}
|
|
11825
|
+
if (dt.M >= 60) {
|
|
11826
|
+
dt.M = 0;
|
|
11827
|
+
++dt.H;
|
|
11828
|
+
}
|
|
11829
|
+
if (dt.H >= 24) {
|
|
11830
|
+
dt.H = 0;
|
|
11831
|
+
++dt.D;
|
|
11832
|
+
_dt = SSF_parse_date_code(dt.D);
|
|
11833
|
+
_dt.u = dt.u;
|
|
11834
|
+
_dt.S = dt.S;
|
|
11835
|
+
_dt.M = dt.M;
|
|
11836
|
+
_dt.H = dt.H;
|
|
11837
|
+
dt = _dt;
|
|
11838
|
+
}
|
|
11761
11839
|
break;
|
|
11762
11840
|
}
|
|
11763
11841
|
var nstr = "", jj;
|
|
@@ -11906,6 +11984,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11906
11984
|
if (l < 4 && lat > -1) --l;
|
|
11907
11985
|
if (fmt.length > 4) throw new Error("cannot find right format for |" + fmt.join("|") + "|");
|
|
11908
11986
|
if (typeof v !== "number") return [4, fmt.length === 4 || lat > -1 ? fmt[fmt.length - 1] : "@"];
|
|
11987
|
+
if (typeof v === "number" && !isFinite(v)) v = 0;
|
|
11909
11988
|
switch (fmt.length) {
|
|
11910
11989
|
case 1:
|
|
11911
11990
|
fmt = lat > -1 ? ["General", "General", "General", fmt[0]] : [fmt[0], fmt[0], fmt[0], "@"];
|
|
@@ -11942,12 +12021,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11942
12021
|
break;
|
|
11943
12022
|
}
|
|
11944
12023
|
if (SSF_isgeneral(sfmt, 0)) return SSF_general(v, o);
|
|
11945
|
-
if (v instanceof Date) v =
|
|
12024
|
+
if (v instanceof Date) v = datenum(v, o.date1904);
|
|
11946
12025
|
var f = choose_fmt(sfmt, v);
|
|
11947
12026
|
if (SSF_isgeneral(f[1])) return SSF_general(v, o);
|
|
11948
12027
|
if (v === true) v = "TRUE";
|
|
11949
12028
|
else if (v === false) v = "FALSE";
|
|
11950
12029
|
else if (v === "" || v == null) return "";
|
|
12030
|
+
else if (isNaN(v) && f[1].indexOf("0") > -1) return "#NUM!";
|
|
12031
|
+
else if (!isFinite(v) && f[1].indexOf("0") > -1) return "#DIV/0!";
|
|
11951
12032
|
return eval_fmt(f[1], v, o, f[0]);
|
|
11952
12033
|
}
|
|
11953
12034
|
function SSF_load(fmt, idx) {
|
|
@@ -11975,6 +12056,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11975
12056
|
function make_ssf() {
|
|
11976
12057
|
table_fmt = SSF_init_table();
|
|
11977
12058
|
}
|
|
12059
|
+
var bad_formats = {
|
|
12060
|
+
"d.m": "d\\.m"
|
|
12061
|
+
// Issue #2571 Google Sheets writes invalid format 'd.m', correct format is 'd"."m' or 'd\\.m'
|
|
12062
|
+
};
|
|
12063
|
+
function SSF__load(fmt, idx) {
|
|
12064
|
+
return SSF_load(bad_formats[fmt] || fmt, idx);
|
|
12065
|
+
}
|
|
11978
12066
|
var CRC32 = /* @__PURE__ */ (function() {
|
|
11979
12067
|
var CRC322 = {};
|
|
11980
12068
|
CRC322.version = "1.2.0";
|
|
@@ -12003,7 +12091,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12003
12091
|
for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
|
|
12004
12092
|
}
|
|
12005
12093
|
var out = [];
|
|
12006
|
-
for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
|
|
12094
|
+
for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" && typeof table.subarray == "function" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
|
|
12007
12095
|
return out;
|
|
12008
12096
|
}
|
|
12009
12097
|
var TT = slice_by_16_tables(T0);
|
|
@@ -12053,8 +12141,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12053
12141
|
return CRC322;
|
|
12054
12142
|
})();
|
|
12055
12143
|
var CFB = /* @__PURE__ */ (function _CFB() {
|
|
12056
|
-
var exports3 =
|
|
12057
|
-
|
|
12144
|
+
var exports3 = (
|
|
12145
|
+
/*::(*/
|
|
12146
|
+
{}
|
|
12147
|
+
);
|
|
12148
|
+
exports3.version = "1.2.2";
|
|
12058
12149
|
function namecmp(l, r) {
|
|
12059
12150
|
var L = l.split("/"), R = r.split("/");
|
|
12060
12151
|
for (var i2 = 0, c = 0, Z = Math.min(L.length, R.length); i2 < Z; ++i2) {
|
|
@@ -12129,6 +12220,16 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12129
12220
|
if (p.mtime) p.mt = new Date(p.mtime * 1e3);
|
|
12130
12221
|
}
|
|
12131
12222
|
break;
|
|
12223
|
+
/* ZIP64 Extended Information Field */
|
|
12224
|
+
case 1:
|
|
12225
|
+
{
|
|
12226
|
+
var sz1 = blob.read_shift(4), sz2 = blob.read_shift(4);
|
|
12227
|
+
p.usz = sz2 * Math.pow(2, 32) + sz1;
|
|
12228
|
+
sz1 = blob.read_shift(4);
|
|
12229
|
+
sz2 = blob.read_shift(4);
|
|
12230
|
+
p.csz = sz2 * Math.pow(2, 32) + sz1;
|
|
12231
|
+
}
|
|
12232
|
+
break;
|
|
12132
12233
|
}
|
|
12133
12234
|
blob.l = tgt;
|
|
12134
12235
|
o[type2] = p;
|
|
@@ -12137,7 +12238,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12137
12238
|
}
|
|
12138
12239
|
var fs;
|
|
12139
12240
|
function get_fs() {
|
|
12140
|
-
return fs || (fs =
|
|
12241
|
+
return fs || (fs = _fs);
|
|
12141
12242
|
}
|
|
12142
12243
|
function parse(file, options) {
|
|
12143
12244
|
if (file[0] == 80 && file[1] == 75) return parse_zip(file, options);
|
|
@@ -12200,7 +12301,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12200
12301
|
var sectors = sectorify(file, ssz);
|
|
12201
12302
|
sleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);
|
|
12202
12303
|
var sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);
|
|
12203
|
-
sector_list[dir_start].name = "!Directory";
|
|
12304
|
+
if (dir_start < sector_list.length) sector_list[dir_start].name = "!Directory";
|
|
12204
12305
|
if (nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = "!MiniFAT";
|
|
12205
12306
|
sector_list[fat_addrs[0]].name = "!FAT";
|
|
12206
12307
|
sector_list.fat_addrs = fat_addrs;
|
|
@@ -12313,7 +12414,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12313
12414
|
if ((q2 = __readInt32LE(sector, i2 * 4)) === ENDOFCHAIN) break;
|
|
12314
12415
|
fat_addrs.push(q2);
|
|
12315
12416
|
}
|
|
12316
|
-
sleuth_fat(__readInt32LE(sector, ssz - 4), cnt - 1, sectors, ssz, fat_addrs);
|
|
12417
|
+
if (cnt >= 1) sleuth_fat(__readInt32LE(sector, ssz - 4), cnt - 1, sectors, ssz, fat_addrs);
|
|
12317
12418
|
}
|
|
12318
12419
|
}
|
|
12319
12420
|
function get_sector_list(sectors, start, fat_addrs, ssz, chkd) {
|
|
@@ -12501,7 +12602,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12501
12602
|
for (i2 = 0; i2 < data.length; ++i2) {
|
|
12502
12603
|
var dad = dirname(data[i2][0]);
|
|
12503
12604
|
s = fullPaths[dad];
|
|
12504
|
-
|
|
12605
|
+
while (!s) {
|
|
12606
|
+
while (dirname(dad) && !fullPaths[dirname(dad)]) dad = dirname(dad);
|
|
12505
12607
|
data.push([dad, {
|
|
12506
12608
|
name: filename(dad).replace("/", ""),
|
|
12507
12609
|
type: 1,
|
|
@@ -12511,6 +12613,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12511
12613
|
content: null
|
|
12512
12614
|
}]);
|
|
12513
12615
|
fullPaths[dad] = true;
|
|
12616
|
+
dad = dirname(data[i2][0]);
|
|
12617
|
+
s = fullPaths[dad];
|
|
12514
12618
|
}
|
|
12515
12619
|
}
|
|
12516
12620
|
data.sort(function(x, y) {
|
|
@@ -12650,6 +12754,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
12650
12754
|
file = cfb.FileIndex[i2];
|
|
12651
12755
|
if (i2 === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;
|
|
12652
12756
|
var _nm = i2 === 0 && _opts.root || file.name;
|
|
12757
|
+
if (_nm.length > 31) {
|
|
12758
|
+
console.error("Name " + _nm + " will be truncated to " + _nm.slice(0, 31));
|
|
12759
|
+
_nm = _nm.slice(0, 31);
|
|
12760
|
+
}
|
|
12653
12761
|
flen = 2 * (_nm.length + 1);
|
|
12654
12762
|
o.write_shift(64, _nm, "utf16le");
|
|
12655
12763
|
o.write_shift(2, flen);
|
|
@@ -13253,6 +13361,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13253
13361
|
blob.l += namelen + efsz + fcsz;
|
|
13254
13362
|
var L = blob.l;
|
|
13255
13363
|
blob.l = offset + 4;
|
|
13364
|
+
if (EF && EF[1]) {
|
|
13365
|
+
if ((EF[1] || {}).usz) usz = EF[1].usz;
|
|
13366
|
+
if ((EF[1] || {}).csz) csz = EF[1].csz;
|
|
13367
|
+
}
|
|
13256
13368
|
parse_local_file(blob, csz, usz, o, EF);
|
|
13257
13369
|
blob.l = L;
|
|
13258
13370
|
}
|
|
@@ -13278,7 +13390,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13278
13390
|
/*:: :any)*/
|
|
13279
13391
|
);
|
|
13280
13392
|
if ((ef[21589] || {}).mt) date = ef[21589].mt;
|
|
13281
|
-
if ((
|
|
13393
|
+
if ((ef[1] || {}).usz) _usz = ef[1].usz;
|
|
13394
|
+
if ((ef[1] || {}).csz) _csz = ef[1].csz;
|
|
13395
|
+
if (EF) {
|
|
13396
|
+
if ((EF[21589] || {}).mt) date = EF[21589].mt;
|
|
13397
|
+
if ((EF[1] || {}).usz) _usz = EF[1].usz;
|
|
13398
|
+
if ((EF[1] || {}).csz) _csz = EF[1].csz;
|
|
13399
|
+
}
|
|
13282
13400
|
}
|
|
13283
13401
|
blob.l += efsz;
|
|
13284
13402
|
var data = blob.slice(blob.l, blob.l + _csz);
|
|
@@ -13287,6 +13405,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13287
13405
|
data = _inflateRawSync(blob, _usz);
|
|
13288
13406
|
break;
|
|
13289
13407
|
case 0:
|
|
13408
|
+
blob.l += _csz;
|
|
13290
13409
|
break;
|
|
13291
13410
|
// TODO: scan for magic number
|
|
13292
13411
|
default:
|
|
@@ -13319,17 +13438,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13319
13438
|
for (i2 = 1; i2 < cfb.FullPaths.length; ++i2) {
|
|
13320
13439
|
fp = cfb.FullPaths[i2].slice(root.length);
|
|
13321
13440
|
fi = cfb.FileIndex[i2];
|
|
13322
|
-
if (!fi.size || !fi.content || fp == "Sh33tJ5") continue;
|
|
13441
|
+
if (!fi.size || !fi.content || Array.isArray(fi.content) && fi.content.length == 0 || fp == "Sh33tJ5") continue;
|
|
13323
13442
|
var start = start_cd;
|
|
13324
13443
|
var namebuf = new_buf(fp.length);
|
|
13325
13444
|
for (j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 127);
|
|
13326
13445
|
namebuf = namebuf.slice(0, namebuf.l);
|
|
13327
|
-
crcs[fcnt] = CRC32.buf(
|
|
13446
|
+
crcs[fcnt] = typeof fi.content == "string" ? CRC32.bstr(fi.content, 0) : CRC32.buf(
|
|
13328
13447
|
/*::((*/
|
|
13329
13448
|
fi.content,
|
|
13330
13449
|
0
|
|
13331
13450
|
);
|
|
13332
|
-
var outbuf = fi.content;
|
|
13451
|
+
var outbuf = typeof fi.content == "string" ? s2a(fi.content) : fi.content;
|
|
13333
13452
|
if (method == 8) outbuf = _deflateRawSync(outbuf);
|
|
13334
13453
|
o = new_buf(30);
|
|
13335
13454
|
o.write_shift(4, 67324752);
|
|
@@ -13464,7 +13583,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13464
13583
|
for (; di < 10; ++di) {
|
|
13465
13584
|
var line = data[di];
|
|
13466
13585
|
if (!line || line.match(/^\s*$/)) break;
|
|
13467
|
-
var m = line.match(/^(
|
|
13586
|
+
var m = line.match(/^([^:]*?):\s*([^\s].*)$/);
|
|
13468
13587
|
if (m) switch (m[1].toLowerCase()) {
|
|
13469
13588
|
case "content-location":
|
|
13470
13589
|
fname = m[2].trim();
|
|
@@ -13641,6 +13760,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13641
13760
|
};
|
|
13642
13761
|
return exports3;
|
|
13643
13762
|
})();
|
|
13763
|
+
var _fs;
|
|
13644
13764
|
function blobify(data) {
|
|
13645
13765
|
if (typeof data === "string") return s2ab(data);
|
|
13646
13766
|
if (Array.isArray(data)) return a2u(data);
|
|
@@ -13676,6 +13796,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13676
13796
|
}, 6e4);
|
|
13677
13797
|
return url;
|
|
13678
13798
|
}
|
|
13799
|
+
} else if (typeof URL !== "undefined" && !URL.createObjectURL && typeof chrome === "object") {
|
|
13800
|
+
var b64 = "data:application/octet-stream;base64," + Base64_encode_arr(new Uint8Array(blobify(data)));
|
|
13801
|
+
return chrome.downloads.download({ url: b64, filename: fname, saveAs: true });
|
|
13679
13802
|
}
|
|
13680
13803
|
}
|
|
13681
13804
|
if (typeof $ !== "undefined" && typeof File !== "undefined" && typeof Folder !== "undefined") try {
|
|
@@ -13687,7 +13810,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13687
13810
|
out.close();
|
|
13688
13811
|
return payload;
|
|
13689
13812
|
} catch (e) {
|
|
13690
|
-
if (!e.message ||
|
|
13813
|
+
if (!e.message || e.message.indexOf("onstruct") == -1) throw e;
|
|
13691
13814
|
}
|
|
13692
13815
|
throw new Error("cannot save file " + fname);
|
|
13693
13816
|
}
|
|
@@ -13714,34 +13837,38 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13714
13837
|
}
|
|
13715
13838
|
return o;
|
|
13716
13839
|
}
|
|
13717
|
-
var
|
|
13840
|
+
var dnthresh = /* @__PURE__ */ Date.UTC(1899, 11, 30, 0, 0, 0);
|
|
13841
|
+
var dnthresh1 = /* @__PURE__ */ Date.UTC(1899, 11, 31, 0, 0, 0);
|
|
13842
|
+
var dnthresh2 = /* @__PURE__ */ Date.UTC(1904, 0, 1, 0, 0, 0);
|
|
13718
13843
|
function datenum(v, date1904) {
|
|
13719
13844
|
var epoch = /* @__PURE__ */ v.getTime();
|
|
13720
|
-
var
|
|
13721
|
-
|
|
13722
|
-
|
|
13723
|
-
|
|
13724
|
-
var good_pd_date = /* @__PURE__ */ isNaN(/* @__PURE__ */ good_pd_date_1.getFullYear()) ? /* @__PURE__ */ new Date("2/19/17") : good_pd_date_1;
|
|
13725
|
-
var good_pd = /* @__PURE__ */ good_pd_date.getFullYear() == 2017;
|
|
13726
|
-
function parseDate(str, fixdate) {
|
|
13727
|
-
var d = new Date(str);
|
|
13728
|
-
if (good_pd) {
|
|
13729
|
-
if (fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1e3);
|
|
13730
|
-
else if (fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1e3);
|
|
13731
|
-
return d;
|
|
13845
|
+
var res = (epoch - dnthresh) / (24 * 60 * 60 * 1e3);
|
|
13846
|
+
if (date1904) {
|
|
13847
|
+
res -= 1462;
|
|
13848
|
+
return res < -1402 ? res - 1 : res;
|
|
13732
13849
|
}
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
|
|
13736
|
-
|
|
13737
|
-
|
|
13738
|
-
|
|
13739
|
-
}
|
|
13740
|
-
var n = str.match(/\d+/g) || ["2017", "2", "19", "0", "0", "0"];
|
|
13741
|
-
var out = new Date(+n[0], +n[1] - 1, +n[2], +n[3] || 0, +n[4] || 0, +n[5] || 0);
|
|
13742
|
-
if (str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1e3);
|
|
13850
|
+
return res < 60 ? res - 1 : res;
|
|
13851
|
+
}
|
|
13852
|
+
function numdate(v) {
|
|
13853
|
+
if (v >= 60 && v < 61) return v;
|
|
13854
|
+
var out = /* @__PURE__ */ new Date();
|
|
13855
|
+
out.setTime((v > 60 ? v : v + 1) * 24 * 60 * 60 * 1e3 + dnthresh);
|
|
13743
13856
|
return out;
|
|
13744
13857
|
}
|
|
13858
|
+
var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/;
|
|
13859
|
+
var pdre2 = /^(\d+)-(\d+)-(\d+)$/;
|
|
13860
|
+
var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/;
|
|
13861
|
+
function parseDate(str, date1904) {
|
|
13862
|
+
if (str instanceof Date) return str;
|
|
13863
|
+
var m = str.match(pdre1);
|
|
13864
|
+
if (m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10) * 60 + parseInt(m[2], 10)) * 60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0)) * 1e3 + (m[4] ? parseInt((m[4] + "000").slice(1, 4), 10) : 0));
|
|
13865
|
+
m = str.match(pdre2);
|
|
13866
|
+
if (m) return new Date(Date.UTC(+m[1], +m[2] - 1, +m[3], 0, 0, 0, 0));
|
|
13867
|
+
m = str.match(pdre3);
|
|
13868
|
+
if (m) return new Date(Date.UTC(+m[1], +m[2] - 1, +m[3], +m[4], +m[5], m[6] && parseInt(m[6].slice(1), 10) || 0, m[7] && parseInt((m[7] + "0000").slice(1, 4), 10) || 0));
|
|
13869
|
+
var d = new Date(str);
|
|
13870
|
+
return d;
|
|
13871
|
+
}
|
|
13745
13872
|
function dup(o) {
|
|
13746
13873
|
if (typeof JSON != "undefined" && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));
|
|
13747
13874
|
if (typeof o != "object" || o == null) return o;
|
|
@@ -13765,30 +13892,67 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13765
13892
|
return "";
|
|
13766
13893
|
});
|
|
13767
13894
|
if (!isNaN(v = Number(ss))) return v / wt;
|
|
13768
|
-
ss = ss.replace(/[(](
|
|
13895
|
+
ss = ss.replace(/[(]([^()]*)[)]/, function($$, $1) {
|
|
13769
13896
|
wt = -wt;
|
|
13770
13897
|
return $1;
|
|
13771
13898
|
});
|
|
13772
13899
|
if (!isNaN(v = Number(ss))) return v / wt;
|
|
13773
13900
|
return v;
|
|
13774
13901
|
}
|
|
13902
|
+
var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/;
|
|
13903
|
+
var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/;
|
|
13904
|
+
var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/;
|
|
13905
|
+
var utc_append_works = (/* @__PURE__ */ new Date("6/9/69 00:00 UTC")).valueOf() == -177984e5;
|
|
13906
|
+
function fuzzytime1(M) {
|
|
13907
|
+
if (!M[2]) return new Date(Date.UTC(1899, 11, 31, +M[1] % 12 + (M[7] == "p" ? 12 : 0), 0, 0, 0));
|
|
13908
|
+
if (M[3]) {
|
|
13909
|
+
if (M[4]) return new Date(Date.UTC(1899, 11, 31, +M[1] % 12 + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3]) * 1e3));
|
|
13910
|
+
else return new Date(Date.UTC(1899, 11, 31, M[7] == "p" ? 12 : 0, +M[1], +M[2], parseFloat(M[3]) * 1e3));
|
|
13911
|
+
} else if (M[5]) return new Date(Date.UTC(1899, 11, 31, +M[1] % 12 + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1e3 : 0));
|
|
13912
|
+
else return new Date(Date.UTC(1899, 11, 31, +M[1] % 12 + (M[7] == "p" ? 12 : 0), +M[2], 0, 0));
|
|
13913
|
+
}
|
|
13914
|
+
function fuzzytime2(M) {
|
|
13915
|
+
if (!M[2]) return new Date(Date.UTC(1899, 11, 31, +M[1], 0, 0, 0));
|
|
13916
|
+
if (M[3]) {
|
|
13917
|
+
if (M[4]) return new Date(Date.UTC(1899, 11, 31, +M[1], +M[2], +M[4], parseFloat(M[3]) * 1e3));
|
|
13918
|
+
else return new Date(Date.UTC(1899, 11, 31, 0, +M[1], +M[2], parseFloat(M[3]) * 1e3));
|
|
13919
|
+
} else if (M[5]) return new Date(Date.UTC(1899, 11, 31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1e3 : 0));
|
|
13920
|
+
else return new Date(Date.UTC(1899, 11, 31, +M[1], +M[2], 0, 0));
|
|
13921
|
+
}
|
|
13775
13922
|
var lower_months = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
|
|
13776
13923
|
function fuzzydate(s) {
|
|
13777
|
-
|
|
13778
|
-
var y = o.getYear(), m = o.getMonth(), d = o.getDate();
|
|
13779
|
-
if (isNaN(d)) return n;
|
|
13924
|
+
if (FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s);
|
|
13780
13925
|
var lower = s.toLowerCase();
|
|
13926
|
+
var lnos = lower.replace(/\s+/g, " ").trim();
|
|
13927
|
+
var M = lnos.match(FDRE1);
|
|
13928
|
+
if (M) return fuzzytime1(M);
|
|
13929
|
+
M = lnos.match(FDRE2);
|
|
13930
|
+
if (M) return fuzzytime2(M);
|
|
13931
|
+
M = lnos.match(pdre3);
|
|
13932
|
+
if (M) return new Date(Date.UTC(+M[1], +M[2] - 1, +M[3], +M[4], +M[5], M[6] && parseInt(M[6].slice(1), 10) || 0, M[7] && parseInt((M[7] + "0000").slice(1, 4), 10) || 0));
|
|
13933
|
+
var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC" : s), n = /* @__PURE__ */ new Date(NaN);
|
|
13934
|
+
var y = o.getYear();
|
|
13935
|
+
o.getMonth();
|
|
13936
|
+
var d = o.getDate();
|
|
13937
|
+
if (isNaN(d)) return n;
|
|
13781
13938
|
if (lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {
|
|
13782
13939
|
lower = lower.replace(/[^a-z]/g, "").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/, "");
|
|
13783
13940
|
if (lower.length > 3 && lower_months.indexOf(lower) == -1) return n;
|
|
13784
|
-
} else if (lower.match(/[a-z]/)) return n;
|
|
13785
|
-
if (y < 0 || y > 8099) return n;
|
|
13786
|
-
if ((m > 0 || d > 1) && y != 101) return o;
|
|
13787
|
-
if (s.match(/[^-0-9:,\/\\]/)) return n;
|
|
13941
|
+
} else if (lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n;
|
|
13942
|
+
if (y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n;
|
|
13788
13943
|
return o;
|
|
13789
13944
|
}
|
|
13945
|
+
function utc_to_local(utc) {
|
|
13946
|
+
return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds());
|
|
13947
|
+
}
|
|
13948
|
+
function local_to_utc(local) {
|
|
13949
|
+
return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds()));
|
|
13950
|
+
}
|
|
13790
13951
|
function zip_add_file(zip, path, content) {
|
|
13791
13952
|
if (zip.FullPaths) {
|
|
13953
|
+
if (Array.isArray(content) && typeof content[0] == "string") {
|
|
13954
|
+
content = content.join("");
|
|
13955
|
+
}
|
|
13792
13956
|
if (typeof content == "string") {
|
|
13793
13957
|
var res;
|
|
13794
13958
|
if (has_buf) res = Buffer_from(content);
|
|
@@ -13810,7 +13974,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13810
13974
|
"&": "&"
|
|
13811
13975
|
};
|
|
13812
13976
|
var rencoding = /* @__PURE__ */ evert(encodings);
|
|
13813
|
-
var decregex = /[&<>'"]/g, charegex = /[\u0000-\u0008\u000b-\u001f]/g;
|
|
13977
|
+
var decregex = /[&<>'"]/g, charegex = /[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;
|
|
13814
13978
|
function escapexml(text) {
|
|
13815
13979
|
var s = text + "";
|
|
13816
13980
|
return s.replace(decregex, function(y) {
|
|
@@ -13931,7 +14095,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
13931
14095
|
return [new RegExp("&" + x[0] + ";", "ig"), x[1]];
|
|
13932
14096
|
});
|
|
13933
14097
|
return function htmldecode2(str) {
|
|
13934
|
-
var o = str.replace(/^[\t\n\r ]+/, "").replace(/[\t\n\r ]+$/, "").replace(/>\s+/g, ">").replace(/\s+</g, "<").replace(/[\t\n\r ]+/g, " ").replace(/<\s*[bB][rR]\s*\/?>/g, "\n").replace(/<[
|
|
14098
|
+
var o = str.replace(/^[\t\n\r ]+/, "").replace(/(^|[^\t\n\r ])[\t\n\r ]+$/, "$1").replace(/>\s+/g, ">").replace(/\b\s+</g, "<").replace(/[\t\n\r ]+/g, " ").replace(/<\s*[bB][rR]\s*\/?>/g, "\n").replace(/<[^<>]*>/g, "");
|
|
13935
14099
|
for (var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);
|
|
13936
14100
|
return o;
|
|
13937
14101
|
};
|
|
@@ -14047,7 +14211,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14047
14211
|
return ss.join("").replace(chr0, "");
|
|
14048
14212
|
};
|
|
14049
14213
|
var __utf16le = has_buf ? function(b, s, e) {
|
|
14050
|
-
if (!Buffer.isBuffer(b)) return ___utf16le(b, s, e);
|
|
14214
|
+
if (!Buffer.isBuffer(b) || !buf_utf16le) return ___utf16le(b, s, e);
|
|
14051
14215
|
return b.toString("utf16le", s, e).replace(chr0, "");
|
|
14052
14216
|
} : ___utf16le;
|
|
14053
14217
|
var ___hexlify = function(b, s, l) {
|
|
@@ -14107,12 +14271,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14107
14271
|
return len > 0 ? b.toString("utf8", i + 4, i + 4 + len - 1) : "";
|
|
14108
14272
|
};
|
|
14109
14273
|
__lpwstr = function lpwstr_b(b, i) {
|
|
14110
|
-
if (!Buffer.isBuffer(b)) return ___lpwstr(b, i);
|
|
14274
|
+
if (!Buffer.isBuffer(b) || !buf_utf16le) return ___lpwstr(b, i);
|
|
14111
14275
|
var len = 2 * b.readUInt32LE(i);
|
|
14112
14276
|
return b.toString("utf16le", i + 4, i + 4 + len - 1);
|
|
14113
14277
|
};
|
|
14114
14278
|
__lpp4 = function lpp4_b(b, i) {
|
|
14115
|
-
if (!Buffer.isBuffer(b)) return ___lpp4(b, i);
|
|
14279
|
+
if (!Buffer.isBuffer(b) || !buf_utf16le) return ___lpp4(b, i);
|
|
14116
14280
|
var len = b.readUInt32LE(i);
|
|
14117
14281
|
return b.toString("utf16le", i + 4, i + 4 + len);
|
|
14118
14282
|
};
|
|
@@ -14150,7 +14314,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14150
14314
|
switch (t) {
|
|
14151
14315
|
case "dbcs":
|
|
14152
14316
|
loc = this.l;
|
|
14153
|
-
if (has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l + 2 * size).toString("utf16le");
|
|
14317
|
+
if (has_buf && Buffer.isBuffer(this) && buf_utf16le) o = this.slice(this.l, this.l + 2 * size).toString("utf16le");
|
|
14154
14318
|
else for (i = 0; i < size; ++i) {
|
|
14155
14319
|
o += String.fromCharCode(__readUInt16LE(this, loc));
|
|
14156
14320
|
loc += 2;
|
|
@@ -14301,12 +14465,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14301
14465
|
if (f === "dbcs") {
|
|
14302
14466
|
for (i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);
|
|
14303
14467
|
size = 2 * val.length;
|
|
14304
|
-
} else if (f === "sbcs") {
|
|
14468
|
+
} else if (f === "sbcs" || f == "cpstr") {
|
|
14305
14469
|
{
|
|
14306
14470
|
val = val.replace(/[^\x00-\x7F]/g, "_");
|
|
14307
14471
|
for (i = 0; i != val.length; ++i) this[this.l + i] = val.charCodeAt(i) & 255;
|
|
14472
|
+
size = val.length;
|
|
14308
14473
|
}
|
|
14309
|
-
size = val.length;
|
|
14310
14474
|
} else if (f === "hex") {
|
|
14311
14475
|
for (; i < t; ++i) {
|
|
14312
14476
|
this[this.l++] = parseInt(val.slice(2 * i, 2 * i + 2), 16) || 0;
|
|
@@ -14432,6 +14596,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14432
14596
|
if (typeof ce !== "string") ce = encode_cell(ce);
|
|
14433
14597
|
return cs == ce ? cs : cs + ":" + ce;
|
|
14434
14598
|
}
|
|
14599
|
+
function fix_range(a1) {
|
|
14600
|
+
var s = decode_range(a1);
|
|
14601
|
+
return "$" + encode_col(s.s.c) + "$" + encode_row(s.s.r) + ":$" + encode_col(s.e.c) + "$" + encode_row(s.e.r);
|
|
14602
|
+
}
|
|
14603
|
+
function formula_quote_sheet_name(sname, opts) {
|
|
14604
|
+
if (!sname && true) throw new Error("empty sheet name");
|
|
14605
|
+
if (/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(sname)) return "'" + sname.replace(/'/g, "''") + "'";
|
|
14606
|
+
return sname;
|
|
14607
|
+
}
|
|
14435
14608
|
function safe_decode_range(range2) {
|
|
14436
14609
|
var o = { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } };
|
|
14437
14610
|
var idx = 0, i = 0, cc = 0;
|
|
@@ -14490,10 +14663,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14490
14663
|
sheets[n] = sheet;
|
|
14491
14664
|
return { SheetNames: [n], Sheets: sheets };
|
|
14492
14665
|
}
|
|
14666
|
+
function sheet_new(opts) {
|
|
14667
|
+
var out = {};
|
|
14668
|
+
var o = opts || {};
|
|
14669
|
+
if (o.dense) out["!data"] = [];
|
|
14670
|
+
return out;
|
|
14671
|
+
}
|
|
14493
14672
|
function sheet_add_aoa(_ws, data, opts) {
|
|
14494
14673
|
var o = opts || {};
|
|
14495
|
-
var dense = _ws ?
|
|
14496
|
-
var ws = _ws || (dense ? [] : {});
|
|
14674
|
+
var dense = _ws ? _ws["!data"] != null : o.dense;
|
|
14675
|
+
var ws = _ws || (dense ? { "!data": [] } : {});
|
|
14676
|
+
if (dense && !ws["!data"]) ws["!data"] = [];
|
|
14497
14677
|
var _R = 0, _C = 0;
|
|
14498
14678
|
if (ws && o.origin != null) {
|
|
14499
14679
|
if (typeof o.origin == "number") _R = o.origin;
|
|
@@ -14502,7 +14682,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14502
14682
|
_R = _origin.r;
|
|
14503
14683
|
_C = _origin.c;
|
|
14504
14684
|
}
|
|
14505
|
-
if (!ws["!ref"]) ws["!ref"] = "A1:A1";
|
|
14506
14685
|
}
|
|
14507
14686
|
var range2 = { s: { c: 1e7, r: 1e7 }, e: { c: 0, r: 0 } };
|
|
14508
14687
|
if (ws["!ref"]) {
|
|
@@ -14511,23 +14690,33 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14511
14690
|
range2.s.r = _range.s.r;
|
|
14512
14691
|
range2.e.c = Math.max(range2.e.c, _range.e.c);
|
|
14513
14692
|
range2.e.r = Math.max(range2.e.r, _range.e.r);
|
|
14514
|
-
if (_R == -1) range2.e.r = _R = _range.e.r + 1;
|
|
14693
|
+
if (_R == -1) range2.e.r = _R = ws["!ref"] ? _range.e.r + 1 : 0;
|
|
14694
|
+
} else {
|
|
14695
|
+
range2.s.c = range2.e.c = range2.s.r = range2.e.r = 0;
|
|
14515
14696
|
}
|
|
14697
|
+
var row = [], seen = false;
|
|
14516
14698
|
for (var R = 0; R != data.length; ++R) {
|
|
14517
14699
|
if (!data[R]) continue;
|
|
14518
14700
|
if (!Array.isArray(data[R])) throw new Error("aoa_to_sheet expects an array of arrays");
|
|
14519
|
-
|
|
14520
|
-
|
|
14521
|
-
|
|
14522
|
-
|
|
14701
|
+
var __R = _R + R;
|
|
14702
|
+
if (dense) {
|
|
14703
|
+
if (!ws["!data"][__R]) ws["!data"][__R] = [];
|
|
14704
|
+
row = ws["!data"][__R];
|
|
14705
|
+
}
|
|
14706
|
+
var data_R = data[R];
|
|
14707
|
+
for (var C = 0; C != data_R.length; ++C) {
|
|
14708
|
+
if (typeof data_R[C] === "undefined") continue;
|
|
14709
|
+
var cell = { v: data_R[C], t: "" };
|
|
14710
|
+
var __C = _C + C;
|
|
14523
14711
|
if (range2.s.r > __R) range2.s.r = __R;
|
|
14524
14712
|
if (range2.s.c > __C) range2.s.c = __C;
|
|
14525
14713
|
if (range2.e.r < __R) range2.e.r = __R;
|
|
14526
14714
|
if (range2.e.c < __C) range2.e.c = __C;
|
|
14527
|
-
|
|
14715
|
+
seen = true;
|
|
14716
|
+
if (data_R[C] && typeof data_R[C] === "object" && !Array.isArray(data_R[C]) && !(data_R[C] instanceof Date)) cell = data_R[C];
|
|
14528
14717
|
else {
|
|
14529
14718
|
if (Array.isArray(cell.v)) {
|
|
14530
|
-
cell.f =
|
|
14719
|
+
cell.f = data_R[C][1];
|
|
14531
14720
|
cell.v = cell.v[0];
|
|
14532
14721
|
}
|
|
14533
14722
|
if (cell.v === null) {
|
|
@@ -14537,57 +14726,67 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14537
14726
|
cell.v = 0;
|
|
14538
14727
|
} else if (!o.sheetStubs) continue;
|
|
14539
14728
|
else cell.t = "z";
|
|
14540
|
-
} else if (typeof cell.v === "number")
|
|
14541
|
-
|
|
14729
|
+
} else if (typeof cell.v === "number") {
|
|
14730
|
+
if (isFinite(cell.v)) cell.t = "n";
|
|
14731
|
+
else if (isNaN(cell.v)) {
|
|
14732
|
+
cell.t = "e";
|
|
14733
|
+
cell.v = 15;
|
|
14734
|
+
} else {
|
|
14735
|
+
cell.t = "e";
|
|
14736
|
+
cell.v = 7;
|
|
14737
|
+
}
|
|
14738
|
+
} else if (typeof cell.v === "boolean") cell.t = "b";
|
|
14542
14739
|
else if (cell.v instanceof Date) {
|
|
14543
14740
|
cell.z = o.dateNF || table_fmt[14];
|
|
14741
|
+
if (!o.UTC) cell.v = local_to_utc(cell.v);
|
|
14544
14742
|
if (o.cellDates) {
|
|
14545
14743
|
cell.t = "d";
|
|
14546
|
-
cell.w = SSF_format(cell.z, datenum(cell.v));
|
|
14744
|
+
cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904));
|
|
14547
14745
|
} else {
|
|
14548
14746
|
cell.t = "n";
|
|
14549
|
-
cell.v = datenum(cell.v);
|
|
14747
|
+
cell.v = datenum(cell.v, o.date1904);
|
|
14550
14748
|
cell.w = SSF_format(cell.z, cell.v);
|
|
14551
14749
|
}
|
|
14552
14750
|
} else cell.t = "s";
|
|
14553
14751
|
}
|
|
14554
14752
|
if (dense) {
|
|
14555
|
-
if (
|
|
14556
|
-
|
|
14557
|
-
ws[__R][__C] = cell;
|
|
14753
|
+
if (row[__C] && row[__C].z) cell.z = row[__C].z;
|
|
14754
|
+
row[__C] = cell;
|
|
14558
14755
|
} else {
|
|
14559
|
-
var cell_ref =
|
|
14756
|
+
var cell_ref = encode_col(__C) + (__R + 1);
|
|
14560
14757
|
if (ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;
|
|
14561
14758
|
ws[cell_ref] = cell;
|
|
14562
14759
|
}
|
|
14563
14760
|
}
|
|
14564
14761
|
}
|
|
14565
|
-
if (range2.s.c <
|
|
14762
|
+
if (seen && range2.s.c < 104e5) ws["!ref"] = encode_range(range2);
|
|
14566
14763
|
return ws;
|
|
14567
14764
|
}
|
|
14568
14765
|
function aoa_to_sheet(data, opts) {
|
|
14569
14766
|
return sheet_add_aoa(null, data, opts);
|
|
14570
14767
|
}
|
|
14571
14768
|
var BErr = {
|
|
14572
|
-
/*::[*/
|
|
14573
14769
|
0: "#NULL!",
|
|
14574
|
-
/*::[*/
|
|
14575
14770
|
7: "#DIV/0!",
|
|
14576
|
-
/*::[*/
|
|
14577
14771
|
15: "#VALUE!",
|
|
14578
|
-
/*::[*/
|
|
14579
14772
|
23: "#REF!",
|
|
14580
|
-
/*::[*/
|
|
14581
14773
|
29: "#NAME?",
|
|
14582
|
-
/*::[*/
|
|
14583
14774
|
36: "#NUM!",
|
|
14584
|
-
/*::[*/
|
|
14585
14775
|
42: "#N/A",
|
|
14586
|
-
/*::[*/
|
|
14587
14776
|
43: "#GETTING_DATA",
|
|
14588
|
-
/*::[*/
|
|
14589
14777
|
255: "#WTF?"
|
|
14590
14778
|
};
|
|
14779
|
+
var RBErr = {
|
|
14780
|
+
"#NULL!": 0,
|
|
14781
|
+
"#DIV/0!": 7,
|
|
14782
|
+
"#VALUE!": 15,
|
|
14783
|
+
"#REF!": 23,
|
|
14784
|
+
"#NAME?": 29,
|
|
14785
|
+
"#NUM!": 36,
|
|
14786
|
+
"#N/A": 42,
|
|
14787
|
+
"#GETTING_DATA": 43,
|
|
14788
|
+
"#WTF?": 255
|
|
14789
|
+
};
|
|
14591
14790
|
var ct2type = {
|
|
14592
14791
|
/* Workbook */
|
|
14593
14792
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks",
|
|
@@ -14799,35 +14998,37 @@ var __async = (__this, __arguments, generator) => {
|
|
|
14799
14998
|
xmlns: ""
|
|
14800
14999
|
};
|
|
14801
15000
|
}
|
|
14802
|
-
function write_ct(ct, opts) {
|
|
15001
|
+
function write_ct(ct, opts, raw) {
|
|
14803
15002
|
var type2ct = evert_arr(ct2type);
|
|
14804
15003
|
var o = [], v;
|
|
14805
|
-
|
|
14806
|
-
|
|
14807
|
-
"
|
|
14808
|
-
|
|
14809
|
-
|
|
14810
|
-
|
|
14811
|
-
|
|
14812
|
-
[
|
|
14813
|
-
|
|
14814
|
-
|
|
14815
|
-
|
|
14816
|
-
|
|
14817
|
-
|
|
14818
|
-
|
|
14819
|
-
|
|
14820
|
-
|
|
14821
|
-
|
|
14822
|
-
|
|
14823
|
-
|
|
14824
|
-
|
|
14825
|
-
|
|
14826
|
-
|
|
14827
|
-
|
|
14828
|
-
|
|
14829
|
-
|
|
14830
|
-
|
|
15004
|
+
{
|
|
15005
|
+
o[o.length] = XML_HEADER;
|
|
15006
|
+
o[o.length] = writextag("Types", null, {
|
|
15007
|
+
"xmlns": XMLNS.CT,
|
|
15008
|
+
"xmlns:xsd": XMLNS.xsd,
|
|
15009
|
+
"xmlns:xsi": XMLNS.xsi
|
|
15010
|
+
});
|
|
15011
|
+
o = o.concat([
|
|
15012
|
+
["xml", "application/xml"],
|
|
15013
|
+
["bin", "application/vnd.ms-excel.sheet.binary.macroEnabled.main"],
|
|
15014
|
+
["vml", "application/vnd.openxmlformats-officedocument.vmlDrawing"],
|
|
15015
|
+
["data", "application/vnd.openxmlformats-officedocument.model+data"],
|
|
15016
|
+
/* from test files */
|
|
15017
|
+
["bmp", "image/bmp"],
|
|
15018
|
+
["png", "image/png"],
|
|
15019
|
+
["gif", "image/gif"],
|
|
15020
|
+
["emf", "image/x-emf"],
|
|
15021
|
+
["wmf", "image/x-wmf"],
|
|
15022
|
+
["jpg", "image/jpeg"],
|
|
15023
|
+
["jpeg", "image/jpeg"],
|
|
15024
|
+
["tif", "image/tiff"],
|
|
15025
|
+
["tiff", "image/tiff"],
|
|
15026
|
+
["pdf", "application/pdf"],
|
|
15027
|
+
["rels", "application/vnd.openxmlformats-package.relationships+xml"]
|
|
15028
|
+
].map(function(x) {
|
|
15029
|
+
return writextag("Default", null, { "Extension": x[0], "ContentType": x[1] });
|
|
15030
|
+
}));
|
|
15031
|
+
}
|
|
14831
15032
|
var f1 = function(w) {
|
|
14832
15033
|
if (ct[w] && ct[w].length > 0) {
|
|
14833
15034
|
v = ct[w][0];
|
|
@@ -15063,6 +15264,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15063
15264
|
else {
|
|
15064
15265
|
sitag += "<t";
|
|
15065
15266
|
if (!s.t) s.t = "";
|
|
15267
|
+
if (typeof s.t !== "string") s.t = String(s.t);
|
|
15066
15268
|
if (s.t.match(straywsregex)) sitag += ' xml:space="preserve"';
|
|
15067
15269
|
sitag += ">" + escapexml(s.t) + "</t>";
|
|
15068
15270
|
}
|
|
@@ -15326,58 +15528,61 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15326
15528
|
o.push('<metadata xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xlrd="http://schemas.microsoft.com/office/spreadsheetml/2017/richdata" xmlns:xda="http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray">\n <metadataTypes count="1">\n <metadataType name="XLDAPR" minSupportedVersion="120000" copy="1" pasteAll="1" pasteValues="1" merge="1" splitFirst="1" rowColShift="1" clearFormats="1" clearComments="1" assign="1" coerce="1" cellMeta="1"/>\n </metadataTypes>\n <futureMetadata name="XLDAPR" count="1">\n <bk>\n <extLst>\n <ext uri="{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}">\n <xda:dynamicArrayProperties fDynamic="1" fCollapsed="0"/>\n </ext>\n </extLst>\n </bk>\n </futureMetadata>\n <cellMetadata count="1">\n <bk>\n <rc t="1" v="0"/>\n </bk>\n </cellMetadata>\n</metadata>');
|
|
15327
15529
|
return o.join("");
|
|
15328
15530
|
}
|
|
15329
|
-
|
|
15330
|
-
function write_comments_vml(rId, comments) {
|
|
15531
|
+
function write_vml(rId, comments, ws) {
|
|
15331
15532
|
var csize = [21600, 21600];
|
|
15332
15533
|
var bbox = ["m0,0l0", csize[1], csize[0], csize[1], csize[0], "0xe"].join(",");
|
|
15333
15534
|
var o = [
|
|
15334
15535
|
writextag("xml", null, { "xmlns:v": XLMLNS.v, "xmlns:o": XLMLNS.o, "xmlns:x": XLMLNS.x, "xmlns:mv": XLMLNS.mv }).replace(/\/>/, ">"),
|
|
15335
|
-
writextag("o:shapelayout", writextag("o:idmap", null, { "v:ext": "edit", "data": rId }), { "v:ext": "edit" })
|
|
15336
|
-
writextag("v:shapetype", [
|
|
15337
|
-
writextag("v:stroke", null, { joinstyle: "miter" }),
|
|
15338
|
-
writextag("v:path", null, { gradientshapeok: "t", "o:connecttype": "rect" })
|
|
15339
|
-
].join(""), { id: "_x0000_t202", "o:spt": 202, coordsize: csize.join(","), path: bbox })
|
|
15536
|
+
writextag("o:shapelayout", writextag("o:idmap", null, { "v:ext": "edit", "data": rId }), { "v:ext": "edit" })
|
|
15340
15537
|
];
|
|
15341
|
-
|
|
15342
|
-
comments
|
|
15343
|
-
|
|
15344
|
-
|
|
15345
|
-
|
|
15346
|
-
|
|
15347
|
-
|
|
15348
|
-
if (fillopts.type == "gradient") fillopts.angle = "-180";
|
|
15349
|
-
var fillparm = fillopts.type == "gradient" ? writextag("o:fill", null, { type: "gradientUnscaled", "v:ext": "view" }) : null;
|
|
15350
|
-
var fillxml = writextag("v:fill", fillparm, fillopts);
|
|
15351
|
-
var shadata = { on: "t", "obscured": "t" };
|
|
15538
|
+
var _shapeid = 65536 * rId;
|
|
15539
|
+
var _comments = comments || [];
|
|
15540
|
+
if (_comments.length > 0) o.push(writextag("v:shapetype", [
|
|
15541
|
+
writextag("v:stroke", null, { joinstyle: "miter" }),
|
|
15542
|
+
writextag("v:path", null, { gradientshapeok: "t", "o:connecttype": "rect" })
|
|
15543
|
+
].join(""), { id: "_x0000_t202", coordsize: csize.join(","), "o:spt": 202, path: bbox }));
|
|
15544
|
+
_comments.forEach(function(x) {
|
|
15352
15545
|
++_shapeid;
|
|
15353
|
-
o
|
|
15354
|
-
"<v:shape" + wxt_helper({
|
|
15355
|
-
id: "_x0000_s" + _shapeid,
|
|
15356
|
-
type: "#_x0000_t202",
|
|
15357
|
-
style: "position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10" + (x[1].hidden ? ";visibility:hidden" : ""),
|
|
15358
|
-
fillcolor: "#ECFAD4",
|
|
15359
|
-
strokecolor: "#edeaa1"
|
|
15360
|
-
}) + ">",
|
|
15361
|
-
fillxml,
|
|
15362
|
-
writextag("v:shadow", null, shadata),
|
|
15363
|
-
writextag("v:path", null, { "o:connecttype": "none" }),
|
|
15364
|
-
'<v:textbox><div style="text-align:left"></div></v:textbox>',
|
|
15365
|
-
'<x:ClientData ObjectType="Note">',
|
|
15366
|
-
"<x:MoveWithCells/>",
|
|
15367
|
-
"<x:SizeWithCells/>",
|
|
15368
|
-
/* Part 4 19.4.2.3 Anchor (Anchor) */
|
|
15369
|
-
writetag("x:Anchor", [c.c + 1, 0, c.r + 1, 0, c.c + 3, 20, c.r + 5, 20].join(",")),
|
|
15370
|
-
writetag("x:AutoFill", "False"),
|
|
15371
|
-
writetag("x:Row", String(c.r)),
|
|
15372
|
-
writetag("x:Column", String(c.c)),
|
|
15373
|
-
x[1].hidden ? "" : "<x:Visible/>",
|
|
15374
|
-
"</x:ClientData>",
|
|
15375
|
-
"</v:shape>"
|
|
15376
|
-
]);
|
|
15546
|
+
o.push(write_vml_comment(x, _shapeid));
|
|
15377
15547
|
});
|
|
15378
15548
|
o.push("</xml>");
|
|
15379
15549
|
return o.join("");
|
|
15380
15550
|
}
|
|
15551
|
+
function write_vml_comment(x, _shapeid, ws) {
|
|
15552
|
+
var c = decode_cell(x[0]);
|
|
15553
|
+
var fillopts = (
|
|
15554
|
+
/*::(*/
|
|
15555
|
+
{ "color2": "#BEFF82", "type": "gradient" }
|
|
15556
|
+
);
|
|
15557
|
+
if (fillopts.type == "gradient") fillopts.angle = "-180";
|
|
15558
|
+
var fillparm = fillopts.type == "gradient" ? writextag("o:fill", null, { type: "gradientUnscaled", "v:ext": "view" }) : null;
|
|
15559
|
+
var fillxml = writextag("v:fill", fillparm, fillopts);
|
|
15560
|
+
var shadata = { on: "t", "obscured": "t" };
|
|
15561
|
+
return [
|
|
15562
|
+
"<v:shape" + wxt_helper({
|
|
15563
|
+
id: "_x0000_s" + _shapeid,
|
|
15564
|
+
type: "#_x0000_t202",
|
|
15565
|
+
style: "position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10" + (x[1].hidden ? ";visibility:hidden" : ""),
|
|
15566
|
+
fillcolor: "#ECFAD4",
|
|
15567
|
+
strokecolor: "#edeaa1"
|
|
15568
|
+
}) + ">",
|
|
15569
|
+
fillxml,
|
|
15570
|
+
writextag("v:shadow", null, shadata),
|
|
15571
|
+
writextag("v:path", null, { "o:connecttype": "none" }),
|
|
15572
|
+
'<v:textbox><div style="text-align:left"></div></v:textbox>',
|
|
15573
|
+
'<x:ClientData ObjectType="Note">',
|
|
15574
|
+
"<x:MoveWithCells/>",
|
|
15575
|
+
"<x:SizeWithCells/>",
|
|
15576
|
+
/* Part 4 19.4.2.3 Anchor (Anchor) */
|
|
15577
|
+
writetag("x:Anchor", [c.c + 1, 0, c.r + 1, 0, c.c + 3, 20, c.r + 5, 20].join(",")),
|
|
15578
|
+
writetag("x:AutoFill", "False"),
|
|
15579
|
+
writetag("x:Row", String(c.r)),
|
|
15580
|
+
writetag("x:Column", String(c.c)),
|
|
15581
|
+
x[1].hidden ? "" : "<x:Visible/>",
|
|
15582
|
+
"</x:ClientData>",
|
|
15583
|
+
"</v:shape>"
|
|
15584
|
+
].join("");
|
|
15585
|
+
}
|
|
15381
15586
|
function write_comments_xml(data) {
|
|
15382
15587
|
var o = [XML_HEADER, writextag("comments", null, { "xmlns": XMLNS_main[0] })];
|
|
15383
15588
|
var iauthor = [];
|
|
@@ -15402,20 +15607,27 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15402
15607
|
o.push("</authors>");
|
|
15403
15608
|
o.push("<commentList>");
|
|
15404
15609
|
data.forEach(function(d) {
|
|
15405
|
-
var lastauthor = 0, ts = [];
|
|
15610
|
+
var lastauthor = 0, ts = [], tcnt = 0;
|
|
15406
15611
|
if (d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID);
|
|
15407
|
-
|
|
15612
|
+
d[1].forEach(function(c) {
|
|
15408
15613
|
if (c.a) lastauthor = iauthor.indexOf(escapexml(c.a));
|
|
15409
|
-
|
|
15614
|
+
if (c.T) ++tcnt;
|
|
15615
|
+
ts.push(c.t == null ? "" : escapexml(c.t));
|
|
15410
15616
|
});
|
|
15411
|
-
|
|
15412
|
-
|
|
15413
|
-
|
|
15617
|
+
if (tcnt === 0) {
|
|
15618
|
+
d[1].forEach(function(c) {
|
|
15619
|
+
o.push('<comment ref="' + d[0] + '" authorId="' + iauthor.indexOf(escapexml(c.a)) + '"><text>');
|
|
15620
|
+
o.push(writetag("t", c.t == null ? "" : escapexml(c.t)));
|
|
15621
|
+
o.push("</text></comment>");
|
|
15622
|
+
});
|
|
15623
|
+
} else {
|
|
15624
|
+
if (d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID);
|
|
15625
|
+
o.push('<comment ref="' + d[0] + '" authorId="' + lastauthor + '"><text>');
|
|
15414
15626
|
var t = "Comment:\n " + ts[0] + "\n";
|
|
15415
15627
|
for (var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n";
|
|
15416
15628
|
o.push(writetag("t", escapexml(t)));
|
|
15629
|
+
o.push("</text></comment>");
|
|
15417
15630
|
}
|
|
15418
|
-
o.push("</text></comment>");
|
|
15419
15631
|
});
|
|
15420
15632
|
o.push("</commentList>");
|
|
15421
15633
|
if (o.length > 2) {
|
|
@@ -15465,6 +15677,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15465
15677
|
return o.join("");
|
|
15466
15678
|
}
|
|
15467
15679
|
var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"];
|
|
15680
|
+
var crefregex = /(^|[^._A-Z0-9])(\$?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])(\$?)(\d{1,7})(?![_.\(A-Za-z0-9])/g;
|
|
15681
|
+
try {
|
|
15682
|
+
crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;
|
|
15683
|
+
} catch (e) {
|
|
15684
|
+
}
|
|
15468
15685
|
var browser_has_Map = typeof Map !== "undefined";
|
|
15469
15686
|
function get_sst_id(sst, str, rev) {
|
|
15470
15687
|
var i = 0, len = sst.length;
|
|
@@ -15530,7 +15747,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15530
15747
|
var i = 60, len = styles.length;
|
|
15531
15748
|
if (z == null && opts.ssf) {
|
|
15532
15749
|
for (; i < 392; ++i) if (opts.ssf[i] == null) {
|
|
15533
|
-
|
|
15750
|
+
SSF__load(cell.z, i);
|
|
15534
15751
|
opts.ssf[i] = cell.z;
|
|
15535
15752
|
opts.revssf[cell.z] = z = i;
|
|
15536
15753
|
break;
|
|
@@ -15632,7 +15849,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15632
15849
|
var name = names[i];
|
|
15633
15850
|
if (name.Name != "_xlnm._FilterDatabase") continue;
|
|
15634
15851
|
if (name.Sheet != idx) continue;
|
|
15635
|
-
name.Ref =
|
|
15852
|
+
name.Ref = formula_quote_sheet_name(wb.SheetNames[idx]) + "!" + fix_range(ref2);
|
|
15636
15853
|
break;
|
|
15637
15854
|
}
|
|
15638
15855
|
if (i == names.length) names.push({ Name: "_xlnm._FilterDatabase", Sheet: idx, Ref: "'" + wb.SheetNames[idx] + "'!" + ref2 });
|
|
@@ -15643,9 +15860,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15643
15860
|
if ((((wb || {}).Workbook || {}).Views || [])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? "1" : "0";
|
|
15644
15861
|
return writextag("sheetViews", writextag("sheetView", null, sview), {});
|
|
15645
15862
|
}
|
|
15646
|
-
function write_ws_xml_cell(cell, ref2, ws, opts) {
|
|
15863
|
+
function write_ws_xml_cell(cell, ref2, ws, opts, idx, wb, date1904) {
|
|
15647
15864
|
if (cell.c) ws["!comments"].push([ref2, cell.c]);
|
|
15648
|
-
if (cell.v === void 0 && typeof cell.f !== "string"
|
|
15865
|
+
if ((cell.v === void 0 || cell.t === "z" && !(opts || {}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return "";
|
|
15649
15866
|
var vv = "";
|
|
15650
15867
|
var oldt = cell.t, oldv = cell.v;
|
|
15651
15868
|
if (cell.t !== "z") switch (cell.t) {
|
|
@@ -15653,17 +15870,26 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15653
15870
|
vv = cell.v ? "1" : "0";
|
|
15654
15871
|
break;
|
|
15655
15872
|
case "n":
|
|
15656
|
-
|
|
15873
|
+
if (isNaN(cell.v)) {
|
|
15874
|
+
cell.t = "e";
|
|
15875
|
+
vv = BErr[cell.v = 36];
|
|
15876
|
+
} else if (!isFinite(cell.v)) {
|
|
15877
|
+
cell.t = "e";
|
|
15878
|
+
vv = BErr[cell.v = 7];
|
|
15879
|
+
} else vv = "" + cell.v;
|
|
15657
15880
|
break;
|
|
15658
15881
|
case "e":
|
|
15659
15882
|
vv = BErr[cell.v];
|
|
15660
15883
|
break;
|
|
15661
15884
|
case "d":
|
|
15662
|
-
if (opts && opts.cellDates)
|
|
15663
|
-
|
|
15885
|
+
if (opts && opts.cellDates) {
|
|
15886
|
+
var _vv = parseDate(cell.v, date1904);
|
|
15887
|
+
vv = _vv.toISOString();
|
|
15888
|
+
if (_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z", "");
|
|
15889
|
+
} else {
|
|
15664
15890
|
cell = dup(cell);
|
|
15665
15891
|
cell.t = "n";
|
|
15666
|
-
vv = "" + (cell.v = datenum(parseDate(cell.v)));
|
|
15892
|
+
vv = "" + (cell.v = datenum(parseDate(cell.v, date1904), date1904));
|
|
15667
15893
|
}
|
|
15668
15894
|
if (typeof cell.z === "undefined") cell.z = table_fmt[14];
|
|
15669
15895
|
break;
|
|
@@ -15671,7 +15897,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15671
15897
|
vv = cell.v;
|
|
15672
15898
|
break;
|
|
15673
15899
|
}
|
|
15674
|
-
var v = writetag("v", escapexml(vv)), o = { r: ref2 };
|
|
15900
|
+
var v = cell.t == "z" || cell.v == null ? "" : writetag("v", escapexml(vv)), o = { r: ref2 };
|
|
15675
15901
|
var os = get_cell_style(opts.cellXfs, cell, opts);
|
|
15676
15902
|
if (os !== 0) o.s = os;
|
|
15677
15903
|
switch (cell.t) {
|
|
@@ -15698,8 +15924,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15698
15924
|
v = writetag("v", "" + get_sst_id(opts.Strings, cell.v, opts.revStrings));
|
|
15699
15925
|
o.t = "s";
|
|
15700
15926
|
break;
|
|
15701
|
-
}
|
|
15702
|
-
o.t = "str";
|
|
15927
|
+
} else o.t = "str";
|
|
15703
15928
|
break;
|
|
15704
15929
|
}
|
|
15705
15930
|
if (cell.t != oldt) {
|
|
@@ -15710,23 +15935,28 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15710
15935
|
var ff = cell.F && cell.F.slice(0, ref2.length) == ref2 ? { t: "array", ref: cell.F } : null;
|
|
15711
15936
|
v = writextag("f", escapexml(cell.f), ff) + (cell.v != null ? v : "");
|
|
15712
15937
|
}
|
|
15713
|
-
if (cell.l)
|
|
15938
|
+
if (cell.l) {
|
|
15939
|
+
cell.l.display = escapexml(vv);
|
|
15940
|
+
ws["!links"].push([ref2, cell.l]);
|
|
15941
|
+
}
|
|
15714
15942
|
if (cell.D) o.cm = 1;
|
|
15715
15943
|
return writextag("c", v, o);
|
|
15716
15944
|
}
|
|
15717
15945
|
function write_ws_xml_data(ws, opts, idx, wb) {
|
|
15718
15946
|
var o = [], r = [], range2 = safe_decode_range(ws["!ref"]), cell = "", ref2, rr = "", cols = [], R = 0, C = 0, rows = ws["!rows"];
|
|
15719
|
-
var dense =
|
|
15947
|
+
var dense = ws["!data"] != null, data = dense ? ws["!data"] : [];
|
|
15720
15948
|
var params = { r: rr }, row, height = -1;
|
|
15949
|
+
var date1904 = (((wb || {}).Workbook || {}).WBProps || {}).date1904;
|
|
15721
15950
|
for (C = range2.s.c; C <= range2.e.c; ++C) cols[C] = encode_col(C);
|
|
15722
15951
|
for (R = range2.s.r; R <= range2.e.r; ++R) {
|
|
15723
15952
|
r = [];
|
|
15724
15953
|
rr = encode_row(R);
|
|
15954
|
+
var data_R = dense ? data[R] : [];
|
|
15725
15955
|
for (C = range2.s.c; C <= range2.e.c; ++C) {
|
|
15726
15956
|
ref2 = cols[C] + rr;
|
|
15727
|
-
var _cell = dense ?
|
|
15957
|
+
var _cell = dense ? data_R[C] : ws[ref2];
|
|
15728
15958
|
if (_cell === void 0) continue;
|
|
15729
|
-
if ((cell = write_ws_xml_cell(_cell, ref2, ws, opts)) != null) r.push(cell);
|
|
15959
|
+
if ((cell = write_ws_xml_cell(_cell, ref2, ws, opts, idx, wb, date1904)) != null) r.push(cell);
|
|
15730
15960
|
}
|
|
15731
15961
|
if (r.length > 0 || rows && rows[R]) {
|
|
15732
15962
|
params = { r: rr };
|
|
@@ -15798,7 +16028,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15798
16028
|
o[sidx = o.length] = "<sheetData/>";
|
|
15799
16029
|
ws["!links"] = [];
|
|
15800
16030
|
if (ws["!ref"] != null) {
|
|
15801
|
-
rdata = write_ws_xml_data(ws, opts);
|
|
16031
|
+
rdata = write_ws_xml_data(ws, opts, idx, wb);
|
|
15802
16032
|
if (rdata.length > 0) o[o.length] = rdata;
|
|
15803
16033
|
}
|
|
15804
16034
|
if (o.length > sidx + 1) {
|
|
@@ -15818,11 +16048,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15818
16048
|
if (!l[1].Target) return;
|
|
15819
16049
|
rel = { "ref": l[0] };
|
|
15820
16050
|
if (l[1].Target.charAt(0) != "#") {
|
|
15821
|
-
rId = add_rels(rels, -1, escapexml(l[1].Target).replace(
|
|
16051
|
+
rId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#[\s\S]*$/, ""), RELS.HLINK);
|
|
15822
16052
|
rel["r:id"] = "rId" + rId;
|
|
15823
16053
|
}
|
|
15824
16054
|
if ((relc = l[1].Target.indexOf("#")) > -1) rel.location = escapexml(l[1].Target.slice(relc + 1));
|
|
15825
16055
|
if (l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);
|
|
16056
|
+
rel.display = l[1].display;
|
|
15826
16057
|
o[o.length] = writextag("hyperlink", null, rel);
|
|
15827
16058
|
});
|
|
15828
16059
|
o[o.length] = "</hyperlinks>";
|
|
@@ -15866,17 +16097,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15866
16097
|
["showPivotChartFilter", false, "bool"],
|
|
15867
16098
|
["updateLinks", "userSet"]
|
|
15868
16099
|
];
|
|
15869
|
-
var badchars = /* @__PURE__ */ "][*?/\\".split("");
|
|
16100
|
+
var badchars = /* @__PURE__ */ ":][*?/\\".split("");
|
|
15870
16101
|
function check_ws_name(n, safe) {
|
|
15871
|
-
|
|
15872
|
-
throw new Error("Sheet
|
|
16102
|
+
try {
|
|
16103
|
+
if (n == "") throw new Error("Sheet name cannot be blank");
|
|
16104
|
+
if (n.length > 31) throw new Error("Sheet name cannot exceed 31 chars");
|
|
16105
|
+
if (n.charCodeAt(0) == 39 || n.charCodeAt(n.length - 1) == 39) throw new Error("Sheet name cannot start or end with apostrophe (')");
|
|
16106
|
+
if (n.toLowerCase() == "history") throw new Error("Sheet name cannot be 'History'");
|
|
16107
|
+
badchars.forEach(function(c) {
|
|
16108
|
+
if (n.indexOf(c) == -1) return;
|
|
16109
|
+
throw new Error("Sheet name cannot contain : \\ / ? * [ ]");
|
|
16110
|
+
});
|
|
16111
|
+
} catch (e) {
|
|
16112
|
+
throw e;
|
|
15873
16113
|
}
|
|
15874
|
-
|
|
15875
|
-
badchars.forEach(function(c) {
|
|
15876
|
-
if (n.indexOf(c) == -1) return;
|
|
15877
|
-
throw new Error("Sheet name cannot contain : \\ / ? * [ ]");
|
|
15878
|
-
});
|
|
15879
|
-
return _good;
|
|
16114
|
+
return true;
|
|
15880
16115
|
}
|
|
15881
16116
|
function check_wb_names(N, S, codes) {
|
|
15882
16117
|
N.forEach(function(n, i) {
|
|
@@ -15894,6 +16129,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15894
16129
|
var Sheets = wb.Workbook && wb.Workbook.Sheets || [];
|
|
15895
16130
|
check_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);
|
|
15896
16131
|
for (var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);
|
|
16132
|
+
wb.SheetNames.forEach(function(n, i2) {
|
|
16133
|
+
var ws = wb.Sheets[n];
|
|
16134
|
+
if (!ws || !ws["!autofilter"]) return;
|
|
16135
|
+
var DN;
|
|
16136
|
+
if (!wb.Workbook) wb.Workbook = {};
|
|
16137
|
+
if (!wb.Workbook.Names) wb.Workbook.Names = [];
|
|
16138
|
+
wb.Workbook.Names.forEach(function(dn) {
|
|
16139
|
+
if (dn.Name == "_xlnm._FilterDatabase" && dn.Sheet == i2) DN = dn;
|
|
16140
|
+
});
|
|
16141
|
+
var nn = formula_quote_sheet_name(n) + "!" + fix_range(ws["!autofilter"].ref);
|
|
16142
|
+
if (DN) DN.Ref = nn;
|
|
16143
|
+
else wb.Workbook.Names.push({ Name: "_xlnm._FilterDatabase", Sheet: i2, Ref: nn });
|
|
16144
|
+
});
|
|
15897
16145
|
}
|
|
15898
16146
|
function write_wb_xml(wb) {
|
|
15899
16147
|
var o = [XML_HEADER];
|
|
@@ -15966,6 +16214,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15966
16214
|
function make_html_row(ws, r, R, o) {
|
|
15967
16215
|
var M = ws["!merges"] || [];
|
|
15968
16216
|
var oo = [];
|
|
16217
|
+
var sp = {};
|
|
16218
|
+
var dense = ws["!data"] != null;
|
|
15969
16219
|
for (var C = r.s.c; C <= r.e.c; ++C) {
|
|
15970
16220
|
var RS = 0, CS = 0;
|
|
15971
16221
|
for (var j = 0; j < M.length; ++j) {
|
|
@@ -15980,18 +16230,22 @@ var __async = (__this, __arguments, generator) => {
|
|
|
15980
16230
|
break;
|
|
15981
16231
|
}
|
|
15982
16232
|
if (RS < 0) continue;
|
|
15983
|
-
var coord =
|
|
15984
|
-
var cell =
|
|
16233
|
+
var coord = encode_col(C) + encode_row(R);
|
|
16234
|
+
var cell = dense ? (ws["!data"][R] || [])[C] : ws[coord];
|
|
16235
|
+
if (cell && cell.t == "n" && cell.v != null && !isFinite(cell.v)) {
|
|
16236
|
+
if (isNaN(cell.v)) cell = { t: "e", v: 36, w: BErr[36] };
|
|
16237
|
+
else cell = { t: "e", v: 7, w: BErr[7] };
|
|
16238
|
+
}
|
|
15985
16239
|
var w = cell && cell.v != null && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || "")) || "";
|
|
15986
|
-
|
|
16240
|
+
sp = {};
|
|
15987
16241
|
if (RS > 1) sp.rowspan = RS;
|
|
15988
16242
|
if (CS > 1) sp.colspan = CS;
|
|
15989
16243
|
if (o.editable) w = '<span contenteditable="true">' + w + "</span>";
|
|
15990
16244
|
else if (cell) {
|
|
15991
16245
|
sp["data-t"] = cell && cell.t || "z";
|
|
15992
|
-
if (cell.v != null) sp["data-v"] = cell.v;
|
|
16246
|
+
if (cell.v != null) sp["data-v"] = escapehtml(cell.v instanceof Date ? cell.v.toISOString() : cell.v);
|
|
15993
16247
|
if (cell.z != null) sp["data-z"] = cell.z;
|
|
15994
|
-
if (cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '<a href="' + cell.l.Target + '">' + w + "</a>";
|
|
16248
|
+
if (cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '<a href="' + escapehtml(cell.l.Target) + '">' + w + "</a>";
|
|
15995
16249
|
}
|
|
15996
16250
|
sp.id = (o.id || "sjs") + "-" + coord;
|
|
15997
16251
|
oo.push(writextag("td", w, sp));
|
|
@@ -16010,15 +16264,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16010
16264
|
var header = o.header != null ? o.header : HTML_BEGIN;
|
|
16011
16265
|
var footer = o.footer != null ? o.footer : HTML_END;
|
|
16012
16266
|
var out = [header];
|
|
16013
|
-
var r = decode_range(ws["!ref"]);
|
|
16014
|
-
o.dense = Array.isArray(ws);
|
|
16267
|
+
var r = decode_range(ws["!ref"] || "A1");
|
|
16015
16268
|
out.push(make_html_preamble(ws, r, o));
|
|
16016
|
-
for (var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));
|
|
16269
|
+
if (ws["!ref"]) for (var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));
|
|
16017
16270
|
out.push("</table>" + footer);
|
|
16018
16271
|
return out.join("");
|
|
16019
16272
|
}
|
|
16020
16273
|
function sheet_add_dom(ws, table, _opts) {
|
|
16274
|
+
var rows = table.rows;
|
|
16275
|
+
if (!rows) {
|
|
16276
|
+
throw "Unsupported origin when " + table.tagName + " is not a TABLE";
|
|
16277
|
+
}
|
|
16021
16278
|
var opts = _opts || {};
|
|
16279
|
+
var dense = ws["!data"] != null;
|
|
16022
16280
|
var or_R = 0, or_C = 0;
|
|
16023
16281
|
if (opts.origin != null) {
|
|
16024
16282
|
if (typeof opts.origin == "number") or_R = opts.origin;
|
|
@@ -16028,7 +16286,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16028
16286
|
or_C = _origin.c;
|
|
16029
16287
|
}
|
|
16030
16288
|
}
|
|
16031
|
-
var rows = table.getElementsByTagName("tr");
|
|
16032
16289
|
var sheetRows = Math.min(opts.sheetRows || 1e7, rows.length);
|
|
16033
16290
|
var range2 = { s: { r: 0, c: 0 }, e: { r: or_R, c: or_C } };
|
|
16034
16291
|
if (ws["!ref"]) {
|
|
@@ -16049,7 +16306,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16049
16306
|
if (opts.display) continue;
|
|
16050
16307
|
rowinfo[R] = { hidden: true };
|
|
16051
16308
|
}
|
|
16052
|
-
var elts = row.
|
|
16309
|
+
var elts = row.cells;
|
|
16053
16310
|
for (_C = C = 0; _C < elts.length; ++_C) {
|
|
16054
16311
|
var elt = elts[_C];
|
|
16055
16312
|
if (opts.display && is_dom_element_hidden(elt)) continue;
|
|
@@ -16069,14 +16326,16 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16069
16326
|
if (v != null) {
|
|
16070
16327
|
if (v.length == 0) o.t = _t || "z";
|
|
16071
16328
|
else if (opts.raw || v.trim().length == 0 || _t == "s") ;
|
|
16329
|
+
else if (_t == "e" && BErr[+v]) o = { t: "e", v: +v, w: BErr[+v] };
|
|
16072
16330
|
else if (v === "TRUE") o = { t: "b", v: true };
|
|
16073
16331
|
else if (v === "FALSE") o = { t: "b", v: false };
|
|
16074
16332
|
else if (!isNaN(fuzzynum(v))) o = { t: "n", v: fuzzynum(v) };
|
|
16075
16333
|
else if (!isNaN(fuzzydate(v).getDate())) {
|
|
16076
16334
|
o = { t: "d", v: parseDate(v) };
|
|
16335
|
+
if (opts.UTC) o.v = local_to_utc(o.v);
|
|
16077
16336
|
if (!opts.cellDates) o = { t: "n", v: datenum(o.v) };
|
|
16078
16337
|
o.z = opts.dateNF || table_fmt[14];
|
|
16079
|
-
}
|
|
16338
|
+
} else if (v.charCodeAt(0) == 35 && RBErr[v] != null) o = { t: "e", v: RBErr[v], w: v };
|
|
16080
16339
|
}
|
|
16081
16340
|
if (o.z === void 0 && z != null) o.z = z;
|
|
16082
16341
|
var l = "", Aelts = elt.getElementsByTagName("A");
|
|
@@ -16086,10 +16345,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16086
16345
|
if (l.charAt(0) != "#") break;
|
|
16087
16346
|
}
|
|
16088
16347
|
}
|
|
16089
|
-
if (l && l.charAt(0) != "#") o.l = { Target: l };
|
|
16090
|
-
if (
|
|
16091
|
-
if (!ws[R + or_R]) ws[R + or_R] = [];
|
|
16092
|
-
ws[R + or_R][C + or_C] = o;
|
|
16348
|
+
if (l && l.charAt(0) != "#" && l.slice(0, 11).toLowerCase() != "javascript:") o.l = { Target: l };
|
|
16349
|
+
if (dense) {
|
|
16350
|
+
if (!ws["!data"][R + or_R]) ws["!data"][R + or_R] = [];
|
|
16351
|
+
ws["!data"][R + or_R][C + or_C] = o;
|
|
16093
16352
|
} else ws[encode_cell({ c: C + or_C, r: R + or_R })] = o;
|
|
16094
16353
|
if (range2.e.c < C + or_C) range2.e.c = C + or_C;
|
|
16095
16354
|
C += CS;
|
|
@@ -16104,11 +16363,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16104
16363
|
}
|
|
16105
16364
|
function parse_dom_table(table, _opts) {
|
|
16106
16365
|
var opts = _opts || {};
|
|
16107
|
-
var ws =
|
|
16366
|
+
var ws = {};
|
|
16367
|
+
if (opts.dense) ws["!data"] = [];
|
|
16108
16368
|
return sheet_add_dom(ws, table, _opts);
|
|
16109
16369
|
}
|
|
16110
16370
|
function table_to_book(table, opts) {
|
|
16111
|
-
|
|
16371
|
+
var o = sheet_to_workbook(parse_dom_table(table, opts), opts);
|
|
16372
|
+
return o;
|
|
16112
16373
|
}
|
|
16113
16374
|
function is_dom_element_hidden(element) {
|
|
16114
16375
|
var display = "";
|
|
@@ -16122,6 +16383,25 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16122
16383
|
if (typeof getComputedStyle === "function") return getComputedStyle;
|
|
16123
16384
|
return null;
|
|
16124
16385
|
}
|
|
16386
|
+
/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */
|
|
16387
|
+
(function() {
|
|
16388
|
+
try {
|
|
16389
|
+
if (typeof Uint8Array == "undefined")
|
|
16390
|
+
return "slice";
|
|
16391
|
+
if (typeof Uint8Array.prototype.subarray == "undefined")
|
|
16392
|
+
return "slice";
|
|
16393
|
+
if (typeof Buffer !== "undefined") {
|
|
16394
|
+
if (typeof Buffer.prototype.subarray == "undefined")
|
|
16395
|
+
return "slice";
|
|
16396
|
+
if ((typeof Buffer.from == "function" ? Buffer.from([72, 62]) : new Buffer([72, 62])) instanceof Uint8Array)
|
|
16397
|
+
return "subarray";
|
|
16398
|
+
return "slice";
|
|
16399
|
+
}
|
|
16400
|
+
return "subarray";
|
|
16401
|
+
} catch (e) {
|
|
16402
|
+
return "slice";
|
|
16403
|
+
}
|
|
16404
|
+
})();
|
|
16125
16405
|
function fix_opts_func(defaults) {
|
|
16126
16406
|
return function fix_opts(opts) {
|
|
16127
16407
|
for (var i = 0; i != defaults.length; ++i) {
|
|
@@ -16146,7 +16426,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16146
16426
|
])(opts);
|
|
16147
16427
|
}
|
|
16148
16428
|
function write_zip_xlsx(wb, opts) {
|
|
16149
|
-
_shapeid = 1024;
|
|
16150
16429
|
if (wb && !wb.SSF) {
|
|
16151
16430
|
wb.SSF = dup(table_fmt);
|
|
16152
16431
|
}
|
|
@@ -16228,10 +16507,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16228
16507
|
});
|
|
16229
16508
|
});
|
|
16230
16509
|
if (needtc) {
|
|
16231
|
-
cf = "xl/threadedComments/threadedComment" + rId + "."
|
|
16510
|
+
cf = "xl/threadedComments/threadedComment" + rId + ".xml";
|
|
16232
16511
|
zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));
|
|
16233
16512
|
ct.threadedcomments.push(cf);
|
|
16234
|
-
add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "."
|
|
16513
|
+
add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + ".xml", RELS.TCMNT);
|
|
16235
16514
|
}
|
|
16236
16515
|
cf = "xl/comments" + rId + "." + wbext;
|
|
16237
16516
|
zip_add_file(zip, cf, write_comments_xml(comments));
|
|
@@ -16240,7 +16519,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16240
16519
|
need_vml = true;
|
|
16241
16520
|
}
|
|
16242
16521
|
if (ws["!legacy"]) {
|
|
16243
|
-
if (need_vml) zip_add_file(zip, "xl/drawings/vmlDrawing" + rId + ".vml",
|
|
16522
|
+
if (need_vml) zip_add_file(zip, "xl/drawings/vmlDrawing" + rId + ".vml", write_vml(rId, ws["!comments"]));
|
|
16244
16523
|
}
|
|
16245
16524
|
delete ws["!comments"];
|
|
16246
16525
|
delete ws["!legacy"];
|
|
@@ -16365,10 +16644,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16365
16644
|
}
|
|
16366
16645
|
return write_zip_typeXLSX(wb, o);
|
|
16367
16646
|
}
|
|
16368
|
-
function make_json_row(sheet, r, R, cols, header, hdr,
|
|
16647
|
+
function make_json_row(sheet, r, R, cols, header, hdr, o) {
|
|
16369
16648
|
var rr = encode_row(R);
|
|
16370
16649
|
var defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, "raw");
|
|
16371
|
-
var isempty = true;
|
|
16650
|
+
var isempty = true, dense = sheet["!data"] != null;
|
|
16372
16651
|
var row = header === 1 ? [] : {};
|
|
16373
16652
|
if (header !== 1) {
|
|
16374
16653
|
if (Object.defineProperty) try {
|
|
@@ -16378,9 +16657,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16378
16657
|
}
|
|
16379
16658
|
else row.__rowNum__ = R;
|
|
16380
16659
|
}
|
|
16381
|
-
if (!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {
|
|
16382
|
-
var val = dense ? sheet[R][C] : sheet[cols[C] + rr];
|
|
16383
|
-
if (val
|
|
16660
|
+
if (!dense || sheet["!data"][R]) for (var C = r.s.c; C <= r.e.c; ++C) {
|
|
16661
|
+
var val = dense ? (sheet["!data"][R] || [])[C] : sheet[cols[C] + rr];
|
|
16662
|
+
if (val == null || val.t === void 0) {
|
|
16384
16663
|
if (defval === void 0) continue;
|
|
16385
16664
|
if (hdr[C] != null) {
|
|
16386
16665
|
row[hdr[C]] = defval;
|
|
@@ -16396,9 +16675,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16396
16675
|
v = v == 0 ? null : void 0;
|
|
16397
16676
|
break;
|
|
16398
16677
|
case "s":
|
|
16399
|
-
case "d":
|
|
16400
16678
|
case "b":
|
|
16401
16679
|
case "n":
|
|
16680
|
+
if (!val.z || !fmt_is_date(val.z)) break;
|
|
16681
|
+
v = numdate(v);
|
|
16682
|
+
if (typeof v == "number") break;
|
|
16683
|
+
/* falls through */
|
|
16684
|
+
case "d":
|
|
16685
|
+
if (!(o && (o.UTC || o.raw === false))) v = utc_to_local(new Date(v));
|
|
16402
16686
|
break;
|
|
16403
16687
|
default:
|
|
16404
16688
|
throw new Error("unrecognized type " + val.t);
|
|
@@ -16410,7 +16694,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16410
16694
|
else if (raw && v === null) row[hdr[C]] = null;
|
|
16411
16695
|
else continue;
|
|
16412
16696
|
} else {
|
|
16413
|
-
row[hdr[C]] =
|
|
16697
|
+
row[hdr[C]] = (val.t === "n" && typeof o.rawNumbers === "boolean" ? o.rawNumbers : raw) ? v : format_cell(val, v, o);
|
|
16414
16698
|
}
|
|
16415
16699
|
if (v != null) isempty = false;
|
|
16416
16700
|
}
|
|
@@ -16443,16 +16727,16 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16443
16727
|
var cols = [];
|
|
16444
16728
|
var out = [];
|
|
16445
16729
|
var outi = 0, counter = 0;
|
|
16446
|
-
var dense =
|
|
16730
|
+
var dense = sheet["!data"] != null;
|
|
16447
16731
|
var R = r.s.r, C = 0;
|
|
16448
16732
|
var header_cnt = {};
|
|
16449
|
-
if (dense && !sheet[R]) sheet[R] = [];
|
|
16733
|
+
if (dense && !sheet["!data"][R]) sheet["!data"][R] = [];
|
|
16450
16734
|
var colinfo = o.skipHidden && sheet["!cols"] || [];
|
|
16451
16735
|
var rowinfo = o.skipHidden && sheet["!rows"] || [];
|
|
16452
16736
|
for (C = r.s.c; C <= r.e.c; ++C) {
|
|
16453
16737
|
if ((colinfo[C] || {}).hidden) continue;
|
|
16454
16738
|
cols[C] = encode_col(C);
|
|
16455
|
-
val = dense ? sheet[R][C] : sheet[cols[C] + rr];
|
|
16739
|
+
val = dense ? sheet["!data"][R][C] : sheet[cols[C] + rr];
|
|
16456
16740
|
switch (header) {
|
|
16457
16741
|
case 1:
|
|
16458
16742
|
hdr[C] = C - r.s.c;
|
|
@@ -16480,19 +16764,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16480
16764
|
}
|
|
16481
16765
|
for (R = r.s.r + offset; R <= r.e.r; ++R) {
|
|
16482
16766
|
if ((rowinfo[R] || {}).hidden) continue;
|
|
16483
|
-
var row = make_json_row(sheet, r, R, cols, header, hdr,
|
|
16767
|
+
var row = make_json_row(sheet, r, R, cols, header, hdr, o);
|
|
16484
16768
|
if (row.isempty === false || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;
|
|
16485
16769
|
}
|
|
16486
16770
|
out.length = outi;
|
|
16487
16771
|
return out;
|
|
16488
16772
|
}
|
|
16489
16773
|
var qreg = /"/g;
|
|
16490
|
-
function make_csv_row(sheet, r, R, cols, fs, rs, FS, o) {
|
|
16774
|
+
function make_csv_row(sheet, r, R, cols, fs, rs, FS, w, o) {
|
|
16491
16775
|
var isempty = true;
|
|
16492
16776
|
var row = [], txt = "", rr = encode_row(R);
|
|
16777
|
+
var dense = sheet["!data"] != null;
|
|
16778
|
+
var datarow = dense && sheet["!data"][R] || [];
|
|
16493
16779
|
for (var C = r.s.c; C <= r.e.c; ++C) {
|
|
16494
16780
|
if (!cols[C]) continue;
|
|
16495
|
-
var val =
|
|
16781
|
+
var val = dense ? datarow[C] : sheet[cols[C] + rr];
|
|
16496
16782
|
if (val == null) txt = "";
|
|
16497
16783
|
else if (val.v != null) {
|
|
16498
16784
|
isempty = false;
|
|
@@ -16501,7 +16787,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16501
16787
|
txt = '"' + txt.replace(qreg, '""') + '"';
|
|
16502
16788
|
break;
|
|
16503
16789
|
}
|
|
16504
|
-
if (txt == "ID") txt = '"ID"';
|
|
16790
|
+
if (txt == "ID" && w == 0 && row.length == 0) txt = '"ID"';
|
|
16505
16791
|
} else if (val.f != null && !val.F) {
|
|
16506
16792
|
isempty = false;
|
|
16507
16793
|
txt = "=" + val.f;
|
|
@@ -16509,6 +16795,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16509
16795
|
} else txt = "";
|
|
16510
16796
|
row.push(txt);
|
|
16511
16797
|
}
|
|
16798
|
+
if (o.strip) while (row[row.length - 1] === "") --row.length;
|
|
16512
16799
|
if (o.blankrows === false && isempty) return null;
|
|
16513
16800
|
return row.join(FS);
|
|
16514
16801
|
}
|
|
@@ -16519,23 +16806,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16519
16806
|
var r = safe_decode_range(sheet["!ref"]);
|
|
16520
16807
|
var FS = o.FS !== void 0 ? o.FS : ",", fs = FS.charCodeAt(0);
|
|
16521
16808
|
var RS = o.RS !== void 0 ? o.RS : "\n", rs = RS.charCodeAt(0);
|
|
16522
|
-
var endregex = new RegExp((FS == "|" ? "\\|" : FS) + "+$");
|
|
16523
16809
|
var row = "", cols = [];
|
|
16524
|
-
o.dense = Array.isArray(sheet);
|
|
16525
16810
|
var colinfo = o.skipHidden && sheet["!cols"] || [];
|
|
16526
16811
|
var rowinfo = o.skipHidden && sheet["!rows"] || [];
|
|
16527
16812
|
for (var C = r.s.c; C <= r.e.c; ++C) if (!(colinfo[C] || {}).hidden) cols[C] = encode_col(C);
|
|
16528
16813
|
var w = 0;
|
|
16529
16814
|
for (var R = r.s.r; R <= r.e.r; ++R) {
|
|
16530
16815
|
if ((rowinfo[R] || {}).hidden) continue;
|
|
16531
|
-
row = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);
|
|
16816
|
+
row = make_csv_row(sheet, r, R, cols, fs, rs, FS, w, o);
|
|
16532
16817
|
if (row == null) {
|
|
16533
16818
|
continue;
|
|
16534
16819
|
}
|
|
16535
|
-
if (o.strip) row = row.replace(endregex, "");
|
|
16536
16820
|
if (row || o.blankrows !== false) out.push((w++ ? RS : "") + row);
|
|
16537
16821
|
}
|
|
16538
|
-
delete o.dense;
|
|
16539
16822
|
return out.join("");
|
|
16540
16823
|
}
|
|
16541
16824
|
function sheet_to_txt(sheet, opts) {
|
|
@@ -16545,18 +16828,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16545
16828
|
var s = sheet_to_csv(sheet, opts);
|
|
16546
16829
|
return s;
|
|
16547
16830
|
}
|
|
16548
|
-
function sheet_to_formulae(sheet) {
|
|
16831
|
+
function sheet_to_formulae(sheet, opts) {
|
|
16549
16832
|
var y = "", x, val = "";
|
|
16550
16833
|
if (sheet == null || sheet["!ref"] == null) return [];
|
|
16551
16834
|
var r = safe_decode_range(sheet["!ref"]), rr = "", cols = [], C;
|
|
16552
16835
|
var cmds = [];
|
|
16553
|
-
var dense =
|
|
16836
|
+
var dense = sheet["!data"] != null;
|
|
16554
16837
|
for (C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);
|
|
16555
16838
|
for (var R = r.s.r; R <= r.e.r; ++R) {
|
|
16556
16839
|
rr = encode_row(R);
|
|
16557
16840
|
for (C = r.s.c; C <= r.e.c; ++C) {
|
|
16558
16841
|
y = cols[C] + rr;
|
|
16559
|
-
x = dense ? (sheet[R] || [])[C] : sheet[y];
|
|
16842
|
+
x = dense ? (sheet["!data"][R] || [])[C] : sheet[y];
|
|
16560
16843
|
val = "";
|
|
16561
16844
|
if (x === void 0) continue;
|
|
16562
16845
|
else if (x.F != null) {
|
|
@@ -16566,6 +16849,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16566
16849
|
if (y.indexOf(":") == -1) y = y + ":" + y;
|
|
16567
16850
|
}
|
|
16568
16851
|
if (x.f != null) val = x.f;
|
|
16852
|
+
else if (opts && opts.values === false) continue;
|
|
16569
16853
|
else if (x.t == "z") continue;
|
|
16570
16854
|
else if (x.t == "n" && x.v != null) val = "" + x.v;
|
|
16571
16855
|
else if (x.t == "b") val = x.v ? "TRUE" : "FALSE";
|
|
@@ -16580,8 +16864,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16580
16864
|
}
|
|
16581
16865
|
function sheet_add_json(_ws, js, opts) {
|
|
16582
16866
|
var o = opts || {};
|
|
16867
|
+
var dense = _ws ? _ws["!data"] != null : o.dense;
|
|
16583
16868
|
var offset = +!o.skipHeader;
|
|
16584
16869
|
var ws = _ws || {};
|
|
16870
|
+
if (!_ws && dense) ws["!data"] = [];
|
|
16585
16871
|
var _R = 0, _C = 0;
|
|
16586
16872
|
if (ws && o.origin != null) {
|
|
16587
16873
|
if (typeof o.origin == "number") _R = o.origin;
|
|
@@ -16591,7 +16877,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16591
16877
|
_C = _origin.c;
|
|
16592
16878
|
}
|
|
16593
16879
|
}
|
|
16594
|
-
var cell;
|
|
16595
16880
|
var range2 = { s: { c: 0, r: 0 }, e: { c: _C, r: _R + js.length - 1 + offset } };
|
|
16596
16881
|
if (ws["!ref"]) {
|
|
16597
16882
|
var _range = safe_decode_range(ws["!ref"]);
|
|
@@ -16608,33 +16893,40 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16608
16893
|
}
|
|
16609
16894
|
}
|
|
16610
16895
|
var hdr = o.header || [], C = 0;
|
|
16896
|
+
var ROW = [];
|
|
16611
16897
|
js.forEach(function(JS, R) {
|
|
16898
|
+
if (dense && !ws["!data"][_R + R + offset]) ws["!data"][_R + R + offset] = [];
|
|
16899
|
+
if (dense) ROW = ws["!data"][_R + R + offset];
|
|
16612
16900
|
keys(JS).forEach(function(k) {
|
|
16613
16901
|
if ((C = hdr.indexOf(k)) == -1) hdr[C = hdr.length] = k;
|
|
16614
16902
|
var v = JS[k];
|
|
16615
16903
|
var t = "z";
|
|
16616
16904
|
var z = "";
|
|
16617
|
-
var ref2 =
|
|
16618
|
-
cell =
|
|
16905
|
+
var ref2 = dense ? "" : encode_col(_C + C) + encode_row(_R + R + offset);
|
|
16906
|
+
var cell = dense ? ROW[_C + C] : ws[ref2];
|
|
16619
16907
|
if (v && typeof v === "object" && !(v instanceof Date)) {
|
|
16620
|
-
|
|
16908
|
+
if (dense) ROW[_C + C] = v;
|
|
16909
|
+
else ws[ref2] = v;
|
|
16621
16910
|
} else {
|
|
16622
16911
|
if (typeof v == "number") t = "n";
|
|
16623
16912
|
else if (typeof v == "boolean") t = "b";
|
|
16624
16913
|
else if (typeof v == "string") t = "s";
|
|
16625
16914
|
else if (v instanceof Date) {
|
|
16626
16915
|
t = "d";
|
|
16916
|
+
if (!o.UTC) v = local_to_utc(v);
|
|
16627
16917
|
if (!o.cellDates) {
|
|
16628
16918
|
t = "n";
|
|
16629
16919
|
v = datenum(v);
|
|
16630
16920
|
}
|
|
16631
|
-
z = o.dateNF || table_fmt[14];
|
|
16921
|
+
z = cell != null && cell.z && fmt_is_date(cell.z) ? cell.z : o.dateNF || table_fmt[14];
|
|
16632
16922
|
} else if (v === null && o.nullError) {
|
|
16633
16923
|
t = "e";
|
|
16634
16924
|
v = 0;
|
|
16635
16925
|
}
|
|
16636
|
-
if (!cell)
|
|
16637
|
-
|
|
16926
|
+
if (!cell) {
|
|
16927
|
+
if (!dense) ws[ref2] = cell = { t, v };
|
|
16928
|
+
else ROW[_C + C] = cell = { t, v };
|
|
16929
|
+
} else {
|
|
16638
16930
|
cell.t = t;
|
|
16639
16931
|
cell.v = v;
|
|
16640
16932
|
delete cell.w;
|
|
@@ -16647,7 +16939,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16647
16939
|
});
|
|
16648
16940
|
range2.e.c = Math.max(range2.e.c, _C + hdr.length - 1);
|
|
16649
16941
|
var __R = encode_row(_R);
|
|
16650
|
-
if (
|
|
16942
|
+
if (dense && !ws["!data"][_R]) ws["!data"][_R] = [];
|
|
16943
|
+
if (offset) for (C = 0; C < hdr.length; ++C) {
|
|
16944
|
+
if (dense) ws["!data"][_R][C + _C] = { t: "s", v: hdr[C] };
|
|
16945
|
+
else ws[encode_col(C + _C) + __R] = { t: "s", v: hdr[C] };
|
|
16946
|
+
}
|
|
16651
16947
|
ws["!ref"] = encode_range(range2);
|
|
16652
16948
|
return ws;
|
|
16653
16949
|
}
|
|
@@ -16656,15 +16952,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16656
16952
|
}
|
|
16657
16953
|
function ws_get_cell_stub(ws, R, C) {
|
|
16658
16954
|
if (typeof R == "string") {
|
|
16659
|
-
if (
|
|
16955
|
+
if (ws["!data"] != null) {
|
|
16660
16956
|
var RC = decode_cell(R);
|
|
16661
|
-
if (!ws[RC.r]) ws[RC.r] = [];
|
|
16662
|
-
return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = { t: "z" });
|
|
16957
|
+
if (!ws["!data"][RC.r]) ws["!data"][RC.r] = [];
|
|
16958
|
+
return ws["!data"][RC.r][RC.c] || (ws["!data"][RC.r][RC.c] = { t: "z" });
|
|
16663
16959
|
}
|
|
16664
16960
|
return ws[R] || (ws[R] = { t: "z" });
|
|
16665
16961
|
}
|
|
16666
16962
|
if (typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R));
|
|
16667
|
-
return ws_get_cell_stub(ws,
|
|
16963
|
+
return ws_get_cell_stub(ws, encode_col(C || 0) + encode_row(R));
|
|
16668
16964
|
}
|
|
16669
16965
|
function wb_sheet_idx(wb, sh) {
|
|
16670
16966
|
if (typeof sh == "number") {
|
|
@@ -16676,8 +16972,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16676
16972
|
throw new Error("Cannot find sheet name |" + sh + "|");
|
|
16677
16973
|
} else throw new Error("Cannot find sheet |" + sh + "|");
|
|
16678
16974
|
}
|
|
16679
|
-
function book_new() {
|
|
16680
|
-
|
|
16975
|
+
function book_new(ws, wsname) {
|
|
16976
|
+
var wb = { SheetNames: [], Sheets: {} };
|
|
16977
|
+
if (ws) book_append_sheet(wb, ws, wsname || "Sheet1");
|
|
16978
|
+
return wb;
|
|
16681
16979
|
}
|
|
16682
16980
|
function book_append_sheet(wb, ws, name, roll) {
|
|
16683
16981
|
var i = 1;
|
|
@@ -16685,10 +16983,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16685
16983
|
for (; i <= 65535; ++i, name = void 0) if (wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break;
|
|
16686
16984
|
}
|
|
16687
16985
|
if (!name || wb.SheetNames.length >= 65535) throw new Error("Too many worksheets");
|
|
16688
|
-
if (roll && wb.SheetNames.indexOf(name) >= 0) {
|
|
16689
|
-
var m = name.match(
|
|
16690
|
-
i = m && +m[
|
|
16691
|
-
var root = m && m
|
|
16986
|
+
if (roll && wb.SheetNames.indexOf(name) >= 0 && name.length < 32) {
|
|
16987
|
+
var m = name.match(/\d+$/);
|
|
16988
|
+
i = m && +m[0] || 0;
|
|
16989
|
+
var root = m && name.slice(0, m.index) || name;
|
|
16692
16990
|
for (++i; i <= 65535; ++i) if (wb.SheetNames.indexOf(name = root + i) == -1) break;
|
|
16693
16991
|
}
|
|
16694
16992
|
check_ws_name(name);
|
|
@@ -16745,6 +17043,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16745
17043
|
if (dynamic) cell.D = true;
|
|
16746
17044
|
}
|
|
16747
17045
|
}
|
|
17046
|
+
var wsr = decode_range(ws["!ref"]);
|
|
17047
|
+
if (wsr.s.r > rng.s.r) wsr.s.r = rng.s.r;
|
|
17048
|
+
if (wsr.s.c > rng.s.c) wsr.s.c = rng.s.c;
|
|
17049
|
+
if (wsr.e.r < rng.e.r) wsr.e.r = rng.e.r;
|
|
17050
|
+
if (wsr.e.c < rng.e.c) wsr.e.c = rng.e.c;
|
|
17051
|
+
ws["!ref"] = encode_range(wsr);
|
|
16748
17052
|
return ws;
|
|
16749
17053
|
}
|
|
16750
17054
|
var utils$1 = {
|
|
@@ -16758,6 +17062,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16758
17062
|
decode_cell,
|
|
16759
17063
|
decode_range,
|
|
16760
17064
|
format_cell,
|
|
17065
|
+
sheet_new,
|
|
16761
17066
|
sheet_add_aoa,
|
|
16762
17067
|
sheet_add_json,
|
|
16763
17068
|
sheet_add_dom,
|
|
@@ -16958,7 +17263,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16958
17263
|
errorBars,
|
|
16959
17264
|
categories,
|
|
16960
17265
|
values,
|
|
16961
|
-
|
|
17266
|
+
shapeFmt,
|
|
16962
17267
|
extensionList
|
|
16963
17268
|
} = _l, options = __objRest(_l, [
|
|
16964
17269
|
"invertIfNegative",
|
|
@@ -16969,7 +17274,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
16969
17274
|
"errorBars",
|
|
16970
17275
|
"categories",
|
|
16971
17276
|
"values",
|
|
16972
|
-
"
|
|
17277
|
+
"shapeFmt",
|
|
16973
17278
|
"extensionList"
|
|
16974
17279
|
]);
|
|
16975
17280
|
super("c:ser");
|
|
@@ -17012,8 +17317,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17012
17317
|
})
|
|
17013
17318
|
);
|
|
17014
17319
|
}
|
|
17015
|
-
if (
|
|
17016
|
-
this.root.push(new StringEnumValueElement("c:shape",
|
|
17320
|
+
if (shapeFmt) {
|
|
17321
|
+
this.root.push(new StringEnumValueElement("c:shape", shapeFmt, ""));
|
|
17017
17322
|
}
|
|
17018
17323
|
if (extensionList) {
|
|
17019
17324
|
this.root.push(new ExtensionList(extensionList));
|
|
@@ -29487,7 +29792,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
29487
29792
|
relationshipAdditions.push({
|
|
29488
29793
|
key,
|
|
29489
29794
|
entries: chartEntries.map(([tempId], index) => ({
|
|
29490
|
-
name: `chart${index + 1}`,
|
|
29795
|
+
name: `chart${index + 1}.xml`,
|
|
29491
29796
|
path: "charts",
|
|
29492
29797
|
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
|
|
29493
29798
|
repl: tempId
|