@gui-chat-plugin/spreadsheet 3.0.0 → 4.0.1
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/README.md +9 -8
- package/dist/core/index.d.ts +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -2
- package/dist/engine/cellBuilder.d.ts +1 -0
- package/dist/engine/registry.d.ts +4 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -2
- package/dist/{samples-Cylf7cMw.js → samples-CaAbe1tF.js} +1 -1
- package/dist/{samples-BzI0GdUj.cjs → samples-DUNRjoGw.cjs} +1 -1
- package/dist/style.css +1 -1
- package/dist/vue/index.d.ts +1 -1
- package/dist/vue.cjs +19 -19
- package/dist/vue.js +838 -904
- package/package.json +23 -11
package/dist/vue.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "./samples-
|
|
1
|
+
import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "./samples-CaAbe1tF.js";
|
|
2
2
|
import { createSerialLock as p } from "gui-chat-protocol";
|
|
3
3
|
import { Fragment as m, computed as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createTextVNode as y, defineComponent as b, inject as x, normalizeClass as S, onMounted as C, onUnmounted as w, openBlock as T, ref as E, renderList as D, toDisplayString as O, unref as k, vModelRadio as A, vModelText as ee, watch as te, withDirectives as ne, withKeys as re } from "vue";
|
|
4
4
|
import { PLUGIN_RUNTIME_KEY as ie, createUseT as ae } from "gui-chat-protocol/vue";
|
|
@@ -1162,15 +1162,10 @@ function Nt(e, t, n) {
|
|
|
1162
1162
|
function Pt(e, t) {
|
|
1163
1163
|
if (typeof t != "number") {
|
|
1164
1164
|
t = +t || -1;
|
|
1165
|
-
for (var n = 0; n < 392; ++n)
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
}
|
|
1170
|
-
if (P[n] == e) {
|
|
1171
|
-
t = n;
|
|
1172
|
-
break;
|
|
1173
|
-
}
|
|
1165
|
+
for (var n = 0; n < 392; ++n) if (P[n] == null) t < 0 && (t = n);
|
|
1166
|
+
else if (P[n] == e) {
|
|
1167
|
+
t = n;
|
|
1168
|
+
break;
|
|
1174
1169
|
}
|
|
1175
1170
|
t < 0 && (t = 391);
|
|
1176
1171
|
}
|
|
@@ -1581,13 +1576,13 @@ var Ht = /*#__PURE__*/ (function() {
|
|
|
1581
1576
|
for (c = 0; c < 17; ++c) i.write_shift(4, 0);
|
|
1582
1577
|
for (c = 0; c < 3; ++c) i.write_shift(4, -1);
|
|
1583
1578
|
for (c = 0; c < 12; ++c) i.write_shift(4, 0);
|
|
1584
|
-
|
|
1579
|
+
} else {
|
|
1580
|
+
u = e.FileIndex[a], a === 0 && (u.start = u.size ? u.start - 1 : O);
|
|
1581
|
+
var f = a === 0 && n.root || u.name;
|
|
1582
|
+
if (f.length > 31 && (console.error("Name " + f + " will be truncated to " + f.slice(0, 31)), f = f.slice(0, 31)), l = 2 * (f.length + 1), i.write_shift(64, f, "utf16le"), i.write_shift(2, l), i.write_shift(1, u.type), i.write_shift(1, u.color), i.write_shift(-4, u.L), i.write_shift(-4, u.R), i.write_shift(-4, u.C), u.clsid) i.write_shift(16, u.clsid, "hex");
|
|
1583
|
+
else for (c = 0; c < 4; ++c) i.write_shift(4, 0);
|
|
1584
|
+
i.write_shift(4, u.state || 0), i.write_shift(4, 0), i.write_shift(4, 0), i.write_shift(4, 0), i.write_shift(4, 0), i.write_shift(4, u.start), i.write_shift(4, u.size), i.write_shift(4, 0);
|
|
1585
1585
|
}
|
|
1586
|
-
u = e.FileIndex[a], a === 0 && (u.start = u.size ? u.start - 1 : O);
|
|
1587
|
-
var f = a === 0 && n.root || u.name;
|
|
1588
|
-
if (f.length > 31 && (console.error("Name " + f + " will be truncated to " + f.slice(0, 31)), f = f.slice(0, 31)), l = 2 * (f.length + 1), i.write_shift(64, f, "utf16le"), i.write_shift(2, l), i.write_shift(1, u.type), i.write_shift(1, u.color), i.write_shift(-4, u.L), i.write_shift(-4, u.R), i.write_shift(-4, u.C), u.clsid) i.write_shift(16, u.clsid, "hex");
|
|
1589
|
-
else for (c = 0; c < 4; ++c) i.write_shift(4, 0);
|
|
1590
|
-
i.write_shift(4, u.state || 0), i.write_shift(4, 0), i.write_shift(4, 0), i.write_shift(4, 0), i.write_shift(4, 0), i.write_shift(4, u.start), i.write_shift(4, u.size), i.write_shift(4, 0);
|
|
1591
1586
|
}
|
|
1592
1587
|
for (a = 1; a < e.FileIndex.length; ++a) if (u = e.FileIndex[a], u.size >= 4096) {
|
|
1593
1588
|
if (i.l = u.start + 1 << 9, N && Buffer.isBuffer(u.content)) u.content.copy(i, i.l, 0, u.size), i.l += u.size + 511 & -512;
|
|
@@ -1886,25 +1881,25 @@ var Ht = /*#__PURE__*/ (function() {
|
|
|
1886
1881
|
if (s < 10) {
|
|
1887
1882
|
for (i = De(n, i, +(a + s == t.length)), i & 7 && (i += 8 - (i & 7)), n.l = i / 8 | 0, n.write_shift(2, s), n.write_shift(2, ~s & 65535); s-- > 0;) n[n.l++] = t[a++];
|
|
1888
1883
|
i = n.l * 8;
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
}
|
|
1884
|
+
} else {
|
|
1885
|
+
i = De(n, i, +(a + s == t.length) + 2);
|
|
1886
|
+
for (var c = 0; s-- > 0;) {
|
|
1887
|
+
var l = t[a];
|
|
1888
|
+
c = (c << 5 ^ l) & 32767;
|
|
1889
|
+
var u = -1, d = 0;
|
|
1890
|
+
if ((u = o[c]) && (u |= a & -32768, u > a && (u -= 32768), u < a)) for (; t[u + d] == t[a + d] && d < 250;) ++d;
|
|
1891
|
+
if (d > 2) {
|
|
1892
|
+
l = r[d], l <= 22 ? i = Ae(n, i, pe[l + 1] >> 1) - 1 : (Ae(n, i, 3), i += 5, Ae(n, i, pe[l - 23] >> 5), i += 3);
|
|
1893
|
+
var f = l < 8 ? 0 : l - 4 >> 2;
|
|
1894
|
+
f > 0 && (Ne(n, i, d - ue[l]), i += f), l = e[a - u], i = Ae(n, i, pe[l] >> 3), i -= 3;
|
|
1895
|
+
var p = l < 4 ? 0 : l - 2 >> 1;
|
|
1896
|
+
p > 0 && (Ne(n, i, a - u - de[l]), i += p);
|
|
1897
|
+
for (var m = 0; m < d; ++m) o[c] = a & 32767, c = (c << 5 ^ t[a]) & 32767, ++a;
|
|
1898
|
+
s -= d - 1;
|
|
1899
|
+
} else l <= 143 ? l += 48 : i = Oe(n, i, 1), i = Ae(n, i, pe[l]), o[c] = a & 32767, ++a;
|
|
1900
|
+
}
|
|
1901
|
+
i = Ae(n, i, 0) - 1;
|
|
1906
1902
|
}
|
|
1907
|
-
i = Ae(n, i, 0) - 1;
|
|
1908
1903
|
}
|
|
1909
1904
|
return n.l = (i + 7) / 8 | 0, n.l;
|
|
1910
1905
|
}
|
|
@@ -2097,11 +2092,8 @@ var Ht = /*#__PURE__*/ (function() {
|
|
|
2097
2092
|
t = t.replace(/ $/gm, "=20").replace(/\t$/gm, "=09"), t.charAt(0) == "\n" && (t = "=0D" + t.slice(1)), t = t.replace(/\r(?!\n)/gm, "=0D").replace(/\n\n/gm, "\n=0A").replace(/([^\r\n])\n/gm, "$1=0A");
|
|
2098
2093
|
for (var n = [], r = t.split("\r\n"), i = 0; i < r.length; ++i) {
|
|
2099
2094
|
var a = r[i];
|
|
2100
|
-
if (a.length == 0)
|
|
2101
|
-
|
|
2102
|
-
continue;
|
|
2103
|
-
}
|
|
2104
|
-
for (var o = 0; o < a.length;) {
|
|
2095
|
+
if (a.length == 0) n.push("");
|
|
2096
|
+
else for (var o = 0; o < a.length;) {
|
|
2105
2097
|
var s = 76, c = a.slice(o, o + s);
|
|
2106
2098
|
c.charAt(s - 1) == "=" ? s-- : c.charAt(s - 2) == "=" ? s -= 2 : c.charAt(s - 3) == "=" && (s -= 3), c = a.slice(o, o + s), o += s, o < a.length && (c += "="), n.push(c);
|
|
2107
2099
|
}
|
|
@@ -2510,21 +2502,7 @@ function jn(e) {
|
|
|
2510
2502
|
return !1;
|
|
2511
2503
|
}
|
|
2512
2504
|
function Mn(e) {
|
|
2513
|
-
for (var t = "", n = 0, r = 0, i = 0, a = 0, o = 0, s = 0; n < e.length;)
|
|
2514
|
-
if (r = e.charCodeAt(n++), r < 128) {
|
|
2515
|
-
t += String.fromCharCode(r);
|
|
2516
|
-
continue;
|
|
2517
|
-
}
|
|
2518
|
-
if (i = e.charCodeAt(n++), r > 191 && r < 224) {
|
|
2519
|
-
o = (r & 31) << 6, o |= i & 63, t += String.fromCharCode(o);
|
|
2520
|
-
continue;
|
|
2521
|
-
}
|
|
2522
|
-
if (a = e.charCodeAt(n++), r < 240) {
|
|
2523
|
-
t += String.fromCharCode((r & 15) << 12 | (i & 63) << 6 | a & 63);
|
|
2524
|
-
continue;
|
|
2525
|
-
}
|
|
2526
|
-
o = e.charCodeAt(n++), s = ((r & 7) << 18 | (i & 63) << 12 | (a & 63) << 6 | o & 63) - 65536, t += String.fromCharCode(55296 + (s >>> 10 & 1023)), t += String.fromCharCode(56320 + (s & 1023));
|
|
2527
|
-
}
|
|
2505
|
+
for (var t = "", n = 0, r = 0, i = 0, a = 0, o = 0, s = 0; n < e.length;) r = e.charCodeAt(n++), r < 128 ? t += String.fromCharCode(r) : (i = e.charCodeAt(n++), r > 191 && r < 224 ? (o = (r & 31) << 6, o |= i & 63, t += String.fromCharCode(o)) : (a = e.charCodeAt(n++), r < 240 ? t += String.fromCharCode((r & 15) << 12 | (i & 63) << 6 | a & 63) : (o = e.charCodeAt(n++), s = ((r & 7) << 18 | (i & 63) << 12 | (a & 63) << 6 | o & 63) - 65536, t += String.fromCharCode(55296 + (s >>> 10 & 1023)), t += String.fromCharCode(56320 + (s & 1023)))));
|
|
2528
2506
|
return t;
|
|
2529
2507
|
}
|
|
2530
2508
|
function Nn(e) {
|
|
@@ -4616,77 +4594,72 @@ var So = /*#__PURE__*/ (function() {
|
|
|
4616
4594
|
i.l = u;
|
|
4617
4595
|
var g = 0, _ = 0;
|
|
4618
4596
|
for (r[0] = [], _ = 0; _ != f.length; ++_) r[0][_] = f[_].name;
|
|
4619
|
-
for (; l-- > 0;)
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
case "":
|
|
4653
|
-
case "\0":
|
|
4654
|
-
case "?": break;
|
|
4655
|
-
default: throw Error("DBF Unrecognized L:|" + y + "|");
|
|
4656
|
-
}
|
|
4657
|
-
break;
|
|
4658
|
-
case "M":
|
|
4659
|
-
if (!o) throw Error("DBF Unexpected MEMO for type " + a.toString(16));
|
|
4660
|
-
r[g][_] = "##MEMO##" + (c ? parseInt(y.trim(), 10) : v.read_shift(4));
|
|
4661
|
-
break;
|
|
4662
|
-
case "N":
|
|
4663
|
-
y = y.replace(/\u0000/g, "").trim(), y && y != "." && (r[g][_] = +y || 0);
|
|
4664
|
-
break;
|
|
4665
|
-
case "@":
|
|
4666
|
-
r[g][_] = /* @__PURE__ */ new Date(v.read_shift(-8, "f") - 621356832e5);
|
|
4667
|
-
break;
|
|
4668
|
-
case "T":
|
|
4669
|
-
var b = v.read_shift(4), x = v.read_shift(4);
|
|
4670
|
-
if (b == 0 && x == 0) break;
|
|
4671
|
-
r[g][_] = new Date((b - 2440588) * 864e5 + x), n && n.UTC || (r[g][_] = yn(r[g][_]));
|
|
4672
|
-
break;
|
|
4673
|
-
case "Y":
|
|
4674
|
-
r[g][_] = v.read_shift(4, "i") / 1e4 + v.read_shift(4, "i") / 1e4 * 2 ** 32;
|
|
4675
|
-
break;
|
|
4676
|
-
case "O":
|
|
4677
|
-
r[g][_] = -v.read_shift(-8, "f");
|
|
4678
|
-
break;
|
|
4679
|
-
case "B": if (s && f[_].len == 8) {
|
|
4680
|
-
r[g][_] = v.read_shift(8, "f");
|
|
4681
|
-
break;
|
|
4597
|
+
for (; l-- > 0;) if (i[i.l] === 42) i.l += d;
|
|
4598
|
+
else for (++i.l, r[++g] = [], _ = 0, _ = 0; _ != f.length; ++_) {
|
|
4599
|
+
var v = i.slice(i.l, i.l + f[_].len);
|
|
4600
|
+
i.l += f[_].len, Or(v, 0);
|
|
4601
|
+
var y = De(v);
|
|
4602
|
+
switch (f[_].type) {
|
|
4603
|
+
case "C":
|
|
4604
|
+
y.trim().length && (r[g][_] = y.replace(/([^\s])\s+$/, "$1"));
|
|
4605
|
+
break;
|
|
4606
|
+
case "D":
|
|
4607
|
+
y.length === 8 ? (r[g][_] = new Date(Date.UTC(+y.slice(0, 4), y.slice(4, 6) - 1, +y.slice(6, 8), 0, 0, 0, 0)), n && n.UTC || (r[g][_] = yn(r[g][_]))) : r[g][_] = y;
|
|
4608
|
+
break;
|
|
4609
|
+
case "F":
|
|
4610
|
+
r[g][_] = parseFloat(y.trim());
|
|
4611
|
+
break;
|
|
4612
|
+
case "+":
|
|
4613
|
+
case "I":
|
|
4614
|
+
r[g][_] = c ? v.read_shift(-4, "i") ^ 2147483648 : v.read_shift(4, "i");
|
|
4615
|
+
break;
|
|
4616
|
+
case "L":
|
|
4617
|
+
switch (y.trim().toUpperCase()) {
|
|
4618
|
+
case "Y":
|
|
4619
|
+
case "T":
|
|
4620
|
+
r[g][_] = !0;
|
|
4621
|
+
break;
|
|
4622
|
+
case "N":
|
|
4623
|
+
case "F":
|
|
4624
|
+
r[g][_] = !1;
|
|
4625
|
+
break;
|
|
4626
|
+
case "":
|
|
4627
|
+
case "\0":
|
|
4628
|
+
case "?": break;
|
|
4629
|
+
default: throw Error("DBF Unrecognized L:|" + y + "|");
|
|
4682
4630
|
}
|
|
4683
|
-
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4631
|
+
break;
|
|
4632
|
+
case "M":
|
|
4633
|
+
if (!o) throw Error("DBF Unexpected MEMO for type " + a.toString(16));
|
|
4634
|
+
r[g][_] = "##MEMO##" + (c ? parseInt(y.trim(), 10) : v.read_shift(4));
|
|
4635
|
+
break;
|
|
4636
|
+
case "N":
|
|
4637
|
+
y = y.replace(/\u0000/g, "").trim(), y && y != "." && (r[g][_] = +y || 0);
|
|
4638
|
+
break;
|
|
4639
|
+
case "@":
|
|
4640
|
+
r[g][_] = /* @__PURE__ */ new Date(v.read_shift(-8, "f") - 621356832e5);
|
|
4641
|
+
break;
|
|
4642
|
+
case "T":
|
|
4643
|
+
var b = v.read_shift(4), x = v.read_shift(4);
|
|
4644
|
+
if (b == 0 && x == 0) break;
|
|
4645
|
+
r[g][_] = new Date((b - 2440588) * 864e5 + x), n && n.UTC || (r[g][_] = yn(r[g][_]));
|
|
4646
|
+
break;
|
|
4647
|
+
case "Y":
|
|
4648
|
+
r[g][_] = v.read_shift(4, "i") / 1e4 + v.read_shift(4, "i") / 1e4 * 2 ** 32;
|
|
4649
|
+
break;
|
|
4650
|
+
case "O":
|
|
4651
|
+
r[g][_] = -v.read_shift(-8, "f");
|
|
4652
|
+
break;
|
|
4653
|
+
case "B": if (s && f[_].len == 8) {
|
|
4654
|
+
r[g][_] = v.read_shift(8, "f");
|
|
4655
|
+
break;
|
|
4689
4656
|
}
|
|
4657
|
+
case "G":
|
|
4658
|
+
case "P":
|
|
4659
|
+
v.l += f[_].len;
|
|
4660
|
+
break;
|
|
4661
|
+
case "0": if (f[_].name === "_NullFlags") break;
|
|
4662
|
+
default: throw Error("DBF Unsupported data type " + f[_].type);
|
|
4690
4663
|
}
|
|
4691
4664
|
}
|
|
4692
4665
|
if (a != 2 && i.l < i.length && i[i.l++] != 26) throw Error("DBF EOF Marker missing " + (i.l - 1) + " of " + i.length + " " + i[i.l - 1].toString(16));
|
|
@@ -4732,18 +4705,13 @@ var So = /*#__PURE__*/ (function() {
|
|
|
4732
4705
|
raw: !0,
|
|
4733
4706
|
cellDates: !0
|
|
4734
4707
|
}), l = c[0], u = c.slice(1), d = n["!cols"] || [], f = 0, p = 0, m = 0, h = 1;
|
|
4735
|
-
for (f = 0; f < l.length; ++f) {
|
|
4736
|
-
|
|
4737
|
-
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
if (l.indexOf(l[f]) !== f) {
|
|
4743
|
-
for (p = 0; p < 1024; ++p) if (l.indexOf(l[f] + "_" + p) == -1) {
|
|
4744
|
-
l[f] += "_" + p;
|
|
4745
|
-
break;
|
|
4746
|
-
}
|
|
4708
|
+
for (f = 0; f < l.length; ++f) if (((d[f] || {}).DBF || {}).name) l[f] = d[f].DBF.name, ++m;
|
|
4709
|
+
else if (l[f] != null) {
|
|
4710
|
+
if (++m, typeof l[f] == "number" && (l[f] = l[f].toString(10)), typeof l[f] != "string") throw Error("DBF Invalid column name " + l[f] + " |" + typeof l[f] + "|");
|
|
4711
|
+
if (l.indexOf(l[f]) !== f) {
|
|
4712
|
+
for (p = 0; p < 1024; ++p) if (l.indexOf(l[f] + "_" + p) == -1) {
|
|
4713
|
+
l[f] += "_" + p;
|
|
4714
|
+
break;
|
|
4747
4715
|
}
|
|
4748
4716
|
}
|
|
4749
4717
|
}
|
|
@@ -4751,34 +4719,33 @@ var So = /*#__PURE__*/ (function() {
|
|
|
4751
4719
|
for (f = 0; f <= g.e.c - g.s.c; ++f) {
|
|
4752
4720
|
var b = "", x = "", S = 0, C = [];
|
|
4753
4721
|
for (p = 0; p < u.length; ++p) u[p][f] != null && C.push(u[p][f]);
|
|
4754
|
-
if (C.length == 0 || l[f] == null)
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4770
|
-
x =
|
|
4771
|
-
|
|
4772
|
-
|
|
4722
|
+
if (C.length == 0 || l[f] == null) _[f] = "?";
|
|
4723
|
+
else {
|
|
4724
|
+
for (p = 0; p < C.length; ++p) {
|
|
4725
|
+
switch (typeof C[p]) {
|
|
4726
|
+
case "number":
|
|
4727
|
+
x = "B";
|
|
4728
|
+
break;
|
|
4729
|
+
case "string":
|
|
4730
|
+
x = "C";
|
|
4731
|
+
break;
|
|
4732
|
+
case "boolean":
|
|
4733
|
+
x = "L";
|
|
4734
|
+
break;
|
|
4735
|
+
case "object":
|
|
4736
|
+
x = C[p] instanceof Date ? "D" : "C";
|
|
4737
|
+
break;
|
|
4738
|
+
default: x = "C";
|
|
4739
|
+
}
|
|
4740
|
+
S = Math.max(S, String(C[p]).length), b = b && b != x ? "C" : x;
|
|
4773
4741
|
}
|
|
4774
|
-
S
|
|
4742
|
+
S > 250 && (S = 250), x = ((d[f] || {}).DBF || {}).type, x == "C" && d[f].DBF.len > S && (S = d[f].DBF.len), b == "B" && x == "N" && (b = "N", y[f] = d[f].DBF.dec, S = d[f].DBF.len), v[f] = b == "C" || x == "N" ? S : a[b] || 0, h += v[f], _[f] = b;
|
|
4775
4743
|
}
|
|
4776
|
-
S > 250 && (S = 250), x = ((d[f] || {}).DBF || {}).type, x == "C" && d[f].DBF.len > S && (S = d[f].DBF.len), b == "B" && x == "N" && (b = "N", y[f] = d[f].DBF.dec, S = d[f].DBF.len), v[f] = b == "C" || x == "N" ? S : a[b] || 0, h += v[f], _[f] = b;
|
|
4777
4744
|
}
|
|
4778
4745
|
var w = s.next(32);
|
|
4779
4746
|
for (w.write_shift(4, 318902576), w.write_shift(4, u.length), w.write_shift(2, 296 + 32 * m), w.write_shift(2, h), f = 0; f < 4; ++f) w.write_shift(4, 0);
|
|
4780
4747
|
var T = +t[se] || 3;
|
|
4781
|
-
for (w.write_shift(4,
|
|
4748
|
+
for (w.write_shift(4, T << 8), e[T] != +i.codepage && (i.codepage && console.error("DBF Unsupported codepage " + se + ", using 1252"), se = 1252), f = 0, p = 0; f < l.length; ++f) if (l[f] != null) {
|
|
4782
4749
|
var E = s.next(32), D = (l[f].slice(-10) + "\0\0\0\0\0\0\0\0\0\0\0").slice(0, 11);
|
|
4783
4750
|
E.write_shift(1, D, "sbcs"), E.write_shift(1, _[f] == "?" ? "C" : _[f], "sbcs"), E.write_shift(4, p), E.write_shift(1, v[f] || a[_[f]] || 0), E.write_shift(1, y[f] || 0), E.write_shift(1, 2), E.write_shift(4, 0), E.write_shift(1, 0), E.write_shift(4, 0), E.write_shift(4, 0), p += v[f] || a[_[f]] || 0;
|
|
4784
4751
|
}
|
|
@@ -5155,30 +5122,25 @@ var So = /*#__PURE__*/ (function() {
|
|
|
5155
5122
|
throw Error("Unrecognized type " + n.type);
|
|
5156
5123
|
}
|
|
5157
5124
|
function t(e, t) {
|
|
5158
|
-
for (var n = e.split("\n"), r = -1, i = -1, a = 0, o = []; a !== n.length; ++a)
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
case 0:
|
|
5176
|
-
u === "TRUE" ? o[r][i] = !0 : u === "FALSE" ? o[r][i] = !1 : isNaN(un(l)) ? isNaN(vn(l).getDate()) ? o[r][i] = l : (o[r][i] = on(l), t && t.UTC || (o[r][i] = yn(o[r][i]))) : o[r][i] = un(l), ++i;
|
|
5177
|
-
break;
|
|
5178
|
-
case 1: u = u.slice(1, u.length - 1), u = u.replace(/""/g, "\""), ge && u && u.match(/^=".*"$/) && (u = u.slice(2, -1)), o[r][i++] = u === "" ? null : u;
|
|
5179
|
-
}
|
|
5180
|
-
if (u === "EOD") break;
|
|
5125
|
+
for (var n = e.split("\n"), r = -1, i = -1, a = 0, o = []; a !== n.length; ++a) if (n[a].trim() === "BOT") o[++r] = [], i = 0;
|
|
5126
|
+
else if (!(r < 0)) {
|
|
5127
|
+
var s = n[a].trim().split(","), c = s[0], l = s[1];
|
|
5128
|
+
++a;
|
|
5129
|
+
for (var u = n[a] || ""; (u.match(/["]/g) || []).length & 1 && a < n.length - 1;) u += "\n" + n[++a];
|
|
5130
|
+
switch (u = u.trim(), +c) {
|
|
5131
|
+
case -1:
|
|
5132
|
+
if (u === "BOT") {
|
|
5133
|
+
o[++r] = [], i = 0;
|
|
5134
|
+
continue;
|
|
5135
|
+
}
|
|
5136
|
+
if (u !== "EOD") throw Error("Unrecognized DIF special command " + u);
|
|
5137
|
+
break;
|
|
5138
|
+
case 0:
|
|
5139
|
+
u === "TRUE" ? o[r][i] = !0 : u === "FALSE" ? o[r][i] = !1 : isNaN(un(l)) ? isNaN(vn(l).getDate()) ? o[r][i] = l : (o[r][i] = on(l), t && t.UTC || (o[r][i] = yn(o[r][i]))) : o[r][i] = un(l), ++i;
|
|
5140
|
+
break;
|
|
5141
|
+
case 1: u = u.slice(1, u.length - 1), u = u.replace(/""/g, "\""), ge && u && u.match(/^=".*"$/) && (u = u.slice(2, -1)), o[r][i++] = u === "" ? null : u;
|
|
5181
5142
|
}
|
|
5143
|
+
if (u === "EOD") break;
|
|
5182
5144
|
}
|
|
5183
5145
|
return t && t.sheetRows && (o = o.slice(0, t.sheetRows)), o;
|
|
5184
5146
|
}
|
|
@@ -5209,26 +5171,25 @@ var So = /*#__PURE__*/ (function() {
|
|
|
5209
5171
|
r: s,
|
|
5210
5172
|
c: u
|
|
5211
5173
|
})];
|
|
5212
|
-
if (d == null)
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
|
|
5227
|
-
|
|
5228
|
-
|
|
5229
|
-
|
|
5174
|
+
if (d == null) l += "1,0\r\n\"\"\r\n";
|
|
5175
|
+
else {
|
|
5176
|
+
switch (d.t) {
|
|
5177
|
+
case "n":
|
|
5178
|
+
t ? d.w == null ? d.v == null ? d.f != null && !d.F ? l += a("=" + d.f) : l += "1,0\r\n\"\"" : l += i(d.v, "V") : l += "0," + d.w + "\r\nV" : d.v == null ? l += "1,0\r\n\"\"" : l += i(d.v, "V");
|
|
5179
|
+
break;
|
|
5180
|
+
case "b":
|
|
5181
|
+
l += d.v ? i(1, "TRUE") : i(0, "FALSE");
|
|
5182
|
+
break;
|
|
5183
|
+
case "s":
|
|
5184
|
+
l += a(!t || isNaN(+d.v) ? d.v : "=\"" + d.v + "\"");
|
|
5185
|
+
break;
|
|
5186
|
+
case "d":
|
|
5187
|
+
d.w ||= Nt(d.z || P[14], en(on(d.v))), l += t ? i(d.w, "V") : a(d.w);
|
|
5188
|
+
break;
|
|
5189
|
+
default: l += "1,0\r\n\"\"";
|
|
5190
|
+
}
|
|
5191
|
+
l += "\r\n";
|
|
5230
5192
|
}
|
|
5231
|
-
l += "\r\n";
|
|
5232
5193
|
}
|
|
5233
5194
|
o.push(l);
|
|
5234
5195
|
}
|
|
@@ -5452,12 +5413,11 @@ var So = /*#__PURE__*/ (function() {
|
|
|
5452
5413
|
r: a,
|
|
5453
5414
|
c: s
|
|
5454
5415
|
});
|
|
5455
|
-
if (r = i ? (e["!data"][a] || [])[s] : e[c], !r || r.v == null)
|
|
5456
|
-
|
|
5457
|
-
|
|
5416
|
+
if (r = i ? (e["!data"][a] || [])[s] : e[c], !r || r.v == null) o.push(" ");
|
|
5417
|
+
else {
|
|
5418
|
+
for (var l = (r.w || (Xr(r), r.w) || "").slice(0, 10); l.length < 10;) l += " ";
|
|
5419
|
+
o.push(l + (s === 0 ? " " : ""));
|
|
5458
5420
|
}
|
|
5459
|
-
for (var l = (r.w || (Xr(r), r.w) || "").slice(0, 10); l.length < 10;) l += " ";
|
|
5460
|
-
o.push(l + (s === 0 ? " " : ""));
|
|
5461
5421
|
}
|
|
5462
5422
|
t.push(o.join(""));
|
|
5463
5423
|
}
|
|
@@ -6506,11 +6466,7 @@ function Io(e, t) {
|
|
|
6506
6466
|
r: s,
|
|
6507
6467
|
c
|
|
6508
6468
|
});
|
|
6509
|
-
|
|
6510
|
-
n.push(" \\cell");
|
|
6511
|
-
continue;
|
|
6512
|
-
}
|
|
6513
|
-
n.push(" " + (i.w || (Xr(i), i.w) || "").replace(/[\r\n]/g, "\\par ")), n.push("\\cell");
|
|
6469
|
+
i = a ? o[c] : e[l], !i || i.v == null && (!i.f || i.F) ? n.push(" \\cell") : (n.push(" " + (i.w || (Xr(i), i.w) || "").replace(/[\r\n]/g, "\\par ")), n.push("\\cell"));
|
|
6514
6470
|
}
|
|
6515
6471
|
n.push("\\pard\\intbl\\row");
|
|
6516
6472
|
}
|
|
@@ -6889,16 +6845,15 @@ function Ps(e, t, n) {
|
|
|
6889
6845
|
return e.forEach(function(e) {
|
|
6890
6846
|
var i = "";
|
|
6891
6847
|
(e[1] || []).forEach(function(a, o) {
|
|
6892
|
-
if (!a.T)
|
|
6893
|
-
|
|
6894
|
-
|
|
6848
|
+
if (!a.T) delete a.ID;
|
|
6849
|
+
else {
|
|
6850
|
+
a.a && t.indexOf(a.a) == -1 && t.push(a.a);
|
|
6851
|
+
var s = {
|
|
6852
|
+
ref: e[0],
|
|
6853
|
+
id: "{54EE7951-7262-4200-6969-" + ("000000000000" + n.tcid++).slice(-12) + "}"
|
|
6854
|
+
};
|
|
6855
|
+
o == 0 ? i = s.id : s.parentId = i, a.ID = s.id, a.a && (s.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + t.indexOf(a.a)).slice(-12) + "}"), r.push(R("threadedComment", Bn("text", a.t || ""), s));
|
|
6895
6856
|
}
|
|
6896
|
-
a.a && t.indexOf(a.a) == -1 && t.push(a.a);
|
|
6897
|
-
var s = {
|
|
6898
|
-
ref: e[0],
|
|
6899
|
-
id: "{54EE7951-7262-4200-6969-" + ("000000000000" + n.tcid++).slice(-12) + "}"
|
|
6900
|
-
};
|
|
6901
|
-
o == 0 ? i = s.id : s.parentId = i, a.ID = s.id, a.a && (s.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + t.indexOf(a.a)).slice(-12) + "}"), r.push(R("threadedComment", Bn("text", a.t || ""), s));
|
|
6902
6857
|
});
|
|
6903
6858
|
}), r.push("</ThreadedComments>"), r.join("");
|
|
6904
6859
|
}
|
|
@@ -9931,11 +9886,7 @@ function _d(e, t, n, r, i) {
|
|
|
9931
9886
|
if (f <= a.e.r) for (var m = a.s.c; m <= a.e.c; ++m) {
|
|
9932
9887
|
f === a.s.r && (s[m] = H(m));
|
|
9933
9888
|
var h = l ? u[m] : t[s[m] + o];
|
|
9934
|
-
|
|
9935
|
-
p = !1;
|
|
9936
|
-
continue;
|
|
9937
|
-
}
|
|
9938
|
-
p = gd(e, h, f, m, r, t, p, c);
|
|
9889
|
+
p = h ? gd(e, h, f, m, r, t, p, c) : !1;
|
|
9939
9890
|
}
|
|
9940
9891
|
}
|
|
9941
9892
|
B(e, 146);
|
|
@@ -11535,11 +11486,8 @@ function kf(e, t) {
|
|
|
11535
11486
|
}
|
|
11536
11487
|
function Af(e, t, n, r, i, a) {
|
|
11537
11488
|
var o = 16 + Zl(i.cellXfs, t, i);
|
|
11538
|
-
if (t.v == null && !t.bf)
|
|
11539
|
-
|
|
11540
|
-
return;
|
|
11541
|
-
}
|
|
11542
|
-
if (t.bf) G(e, 6, wl(t, n, r, i, o));
|
|
11489
|
+
if (t.v == null && !t.bf) G(e, 513, Ra(n, r, o));
|
|
11490
|
+
else if (t.bf) G(e, 6, wl(t, n, r, i, o));
|
|
11543
11491
|
else switch (t.t) {
|
|
11544
11492
|
case "d":
|
|
11545
11493
|
case "n":
|
|
@@ -11988,52 +11936,50 @@ var Jf = /* @__PURE__ */ (function() {
|
|
|
11988
11936
|
(f[p].s.c != u || f[p].s.r != l) && (_ = !0), v["table:number-columns-spanned"] = f[p].e.c - f[p].s.c + 1, v["table:number-rows-spanned"] = f[p].e.r - f[p].s.r + 1;
|
|
11989
11937
|
break;
|
|
11990
11938
|
}
|
|
11991
|
-
if (_)
|
|
11992
|
-
|
|
11993
|
-
|
|
11994
|
-
|
|
11995
|
-
|
|
11996
|
-
|
|
11997
|
-
|
|
11998
|
-
|
|
11999
|
-
|
|
12000
|
-
|
|
12001
|
-
|
|
12002
|
-
|
|
12003
|
-
|
|
12004
|
-
|
|
12005
|
-
|
|
12006
|
-
|
|
12007
|
-
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
12013
|
-
|
|
12014
|
-
|
|
12015
|
-
|
|
12016
|
-
|
|
12017
|
-
|
|
12018
|
-
|
|
12019
|
-
|
|
12020
|
-
|
|
12021
|
-
|
|
12022
|
-
|
|
12023
|
-
|
|
12024
|
-
|
|
12025
|
-
|
|
12026
|
-
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
|
|
12030
|
-
|
|
12031
|
-
|
|
12032
|
-
|
|
12033
|
-
|
|
12034
|
-
x.c.hidden || (O["office:display"] = !0), T = R("office:annotation", D, O) + T;
|
|
11939
|
+
if (_) c.push(" <table:covered-table-cell/>\n");
|
|
11940
|
+
else {
|
|
11941
|
+
var b = Ur({
|
|
11942
|
+
r: l,
|
|
11943
|
+
c: u
|
|
11944
|
+
}), x = m ? (n["!data"][l] || [])[u] : n[b];
|
|
11945
|
+
if (x && x.f && (v["table:formula"] = L(Gl(x.f)), x.F && x.F.slice(0, b.length) == b)) {
|
|
11946
|
+
var S = Wr(x.F);
|
|
11947
|
+
v["table:number-matrix-columns-spanned"] = S.e.c - S.s.c + 1, v["table:number-matrix-rows-spanned"] = S.e.r - S.s.r + 1;
|
|
11948
|
+
}
|
|
11949
|
+
if (!x) c.push(t);
|
|
11950
|
+
else {
|
|
11951
|
+
switch (x.t) {
|
|
11952
|
+
case "b":
|
|
11953
|
+
y = x.v ? "TRUE" : "FALSE", v["office:value-type"] = "boolean", v["office:boolean-value"] = x.v ? "true" : "false";
|
|
11954
|
+
break;
|
|
11955
|
+
case "n":
|
|
11956
|
+
isFinite(x.v) ? (y = x.w || String(x.v || 0), v["office:value-type"] = "float", v["office:value"] = x.v || 0) : (isNaN(x.v) ? (y = "#NUM!", v["table:formula"] = "of:=#NUM!") : (y = "#DIV/0!", v["table:formula"] = "of:=" + (x.v < 0 ? "-" : "") + "1/0"), v["office:string-value"] = "", v["office:value-type"] = "string", v["calcext:value-type"] = "error");
|
|
11957
|
+
break;
|
|
11958
|
+
case "s":
|
|
11959
|
+
case "str":
|
|
11960
|
+
y = x.v == null ? "" : x.v, v["office:value-type"] = "string";
|
|
11961
|
+
break;
|
|
11962
|
+
case "d":
|
|
11963
|
+
y = x.w || on(x.v, s).toISOString(), v["office:value-type"] = "date", v["office:date-value"] = on(x.v, s).toISOString(), v["table:style-name"] = "ce1";
|
|
11964
|
+
break;
|
|
11965
|
+
default:
|
|
11966
|
+
c.push(t);
|
|
11967
|
+
continue;
|
|
11968
|
+
}
|
|
11969
|
+
var C = e(y);
|
|
11970
|
+
if (x.l && x.l.Target) {
|
|
11971
|
+
var w = x.l.Target;
|
|
11972
|
+
w = w.charAt(0) == "#" ? "#" + Kl(w.slice(1)) : w, w.charAt(0) != "#" && !w.match(/^\w+:/) && (w = "../" + w), C = R("text:a", C, { "xlink:href": w.replace(/&/g, "&") });
|
|
11973
|
+
}
|
|
11974
|
+
o[x.z] && (v["table:style-name"] = "ce" + o[x.z].slice(1));
|
|
11975
|
+
var T = R("text:p", C, {});
|
|
11976
|
+
if (x.c) {
|
|
11977
|
+
for (var E = "", D = "", O = {}, k = 0; k < x.c.length; ++k) !E && x.c[k].a && (E = x.c[k].a), D += "<text:p>" + e(x.c[k].t) + "</text:p>";
|
|
11978
|
+
x.c.hidden || (O["office:display"] = !0), T = R("office:annotation", D, O) + T;
|
|
11979
|
+
}
|
|
11980
|
+
c.push(" " + R("table:table-cell", T, v) + "\n");
|
|
11981
|
+
}
|
|
12035
11982
|
}
|
|
12036
|
-
c.push(" " + R("table:table-cell", T, v) + "\n");
|
|
12037
11983
|
}
|
|
12038
11984
|
c.push(" </table:table-row>\n");
|
|
12039
11985
|
}
|
|
@@ -12306,21 +12252,21 @@ function lp(e, t) {
|
|
|
12306
12252
|
s = t[a], c > 1 && (s |= t[a + 1] << 8), c > 2 && (s |= t[a + 2] << 16), c > 3 && (s |= t[a + 3] << 24), s >>>= 0, s++, a += c;
|
|
12307
12253
|
}
|
|
12308
12254
|
i.push(t[Xf](a, a + s)), a += s;
|
|
12309
|
-
|
|
12310
|
-
|
|
12311
|
-
|
|
12312
|
-
|
|
12313
|
-
|
|
12314
|
-
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
|
|
12318
|
-
|
|
12319
|
-
|
|
12320
|
-
|
|
12321
|
-
|
|
12255
|
+
} else {
|
|
12256
|
+
var l = 0, u = 0;
|
|
12257
|
+
if (o == 1 ? (u = (t[a] >> 2 & 7) + 4, l = (t[a++] & 224) << 3, l |= t[a++]) : (u = (t[a++] >> 2) + 1, o == 2 ? (l = t[a] | t[a + 1] << 8, a += 2) : (l = (t[a] | t[a + 1] << 8 | t[a + 2] << 16 | t[a + 3] << 24) >>> 0, a += 4)), l == 0) throw Error("Invalid offset 0");
|
|
12258
|
+
for (var d = i.length - 1, f = l; d >= 0 && f >= i[d].length;) f -= i[d].length, --d;
|
|
12259
|
+
if (d < 0) {
|
|
12260
|
+
if (f == 0) f = i[d = 0].length;
|
|
12261
|
+
else throw Error("Invalid offset beyond length");
|
|
12262
|
+
}
|
|
12263
|
+
if (u < f) i.push(i[d][Xf](i[d].length - f, i[d].length - f + u));
|
|
12264
|
+
else {
|
|
12265
|
+
for (f > 0 && (i.push(i[d][Xf](i[d].length - f)), u -= f), ++d; u >= i[d].length;) i.push(i[d]), u -= i[d].length, ++d;
|
|
12266
|
+
u && i.push(i[d][Xf](0, u));
|
|
12267
|
+
}
|
|
12268
|
+
i.length > 25 && (i = [ep(i)]);
|
|
12322
12269
|
}
|
|
12323
|
-
i.length > 25 && (i = [ep(i)]);
|
|
12324
12270
|
}
|
|
12325
12271
|
for (var p = 0, m = 0; m < i.length; ++m) p += i[m].length;
|
|
12326
12272
|
if (p != r) throw Error(`Unexpected length: ${p} != ${r}`);
|
|
@@ -12527,11 +12473,8 @@ function yp(e, t, n) {
|
|
|
12527
12473
|
var o = new Uint8Array(2 * e.length);
|
|
12528
12474
|
o.set(r[4][0].data), r[4][0].data = o;
|
|
12529
12475
|
}
|
|
12530
|
-
for (var s = Zf(r[7][0].data), c = 0, l = [], u = Zf(r[4][0].data), d = 0, f = [], p = n ? 4 : 1, m = 0; m < e.length; ++m)
|
|
12531
|
-
|
|
12532
|
-
s.setUint16(m * 2, 65535, !0), u.setUint16(m * 2, 65535);
|
|
12533
|
-
continue;
|
|
12534
|
-
}
|
|
12476
|
+
for (var s = Zf(r[7][0].data), c = 0, l = [], u = Zf(r[4][0].data), d = 0, f = [], p = n ? 4 : 1, m = 0; m < e.length; ++m) if (e[m] == null || e[m].t == "z" && !e[m].c?.length || e[m].t == "e") s.setUint16(m * 2, 65535, !0), u.setUint16(m * 2, 65535);
|
|
12477
|
+
else {
|
|
12535
12478
|
s.setUint16(m * 2, c / p, !0), u.setUint16(m * 2, d / p, !0);
|
|
12536
12479
|
var h, g;
|
|
12537
12480
|
switch (e[m].t) {
|
|
@@ -13964,32 +13907,32 @@ function Zp(e, t, n, r, i, a, o) {
|
|
|
13964
13907
|
if (m == null || m.t === void 0) {
|
|
13965
13908
|
if (c === void 0) continue;
|
|
13966
13909
|
a[p] != null && (f[a[p]] = c);
|
|
13967
|
-
|
|
13968
|
-
|
|
13969
|
-
|
|
13970
|
-
|
|
13971
|
-
|
|
13972
|
-
|
|
13973
|
-
|
|
13974
|
-
|
|
13975
|
-
|
|
13976
|
-
|
|
13977
|
-
|
|
13978
|
-
|
|
13979
|
-
|
|
13980
|
-
|
|
13981
|
-
|
|
13982
|
-
|
|
13983
|
-
|
|
13984
|
-
|
|
13985
|
-
|
|
13986
|
-
|
|
13987
|
-
|
|
13988
|
-
|
|
13989
|
-
|
|
13990
|
-
else
|
|
13991
|
-
|
|
13992
|
-
|
|
13910
|
+
} else {
|
|
13911
|
+
var h = m.v;
|
|
13912
|
+
switch (m.t) {
|
|
13913
|
+
case "z":
|
|
13914
|
+
if (h == null) break;
|
|
13915
|
+
continue;
|
|
13916
|
+
case "e":
|
|
13917
|
+
h = h == 0 ? null : void 0;
|
|
13918
|
+
break;
|
|
13919
|
+
case "s":
|
|
13920
|
+
case "b":
|
|
13921
|
+
case "n": if (!m.z || !Ot(m.z) || (h = tn(h), typeof h == "number")) break;
|
|
13922
|
+
case "d":
|
|
13923
|
+
(!o || !o.UTC && o.raw !== !1) && (h = yn(new Date(h)));
|
|
13924
|
+
break;
|
|
13925
|
+
default: throw Error("unrecognized type " + m.t);
|
|
13926
|
+
}
|
|
13927
|
+
if (a[p] != null) {
|
|
13928
|
+
if (h == null) {
|
|
13929
|
+
if (m.t == "e" && h === null) f[a[p]] = null;
|
|
13930
|
+
else if (c !== void 0) f[a[p]] = c;
|
|
13931
|
+
else if (l && h === null) f[a[p]] = null;
|
|
13932
|
+
else continue;
|
|
13933
|
+
} else f[a[p]] = (m.t === "n" && typeof o.rawNumbers == "boolean" ? o.rawNumbers : l) ? h : Xr(m, h, o);
|
|
13934
|
+
h != null && (u = !1);
|
|
13935
|
+
}
|
|
13993
13936
|
}
|
|
13994
13937
|
}
|
|
13995
13938
|
return {
|
|
@@ -14346,55 +14289,43 @@ var Fm = [
|
|
|
14346
14289
|
">",
|
|
14347
14290
|
"<"
|
|
14348
14291
|
];
|
|
14349
|
-
function Im(e) {
|
|
14292
|
+
function* Im(e) {
|
|
14293
|
+
let t = null;
|
|
14294
|
+
for (let n = 0; n < e.length; n++) {
|
|
14295
|
+
let r = e[n];
|
|
14296
|
+
t === null ? r === "\"" || r === "'" ? t = r : yield n : r === "\\" ? n++ : r === t && (t = null);
|
|
14297
|
+
}
|
|
14298
|
+
}
|
|
14299
|
+
function Lm(e) {
|
|
14350
14300
|
let t = e.trim();
|
|
14351
14301
|
for (; t.startsWith("(") && t.endsWith(")");) {
|
|
14352
|
-
let e = 0, n =
|
|
14353
|
-
for (let
|
|
14354
|
-
let
|
|
14355
|
-
if (
|
|
14356
|
-
|
|
14357
|
-
|
|
14358
|
-
|
|
14359
|
-
if (a === "\"" || a === "'") {
|
|
14360
|
-
n = a;
|
|
14361
|
-
continue;
|
|
14362
|
-
}
|
|
14363
|
-
if (a === "(") e++;
|
|
14364
|
-
else if (a === ")") {
|
|
14365
|
-
if (e--, e === 0 && i < t.length - 1) {
|
|
14366
|
-
r = !1;
|
|
14302
|
+
let e = 0, n = !0;
|
|
14303
|
+
for (let r of Im(t)) {
|
|
14304
|
+
let i = t[r];
|
|
14305
|
+
if (i === "(") e++;
|
|
14306
|
+
else if (i === ")") {
|
|
14307
|
+
if (e--, e === 0 && r < t.length - 1) {
|
|
14308
|
+
n = !1;
|
|
14367
14309
|
break;
|
|
14368
14310
|
}
|
|
14369
14311
|
if (e < 0) return t;
|
|
14370
14312
|
}
|
|
14371
14313
|
}
|
|
14372
|
-
if (!
|
|
14314
|
+
if (!n || e !== 0) return t;
|
|
14373
14315
|
t = t.slice(1, -1).trim();
|
|
14374
14316
|
}
|
|
14375
14317
|
return t;
|
|
14376
14318
|
}
|
|
14377
|
-
function
|
|
14378
|
-
let t =
|
|
14379
|
-
for (let e
|
|
14380
|
-
|
|
14381
|
-
|
|
14382
|
-
|
|
14383
|
-
|
|
14384
|
-
}
|
|
14385
|
-
if (r === "\"" || r === "'") {
|
|
14386
|
-
n = r;
|
|
14387
|
-
continue;
|
|
14388
|
-
}
|
|
14389
|
-
for (let n of Fm) if (t.startsWith(n, e)) return {
|
|
14390
|
-
left: t.slice(0, e).trim(),
|
|
14391
|
-
operator: n,
|
|
14392
|
-
right: t.slice(e + n.length).trim()
|
|
14393
|
-
};
|
|
14394
|
-
}
|
|
14319
|
+
function Rm(e) {
|
|
14320
|
+
let t = Lm(e);
|
|
14321
|
+
for (let e of Im(t)) for (let n of Fm) if (t.startsWith(n, e)) return {
|
|
14322
|
+
left: t.slice(0, e).trim(),
|
|
14323
|
+
operator: n,
|
|
14324
|
+
right: t.slice(e + n.length).trim()
|
|
14325
|
+
};
|
|
14395
14326
|
return null;
|
|
14396
14327
|
}
|
|
14397
|
-
function
|
|
14328
|
+
function zm(e) {
|
|
14398
14329
|
return e.length >= 2 && (e.startsWith("\"") && e.endsWith("\"") || e.startsWith("'") && e.endsWith("'")) ? {
|
|
14399
14330
|
value: e.slice(1, -1).replace(/\\(["'\\])/g, "$1"),
|
|
14400
14331
|
quoted: !0
|
|
@@ -14403,8 +14334,8 @@ function Rm(e) {
|
|
|
14403
14334
|
quoted: !1
|
|
14404
14335
|
};
|
|
14405
14336
|
}
|
|
14406
|
-
function
|
|
14407
|
-
let { value: t, quoted: n } =
|
|
14337
|
+
function Bm(e) {
|
|
14338
|
+
let { value: t, quoted: n } = zm(e.trim());
|
|
14408
14339
|
if (n) return t;
|
|
14409
14340
|
if (t === "") return "";
|
|
14410
14341
|
let r = t.toUpperCase();
|
|
@@ -14413,30 +14344,30 @@ function zm(e) {
|
|
|
14413
14344
|
let i = Number(t);
|
|
14414
14345
|
return Number.isNaN(i) ? t : i;
|
|
14415
14346
|
}
|
|
14416
|
-
function
|
|
14347
|
+
function Vm(e, t) {
|
|
14417
14348
|
return typeof e == "number" && typeof t == "number" ? e - t : typeof e == "boolean" || typeof t == "boolean" ? null : String(e).localeCompare(String(t));
|
|
14418
14349
|
}
|
|
14419
|
-
function
|
|
14350
|
+
function Hm(e, t, n) {
|
|
14420
14351
|
if (e === "=" || e === "==") return t === n;
|
|
14421
14352
|
if (e === "<>" || e === "!=") return t !== n;
|
|
14422
|
-
let r =
|
|
14353
|
+
let r = Vm(t, n);
|
|
14423
14354
|
return r === null ? !1 : e === ">" ? r > 0 : e === ">=" ? r >= 0 : e === "<" ? r < 0 : r <= 0;
|
|
14424
14355
|
}
|
|
14425
|
-
function
|
|
14356
|
+
function Um(e) {
|
|
14426
14357
|
return typeof e == "boolean" ? e : typeof e == "number" ? e !== 0 : e !== "";
|
|
14427
14358
|
}
|
|
14428
|
-
function
|
|
14429
|
-
let n =
|
|
14430
|
-
return n ?
|
|
14359
|
+
function Wm(e, t) {
|
|
14360
|
+
let n = Rm(e);
|
|
14361
|
+
return n ? Hm(n.operator, t(n.left), t(n.right)) : Um(t(Lm(e)));
|
|
14431
14362
|
}
|
|
14432
|
-
function
|
|
14363
|
+
function Gm(e) {
|
|
14433
14364
|
if (e == null) return "\"\"";
|
|
14434
14365
|
let t = Mm(e) ? e.code : e;
|
|
14435
14366
|
return typeof t == "string" ? `"${t.replace(/\\/g, "\\\\").replace(/"/g, "\\\"")}"` : t.toString();
|
|
14436
14367
|
}
|
|
14437
14368
|
//#endregion
|
|
14438
14369
|
//#region src/engine/date-locale.ts
|
|
14439
|
-
var
|
|
14370
|
+
var Km = /* @__PURE__ */ new Set([
|
|
14440
14371
|
"es",
|
|
14441
14372
|
"pt",
|
|
14442
14373
|
"fr",
|
|
@@ -14449,30 +14380,30 @@ var Gm = /* @__PURE__ */ new Set([
|
|
|
14449
14380
|
"id",
|
|
14450
14381
|
"vi",
|
|
14451
14382
|
"th"
|
|
14452
|
-
]),
|
|
14383
|
+
]), qm = /* @__PURE__ */ new Set([
|
|
14453
14384
|
"us",
|
|
14454
14385
|
"ca",
|
|
14455
14386
|
"ph"
|
|
14456
14387
|
]);
|
|
14457
|
-
function
|
|
14388
|
+
function Jm(e) {
|
|
14458
14389
|
for (let t of e) {
|
|
14459
14390
|
if (t.length === 1) break;
|
|
14460
14391
|
if (/^[a-z]{2}$/.test(t) || /^[0-9]{3}$/.test(t)) return t;
|
|
14461
14392
|
}
|
|
14462
14393
|
return "";
|
|
14463
14394
|
}
|
|
14464
|
-
function
|
|
14395
|
+
function Ym(e) {
|
|
14465
14396
|
if (!e) return !1;
|
|
14466
14397
|
let [t = "", ...n] = e.toLowerCase().split(/[-_]/);
|
|
14467
14398
|
if (t === "en") {
|
|
14468
|
-
let e =
|
|
14469
|
-
return e !== "" && !
|
|
14399
|
+
let e = Jm(n);
|
|
14400
|
+
return e !== "" && !qm.has(e);
|
|
14470
14401
|
}
|
|
14471
|
-
return
|
|
14402
|
+
return Km.has(t);
|
|
14472
14403
|
}
|
|
14473
14404
|
//#endregion
|
|
14474
14405
|
//#region src/engine/cellEmpty.ts
|
|
14475
|
-
function
|
|
14406
|
+
function Xm(e) {
|
|
14476
14407
|
if (e == null) return !0;
|
|
14477
14408
|
if (typeof e == "string") return e.trim() === "";
|
|
14478
14409
|
if (a(e)) {
|
|
@@ -14484,10 +14415,10 @@ function Ym(e) {
|
|
|
14484
14415
|
}
|
|
14485
14416
|
//#endregion
|
|
14486
14417
|
//#region src/engine/date-utils.ts
|
|
14487
|
-
var
|
|
14488
|
-
let t = Math.floor(e), n = e - t, r = new Date(
|
|
14418
|
+
var Zm = 864e5, Qm = new Date(Date.UTC(1899, 11, 30)), $m = (e) => (e.getTime() - Qm.getTime()) / Zm, eh = (e) => {
|
|
14419
|
+
let t = Math.floor(e), n = e - t, r = new Date(Qm.getTime() + t * Zm), i = Math.round(n * 24 * 60 * 60);
|
|
14489
14420
|
return r.setSeconds(r.getSeconds() + i), r;
|
|
14490
|
-
},
|
|
14421
|
+
}, th = [
|
|
14491
14422
|
"Jan",
|
|
14492
14423
|
"Feb",
|
|
14493
14424
|
"Mar",
|
|
@@ -14500,7 +14431,7 @@ var Xm = 864e5, Zm = new Date(Date.UTC(1899, 11, 30)), Qm = (e) => (e.getTime()
|
|
|
14500
14431
|
"Oct",
|
|
14501
14432
|
"Nov",
|
|
14502
14433
|
"Dec"
|
|
14503
|
-
],
|
|
14434
|
+
], nh = [
|
|
14504
14435
|
"January",
|
|
14505
14436
|
"February",
|
|
14506
14437
|
"March",
|
|
@@ -14513,7 +14444,7 @@ var Xm = 864e5, Zm = new Date(Date.UTC(1899, 11, 30)), Qm = (e) => (e.getTime()
|
|
|
14513
14444
|
"October",
|
|
14514
14445
|
"November",
|
|
14515
14446
|
"December"
|
|
14516
|
-
],
|
|
14447
|
+
], rh = [
|
|
14517
14448
|
"Sun",
|
|
14518
14449
|
"Mon",
|
|
14519
14450
|
"Tue",
|
|
@@ -14521,7 +14452,7 @@ var Xm = 864e5, Zm = new Date(Date.UTC(1899, 11, 30)), Qm = (e) => (e.getTime()
|
|
|
14521
14452
|
"Thu",
|
|
14522
14453
|
"Fri",
|
|
14523
14454
|
"Sat"
|
|
14524
|
-
],
|
|
14455
|
+
], ih = [
|
|
14525
14456
|
"Sunday",
|
|
14526
14457
|
"Monday",
|
|
14527
14458
|
"Tuesday",
|
|
@@ -14529,55 +14460,55 @@ var Xm = 864e5, Zm = new Date(Date.UTC(1899, 11, 30)), Qm = (e) => (e.getTime()
|
|
|
14529
14460
|
"Thursday",
|
|
14530
14461
|
"Friday",
|
|
14531
14462
|
"Saturday"
|
|
14532
|
-
],
|
|
14533
|
-
function
|
|
14534
|
-
let n = e.getUTCMonth() + t, r = e.getUTCFullYear() + Math.floor(n /
|
|
14463
|
+
], ah = 864e5, oh = 12;
|
|
14464
|
+
function sh(e, t) {
|
|
14465
|
+
let n = e.getUTCMonth() + t, r = e.getUTCFullYear() + Math.floor(n / oh), i = (n % oh + oh) % oh, a = new Date(Date.UTC(r, i + 1, 0)).getUTCDate(), o = Math.min(e.getUTCDate(), a);
|
|
14535
14466
|
return new Date(Date.UTC(r, i, o));
|
|
14536
14467
|
}
|
|
14537
|
-
function
|
|
14468
|
+
function ch(e, t, n) {
|
|
14538
14469
|
if (e > t) return Em;
|
|
14539
|
-
let r =
|
|
14470
|
+
let r = eh(e), i = eh(t), a = i.getUTCFullYear() - r.getUTCFullYear(), o = i.getUTCMonth() - r.getUTCMonth(), s = i.getUTCDate() - r.getUTCDate();
|
|
14540
14471
|
switch (n.toUpperCase()) {
|
|
14541
14472
|
case "Y": {
|
|
14542
14473
|
let e = a;
|
|
14543
14474
|
return o < 0 || o === 0 && s < 0 ? e - 1 : e;
|
|
14544
14475
|
}
|
|
14545
14476
|
case "M": {
|
|
14546
|
-
let e = a *
|
|
14477
|
+
let e = a * oh + o;
|
|
14547
14478
|
return s < 0 ? e - 1 : e;
|
|
14548
14479
|
}
|
|
14549
14480
|
case "D": return Math.floor(t - e);
|
|
14550
14481
|
case "MD": {
|
|
14551
|
-
let e =
|
|
14552
|
-
return Math.round((t - e.getTime()) /
|
|
14482
|
+
let e = sh(r, a * oh + o - +(s < 0)), t = Date.UTC(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate());
|
|
14483
|
+
return Math.round((t - e.getTime()) / ah);
|
|
14553
14484
|
}
|
|
14554
14485
|
case "YM": {
|
|
14555
14486
|
let e = s < 0 ? o - 1 : o;
|
|
14556
|
-
return e < 0 ? e +
|
|
14487
|
+
return e < 0 ? e + oh : e;
|
|
14557
14488
|
}
|
|
14558
14489
|
case "YD": {
|
|
14559
14490
|
let e = new Date(r);
|
|
14560
|
-
return e.setUTCFullYear(i.getUTCFullYear()), e.getTime() - i.getTime() > 0 && e.setUTCFullYear(i.getUTCFullYear() - 1), Math.floor((i.getTime() - e.getTime()) /
|
|
14491
|
+
return e.setUTCFullYear(i.getUTCFullYear()), e.getTime() - i.getTime() > 0 && e.setUTCFullYear(i.getUTCFullYear() - 1), Math.floor((i.getTime() - e.getTime()) / ah);
|
|
14561
14492
|
}
|
|
14562
14493
|
default: return Em;
|
|
14563
14494
|
}
|
|
14564
14495
|
}
|
|
14565
14496
|
//#endregion
|
|
14566
14497
|
//#region src/engine/formatter.ts
|
|
14567
|
-
function
|
|
14498
|
+
function lh(e) {
|
|
14568
14499
|
return /[YMD]|MMM|DD|YYYY|h:mm|AM\/PM/i.test(e);
|
|
14569
14500
|
}
|
|
14570
|
-
var
|
|
14571
|
-
function
|
|
14572
|
-
let n =
|
|
14501
|
+
var uh = /YYYY|YY|MMMM|MMM|MM|M|dddd|ddd|DD|D|AM\/PM|am\/pm|HH|H|hh|h|mm|ss/g;
|
|
14502
|
+
function dh(e, t) {
|
|
14503
|
+
let n = eh(e), r = n.getUTCFullYear(), i = n.getUTCMonth(), a = n.getUTCDate(), o = n.getUTCHours(), s = n.getUTCMinutes(), c = n.getUTCSeconds(), l = n.getUTCDay(), u = /AM\/PM|am\/pm/.test(t), d = o % 12 || 12, f = o >= 12, p = {
|
|
14573
14504
|
YYYY: r.toString(),
|
|
14574
14505
|
YY: (r % 100).toString().padStart(2, "0"),
|
|
14575
|
-
MMMM:
|
|
14576
|
-
MMM:
|
|
14506
|
+
MMMM: nh[i] ?? nh[0],
|
|
14507
|
+
MMM: th[i] ?? th[0],
|
|
14577
14508
|
MM: (i + 1).toString().padStart(2, "0"),
|
|
14578
14509
|
M: (i + 1).toString(),
|
|
14579
|
-
dddd:
|
|
14580
|
-
ddd:
|
|
14510
|
+
dddd: ih[l] ?? ih[0],
|
|
14511
|
+
ddd: rh[l] ?? rh[0],
|
|
14581
14512
|
DD: a.toString().padStart(2, "0"),
|
|
14582
14513
|
D: a.toString(),
|
|
14583
14514
|
"AM/PM": f ? "PM" : "AM",
|
|
@@ -14589,18 +14520,18 @@ function uh(e, t) {
|
|
|
14589
14520
|
mm: s.toString().padStart(2, "0"),
|
|
14590
14521
|
ss: c.toString().padStart(2, "0")
|
|
14591
14522
|
};
|
|
14592
|
-
return t.replace(
|
|
14523
|
+
return t.replace(uh, (e) => p[e] ?? e);
|
|
14593
14524
|
}
|
|
14594
|
-
var
|
|
14525
|
+
var fh = 3, ph = (e) => Array.from(e).reduce((t, n, r) => r > 0 && (e.length - r) % fh === 0 ? `${t},${n}` : `${t}${n}`, ""), mh = (e) => {
|
|
14595
14526
|
let [t, ...n] = e.split(".");
|
|
14596
|
-
return t === void 0 ? e : [
|
|
14527
|
+
return t === void 0 ? e : [ph(t), ...n].join(".");
|
|
14597
14528
|
};
|
|
14598
|
-
function
|
|
14529
|
+
function hh(e, t) {
|
|
14599
14530
|
if (!t) return e.toString();
|
|
14600
14531
|
try {
|
|
14601
|
-
if (
|
|
14532
|
+
if (lh(t)) return dh(e, t);
|
|
14602
14533
|
if (t.includes("$")) {
|
|
14603
|
-
let n = (t.match(/\.0+/) || [""])[0].length - 1, r = Math.abs(e).toFixed(n >= 0 ? n : 0), i = "$" + (t.includes(",") ?
|
|
14534
|
+
let n = (t.match(/\.0+/) || [""])[0].length - 1, r = Math.abs(e).toFixed(n >= 0 ? n : 0), i = "$" + (t.includes(",") ? mh(r) : r);
|
|
14604
14535
|
return e < 0 ? "-" + i : i;
|
|
14605
14536
|
}
|
|
14606
14537
|
if (t.includes("%")) {
|
|
@@ -14608,7 +14539,7 @@ function mh(e, t) {
|
|
|
14608
14539
|
return (e * 100).toFixed(n >= 0 ? n : 2) + "%";
|
|
14609
14540
|
}
|
|
14610
14541
|
if (t.includes(",")) {
|
|
14611
|
-
let n = (t.match(/\.0+/) || [""])[0].length - 1, r =
|
|
14542
|
+
let n = (t.match(/\.0+/) || [""])[0].length - 1, r = mh(Math.abs(e).toFixed(n >= 0 ? n : 0));
|
|
14612
14543
|
return e < 0 ? "-" + r : r;
|
|
14613
14544
|
}
|
|
14614
14545
|
let n = (t.match(/\.0+/) || [""])[0].length - 1;
|
|
@@ -14619,71 +14550,71 @@ function mh(e, t) {
|
|
|
14619
14550
|
}
|
|
14620
14551
|
//#endregion
|
|
14621
14552
|
//#region src/engine/translateFormula.ts
|
|
14622
|
-
function
|
|
14553
|
+
function gh(e) {
|
|
14623
14554
|
return e.replace(/\^/g, "**");
|
|
14624
14555
|
}
|
|
14625
|
-
function
|
|
14556
|
+
function _h(e, t) {
|
|
14626
14557
|
return e === "" ? t : t === e ? "" : e;
|
|
14627
14558
|
}
|
|
14628
|
-
function
|
|
14559
|
+
function vh(e) {
|
|
14629
14560
|
let t = e.split(""), n = [], r = "";
|
|
14630
14561
|
return t.forEach((e, i) => {
|
|
14631
|
-
!(i > 0 && t[i - 1] === "\\") && (e === "\"" || e === "'") && (r =
|
|
14562
|
+
!(i > 0 && t[i - 1] === "\\") && (e === "\"" || e === "'") && (r = _h(r, e)), n.push(e === "&" && r === "" ? "+" : e);
|
|
14632
14563
|
}), n.join("");
|
|
14633
14564
|
}
|
|
14634
|
-
function
|
|
14565
|
+
function yh(e) {
|
|
14635
14566
|
return e.replace(/([^<>!])=([^=])/g, "$1==$2");
|
|
14636
14567
|
}
|
|
14637
|
-
function
|
|
14568
|
+
function bh(e) {
|
|
14638
14569
|
return /^[\d+\-*/(). ]+$/.test(e);
|
|
14639
14570
|
}
|
|
14640
|
-
function
|
|
14571
|
+
function xh(e) {
|
|
14641
14572
|
return /^[\d+\-*/(). <>!=]+$/.test(e);
|
|
14642
14573
|
}
|
|
14643
14574
|
//#endregion
|
|
14644
14575
|
//#region src/engine/formulaError.ts
|
|
14645
|
-
var
|
|
14576
|
+
var Sh = {
|
|
14646
14577
|
div_zero: "#DIV/0!",
|
|
14647
14578
|
invalid_ref: "#REF!",
|
|
14648
14579
|
syntax: "#NAME?",
|
|
14649
14580
|
unknown: "#ERROR!"
|
|
14650
|
-
},
|
|
14651
|
-
[
|
|
14652
|
-
[
|
|
14653
|
-
[
|
|
14654
|
-
},
|
|
14581
|
+
}, Ch = {
|
|
14582
|
+
[Sh.div_zero]: "div_zero",
|
|
14583
|
+
[Sh.invalid_ref]: "invalid_ref",
|
|
14584
|
+
[Sh.syntax]: "syntax"
|
|
14585
|
+
}, wh = class extends Error {
|
|
14655
14586
|
errorType;
|
|
14656
14587
|
display;
|
|
14657
14588
|
constructor(e, t, n) {
|
|
14658
14589
|
super(n ?? t), this.errorType = e, this.display = t, this.name = "FormulaError";
|
|
14659
14590
|
}
|
|
14660
|
-
},
|
|
14591
|
+
}, Th = (e) => e instanceof wh, Eh = () => new wh("div_zero", Sh.div_zero, "Division by zero"), Dh = (e) => new wh("invalid_ref", Sh.invalid_ref, `Invalid reference: ${e}`), Oh = (e) => new wh("syntax", Sh.syntax, `Unknown function: ${e}`), kh = (e) => new wh("unknown", Sh.unknown, e), Ah = (e) => new wh(Ch[e] ?? "unknown", e, `Propagated error: ${e}`), jh = (e) => Th(e) ? {
|
|
14661
14592
|
type: e.errorType,
|
|
14662
14593
|
display: e.display
|
|
14663
14594
|
} : {
|
|
14664
14595
|
type: "unknown",
|
|
14665
|
-
display:
|
|
14666
|
-
},
|
|
14667
|
-
function
|
|
14596
|
+
display: Sh.unknown
|
|
14597
|
+
}, Mh = (e) => isNaN(e) ? null : e;
|
|
14598
|
+
function Nh(e) {
|
|
14668
14599
|
if (e.includes("%")) {
|
|
14669
|
-
let t =
|
|
14600
|
+
let t = Mh(parseFloat(e.replace("%", "").trim()));
|
|
14670
14601
|
return t === null ? null : t / 100;
|
|
14671
14602
|
}
|
|
14672
|
-
return e.includes("$") ?
|
|
14673
|
-
}
|
|
14674
|
-
function Nh(e) {
|
|
14675
|
-
return typeof e == "number" ? !isNaN(e) : typeof e == "string" && Mh(e) !== null;
|
|
14603
|
+
return e.includes("$") ? Mh(parseFloat(e.replace(/[$,]/g, "").trim())) : e.includes(",") ? Mh(parseFloat(e.replace(/,/g, "").trim())) : Mh(parseFloat(e));
|
|
14676
14604
|
}
|
|
14677
14605
|
function Ph(e) {
|
|
14678
|
-
return typeof e == "number" ? e : typeof e == "
|
|
14606
|
+
return typeof e == "number" ? !isNaN(e) : typeof e == "string" && Nh(e) !== null;
|
|
14607
|
+
}
|
|
14608
|
+
function Fh(e) {
|
|
14609
|
+
return typeof e == "number" ? e : typeof e == "boolean" ? +!!e : typeof e == "string" ? Nh(e) ?? Cm : e;
|
|
14679
14610
|
}
|
|
14680
14611
|
//#endregion
|
|
14681
14612
|
//#region src/engine/registry.ts
|
|
14682
|
-
var
|
|
14613
|
+
var Ih = (e, t) => /* @__PURE__ */ Error(`${e} requires at least ${t} argument${t === 1 ? "" : "s"}`), X = (e, t, n) => {
|
|
14683
14614
|
let r = t[n];
|
|
14684
|
-
if (r === void 0) throw
|
|
14615
|
+
if (r === void 0) throw Ih(e.functionName, n + 1);
|
|
14685
14616
|
return r;
|
|
14686
|
-
},
|
|
14617
|
+
}, Lh = (e) => e.getRangeValuesRaw ?? e.getRangeValues, Z = new class {
|
|
14687
14618
|
functions = /* @__PURE__ */ new Map();
|
|
14688
14619
|
register(e) {
|
|
14689
14620
|
this.functions.set(e.name.toUpperCase(), e);
|
|
@@ -14705,22 +14636,22 @@ var Fh = (e, t) => /* @__PURE__ */ Error(`${e} requires at least ${t} argument${
|
|
|
14705
14636
|
}
|
|
14706
14637
|
return e;
|
|
14707
14638
|
}
|
|
14708
|
-
}();
|
|
14639
|
+
}(), Rh = (e) => /^[A-Z]+$/i.test(e) || Z.hasFunction(e);
|
|
14709
14640
|
function Q(e) {
|
|
14710
|
-
return typeof e == "number" ? e :
|
|
14641
|
+
return typeof e == "number" ? e : Nh(String(e)) ?? 0;
|
|
14711
14642
|
}
|
|
14712
|
-
function
|
|
14643
|
+
function zh(e) {
|
|
14713
14644
|
return String(e);
|
|
14714
14645
|
}
|
|
14715
|
-
var
|
|
14716
|
-
function
|
|
14717
|
-
let t = RegExp(`^${
|
|
14646
|
+
var Bh = /[.*+?^${}()|[\]\\]/, Vh = (e) => Bh.test(e) ? `\\${e}` : e, Hh = /~([\s\S])|[\s\S]/g, Uh = (e) => e.replace(Hh, (e, t) => t === void 0 ? e === "*" ? ".*" : e === "?" ? "." : Vh(e) : Vh(t));
|
|
14647
|
+
function Wh(e) {
|
|
14648
|
+
let t = RegExp(`^${Uh(e)}$`, "iu");
|
|
14718
14649
|
return (e) => t.test(e);
|
|
14719
14650
|
}
|
|
14720
|
-
function
|
|
14651
|
+
function Gh(e) {
|
|
14721
14652
|
let t = e.trim().replace(/^["']|["']$/g, ""), [, n, r] = t.match(/^([><=!]+)(.+)$/) ?? [];
|
|
14722
14653
|
if (n !== void 0 && r !== void 0) {
|
|
14723
|
-
let e = parseFloat(r), t =
|
|
14654
|
+
let e = parseFloat(r), t = Kh(r);
|
|
14724
14655
|
switch (n) {
|
|
14725
14656
|
case ">": return (t) => Q(t) > e;
|
|
14726
14657
|
case ">=": return (t) => Q(t) >= e;
|
|
@@ -14733,15 +14664,15 @@ function Uh(e) {
|
|
|
14733
14664
|
default: return () => !1;
|
|
14734
14665
|
}
|
|
14735
14666
|
}
|
|
14736
|
-
return
|
|
14667
|
+
return Kh(t);
|
|
14737
14668
|
}
|
|
14738
|
-
function
|
|
14739
|
-
let t =
|
|
14669
|
+
function Kh(e) {
|
|
14670
|
+
let t = Wh(e), n = parseFloat(e), r = !isNaN(n);
|
|
14740
14671
|
return (e) => t(String(e)) || r && Q(e) === n;
|
|
14741
14672
|
}
|
|
14742
14673
|
//#endregion
|
|
14743
14674
|
//#region src/engine/date-parser.ts
|
|
14744
|
-
function
|
|
14675
|
+
function qh(e) {
|
|
14745
14676
|
if (typeof e != "string" || e.length < 6 || e.length > 30) return !1;
|
|
14746
14677
|
let t = /\d/.test(e), n = /[/\-\s,]/.test(e);
|
|
14747
14678
|
return !t || !n ? !1 : [
|
|
@@ -14753,10 +14684,10 @@ function Gh(e) {
|
|
|
14753
14684
|
/^\d{1,2}\s+[A-Za-z]{3,9}\s+\d{4}$/
|
|
14754
14685
|
].some((t) => t.test(e.trim()));
|
|
14755
14686
|
}
|
|
14756
|
-
function
|
|
14757
|
-
return
|
|
14687
|
+
function Jh(e, t, n) {
|
|
14688
|
+
return ag(e, t, n) ? $m(new Date(Date.UTC(e, t - 1, n))) : null;
|
|
14758
14689
|
}
|
|
14759
|
-
function
|
|
14690
|
+
function Yh(e, t) {
|
|
14760
14691
|
let [, n, r, i] = e.match(t) ?? [];
|
|
14761
14692
|
return n === void 0 || r === void 0 || i === void 0 ? null : [
|
|
14762
14693
|
n,
|
|
@@ -14764,77 +14695,77 @@ function qh(e, t) {
|
|
|
14764
14695
|
i
|
|
14765
14696
|
];
|
|
14766
14697
|
}
|
|
14767
|
-
var
|
|
14768
|
-
function
|
|
14769
|
-
let t = e.toLowerCase(), n =
|
|
14698
|
+
var Xh = /^(\d{1,2})\/(\d{1,2})\/(\d{2,4})$/, Zh = 12, Qh = (e, t, n) => e > Zh || t <= Zh && e <= Zh && n;
|
|
14699
|
+
function $h(e) {
|
|
14700
|
+
let t = e.toLowerCase(), n = th.findIndex((e) => e.toLowerCase() === t);
|
|
14770
14701
|
if (n !== -1) return n + 1;
|
|
14771
|
-
let r =
|
|
14702
|
+
let r = nh.findIndex((e) => e.toLowerCase() === t);
|
|
14772
14703
|
return r === -1 ? null : r + 1;
|
|
14773
14704
|
}
|
|
14774
|
-
function
|
|
14775
|
-
if (!
|
|
14776
|
-
let n = e.trim(), r =
|
|
14705
|
+
function eg(e, t = !1) {
|
|
14706
|
+
if (!qh(e)) return null;
|
|
14707
|
+
let n = e.trim(), r = Yh(n, /^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);
|
|
14777
14708
|
if (r) {
|
|
14778
14709
|
let [e, t, n] = r;
|
|
14779
|
-
return
|
|
14710
|
+
return Jh(parseInt(e), parseInt(t), parseInt(n));
|
|
14780
14711
|
}
|
|
14781
|
-
let i =
|
|
14712
|
+
let i = Yh(n, /^(\d{1,2})-([A-Za-z]{3})-(\d{2,4})$/);
|
|
14782
14713
|
if (i) {
|
|
14783
14714
|
let [e, t, n] = i;
|
|
14784
|
-
return
|
|
14715
|
+
return ig(rg(parseInt(n)), t, parseInt(e));
|
|
14785
14716
|
}
|
|
14786
|
-
let a =
|
|
14717
|
+
let a = Yh(n, /^([A-Za-z]{3,9})\s+(\d{1,2}),?\s+(\d{4})$/);
|
|
14787
14718
|
if (a) {
|
|
14788
14719
|
let [e, t, n] = a;
|
|
14789
|
-
return
|
|
14720
|
+
return ig(parseInt(n), e, parseInt(t));
|
|
14790
14721
|
}
|
|
14791
|
-
let o =
|
|
14722
|
+
let o = Yh(n, /^(\d{1,2})\s+([A-Za-z]{3,9})\s+(\d{4})$/);
|
|
14792
14723
|
if (o) {
|
|
14793
14724
|
let [e, t, n] = o;
|
|
14794
|
-
return
|
|
14725
|
+
return ig(parseInt(n), t, parseInt(e));
|
|
14795
14726
|
}
|
|
14796
|
-
let s =
|
|
14727
|
+
let s = Yh(n, Xh);
|
|
14797
14728
|
if (s) {
|
|
14798
|
-
let [e, n, r] = s, i =
|
|
14799
|
-
return
|
|
14729
|
+
let [e, n, r] = s, i = Qh(parseInt(e), parseInt(n), t), a = parseInt(i ? n : e), o = parseInt(i ? e : n);
|
|
14730
|
+
return Jh(rg(parseInt(r)), a, o);
|
|
14800
14731
|
}
|
|
14801
14732
|
return null;
|
|
14802
14733
|
}
|
|
14803
|
-
var
|
|
14804
|
-
function
|
|
14805
|
-
return e >=
|
|
14734
|
+
var tg = 100, ng = 30;
|
|
14735
|
+
function rg(e) {
|
|
14736
|
+
return e >= tg ? e : e < ng ? 2e3 + e : 1900 + e;
|
|
14806
14737
|
}
|
|
14807
|
-
function
|
|
14808
|
-
let r =
|
|
14809
|
-
return r === null ? null :
|
|
14738
|
+
function ig(e, t, n) {
|
|
14739
|
+
let r = $h(t);
|
|
14740
|
+
return r === null ? null : Jh(e, r, n);
|
|
14810
14741
|
}
|
|
14811
|
-
function
|
|
14742
|
+
function ag(e, t, n) {
|
|
14812
14743
|
if (e < 1900 || e > 2100 || t < 1 || t > 12 || n < 1 || n > 31) return !1;
|
|
14813
14744
|
let r = new Date(Date.UTC(e, t - 1, n));
|
|
14814
14745
|
return r.getUTCFullYear() === e && r.getUTCMonth() === t - 1 && r.getUTCDate() === n;
|
|
14815
14746
|
}
|
|
14816
|
-
function
|
|
14747
|
+
function og(e, t = !1) {
|
|
14817
14748
|
let n = e.trim();
|
|
14818
14749
|
if (/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)) return "YYYY-MM-DD";
|
|
14819
14750
|
if (/^\d{4}\/\d{1,2}\/\d{1,2}$/.test(n)) return "YYYY/MM/DD";
|
|
14820
14751
|
if (/^\d{1,2}-[A-Za-z]{3}-\d{2,4}$/.test(n)) return "DD-MMM-YYYY";
|
|
14821
14752
|
if (/^[A-Za-z]{3}\s+\d{1,2},?\s+\d{4}$/.test(n)) return "MMM D, YYYY";
|
|
14822
14753
|
if (/^[A-Za-z]{4,9}\s+\d{1,2},?\s+\d{4}$/.test(n)) return "MMMM D, YYYY";
|
|
14823
|
-
let r =
|
|
14754
|
+
let r = Yh(n, Xh);
|
|
14824
14755
|
if (r) {
|
|
14825
14756
|
let [e, n] = r;
|
|
14826
|
-
return
|
|
14757
|
+
return Qh(parseInt(e), parseInt(n), t) ? "DD/MM/YYYY" : "MM/DD/YYYY";
|
|
14827
14758
|
}
|
|
14828
14759
|
return t ? "DD/MM/YYYY" : "MM/DD/YYYY";
|
|
14829
14760
|
}
|
|
14830
14761
|
//#endregion
|
|
14831
14762
|
//#region src/engine/evaluator.ts
|
|
14832
|
-
function
|
|
14763
|
+
function sg(e) {
|
|
14833
14764
|
if (e == null) return "0";
|
|
14834
14765
|
let t = Mm(e) ? e.code : e;
|
|
14835
14766
|
return typeof t == "string" ? `"${t.replace(/\\/g, "\\\\").replace(/"/g, "\\\"")}"` : t.toString();
|
|
14836
14767
|
}
|
|
14837
|
-
function
|
|
14768
|
+
function cg(e) {
|
|
14838
14769
|
let t = "", n = null;
|
|
14839
14770
|
for (let r = 0; r < e.length; r++) {
|
|
14840
14771
|
let i = e[r];
|
|
@@ -14844,39 +14775,30 @@ function og(e) {
|
|
|
14844
14775
|
continue;
|
|
14845
14776
|
}
|
|
14846
14777
|
i === n && (n = null, t += i);
|
|
14847
|
-
|
|
14848
|
-
}
|
|
14849
|
-
if (i === "\"" || i === "'") {
|
|
14850
|
-
n = i, t += i;
|
|
14851
|
-
continue;
|
|
14852
|
-
}
|
|
14853
|
-
t += i;
|
|
14778
|
+
} else (i === "\"" || i === "'") && (n = i), t += i;
|
|
14854
14779
|
}
|
|
14855
14780
|
return t;
|
|
14856
14781
|
}
|
|
14857
|
-
function
|
|
14858
|
-
let t =
|
|
14782
|
+
function lg(e) {
|
|
14783
|
+
let t = cg(e).replace(/\b(?:true|false)\b/g, "");
|
|
14859
14784
|
return /^[\d+\-*/(). "']*$/.test(t);
|
|
14860
14785
|
}
|
|
14861
|
-
function
|
|
14786
|
+
function ug(e, t) {
|
|
14862
14787
|
let n = e[t], r = t + 1;
|
|
14863
|
-
for (; r < e.length;)
|
|
14864
|
-
|
|
14865
|
-
r += 2;
|
|
14866
|
-
continue;
|
|
14867
|
-
}
|
|
14788
|
+
for (; r < e.length;) if (e[r] === "\\") r += 2;
|
|
14789
|
+
else {
|
|
14868
14790
|
if (e[r] === n) return r + 1;
|
|
14869
14791
|
r++;
|
|
14870
14792
|
}
|
|
14871
14793
|
return e.length;
|
|
14872
14794
|
}
|
|
14873
|
-
function
|
|
14795
|
+
function dg(e, t) {
|
|
14874
14796
|
let n = e.indexOf("'", t + 1);
|
|
14875
14797
|
if (n === -1 || e[n + 1] !== "!") return null;
|
|
14876
14798
|
let r = e.substring(n + 2).match(/^(\$?[A-Z]+\$?\d+)/);
|
|
14877
14799
|
return r ? e.substring(t, n + 2 + r[0].length) : null;
|
|
14878
14800
|
}
|
|
14879
|
-
function
|
|
14801
|
+
function fg(e, t) {
|
|
14880
14802
|
let n = e.substring(t), r = n.match(/^([A-Z][A-Z0-9]*)!/i);
|
|
14881
14803
|
if (r) {
|
|
14882
14804
|
let e = n.substring(r[0].length).match(/^(\$?[A-Z]+\$?\d+)/);
|
|
@@ -14885,75 +14807,63 @@ function ug(e, t) {
|
|
|
14885
14807
|
let i = n.match(/^(\$?[A-Z]+\$?\d+)/);
|
|
14886
14808
|
return i ? i[0] : null;
|
|
14887
14809
|
}
|
|
14888
|
-
function
|
|
14810
|
+
function pg(e) {
|
|
14889
14811
|
let t = [], n = 0;
|
|
14890
14812
|
for (; n < e.length;) {
|
|
14891
14813
|
let r = e[n];
|
|
14892
14814
|
if (r === "\"") {
|
|
14893
|
-
n =
|
|
14815
|
+
n = ug(e, n);
|
|
14894
14816
|
continue;
|
|
14895
14817
|
}
|
|
14896
14818
|
if (r === "'") {
|
|
14897
|
-
let r =
|
|
14819
|
+
let r = dg(e, n);
|
|
14898
14820
|
r ? (t.push({
|
|
14899
14821
|
ref: r,
|
|
14900
14822
|
start: n
|
|
14901
|
-
}), n += r.length) : n =
|
|
14823
|
+
}), n += r.length) : n = ug(e, n);
|
|
14902
14824
|
continue;
|
|
14903
14825
|
}
|
|
14904
|
-
let i =
|
|
14905
|
-
|
|
14906
|
-
|
|
14907
|
-
|
|
14908
|
-
|
|
14909
|
-
}), n += i.length;
|
|
14910
|
-
continue;
|
|
14911
|
-
}
|
|
14912
|
-
n++;
|
|
14826
|
+
let i = fg(e, n);
|
|
14827
|
+
i ? (t.push({
|
|
14828
|
+
ref: i,
|
|
14829
|
+
start: n
|
|
14830
|
+
}), n += i.length) : n++;
|
|
14913
14831
|
}
|
|
14914
14832
|
return t;
|
|
14915
14833
|
}
|
|
14916
|
-
function
|
|
14834
|
+
function mg(e, t, n) {
|
|
14917
14835
|
return [...t].reverse().reduce((e, { ref: t, start: r }) => e.slice(0, r) + n(t) + e.slice(r + t.length), e);
|
|
14918
14836
|
}
|
|
14919
|
-
function
|
|
14837
|
+
function hg(e) {
|
|
14920
14838
|
let t = [], n = "", r = 0, i = !1, a = "";
|
|
14921
14839
|
for (let o = 0; o < e.length; o++) {
|
|
14922
14840
|
let s = e[o], c = o > 0 ? e[o - 1] : "";
|
|
14923
|
-
|
|
14924
|
-
i ? s === a && (i = !1, a = "") : (i = !0, a = s), n += s;
|
|
14925
|
-
continue;
|
|
14926
|
-
}
|
|
14927
|
-
if (!i && (s === "(" && r++, s === ")" && r--, s === "," && r === 0)) {
|
|
14928
|
-
t.push(n.trim()), n = "";
|
|
14929
|
-
continue;
|
|
14930
|
-
}
|
|
14931
|
-
n += s;
|
|
14841
|
+
(s === "\"" || s === "'") && c !== "\\" ? (i ? s === a && (i = !1, a = "") : (i = !0, a = s), n += s) : !i && (s === "(" && r++, s === ")" && r--, s === "," && r === 0) ? (t.push(n.trim()), n = "") : n += s;
|
|
14932
14842
|
}
|
|
14933
14843
|
return n.trim() && t.push(n.trim()), t;
|
|
14934
14844
|
}
|
|
14935
|
-
function
|
|
14845
|
+
function gg(e) {
|
|
14936
14846
|
let t;
|
|
14937
14847
|
try {
|
|
14938
14848
|
t = Function(`return (${e})`)();
|
|
14939
14849
|
} catch {
|
|
14940
|
-
throw
|
|
14850
|
+
throw kh();
|
|
14941
14851
|
}
|
|
14942
14852
|
if (typeof t == "number") {
|
|
14943
|
-
if (!Number.isFinite(t)) throw
|
|
14853
|
+
if (!Number.isFinite(t)) throw Eh();
|
|
14944
14854
|
return t;
|
|
14945
14855
|
}
|
|
14946
14856
|
if (typeof t == "string" || typeof t == "boolean") return t;
|
|
14947
|
-
throw
|
|
14857
|
+
throw kh();
|
|
14948
14858
|
}
|
|
14949
|
-
function
|
|
14859
|
+
function _g(e, t) {
|
|
14950
14860
|
let n = e.trim();
|
|
14951
14861
|
if ((n.startsWith("\"") && n.endsWith("\"") || n.startsWith("'") && n.endsWith("'")) && !n.includes("&")) {
|
|
14952
|
-
let e = n.slice(1, -1), r =
|
|
14862
|
+
let e = n.slice(1, -1), r = eg(e, t.preferDDMMYYYY);
|
|
14953
14863
|
return r === null ? e : r;
|
|
14954
14864
|
}
|
|
14955
|
-
let [, r, i] = e.match(/^([A-Z]
|
|
14956
|
-
if (r !== void 0 && i !== void 0) {
|
|
14865
|
+
let [, r, i] = e.match(/^([A-Z][A-Z0-9]*)\((.*)\)$/i) ?? [];
|
|
14866
|
+
if (r !== void 0 && i !== void 0 && Rh(r)) {
|
|
14957
14867
|
let e = 0, n = !0;
|
|
14958
14868
|
for (let t of i) if (t === "(") e++;
|
|
14959
14869
|
else if (t === ")" && (e--, e < 0)) {
|
|
@@ -14962,8 +14872,8 @@ function hg(e, t) {
|
|
|
14962
14872
|
}
|
|
14963
14873
|
let a = r.toUpperCase(), o = Z.get(a);
|
|
14964
14874
|
if (o && n) {
|
|
14965
|
-
let e =
|
|
14966
|
-
if (o.minArgs !== void 0 && e.length < o.minArgs) throw
|
|
14875
|
+
let e = hg(i);
|
|
14876
|
+
if (o.minArgs !== void 0 && e.length < o.minArgs) throw Ih(a, o.minArgs);
|
|
14967
14877
|
if (o.maxArgs !== void 0 && e.length > o.maxArgs) throw Error(`${a} accepts at most ${o.maxArgs} argument${o.maxArgs === 1 ? "" : "s"}`);
|
|
14968
14878
|
return o.handler(e, {
|
|
14969
14879
|
functionName: a,
|
|
@@ -14973,13 +14883,16 @@ function hg(e, t) {
|
|
|
14973
14883
|
evaluateFormula: t.evaluateFormula
|
|
14974
14884
|
});
|
|
14975
14885
|
}
|
|
14976
|
-
if (n && !o) throw
|
|
14886
|
+
if (n && !o) throw Oh(a);
|
|
14977
14887
|
}
|
|
14978
14888
|
let a = e, o = 0, s = 0;
|
|
14979
14889
|
for (; o < a.length && s < 100;) {
|
|
14980
|
-
s
|
|
14981
|
-
|
|
14982
|
-
|
|
14890
|
+
if (s++, a[o] === "\"" || a[o] === "'") {
|
|
14891
|
+
o = ug(a, o);
|
|
14892
|
+
continue;
|
|
14893
|
+
}
|
|
14894
|
+
let [, e] = a.substring(o).match(/^([A-Z][A-Z0-9]*)\(/i) ?? [];
|
|
14895
|
+
if (e === void 0 || !Rh(e)) {
|
|
14983
14896
|
if (o++, o >= a.length) break;
|
|
14984
14897
|
continue;
|
|
14985
14898
|
}
|
|
@@ -14990,64 +14903,64 @@ function hg(e, t) {
|
|
|
14990
14903
|
}
|
|
14991
14904
|
if (i === 0) {
|
|
14992
14905
|
let e = a.substring(n, c), r = t.evaluateFormula(e);
|
|
14993
|
-
if (Mm(r)) throw
|
|
14906
|
+
if (Mm(r)) throw Ah(r.code);
|
|
14994
14907
|
let i = typeof r == "string" ? `"${r}"` : `(${r})`;
|
|
14995
14908
|
a = a.substring(0, n) + i + a.substring(c), o = n + i.length;
|
|
14996
14909
|
} else o++;
|
|
14997
14910
|
}
|
|
14998
|
-
let c =
|
|
14911
|
+
let c = pg(a), l = c.length === 1 ? c[0] : void 0;
|
|
14999
14912
|
if (l) {
|
|
15000
14913
|
let e = a.slice(0, l.start), n = a.slice(l.start + l.ref.length);
|
|
15001
14914
|
if (e.trim() === "" && n.trim() === "") return t.getCellValue(l.ref);
|
|
15002
14915
|
}
|
|
15003
|
-
a =
|
|
14916
|
+
a = mg(a, c, (e) => {
|
|
15004
14917
|
let n = t.getCellValue(e), r = Nm(n);
|
|
15005
|
-
if (r !== null) throw
|
|
15006
|
-
return
|
|
14918
|
+
if (r !== null) throw Ah(r);
|
|
14919
|
+
return sg(n);
|
|
15007
14920
|
}), a = a.replace(/"([^"]+)"/g, (e, n) => {
|
|
15008
|
-
let r =
|
|
14921
|
+
let r = eg(n, t.preferDDMMYYYY);
|
|
15009
14922
|
return r === null ? e : r.toString();
|
|
15010
|
-
}), a =
|
|
14923
|
+
}), a = gh(a);
|
|
15011
14924
|
let u = a.includes("&"), d = /["']/.test(a);
|
|
15012
14925
|
if (u && d) {
|
|
15013
|
-
let e =
|
|
15014
|
-
if (
|
|
14926
|
+
let e = vh(a);
|
|
14927
|
+
if (lg(e)) return gg(e);
|
|
15015
14928
|
}
|
|
15016
|
-
if (
|
|
15017
|
-
if (
|
|
14929
|
+
if (xh(a)) return gg(yh(a));
|
|
14930
|
+
if (bh(a)) return gg(a);
|
|
15018
14931
|
let f = a.trim();
|
|
15019
14932
|
return f.startsWith("\"") && f.endsWith("\"") || f.startsWith("'") && f.endsWith("'") ? f.slice(1, -1) : a;
|
|
15020
14933
|
}
|
|
15021
14934
|
//#endregion
|
|
15022
14935
|
//#region src/engine/cellFormatting.ts
|
|
15023
|
-
var
|
|
14936
|
+
var vg = 36e3, yg = 63499, bg = (e) => f(e) && "v" in e, xg = (e) => typeof e == "number" && Number.isInteger(e) && e >= vg && e <= yg, Sg = (e, t, n) => {
|
|
15024
14937
|
if (Mm(t)) return t.code;
|
|
15025
|
-
if (!
|
|
14938
|
+
if (!bg(e) || typeof t != "number") return t;
|
|
15026
14939
|
let r = typeof e.f == "string" ? e.f : "";
|
|
15027
|
-
return r ?
|
|
15028
|
-
},
|
|
15029
|
-
function
|
|
14940
|
+
return r ? hh(t, r) : typeof e.v == "string" && e.v.startsWith("=") && xg(t) ? hh(t, n ? "DD/MM/YYYY" : "MM/DD/YYYY") : t;
|
|
14941
|
+
}, Cg = /\$?[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+/g, wg = /\$?[A-Z]+\$?\d+/g;
|
|
14942
|
+
function Tg(e) {
|
|
15030
14943
|
return e.startsWith("=") ? e.slice(1) : e;
|
|
15031
14944
|
}
|
|
15032
|
-
var
|
|
15033
|
-
function
|
|
15034
|
-
let [, t, n] = e.match(
|
|
14945
|
+
var Eg = /^([A-Z]+)(\d+)$/;
|
|
14946
|
+
function Dg(e) {
|
|
14947
|
+
let [, t, n] = e.match(Eg) ?? [];
|
|
15035
14948
|
return t === void 0 || n === void 0 ? null : {
|
|
15036
14949
|
col: _m(t),
|
|
15037
14950
|
rowNumber: parseInt(n, 10)
|
|
15038
14951
|
};
|
|
15039
14952
|
}
|
|
15040
|
-
function
|
|
14953
|
+
function Og(e) {
|
|
15041
14954
|
let [t, n, ...r] = e.split(":");
|
|
15042
14955
|
if (t === void 0 || n === void 0 || r.length > 0) return null;
|
|
15043
|
-
let i =
|
|
14956
|
+
let i = Dg(t), a = Dg(n);
|
|
15044
14957
|
return i && a ? {
|
|
15045
14958
|
start: i,
|
|
15046
14959
|
end: a
|
|
15047
14960
|
} : null;
|
|
15048
14961
|
}
|
|
15049
|
-
function
|
|
15050
|
-
let t =
|
|
14962
|
+
function kg(e) {
|
|
14963
|
+
let t = Og(e.replace(/\$/g, ""));
|
|
15051
14964
|
if (!t) return [];
|
|
15052
14965
|
let { start: n, end: r } = t, i = [];
|
|
15053
14966
|
for (let e = n.rowNumber - 1; e <= r.rowNumber - 1; e++) for (let t = n.col; t <= r.col; t++) i.push({
|
|
@@ -15056,24 +14969,24 @@ function Dg(e) {
|
|
|
15056
14969
|
});
|
|
15057
14970
|
return i;
|
|
15058
14971
|
}
|
|
15059
|
-
function
|
|
14972
|
+
function Ag(e) {
|
|
15060
14973
|
let t = e.trim().toUpperCase();
|
|
15061
14974
|
if (t.includes(":")) {
|
|
15062
|
-
let e =
|
|
14975
|
+
let e = kg(t);
|
|
15063
14976
|
return e.length > 0 ? e : null;
|
|
15064
14977
|
}
|
|
15065
|
-
let n =
|
|
14978
|
+
let n = jg(t);
|
|
15066
14979
|
return n ? [n] : null;
|
|
15067
14980
|
}
|
|
15068
|
-
function
|
|
15069
|
-
let t =
|
|
14981
|
+
function jg(e) {
|
|
14982
|
+
let t = Dg(e.replace(/\$/g, ""));
|
|
15070
14983
|
return t ? {
|
|
15071
14984
|
col: t.col,
|
|
15072
14985
|
row: t.rowNumber - 1
|
|
15073
14986
|
} : null;
|
|
15074
14987
|
}
|
|
15075
|
-
function
|
|
15076
|
-
let t = e.lastIndexOf("!"), n = t >= 0 ? e.slice(0, t + 1) : "", r =
|
|
14988
|
+
function Mg(e) {
|
|
14989
|
+
let t = e.lastIndexOf("!"), n = t >= 0 ? e.slice(0, t + 1) : "", r = Og(t >= 0 ? e.slice(t + 1) : e);
|
|
15077
14990
|
if (!r) return null;
|
|
15078
14991
|
let { start: i, end: a } = r;
|
|
15079
14992
|
return {
|
|
@@ -15084,38 +14997,38 @@ function Ag(e) {
|
|
|
15084
14997
|
endRow: a.rowNumber
|
|
15085
14998
|
};
|
|
15086
14999
|
}
|
|
15087
|
-
var
|
|
15088
|
-
function
|
|
15000
|
+
var Ng = 0, Pg = 1;
|
|
15001
|
+
function Fg(e, t) {
|
|
15089
15002
|
let n = Math.trunc(e);
|
|
15090
|
-
return Number.isFinite(n) ? n ===
|
|
15003
|
+
return Number.isFinite(n) ? n === Ng ? t === 1 ? 0 : null : n < Pg || n > t ? null : n - Pg : null;
|
|
15091
15004
|
}
|
|
15092
|
-
function
|
|
15093
|
-
let r =
|
|
15005
|
+
function Ig(e, t, n) {
|
|
15006
|
+
let r = Fg(t, e.endRow - e.startRow + 1), i = Fg(n, e.endCol - e.startCol + 1);
|
|
15094
15007
|
return r === null || i === null ? null : {
|
|
15095
15008
|
colIndex: e.startCol + i,
|
|
15096
15009
|
row: e.startRow + r
|
|
15097
15010
|
};
|
|
15098
15011
|
}
|
|
15099
|
-
function
|
|
15012
|
+
function Lg(e, t) {
|
|
15100
15013
|
let n = Math.trunc(e);
|
|
15101
|
-
return !Number.isFinite(n) || n <
|
|
15014
|
+
return !Number.isFinite(n) || n < Pg || n > t ? null : n - Pg;
|
|
15102
15015
|
}
|
|
15103
|
-
function
|
|
15104
|
-
let t =
|
|
15016
|
+
function Rg(e) {
|
|
15017
|
+
let t = Tg(e), n = [], r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
15105
15018
|
let t = `${e.row},${e.col}`;
|
|
15106
15019
|
r.has(t) || (r.add(t), n.push(e));
|
|
15107
15020
|
};
|
|
15108
|
-
for (let e of t.match(
|
|
15109
|
-
let a = t.replace(
|
|
15110
|
-
for (let e of a.match(
|
|
15111
|
-
let t =
|
|
15021
|
+
for (let e of t.match(Cg) ?? []) for (let t of kg(e)) i(t);
|
|
15022
|
+
let a = t.replace(Cg, "");
|
|
15023
|
+
for (let e of a.match(wg) ?? []) {
|
|
15024
|
+
let t = jg(e);
|
|
15112
15025
|
t && i(t);
|
|
15113
15026
|
}
|
|
15114
15027
|
return n;
|
|
15115
15028
|
}
|
|
15116
15029
|
//#endregion
|
|
15117
15030
|
//#region src/engine/calculator.ts
|
|
15118
|
-
function
|
|
15031
|
+
function zg(e) {
|
|
15119
15032
|
if (!e || !Array.isArray(e) || e.length === 0) return [];
|
|
15120
15033
|
if (Array.isArray(e[0])) return e;
|
|
15121
15034
|
if (a(e[0])) {
|
|
@@ -15128,24 +15041,24 @@ function Lg(e) {
|
|
|
15128
15041
|
}
|
|
15129
15042
|
return console.warn("Unknown data structure in spreadsheet, returning empty:", e), [];
|
|
15130
15043
|
}
|
|
15131
|
-
function
|
|
15044
|
+
function Bg(e, t) {
|
|
15132
15045
|
return e.map((e) => e.map((e) => {
|
|
15133
15046
|
if (!a(e) || !("v" in e)) return e;
|
|
15134
15047
|
let n = e.v;
|
|
15135
15048
|
if (typeof n == "string" && !n.startsWith("=")) {
|
|
15136
|
-
let r =
|
|
15049
|
+
let r = eg(n, t);
|
|
15137
15050
|
if (r !== null) return {
|
|
15138
15051
|
v: r,
|
|
15139
|
-
f: e.f ||
|
|
15052
|
+
f: e.f || og(n, t)
|
|
15140
15053
|
};
|
|
15141
15054
|
}
|
|
15142
15055
|
return e;
|
|
15143
15056
|
}));
|
|
15144
15057
|
}
|
|
15145
|
-
function
|
|
15146
|
-
let i = r.preferDDMMYYYY ?? !1, o = r.skipFormatting ?? !1, s =
|
|
15058
|
+
function Vg(e, n, r = {}) {
|
|
15059
|
+
let i = r.preferDDMMYYYY ?? !1, o = r.skipFormatting ?? !1, s = Bg(zg(e.data), i), c = n?.map((e) => ({
|
|
15147
15060
|
...e,
|
|
15148
|
-
data:
|
|
15061
|
+
data: Bg(zg(e.data), i)
|
|
15149
15062
|
})), l = s, u = e.name, d = /* @__PURE__ */ new Map(), f = [], p = [], m = l.map((e) => [...e]);
|
|
15150
15063
|
d.set(u, m);
|
|
15151
15064
|
let h = /* @__PURE__ */ new Set(), g = /* @__PURE__ */ new Set(), _ = (e, { cells: n, row: r, col: i }) => {
|
|
@@ -15165,7 +15078,7 @@ function zg(e, n, r = {}) {
|
|
|
15165
15078
|
let t = w(e.substring(1));
|
|
15166
15079
|
return n[i] = t, t;
|
|
15167
15080
|
} catch (a) {
|
|
15168
|
-
let { type: o, display: s } =
|
|
15081
|
+
let { type: o, display: s } = jh(a);
|
|
15169
15082
|
f.push({
|
|
15170
15083
|
cell: {
|
|
15171
15084
|
row: r,
|
|
@@ -15231,7 +15144,7 @@ function zg(e, n, r = {}) {
|
|
|
15231
15144
|
if (!l || !l.data) return null;
|
|
15232
15145
|
let u = l.data.map((e) => [...e]);
|
|
15233
15146
|
d.set(o, u);
|
|
15234
|
-
let f =
|
|
15147
|
+
let f = Vg(l, c, {
|
|
15235
15148
|
preferDDMMYYYY: i,
|
|
15236
15149
|
skipFormatting: !0
|
|
15237
15150
|
});
|
|
@@ -15242,8 +15155,8 @@ function zg(e, n, r = {}) {
|
|
|
15242
15155
|
};
|
|
15243
15156
|
}, b = (e) => {
|
|
15244
15157
|
let t = y(e);
|
|
15245
|
-
if (!t) throw
|
|
15246
|
-
let { sheetData: n, ref: r, isCurrentSheet: i } = t, a =
|
|
15158
|
+
if (!t) throw Dh(e);
|
|
15159
|
+
let { sheetData: n, ref: r, isCurrentSheet: i } = t, a = jg(r);
|
|
15247
15160
|
if (!a) return 0;
|
|
15248
15161
|
let { row: o, col: s } = a, c = o >= 0 ? n[o] : void 0;
|
|
15249
15162
|
return !c || s < 0 || s >= c.length ? 0 : v(c[s], i ? {
|
|
@@ -15254,7 +15167,7 @@ function zg(e, n, r = {}) {
|
|
|
15254
15167
|
}, x = (e, t) => {
|
|
15255
15168
|
let n = y(e);
|
|
15256
15169
|
if (!n) return [];
|
|
15257
|
-
let { sheetData: r, ref: i, isCurrentSheet: a } = n, o =
|
|
15170
|
+
let { sheetData: r, ref: i, isCurrentSheet: a } = n, o = Ag(i);
|
|
15258
15171
|
if (!o) return [];
|
|
15259
15172
|
let s = [];
|
|
15260
15173
|
for (let { row: e, col: n } of o) {
|
|
@@ -15265,11 +15178,11 @@ function zg(e, n, r = {}) {
|
|
|
15265
15178
|
row: e,
|
|
15266
15179
|
col: n
|
|
15267
15180
|
} : void 0);
|
|
15268
|
-
t.numericOnly ? !
|
|
15181
|
+
t.numericOnly ? !Xm(r) && !isNaN(o) && s.push(o) : s.push(o);
|
|
15269
15182
|
}
|
|
15270
15183
|
}
|
|
15271
15184
|
return s;
|
|
15272
|
-
}, S = (e) => x(e, { numericOnly: !0 }), C = (e) => x(e, { numericOnly: !1 }), w = (e) =>
|
|
15185
|
+
}, S = (e) => x(e, { numericOnly: !0 }), C = (e) => x(e, { numericOnly: !1 }), w = (e) => _g(e, {
|
|
15273
15186
|
getCellValue: b,
|
|
15274
15187
|
getRangeValues: S,
|
|
15275
15188
|
getRangeValuesRaw: C,
|
|
@@ -15305,7 +15218,7 @@ function zg(e, n, r = {}) {
|
|
|
15305
15218
|
return E((e, t) => {
|
|
15306
15219
|
typeof t.cells[t.col] == "number" && a(e) && "f" in e || T(e, t);
|
|
15307
15220
|
}), o || E((e, { cells: t, col: n }) => {
|
|
15308
|
-
t[n] =
|
|
15221
|
+
t[n] = Sg(e, t[n], i);
|
|
15309
15222
|
}), {
|
|
15310
15223
|
name: u,
|
|
15311
15224
|
data: m,
|
|
@@ -15313,99 +15226,50 @@ function zg(e, n, r = {}) {
|
|
|
15313
15226
|
errors: f
|
|
15314
15227
|
};
|
|
15315
15228
|
}
|
|
15316
|
-
function
|
|
15317
|
-
return e.map((n) =>
|
|
15318
|
-
}
|
|
15319
|
-
//#endregion
|
|
15320
|
-
//#region src/engine/cellBuilder.ts
|
|
15321
|
-
var Vg = /^[-+]?\s*[A-Z]+\s*\(/i, Hg = /[A-Z]+\d+\s*[+\-*/^]/, Ug = /\d+\s*[+\-*/^]\s*\d+/, Wg = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?$/;
|
|
15322
|
-
function Gg(e) {
|
|
15323
|
-
return Vg.test(e) || Hg.test(e) || Ug.test(e);
|
|
15324
|
-
}
|
|
15325
|
-
function Kg(e) {
|
|
15326
|
-
let t = e.trim();
|
|
15327
|
-
return t === "" ? "" : Gg(t) ? `=${t}` : Wg.test(t) ? Number(t) : t;
|
|
15328
|
-
}
|
|
15329
|
-
function qg(e) {
|
|
15330
|
-
if (e.type === "string") return { v: String(e.value) };
|
|
15331
|
-
let t = { v: Kg(e.formula ?? "") };
|
|
15332
|
-
return e.format && e.format.length > 0 && (t.f = e.format), t;
|
|
15333
|
-
}
|
|
15334
|
-
//#endregion
|
|
15335
|
-
//#region src/engine/jsonCellLocator.ts
|
|
15336
|
-
function Jg(e, t, n) {
|
|
15337
|
-
let r = -1, i = !1;
|
|
15338
|
-
for (let a = t; a < e.length; a++) {
|
|
15339
|
-
let t = e[a], o = a > 0 ? e[a - 1] : "";
|
|
15340
|
-
if (t === "\"" && o !== "\\") {
|
|
15341
|
-
i = !i;
|
|
15342
|
-
continue;
|
|
15343
|
-
}
|
|
15344
|
-
if (!i && t === "[" && (r++, r === n)) return a + 1;
|
|
15345
|
-
}
|
|
15346
|
-
return -1;
|
|
15347
|
-
}
|
|
15348
|
-
function Yg(e, t, n) {
|
|
15349
|
-
let r = 0, i = !1, a = 0, o = 1;
|
|
15350
|
-
for (let s = t; s < e.length; s++) {
|
|
15351
|
-
let t = e[s], c = s > 0 ? e[s - 1] : "";
|
|
15352
|
-
if (t === "\"" && c !== "\\" && (i = !i), !i) {
|
|
15353
|
-
if (t === "[" && o++, t === "]" && (o--, o === 0)) return -1;
|
|
15354
|
-
t === "{" && a++, t === "}" && a--, t === "," && a === 0 && o === 1 && r++;
|
|
15355
|
-
}
|
|
15356
|
-
if (r === n && t !== " " && t !== "\n" && t !== " " && t !== "[" && t !== ",") return s;
|
|
15357
|
-
}
|
|
15358
|
-
return -1;
|
|
15359
|
-
}
|
|
15360
|
-
function Xg(e, t, n, r) {
|
|
15361
|
-
let i = `"name": ${JSON.stringify(t)}`, a = e.indexOf(i);
|
|
15362
|
-
if (a === -1) return -1;
|
|
15363
|
-
let o = e.indexOf("\"data\": [", a);
|
|
15364
|
-
if (o === -1) return -1;
|
|
15365
|
-
let s = Jg(e, o + 9, n);
|
|
15366
|
-
return s === -1 ? -1 : Yg(e, s, r);
|
|
15229
|
+
function Hg(e, t = {}) {
|
|
15230
|
+
return e.map((n) => Vg(n, e, t));
|
|
15367
15231
|
}
|
|
15368
15232
|
//#endregion
|
|
15369
15233
|
//#region src/engine/functions/statistical-math.ts
|
|
15370
|
-
var
|
|
15371
|
-
function
|
|
15372
|
-
return e.length === 0 ? Sm :
|
|
15234
|
+
var Ug = (e) => e.reduce((e, t) => e + t, 0) / e.length;
|
|
15235
|
+
function Wg(e) {
|
|
15236
|
+
return e.length === 0 ? Sm : Ug(e);
|
|
15373
15237
|
}
|
|
15374
|
-
function
|
|
15375
|
-
return e.length === 0 ? Em :
|
|
15238
|
+
function Gg(e) {
|
|
15239
|
+
return e.length === 0 ? Em : Ug(Kg([...e].sort((e, t) => e - t)));
|
|
15376
15240
|
}
|
|
15377
|
-
function
|
|
15241
|
+
function Kg(e) {
|
|
15378
15242
|
let t = Math.floor(e.length / 2);
|
|
15379
15243
|
return e.slice(e.length % 2 == 0 ? t - 1 : t, t + 1);
|
|
15380
15244
|
}
|
|
15381
|
-
function
|
|
15245
|
+
function qg(e) {
|
|
15382
15246
|
let t = /* @__PURE__ */ new Map();
|
|
15383
15247
|
for (let n of e) t.set(n, (t.get(n) ?? 0) + 1);
|
|
15384
15248
|
let n = 0, r = Dm;
|
|
15385
15249
|
for (let [e, i] of t.entries()) i > n && (n = i, r = e);
|
|
15386
15250
|
return n >= 2 ? r : Dm;
|
|
15387
15251
|
}
|
|
15388
|
-
var
|
|
15389
|
-
function
|
|
15390
|
-
if (e.length <
|
|
15391
|
-
let t =
|
|
15252
|
+
var Jg = 2;
|
|
15253
|
+
function Yg(e) {
|
|
15254
|
+
if (e.length < Jg) return Sm;
|
|
15255
|
+
let t = Ug(e);
|
|
15392
15256
|
return e.reduce((e, n) => e + (n - t) ** 2, 0) / (e.length - 1);
|
|
15393
15257
|
}
|
|
15394
|
-
function
|
|
15395
|
-
let t =
|
|
15258
|
+
function Xg(e) {
|
|
15259
|
+
let t = Yg(e);
|
|
15396
15260
|
return typeof t == "number" ? Math.sqrt(t) : t;
|
|
15397
15261
|
}
|
|
15398
15262
|
//#endregion
|
|
15399
15263
|
//#region src/engine/functions/statistical.ts
|
|
15400
|
-
var
|
|
15264
|
+
var Zg = 255, Qg = /^\$?[A-Z]+\$?\d+$/i, $g = (e) => Qg.test(e), e_ = (e) => e.slice(e.lastIndexOf("!") + 1), t_ = (e) => {
|
|
15401
15265
|
if (!e) return !1;
|
|
15402
|
-
let [t, n] =
|
|
15403
|
-
return !t || !n ? !1 :
|
|
15404
|
-
},
|
|
15266
|
+
let [t, n] = e_(e).split(":");
|
|
15267
|
+
return !t || !n ? !1 : $g(t) && $g(n);
|
|
15268
|
+
}, n_ = (e) => t_(e) || $g(e_(e)), r_ = (e, t, n) => {
|
|
15405
15269
|
let r = [];
|
|
15406
15270
|
for (let i of e) {
|
|
15407
15271
|
let e = i?.trim();
|
|
15408
|
-
e && (
|
|
15272
|
+
e && (n_(e) ? n(e).forEach((e) => r.push({
|
|
15409
15273
|
value: e,
|
|
15410
15274
|
isScalar: !1
|
|
15411
15275
|
})) : r.push({
|
|
@@ -15414,20 +15278,20 @@ var a_ = 255, o_ = /^\$?[A-Z]+\$?\d+$/i, s_ = (e) => o_.test(e), c_ = (e) => e.s
|
|
|
15414
15278
|
}));
|
|
15415
15279
|
}
|
|
15416
15280
|
return r;
|
|
15417
|
-
},
|
|
15418
|
-
let n =
|
|
15281
|
+
}, i_ = (e, t) => r_(e, t, t.getRangeValues).map(({ value: e }) => Q(e)), a_ = (e, t) => r_(e, t, Lh(t)).map(({ value: e }) => e), o_ = (e, t) => i_(e, t).reduce((e, t) => e + t, 0), s_ = (e, t) => Wg(i_(e, t)), c_ = (e, t) => {
|
|
15282
|
+
let n = i_(e, t);
|
|
15419
15283
|
return n.length > 0 ? Math.max(...n) : 0;
|
|
15420
|
-
},
|
|
15421
|
-
let n =
|
|
15284
|
+
}, l_ = (e, t) => {
|
|
15285
|
+
let n = i_(e, t);
|
|
15422
15286
|
return n.length > 0 ? Math.min(...n) : 0;
|
|
15423
|
-
},
|
|
15424
|
-
let n = X(t, e, 0), r =
|
|
15287
|
+
}, u_ = ({ value: e, isScalar: t }) => !t || Ph(e), d_ = (e, t) => r_(e, t, t.getRangeValues).filter(u_).length, f_ = (e, t) => Gg(i_(e, t)), p_ = (e, t) => qg(i_(e, t)), m_ = (e, t) => Xg(i_(e, t)), h_ = (e, t) => Yg(i_(e, t)), g_ = (e, t) => a_(e, t).filter((e) => e != null && e !== "").length, __ = (e, t) => Lh(t)(X(t, e, 0)).filter(Gh(X(t, e, 1).trim())).length, v_ = (e, t) => {
|
|
15288
|
+
let n = X(t, e, 0), r = Lh(t), i = e.length === 3 ? X(t, e, 2) : n;
|
|
15425
15289
|
return {
|
|
15426
15290
|
criteriaRange: r(n),
|
|
15427
15291
|
valueRange: r(i),
|
|
15428
|
-
matches:
|
|
15292
|
+
matches: Gh(X(t, e, 1).trim())
|
|
15429
15293
|
};
|
|
15430
|
-
},
|
|
15294
|
+
}, y_ = (e, t, n) => e.reduce((e, r, i) => n(r) ? {
|
|
15431
15295
|
sum: e.sum + Q(t[i] ?? 0),
|
|
15432
15296
|
count: e.count + 1
|
|
15433
15297
|
} : e, {
|
|
@@ -15436,85 +15300,85 @@ var a_ = 255, o_ = /^\$?[A-Z]+\$?\d+$/i, s_ = (e) => o_.test(e), c_ = (e) => e.s
|
|
|
15436
15300
|
});
|
|
15437
15301
|
Z.register({
|
|
15438
15302
|
name: "SUM",
|
|
15439
|
-
handler:
|
|
15303
|
+
handler: o_,
|
|
15440
15304
|
minArgs: 1,
|
|
15441
|
-
maxArgs:
|
|
15305
|
+
maxArgs: Zg,
|
|
15442
15306
|
description: "Returns the sum of all numbers in a range",
|
|
15443
15307
|
examples: ["SUM(A1:A10)", "SUM(B2:B20)"],
|
|
15444
15308
|
category: "Statistical"
|
|
15445
15309
|
}), Z.register({
|
|
15446
15310
|
name: "AVERAGE",
|
|
15447
|
-
handler:
|
|
15311
|
+
handler: s_,
|
|
15448
15312
|
minArgs: 1,
|
|
15449
|
-
maxArgs:
|
|
15313
|
+
maxArgs: Zg,
|
|
15450
15314
|
description: "Returns the average (arithmetic mean) of numbers in a range",
|
|
15451
15315
|
examples: ["AVERAGE(A1:A10)", "AVERAGE(B2:B20)"],
|
|
15452
15316
|
category: "Statistical"
|
|
15453
15317
|
}), Z.register({
|
|
15454
15318
|
name: "MAX",
|
|
15455
|
-
handler:
|
|
15319
|
+
handler: c_,
|
|
15456
15320
|
minArgs: 1,
|
|
15457
15321
|
description: "Returns the largest value in a range",
|
|
15458
15322
|
examples: ["MAX(A1:A10)", "MAX(B2:B20)"],
|
|
15459
15323
|
category: "Statistical"
|
|
15460
15324
|
}), Z.register({
|
|
15461
15325
|
name: "MIN",
|
|
15462
|
-
handler:
|
|
15326
|
+
handler: l_,
|
|
15463
15327
|
minArgs: 1,
|
|
15464
15328
|
description: "Returns the smallest value in a range",
|
|
15465
15329
|
examples: ["MIN(A1:A10)", "MIN(B2:B20)"],
|
|
15466
15330
|
category: "Statistical"
|
|
15467
15331
|
}), Z.register({
|
|
15468
15332
|
name: "COUNT",
|
|
15469
|
-
handler:
|
|
15333
|
+
handler: d_,
|
|
15470
15334
|
minArgs: 1,
|
|
15471
|
-
maxArgs:
|
|
15335
|
+
maxArgs: Zg,
|
|
15472
15336
|
description: "Counts the number of cells in a range",
|
|
15473
15337
|
examples: ["COUNT(A1:A10)", "COUNT(B2:B20)"],
|
|
15474
15338
|
category: "Statistical"
|
|
15475
15339
|
}), Z.register({
|
|
15476
15340
|
name: "MEDIAN",
|
|
15477
|
-
handler:
|
|
15341
|
+
handler: f_,
|
|
15478
15342
|
minArgs: 1,
|
|
15479
|
-
maxArgs:
|
|
15343
|
+
maxArgs: Zg,
|
|
15480
15344
|
description: "Returns the median (middle) value in a range",
|
|
15481
15345
|
examples: ["MEDIAN(A1:A10)", "MEDIAN(B2:B20)"],
|
|
15482
15346
|
category: "Statistical"
|
|
15483
15347
|
}), Z.register({
|
|
15484
15348
|
name: "MODE",
|
|
15485
|
-
handler:
|
|
15349
|
+
handler: p_,
|
|
15486
15350
|
minArgs: 1,
|
|
15487
|
-
maxArgs:
|
|
15351
|
+
maxArgs: Zg,
|
|
15488
15352
|
description: "Returns the most frequently occurring value in a range",
|
|
15489
15353
|
examples: ["MODE(A1:A10)", "MODE(B2:B20)"],
|
|
15490
15354
|
category: "Statistical"
|
|
15491
15355
|
}), Z.register({
|
|
15492
15356
|
name: "STDEV",
|
|
15493
|
-
handler:
|
|
15357
|
+
handler: m_,
|
|
15494
15358
|
minArgs: 1,
|
|
15495
|
-
maxArgs:
|
|
15359
|
+
maxArgs: Zg,
|
|
15496
15360
|
description: "Returns the standard deviation of numbers in a range",
|
|
15497
15361
|
examples: ["STDEV(A1:A10)", "STDEV(B2:B20)"],
|
|
15498
15362
|
category: "Statistical"
|
|
15499
15363
|
}), Z.register({
|
|
15500
15364
|
name: "VAR",
|
|
15501
|
-
handler:
|
|
15365
|
+
handler: h_,
|
|
15502
15366
|
minArgs: 1,
|
|
15503
|
-
maxArgs:
|
|
15367
|
+
maxArgs: Zg,
|
|
15504
15368
|
description: "Returns the variance of numbers in a range",
|
|
15505
15369
|
examples: ["VAR(A1:A10)", "VAR(B2:B20)"],
|
|
15506
15370
|
category: "Statistical"
|
|
15507
15371
|
}), Z.register({
|
|
15508
15372
|
name: "COUNTA",
|
|
15509
|
-
handler:
|
|
15373
|
+
handler: g_,
|
|
15510
15374
|
minArgs: 1,
|
|
15511
|
-
maxArgs:
|
|
15375
|
+
maxArgs: Zg,
|
|
15512
15376
|
description: "Counts the number of non-empty cells in a range",
|
|
15513
15377
|
examples: ["COUNTA(A1:A10)", "COUNTA(B2:B20)"],
|
|
15514
15378
|
category: "Statistical"
|
|
15515
15379
|
}), Z.register({
|
|
15516
15380
|
name: "COUNTIF",
|
|
15517
|
-
handler:
|
|
15381
|
+
handler: __,
|
|
15518
15382
|
minArgs: 2,
|
|
15519
15383
|
maxArgs: 2,
|
|
15520
15384
|
description: "Counts cells in a range that match a criteria",
|
|
@@ -15523,8 +15387,8 @@ Z.register({
|
|
|
15523
15387
|
}), Z.register({
|
|
15524
15388
|
name: "SUMIF",
|
|
15525
15389
|
handler: (e, t) => {
|
|
15526
|
-
let { criteriaRange: n, valueRange: r, matches: i } =
|
|
15527
|
-
return
|
|
15390
|
+
let { criteriaRange: n, valueRange: r, matches: i } = v_(e, t);
|
|
15391
|
+
return y_(n, r, i).sum;
|
|
15528
15392
|
},
|
|
15529
15393
|
minArgs: 2,
|
|
15530
15394
|
maxArgs: 3,
|
|
@@ -15534,7 +15398,7 @@ Z.register({
|
|
|
15534
15398
|
}), Z.register({
|
|
15535
15399
|
name: "AVERAGEIF",
|
|
15536
15400
|
handler: (e, t) => {
|
|
15537
|
-
let { criteriaRange: n, valueRange: r, matches: i } =
|
|
15401
|
+
let { criteriaRange: n, valueRange: r, matches: i } = v_(e, t), { sum: a, count: o } = y_(n, r, i);
|
|
15538
15402
|
return o > 0 ? a / o : Sm;
|
|
15539
15403
|
},
|
|
15540
15404
|
minArgs: 2,
|
|
@@ -15545,48 +15409,48 @@ Z.register({
|
|
|
15545
15409
|
});
|
|
15546
15410
|
//#endregion
|
|
15547
15411
|
//#region src/engine/math-ops.ts
|
|
15548
|
-
var
|
|
15549
|
-
function
|
|
15550
|
-
let n =
|
|
15412
|
+
var b_ = 10, x_ = (e) => b_ ** +e;
|
|
15413
|
+
function S_(e, t) {
|
|
15414
|
+
let n = x_(t);
|
|
15551
15415
|
return Math.sign(e) * Math.round(Math.abs(e) * n) / n;
|
|
15552
15416
|
}
|
|
15553
|
-
function
|
|
15554
|
-
let n =
|
|
15417
|
+
function C_(e, t) {
|
|
15418
|
+
let n = x_(t);
|
|
15555
15419
|
return Math.sign(e) * Math.ceil(Math.abs(e) * n) / n;
|
|
15556
15420
|
}
|
|
15557
|
-
function
|
|
15558
|
-
let n =
|
|
15421
|
+
function w_(e, t) {
|
|
15422
|
+
let n = x_(t);
|
|
15559
15423
|
return Math.sign(e) * Math.floor(Math.abs(e) * n) / n;
|
|
15560
15424
|
}
|
|
15561
|
-
var
|
|
15562
|
-
function
|
|
15563
|
-
return t === 0 ? Sm :
|
|
15425
|
+
var T_ = (e, t) => e === 0 || Math.sign(e) === Math.sign(t);
|
|
15426
|
+
function E_(e, t) {
|
|
15427
|
+
return t === 0 ? Sm : T_(e, t) ? Math.floor(e / t) * t : Em;
|
|
15564
15428
|
}
|
|
15565
|
-
function
|
|
15566
|
-
return t === 0 ? 0 :
|
|
15429
|
+
function D_(e, t) {
|
|
15430
|
+
return t === 0 ? 0 : T_(e, t) ? Math.ceil(e / t) * t : Em;
|
|
15567
15431
|
}
|
|
15568
|
-
function
|
|
15432
|
+
function O_(e, t) {
|
|
15569
15433
|
return t === 0 ? Sm : e - t * Math.floor(e / t);
|
|
15570
15434
|
}
|
|
15571
|
-
function
|
|
15435
|
+
function k_(e, t) {
|
|
15572
15436
|
return e < 0 && !Number.isInteger(t) ? Em : e ** +t;
|
|
15573
15437
|
}
|
|
15574
|
-
function
|
|
15438
|
+
function A_(e) {
|
|
15575
15439
|
return e <= 0 ? Em : Math.log(e);
|
|
15576
15440
|
}
|
|
15577
|
-
function
|
|
15578
|
-
let n =
|
|
15441
|
+
function j_(e, t) {
|
|
15442
|
+
let n = A_(e);
|
|
15579
15443
|
return Mm(n) ? n : t <= 0 || t === 1 ? Em : n / Math.log(t);
|
|
15580
15444
|
}
|
|
15581
|
-
function
|
|
15445
|
+
function M_(e) {
|
|
15582
15446
|
return e <= 0 ? Em : Math.log10(e);
|
|
15583
15447
|
}
|
|
15584
|
-
function
|
|
15448
|
+
function N_(e) {
|
|
15585
15449
|
return e < 0 ? Em : Math.sqrt(e);
|
|
15586
15450
|
}
|
|
15587
15451
|
Z.register({
|
|
15588
15452
|
name: "ROUND",
|
|
15589
|
-
handler: (e, t) =>
|
|
15453
|
+
handler: (e, t) => S_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15590
15454
|
minArgs: 2,
|
|
15591
15455
|
maxArgs: 2,
|
|
15592
15456
|
description: "Rounds a number to a specified number of digits",
|
|
@@ -15594,7 +15458,7 @@ Z.register({
|
|
|
15594
15458
|
category: "Mathematical"
|
|
15595
15459
|
}), Z.register({
|
|
15596
15460
|
name: "ROUNDUP",
|
|
15597
|
-
handler: (e, t) =>
|
|
15461
|
+
handler: (e, t) => C_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15598
15462
|
minArgs: 2,
|
|
15599
15463
|
maxArgs: 2,
|
|
15600
15464
|
description: "Rounds a number up, away from zero",
|
|
@@ -15602,7 +15466,7 @@ Z.register({
|
|
|
15602
15466
|
category: "Mathematical"
|
|
15603
15467
|
}), Z.register({
|
|
15604
15468
|
name: "ROUNDDOWN",
|
|
15605
|
-
handler: (e, t) =>
|
|
15469
|
+
handler: (e, t) => w_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15606
15470
|
minArgs: 2,
|
|
15607
15471
|
maxArgs: 2,
|
|
15608
15472
|
description: "Rounds a number down, toward zero",
|
|
@@ -15610,7 +15474,7 @@ Z.register({
|
|
|
15610
15474
|
category: "Mathematical"
|
|
15611
15475
|
}), Z.register({
|
|
15612
15476
|
name: "FLOOR",
|
|
15613
|
-
handler: (e, t) =>
|
|
15477
|
+
handler: (e, t) => E_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15614
15478
|
minArgs: 2,
|
|
15615
15479
|
maxArgs: 2,
|
|
15616
15480
|
description: "Rounds a number down to the nearest multiple of significance",
|
|
@@ -15618,7 +15482,7 @@ Z.register({
|
|
|
15618
15482
|
category: "Mathematical"
|
|
15619
15483
|
}), Z.register({
|
|
15620
15484
|
name: "CEILING",
|
|
15621
|
-
handler: (e, t) =>
|
|
15485
|
+
handler: (e, t) => D_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15622
15486
|
minArgs: 2,
|
|
15623
15487
|
maxArgs: 2,
|
|
15624
15488
|
description: "Rounds a number up to the nearest multiple of significance",
|
|
@@ -15627,7 +15491,7 @@ Z.register({
|
|
|
15627
15491
|
}), Z.register({
|
|
15628
15492
|
name: "ABS",
|
|
15629
15493
|
handler: (e, t) => {
|
|
15630
|
-
let n =
|
|
15494
|
+
let n = Fh(t.evaluateFormula(X(t, e, 0)));
|
|
15631
15495
|
return Mm(n) ? n : Math.abs(n);
|
|
15632
15496
|
},
|
|
15633
15497
|
minArgs: 1,
|
|
@@ -15637,7 +15501,7 @@ Z.register({
|
|
|
15637
15501
|
category: "Mathematical"
|
|
15638
15502
|
}), Z.register({
|
|
15639
15503
|
name: "POWER",
|
|
15640
|
-
handler: (e, t) =>
|
|
15504
|
+
handler: (e, t) => k_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15641
15505
|
minArgs: 2,
|
|
15642
15506
|
maxArgs: 2,
|
|
15643
15507
|
description: "Returns the result of a number raised to a power",
|
|
@@ -15645,7 +15509,7 @@ Z.register({
|
|
|
15645
15509
|
category: "Mathematical"
|
|
15646
15510
|
}), Z.register({
|
|
15647
15511
|
name: "SQRT",
|
|
15648
|
-
handler: (e, t) =>
|
|
15512
|
+
handler: (e, t) => N_(Q(t.evaluateFormula(X(t, e, 0)))),
|
|
15649
15513
|
minArgs: 1,
|
|
15650
15514
|
maxArgs: 1,
|
|
15651
15515
|
description: "Returns the square root of a number",
|
|
@@ -15653,7 +15517,7 @@ Z.register({
|
|
|
15653
15517
|
category: "Mathematical"
|
|
15654
15518
|
}), Z.register({
|
|
15655
15519
|
name: "MOD",
|
|
15656
|
-
handler: (e, t) =>
|
|
15520
|
+
handler: (e, t) => O_(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1)))),
|
|
15657
15521
|
minArgs: 2,
|
|
15658
15522
|
maxArgs: 2,
|
|
15659
15523
|
description: "Returns the remainder after division",
|
|
@@ -15684,7 +15548,7 @@ Z.register({
|
|
|
15684
15548
|
}), Z.register({
|
|
15685
15549
|
name: "SIGN",
|
|
15686
15550
|
handler: (e, t) => {
|
|
15687
|
-
let n =
|
|
15551
|
+
let n = Fh(t.evaluateFormula(X(t, e, 0)));
|
|
15688
15552
|
return Mm(n) ? n : Math.sign(n);
|
|
15689
15553
|
},
|
|
15690
15554
|
minArgs: 1,
|
|
@@ -15713,7 +15577,7 @@ Z.register({
|
|
|
15713
15577
|
category: "Mathematical"
|
|
15714
15578
|
}), Z.register({
|
|
15715
15579
|
name: "LN",
|
|
15716
|
-
handler: (e, t) =>
|
|
15580
|
+
handler: (e, t) => A_(Q(t.evaluateFormula(X(t, e, 0)))),
|
|
15717
15581
|
minArgs: 1,
|
|
15718
15582
|
maxArgs: 1,
|
|
15719
15583
|
description: "Returns the natural logarithm of a number",
|
|
@@ -15721,7 +15585,7 @@ Z.register({
|
|
|
15721
15585
|
category: "Mathematical"
|
|
15722
15586
|
}), Z.register({
|
|
15723
15587
|
name: "LOG",
|
|
15724
|
-
handler: (e, t) =>
|
|
15588
|
+
handler: (e, t) => j_(Q(t.evaluateFormula(X(t, e, 0))), e.length === 2 ? Q(t.evaluateFormula(X(t, e, 1))) : 10),
|
|
15725
15589
|
minArgs: 1,
|
|
15726
15590
|
maxArgs: 2,
|
|
15727
15591
|
description: "Returns the logarithm of a number to a specified base",
|
|
@@ -15729,7 +15593,7 @@ Z.register({
|
|
|
15729
15593
|
category: "Mathematical"
|
|
15730
15594
|
}), Z.register({
|
|
15731
15595
|
name: "LOG10",
|
|
15732
|
-
handler: (e, t) =>
|
|
15596
|
+
handler: (e, t) => M_(Q(t.evaluateFormula(X(t, e, 0)))),
|
|
15733
15597
|
minArgs: 1,
|
|
15734
15598
|
maxArgs: 1,
|
|
15735
15599
|
description: "Returns the base-10 logarithm of a number",
|
|
@@ -15738,7 +15602,7 @@ Z.register({
|
|
|
15738
15602
|
});
|
|
15739
15603
|
//#endregion
|
|
15740
15604
|
//#region src/engine/coerce-boolean.ts
|
|
15741
|
-
function
|
|
15605
|
+
function P_(e) {
|
|
15742
15606
|
if (typeof e == "boolean") return e;
|
|
15743
15607
|
if (e == null) return !1;
|
|
15744
15608
|
if (typeof e == "number") return e !== 0;
|
|
@@ -15754,7 +15618,7 @@ function H_(e) {
|
|
|
15754
15618
|
Z.register({
|
|
15755
15619
|
name: "IF",
|
|
15756
15620
|
handler: (e, t) => {
|
|
15757
|
-
let n = X(t, e, 0), r = X(t, e, 1), i = X(t, e, 2), a =
|
|
15621
|
+
let n = X(t, e, 0), r = X(t, e, 1), i = X(t, e, 2), a = P_(t.evaluateFormula(n)) ? r : i;
|
|
15758
15622
|
return /^["'](.*)["']$/.test(a) ? a.slice(1, -1) : t.evaluateFormula(a);
|
|
15759
15623
|
},
|
|
15760
15624
|
minArgs: 3,
|
|
@@ -15765,7 +15629,7 @@ Z.register({
|
|
|
15765
15629
|
}), Z.register({
|
|
15766
15630
|
name: "AND",
|
|
15767
15631
|
handler: (e, t) => {
|
|
15768
|
-
for (let n of e) if (!
|
|
15632
|
+
for (let n of e) if (!P_(t.evaluateFormula(n.trim()))) return !1;
|
|
15769
15633
|
return !0;
|
|
15770
15634
|
},
|
|
15771
15635
|
minArgs: 1,
|
|
@@ -15775,7 +15639,7 @@ Z.register({
|
|
|
15775
15639
|
}), Z.register({
|
|
15776
15640
|
name: "OR",
|
|
15777
15641
|
handler: (e, t) => {
|
|
15778
|
-
for (let n of e) if (
|
|
15642
|
+
for (let n of e) if (P_(t.evaluateFormula(n.trim()))) return !0;
|
|
15779
15643
|
return !1;
|
|
15780
15644
|
},
|
|
15781
15645
|
minArgs: 1,
|
|
@@ -15784,7 +15648,7 @@ Z.register({
|
|
|
15784
15648
|
category: "Logical"
|
|
15785
15649
|
}), Z.register({
|
|
15786
15650
|
name: "NOT",
|
|
15787
|
-
handler: (e, t) => !
|
|
15651
|
+
handler: (e, t) => !P_(t.evaluateFormula(X(t, e, 0))),
|
|
15788
15652
|
minArgs: 1,
|
|
15789
15653
|
maxArgs: 1,
|
|
15790
15654
|
description: "Reverses the logical value of its argument",
|
|
@@ -15822,8 +15686,8 @@ Z.register({
|
|
|
15822
15686
|
if (e.length < 2 || e.length % 2 != 0) throw Error("IFS requires an even number of arguments (condition-value pairs)");
|
|
15823
15687
|
for (let n = 0; n < e.length; n += 2) {
|
|
15824
15688
|
let r = X(t, e, n), i = X(t, e, n + 1);
|
|
15825
|
-
if (
|
|
15826
|
-
let n =
|
|
15689
|
+
if (Wm(mg(r, pg(r), (e) => Gm(t.getCellValue(e))), (e) => {
|
|
15690
|
+
let n = Bm(e);
|
|
15827
15691
|
return typeof n == "string" && n === e.trim() ? t.evaluateFormula(e) : n;
|
|
15828
15692
|
})) return /^["'](.*)["']$/.test(i) ? i.slice(1, -1) : t.evaluateFormula(i);
|
|
15829
15693
|
}
|
|
@@ -15852,98 +15716,98 @@ Z.register({
|
|
|
15852
15716
|
});
|
|
15853
15717
|
//#endregion
|
|
15854
15718
|
//#region src/engine/textFormat.ts
|
|
15855
|
-
var
|
|
15856
|
-
let t =
|
|
15719
|
+
var F_ = 100, I_ = "?\\*_[]\"@;/", L_ = /[#0][#0,.]*/, R_ = /[#0]/, z_ = /0+$/, B_ = (e, t) => Array.from(e).filter((e) => t.includes(e)).length, V_ = (e) => Array.from(e).some((e) => I_.includes(e)), H_ = (e) => {
|
|
15720
|
+
let t = L_.exec(e);
|
|
15857
15721
|
if (!t || t[0].endsWith(",")) return null;
|
|
15858
15722
|
let n = e.slice(0, t.index), r = e.slice(t.index + t[0].length);
|
|
15859
|
-
if (
|
|
15723
|
+
if (R_.test(r) || V_(n) || V_(r)) return null;
|
|
15860
15724
|
let [i, a = "", ...o] = t[0].split(".");
|
|
15861
15725
|
return i === void 0 || o.length > 0 ? null : {
|
|
15862
15726
|
prefix: n,
|
|
15863
15727
|
suffix: r,
|
|
15864
15728
|
useGrouping: i.includes(","),
|
|
15865
|
-
integerMinDigits:
|
|
15866
|
-
minDecimals:
|
|
15867
|
-
maxDecimals:
|
|
15729
|
+
integerMinDigits: B_(i, "0"),
|
|
15730
|
+
minDecimals: B_(a, "0"),
|
|
15731
|
+
maxDecimals: B_(a, "#0"),
|
|
15868
15732
|
isPercent: n.includes("%") || r.includes("%")
|
|
15869
15733
|
};
|
|
15870
|
-
},
|
|
15871
|
-
let n = e.replace(
|
|
15734
|
+
}, U_ = (e, t) => {
|
|
15735
|
+
let n = e.replace(z_, "");
|
|
15872
15736
|
return n.length >= t ? n : e.slice(0, t);
|
|
15873
|
-
},
|
|
15874
|
-
let n = e.toFixed(t.maxDecimals), r = n.indexOf("."), i = r === -1 ? n : n.slice(0, r), a = r === -1 ? "" : n.slice(r + 1), o = i.padStart(t.integerMinDigits, "0"), s = t.useGrouping ?
|
|
15737
|
+
}, W_ = (e, t) => {
|
|
15738
|
+
let n = e.toFixed(t.maxDecimals), r = n.indexOf("."), i = r === -1 ? n : n.slice(0, r), a = r === -1 ? "" : n.slice(r + 1), o = i.padStart(t.integerMinDigits, "0"), s = t.useGrouping ? ph(o) : o, c = U_(a, t.minDecimals);
|
|
15875
15739
|
return c ? `${s}.${c}` : s;
|
|
15876
|
-
},
|
|
15740
|
+
}, G_ = (e) => Array.from(e).every((e) => e === "0" || e === "," || e === "."), K_ = (e, t) => {
|
|
15877
15741
|
if (!Number.isFinite(e)) return null;
|
|
15878
|
-
let n =
|
|
15742
|
+
let n = H_(t);
|
|
15879
15743
|
if (!n) return null;
|
|
15880
|
-
let r = n.isPercent ? e *
|
|
15881
|
-
return `${r < 0 &&
|
|
15882
|
-
},
|
|
15744
|
+
let r = n.isPercent ? e * F_ : e, i = W_(Math.abs(r), n);
|
|
15745
|
+
return `${r < 0 && !G_(i) ? "-" : ""}${n.prefix}${i}${n.suffix}`;
|
|
15746
|
+
}, q_ = (e) => /[\p{L}\p{M}]/u.test(e), J_ = (e) => {
|
|
15883
15747
|
let t = Array.from(e);
|
|
15884
15748
|
return t.map((e, n) => {
|
|
15885
15749
|
let r = t[n - 1];
|
|
15886
|
-
return r === void 0 || !
|
|
15750
|
+
return r === void 0 || !q_(r) ? e.toUpperCase() : e.toLowerCase();
|
|
15887
15751
|
}).join("");
|
|
15888
|
-
},
|
|
15889
|
-
let n =
|
|
15752
|
+
}, Y_ = (e) => !Number.isFinite(e) || e < 0 ? Cm : Math.trunc(e), X_ = (e, t) => {
|
|
15753
|
+
let n = Y_(t);
|
|
15890
15754
|
return Mm(n) ? n : e.substring(0, n);
|
|
15891
|
-
},
|
|
15892
|
-
let n =
|
|
15755
|
+
}, Z_ = (e, t) => {
|
|
15756
|
+
let n = Y_(t);
|
|
15893
15757
|
return Mm(n) ? n : e.substring(e.length - n);
|
|
15894
|
-
},
|
|
15758
|
+
}, Q_ = (e, t, n, r) => {
|
|
15895
15759
|
let i = e.split(t);
|
|
15896
15760
|
return r > i.length - 1 ? e : i.slice(0, r).join(t) + n + i.slice(r).join(t);
|
|
15897
|
-
},
|
|
15761
|
+
}, $_ = (e, t, n, r) => {
|
|
15898
15762
|
if (t === "") return e;
|
|
15899
15763
|
if (r === void 0) return e.split(t).join(n);
|
|
15900
15764
|
let i = Math.trunc(r);
|
|
15901
|
-
return !Number.isFinite(i) || i <= 0 ? Cm :
|
|
15902
|
-
},
|
|
15903
|
-
let r =
|
|
15765
|
+
return !Number.isFinite(i) || i <= 0 ? Cm : Q_(e, t, n, i);
|
|
15766
|
+
}, ev = (e, t) => e.map((e) => zh(t.evaluateFormula(e.trim()))).join(""), tv = ev, nv = (e, t) => X_(zh(t.evaluateFormula(X(t, e, 0))), e.length === 2 ? Number(t.evaluateFormula(X(t, e, 1))) : 1), rv = (e, t) => Z_(zh(t.evaluateFormula(X(t, e, 0))), e.length === 2 ? Number(t.evaluateFormula(X(t, e, 1))) : 1), iv = (e, t, n) => {
|
|
15767
|
+
let r = Y_(n);
|
|
15904
15768
|
if (Mm(r)) return r;
|
|
15905
15769
|
if (!Number.isFinite(t) || t < 1) return Cm;
|
|
15906
15770
|
let i = Math.trunc(t) - 1;
|
|
15907
15771
|
return e.substring(i, i + r);
|
|
15908
|
-
},
|
|
15909
|
-
let n =
|
|
15772
|
+
}, av = (e, t) => iv(zh(t.evaluateFormula(X(t, e, 0))), Number(t.evaluateFormula(X(t, e, 1))), Number(t.evaluateFormula(X(t, e, 2)))), ov = (e, t) => zh(t.evaluateFormula(X(t, e, 0))).length, sv = (e, t) => zh(t.evaluateFormula(X(t, e, 0))).toUpperCase(), cv = (e, t) => zh(t.evaluateFormula(X(t, e, 0))).toLowerCase(), lv = (e, t) => J_(zh(t.evaluateFormula(X(t, e, 0)))), uv = (e, t) => zh(t.evaluateFormula(X(t, e, 0))).trim().replace(/\s+/g, " "), dv = (e, t) => $_(zh(t.evaluateFormula(X(t, e, 0))), zh(t.evaluateFormula(X(t, e, 1))), zh(t.evaluateFormula(X(t, e, 2))), e.length === 4 ? Number(t.evaluateFormula(X(t, e, 3))) : void 0), fv = (e, t) => {
|
|
15773
|
+
let n = zh(t.evaluateFormula(X(t, e, 0))), r = Number(t.evaluateFormula(X(t, e, 1))) - 1, i = Number(t.evaluateFormula(X(t, e, 2))), a = zh(t.evaluateFormula(X(t, e, 3)));
|
|
15910
15774
|
return n.substring(0, r) + a + n.substring(r + i);
|
|
15911
|
-
},
|
|
15775
|
+
}, pv = (e, t, n, r) => {
|
|
15912
15776
|
let i = r.caseInsensitive ? e.toLowerCase() : e, a = (r.caseInsensitive ? t.toLowerCase() : t).indexOf(i, n);
|
|
15913
15777
|
return a === -1 ? Cm : a + 1;
|
|
15914
|
-
},
|
|
15915
|
-
let n = t.evaluateFormula(X(t, e, 0)), r =
|
|
15916
|
-
return typeof n == "number" ?
|
|
15917
|
-
},
|
|
15918
|
-
if (!
|
|
15778
|
+
}, mv = (e) => (t, n) => pv(zh(n.evaluateFormula(X(n, t, 0))), zh(n.evaluateFormula(X(n, t, 1))), t.length === 3 ? Number(n.evaluateFormula(X(n, t, 2))) - 1 : 0, { caseInsensitive: e }), hv = mv(!1), gv = mv(!0), _v = (e) => e.replace(/^["']/, "").replace(/["']$/, ""), vv = (e, t) => {
|
|
15779
|
+
let n = t.evaluateFormula(X(t, e, 0)), r = _v(zh(t.evaluateFormula(X(t, e, 1))));
|
|
15780
|
+
return typeof n == "number" ? K_(n, r) ?? zh(n) : zh(n);
|
|
15781
|
+
}, yv = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/, bv = (e) => {
|
|
15782
|
+
if (!yv.test(e)) return null;
|
|
15919
15783
|
let t = Number(e);
|
|
15920
15784
|
return Number.isFinite(t) ? t : null;
|
|
15921
|
-
},
|
|
15785
|
+
}, xv = (e) => {
|
|
15922
15786
|
let t = e.replace(/[$,]/g, "").trim();
|
|
15923
15787
|
if (t.endsWith("%")) {
|
|
15924
|
-
let e =
|
|
15788
|
+
let e = bv(t.slice(0, -1).trim());
|
|
15925
15789
|
return e === null ? Cm : e / 100;
|
|
15926
15790
|
}
|
|
15927
|
-
let n =
|
|
15791
|
+
let n = bv(t);
|
|
15928
15792
|
return n === null ? Cm : n;
|
|
15929
15793
|
};
|
|
15930
15794
|
Z.register({
|
|
15931
15795
|
name: "CONCATENATE",
|
|
15932
|
-
handler:
|
|
15796
|
+
handler: ev,
|
|
15933
15797
|
minArgs: 1,
|
|
15934
15798
|
description: "Joins several text strings into one string",
|
|
15935
15799
|
examples: ["CONCATENATE(\"Hello\", \" \", \"World\")", "CONCATENATE(A1, B1)"],
|
|
15936
15800
|
category: "Text"
|
|
15937
15801
|
}), Z.register({
|
|
15938
15802
|
name: "CONCAT",
|
|
15939
|
-
handler:
|
|
15803
|
+
handler: tv,
|
|
15940
15804
|
minArgs: 1,
|
|
15941
15805
|
description: "Joins several text strings into one string (same as CONCATENATE)",
|
|
15942
15806
|
examples: ["CONCAT(\"Hello\", \" \", \"World\")", "CONCAT(A1, B1)"],
|
|
15943
15807
|
category: "Text"
|
|
15944
15808
|
}), Z.register({
|
|
15945
15809
|
name: "LEFT",
|
|
15946
|
-
handler:
|
|
15810
|
+
handler: nv,
|
|
15947
15811
|
minArgs: 1,
|
|
15948
15812
|
maxArgs: 2,
|
|
15949
15813
|
description: "Returns the leftmost characters from a text string",
|
|
@@ -15951,7 +15815,7 @@ Z.register({
|
|
|
15951
15815
|
category: "Text"
|
|
15952
15816
|
}), Z.register({
|
|
15953
15817
|
name: "RIGHT",
|
|
15954
|
-
handler:
|
|
15818
|
+
handler: rv,
|
|
15955
15819
|
minArgs: 1,
|
|
15956
15820
|
maxArgs: 2,
|
|
15957
15821
|
description: "Returns the rightmost characters from a text string",
|
|
@@ -15959,7 +15823,7 @@ Z.register({
|
|
|
15959
15823
|
category: "Text"
|
|
15960
15824
|
}), Z.register({
|
|
15961
15825
|
name: "MID",
|
|
15962
|
-
handler:
|
|
15826
|
+
handler: av,
|
|
15963
15827
|
minArgs: 3,
|
|
15964
15828
|
maxArgs: 3,
|
|
15965
15829
|
description: "Returns characters from the middle of a text string",
|
|
@@ -15967,7 +15831,7 @@ Z.register({
|
|
|
15967
15831
|
category: "Text"
|
|
15968
15832
|
}), Z.register({
|
|
15969
15833
|
name: "LEN",
|
|
15970
|
-
handler:
|
|
15834
|
+
handler: ov,
|
|
15971
15835
|
minArgs: 1,
|
|
15972
15836
|
maxArgs: 1,
|
|
15973
15837
|
description: "Returns the number of characters in a text string",
|
|
@@ -15975,7 +15839,7 @@ Z.register({
|
|
|
15975
15839
|
category: "Text"
|
|
15976
15840
|
}), Z.register({
|
|
15977
15841
|
name: "UPPER",
|
|
15978
|
-
handler:
|
|
15842
|
+
handler: sv,
|
|
15979
15843
|
minArgs: 1,
|
|
15980
15844
|
maxArgs: 1,
|
|
15981
15845
|
description: "Converts text to uppercase",
|
|
@@ -15983,7 +15847,7 @@ Z.register({
|
|
|
15983
15847
|
category: "Text"
|
|
15984
15848
|
}), Z.register({
|
|
15985
15849
|
name: "LOWER",
|
|
15986
|
-
handler:
|
|
15850
|
+
handler: cv,
|
|
15987
15851
|
minArgs: 1,
|
|
15988
15852
|
maxArgs: 1,
|
|
15989
15853
|
description: "Converts text to lowercase",
|
|
@@ -15991,7 +15855,7 @@ Z.register({
|
|
|
15991
15855
|
category: "Text"
|
|
15992
15856
|
}), Z.register({
|
|
15993
15857
|
name: "PROPER",
|
|
15994
|
-
handler:
|
|
15858
|
+
handler: lv,
|
|
15995
15859
|
minArgs: 1,
|
|
15996
15860
|
maxArgs: 1,
|
|
15997
15861
|
description: "Capitalizes the first letter of each word",
|
|
@@ -15999,7 +15863,7 @@ Z.register({
|
|
|
15999
15863
|
category: "Text"
|
|
16000
15864
|
}), Z.register({
|
|
16001
15865
|
name: "TRIM",
|
|
16002
|
-
handler:
|
|
15866
|
+
handler: uv,
|
|
16003
15867
|
minArgs: 1,
|
|
16004
15868
|
maxArgs: 1,
|
|
16005
15869
|
description: "Removes extra spaces from text",
|
|
@@ -16007,7 +15871,7 @@ Z.register({
|
|
|
16007
15871
|
category: "Text"
|
|
16008
15872
|
}), Z.register({
|
|
16009
15873
|
name: "SUBSTITUTE",
|
|
16010
|
-
handler:
|
|
15874
|
+
handler: dv,
|
|
16011
15875
|
minArgs: 3,
|
|
16012
15876
|
maxArgs: 4,
|
|
16013
15877
|
description: "Replaces old text with new text in a string",
|
|
@@ -16015,7 +15879,7 @@ Z.register({
|
|
|
16015
15879
|
category: "Text"
|
|
16016
15880
|
}), Z.register({
|
|
16017
15881
|
name: "REPLACE",
|
|
16018
|
-
handler:
|
|
15882
|
+
handler: fv,
|
|
16019
15883
|
minArgs: 4,
|
|
16020
15884
|
maxArgs: 4,
|
|
16021
15885
|
description: "Replaces part of a text string with a different text string",
|
|
@@ -16023,7 +15887,7 @@ Z.register({
|
|
|
16023
15887
|
category: "Text"
|
|
16024
15888
|
}), Z.register({
|
|
16025
15889
|
name: "FIND",
|
|
16026
|
-
handler:
|
|
15890
|
+
handler: hv,
|
|
16027
15891
|
minArgs: 2,
|
|
16028
15892
|
maxArgs: 3,
|
|
16029
15893
|
description: "Finds one text string within another (case-sensitive)",
|
|
@@ -16031,7 +15895,7 @@ Z.register({
|
|
|
16031
15895
|
category: "Text"
|
|
16032
15896
|
}), Z.register({
|
|
16033
15897
|
name: "SEARCH",
|
|
16034
|
-
handler:
|
|
15898
|
+
handler: gv,
|
|
16035
15899
|
minArgs: 2,
|
|
16036
15900
|
maxArgs: 3,
|
|
16037
15901
|
description: "Finds one text string within another (case-insensitive)",
|
|
@@ -16039,7 +15903,7 @@ Z.register({
|
|
|
16039
15903
|
category: "Text"
|
|
16040
15904
|
}), Z.register({
|
|
16041
15905
|
name: "TEXT",
|
|
16042
|
-
handler:
|
|
15906
|
+
handler: vv,
|
|
16043
15907
|
minArgs: 2,
|
|
16044
15908
|
maxArgs: 2,
|
|
16045
15909
|
description: "Formats a number and converts it to text",
|
|
@@ -16047,7 +15911,7 @@ Z.register({
|
|
|
16047
15911
|
category: "Text"
|
|
16048
15912
|
}), Z.register({
|
|
16049
15913
|
name: "VALUE",
|
|
16050
|
-
handler: (e, t) =>
|
|
15914
|
+
handler: (e, t) => xv(zh(t.evaluateFormula(X(t, e, 0)))),
|
|
16051
15915
|
minArgs: 1,
|
|
16052
15916
|
maxArgs: 1,
|
|
16053
15917
|
description: "Converts a text string to a number",
|
|
@@ -16055,7 +15919,7 @@ Z.register({
|
|
|
16055
15919
|
category: "Text"
|
|
16056
15920
|
}), Z.register({
|
|
16057
15921
|
name: "EXACT",
|
|
16058
|
-
handler: (e, t) =>
|
|
15922
|
+
handler: (e, t) => zh(t.evaluateFormula(X(t, e, 0))) === zh(t.evaluateFormula(X(t, e, 1))),
|
|
16059
15923
|
minArgs: 2,
|
|
16060
15924
|
maxArgs: 2,
|
|
16061
15925
|
description: "Checks if two text strings are exactly the same",
|
|
@@ -16064,50 +15928,50 @@ Z.register({
|
|
|
16064
15928
|
});
|
|
16065
15929
|
//#endregion
|
|
16066
15930
|
//#region src/engine/financial-math.ts
|
|
16067
|
-
function
|
|
15931
|
+
function Sv(e, t, n, r, i) {
|
|
16068
15932
|
if (e === 0) return -(r + n * t);
|
|
16069
15933
|
let a = (1 + e) ** +t;
|
|
16070
15934
|
return -r * a - n * (a - 1) * (1 + e * i) / e;
|
|
16071
15935
|
}
|
|
16072
|
-
function
|
|
15936
|
+
function Cv(e, t, n, r, i) {
|
|
16073
15937
|
if (e === 0) return -(r + n) / t;
|
|
16074
15938
|
let a = (1 + e) ** +t;
|
|
16075
15939
|
return -e * (r + n * a) / ((a - 1) * (1 + e * i));
|
|
16076
15940
|
}
|
|
16077
|
-
function
|
|
16078
|
-
let o =
|
|
15941
|
+
function wv(e, t, n, r, i, a) {
|
|
15942
|
+
let o = Cv(e, n, r, i, a);
|
|
16079
15943
|
if (t === 1 && a === 1) return 0;
|
|
16080
|
-
let s =
|
|
15944
|
+
let s = Sv(e, a === 1 ? t - 2 : t - 1, o, r, a) * e;
|
|
16081
15945
|
return a === 1 ? s / (1 + e) : s;
|
|
16082
15946
|
}
|
|
16083
|
-
function
|
|
16084
|
-
return
|
|
15947
|
+
function Tv(e, t, n, r, i, a) {
|
|
15948
|
+
return Cv(e, n, r, i, a) - wv(e, t, n, r, i, a);
|
|
16085
15949
|
}
|
|
16086
|
-
function
|
|
15950
|
+
function Ev(e, t, n, r, i) {
|
|
16087
15951
|
if (e === 0) return -(r + n * t);
|
|
16088
15952
|
let a = (1 + e) ** +t;
|
|
16089
15953
|
return (-r - n * (a - 1) * (1 + e * i) / e) / a;
|
|
16090
15954
|
}
|
|
16091
|
-
function
|
|
15955
|
+
function Dv(e, t, n, r, i) {
|
|
16092
15956
|
if (e === 0) return -(r + n) / t;
|
|
16093
15957
|
let a = t * (1 + e * i);
|
|
16094
15958
|
return Math.log((a - r * e) / (a + n * e)) / Math.log(1 + e);
|
|
16095
15959
|
}
|
|
16096
|
-
var
|
|
16097
|
-
function
|
|
15960
|
+
var Ov = 100, kv = 1e-7;
|
|
15961
|
+
function Av(e, t, n, r, i, a) {
|
|
16098
15962
|
let o = a;
|
|
16099
|
-
for (let a = 0; a <
|
|
16100
|
-
Math.abs(o) <
|
|
15963
|
+
for (let a = 0; a < Ov; a++) {
|
|
15964
|
+
Math.abs(o) < kv && (o = kv);
|
|
16101
15965
|
let a = (1 + o) ** +e, s = n * a + t * ((a - 1) / o) * (1 + o * i) + r, c = e * n * (1 + o) ** (e - 1) + t * (1 + o * i) * (e * (1 + o) ** (e - 1) * o - (a - 1)) / (o * o) + t * i * ((a - 1) / o), l = o - s / c;
|
|
16102
|
-
if (Math.abs(l - o) <
|
|
15966
|
+
if (Math.abs(l - o) < kv) return Number.isFinite(l) ? l : Em;
|
|
16103
15967
|
o = l;
|
|
16104
15968
|
}
|
|
16105
15969
|
return Em;
|
|
16106
15970
|
}
|
|
16107
|
-
function
|
|
15971
|
+
function jv(e, t) {
|
|
16108
15972
|
return t.reduce((t, n, r) => t + n / (1 + e) ** +(r + 1), 0);
|
|
16109
15973
|
}
|
|
16110
|
-
function
|
|
15974
|
+
function Mv(e, t) {
|
|
16111
15975
|
return e.reduce((e, n, r) => {
|
|
16112
15976
|
let i = (1 + t) ** +r;
|
|
16113
15977
|
return {
|
|
@@ -16119,24 +15983,49 @@ function zv(e, t) {
|
|
|
16119
15983
|
dnpv: 0
|
|
16120
15984
|
});
|
|
16121
15985
|
}
|
|
16122
|
-
function
|
|
15986
|
+
function Nv(e, t) {
|
|
16123
15987
|
let n = t;
|
|
16124
|
-
for (let t = 0; t <
|
|
16125
|
-
let { npv: t, dnpv: r } =
|
|
16126
|
-
if (Math.abs(t) <
|
|
16127
|
-
if (Math.abs(r) <
|
|
15988
|
+
for (let t = 0; t < Ov; t++) {
|
|
15989
|
+
let { npv: t, dnpv: r } = Mv(e, n);
|
|
15990
|
+
if (Math.abs(t) < kv) return n;
|
|
15991
|
+
if (Math.abs(r) < kv) return Em;
|
|
16128
15992
|
let i = n - t / r;
|
|
16129
|
-
if (Math.abs(i - n) <
|
|
15993
|
+
if (Math.abs(i - n) < kv) return Number.isFinite(i) ? i : Em;
|
|
16130
15994
|
n = i;
|
|
16131
15995
|
}
|
|
16132
15996
|
return Em;
|
|
16133
15997
|
}
|
|
16134
15998
|
//#endregion
|
|
16135
15999
|
//#region src/engine/functions/financial.ts
|
|
16136
|
-
var
|
|
16000
|
+
var Pv = (e, t, n, r) => {
|
|
16001
|
+
let i = (n) => Q(t.evaluateFormula(X(t, e, n))), a = Array.from({ length: n }, (e, t) => i(t)), o = r.map((t, r) => e.length > n + r ? i(n + r) : t);
|
|
16002
|
+
return [...a, ...o];
|
|
16003
|
+
}, Fv = (e, t) => {
|
|
16004
|
+
let [n, r, i, a, o] = Pv(e, t, 3, [0, 0]);
|
|
16005
|
+
return Sv(n, r, i, a, o);
|
|
16006
|
+
}, Iv = (e, t) => {
|
|
16007
|
+
let [n, r, i, a, o] = Pv(e, t, 3, [0, 0]);
|
|
16008
|
+
return Ev(n, r, i, a, o);
|
|
16009
|
+
}, Lv = (e, t) => {
|
|
16010
|
+
let [n, r, i, a, o] = Pv(e, t, 3, [0, 0]);
|
|
16011
|
+
return Cv(n, r, i, a, o);
|
|
16012
|
+
}, Rv = (e, t) => {
|
|
16013
|
+
let [n, r, i, a, o] = Pv(e, t, 3, [0, 0]);
|
|
16014
|
+
return Dv(n, r, i, a, o);
|
|
16015
|
+
}, zv = (e, t) => {
|
|
16016
|
+
let [n, r, i, a, o, s] = Pv(e, t, 3, [
|
|
16017
|
+
0,
|
|
16018
|
+
0,
|
|
16019
|
+
.1
|
|
16020
|
+
]);
|
|
16021
|
+
return Av(n, r, i, a, o, s);
|
|
16022
|
+
}, Bv = (e) => (t, n) => {
|
|
16023
|
+
let [r, i, a, o, s, c] = Pv(t, n, 4, [0, 0]);
|
|
16024
|
+
return e(r, i, a, o, s, c);
|
|
16025
|
+
}, Vv = Bv(wv), Hv = Bv(Tv), Uv = (e, t) => e.flatMap((e) => (e.includes(":") ? t.getRangeValues(e) : [t.evaluateFormula(e)]).map(Q));
|
|
16137
16026
|
Z.register({
|
|
16138
16027
|
name: "FV",
|
|
16139
|
-
handler:
|
|
16028
|
+
handler: Fv,
|
|
16140
16029
|
minArgs: 3,
|
|
16141
16030
|
maxArgs: 5,
|
|
16142
16031
|
description: "Calculates the future value of an investment based on periodic, constant payments and a constant interest rate",
|
|
@@ -16144,7 +16033,7 @@ Z.register({
|
|
|
16144
16033
|
category: "Financial"
|
|
16145
16034
|
}), Z.register({
|
|
16146
16035
|
name: "PV",
|
|
16147
|
-
handler:
|
|
16036
|
+
handler: Iv,
|
|
16148
16037
|
minArgs: 3,
|
|
16149
16038
|
maxArgs: 5,
|
|
16150
16039
|
description: "Calculates the present value of an investment based on periodic, constant payments and a constant interest rate",
|
|
@@ -16152,7 +16041,7 @@ Z.register({
|
|
|
16152
16041
|
category: "Financial"
|
|
16153
16042
|
}), Z.register({
|
|
16154
16043
|
name: "PMT",
|
|
16155
|
-
handler:
|
|
16044
|
+
handler: Lv,
|
|
16156
16045
|
minArgs: 3,
|
|
16157
16046
|
maxArgs: 5,
|
|
16158
16047
|
description: "Calculates the payment for a loan based on constant payments and a constant interest rate",
|
|
@@ -16160,7 +16049,7 @@ Z.register({
|
|
|
16160
16049
|
category: "Financial"
|
|
16161
16050
|
}), Z.register({
|
|
16162
16051
|
name: "NPER",
|
|
16163
|
-
handler:
|
|
16052
|
+
handler: Rv,
|
|
16164
16053
|
minArgs: 3,
|
|
16165
16054
|
maxArgs: 5,
|
|
16166
16055
|
description: "Calculates the number of periods for an investment based on periodic, constant payments and a constant interest rate",
|
|
@@ -16168,7 +16057,7 @@ Z.register({
|
|
|
16168
16057
|
category: "Financial"
|
|
16169
16058
|
}), Z.register({
|
|
16170
16059
|
name: "RATE",
|
|
16171
|
-
handler:
|
|
16060
|
+
handler: zv,
|
|
16172
16061
|
minArgs: 3,
|
|
16173
16062
|
maxArgs: 6,
|
|
16174
16063
|
description: "Calculates the interest rate per period of an annuity using iteration",
|
|
@@ -16176,7 +16065,7 @@ Z.register({
|
|
|
16176
16065
|
category: "Financial"
|
|
16177
16066
|
}), Z.register({
|
|
16178
16067
|
name: "IPMT",
|
|
16179
|
-
handler:
|
|
16068
|
+
handler: Vv,
|
|
16180
16069
|
minArgs: 4,
|
|
16181
16070
|
maxArgs: 6,
|
|
16182
16071
|
description: "Calculates the interest payment for a given period for an investment",
|
|
@@ -16184,7 +16073,7 @@ Z.register({
|
|
|
16184
16073
|
category: "Financial"
|
|
16185
16074
|
}), Z.register({
|
|
16186
16075
|
name: "PPMT",
|
|
16187
|
-
handler:
|
|
16076
|
+
handler: Hv,
|
|
16188
16077
|
minArgs: 4,
|
|
16189
16078
|
maxArgs: 6,
|
|
16190
16079
|
description: "Calculates the payment on the principal for a given period for an investment",
|
|
@@ -16192,7 +16081,7 @@ Z.register({
|
|
|
16192
16081
|
category: "Financial"
|
|
16193
16082
|
}), Z.register({
|
|
16194
16083
|
name: "NPV",
|
|
16195
|
-
handler: (e, t) =>
|
|
16084
|
+
handler: (e, t) => jv(Q(t.evaluateFormula(X(t, e, 0))), Uv(e.slice(1), t)),
|
|
16196
16085
|
minArgs: 2,
|
|
16197
16086
|
description: "Calculates the net present value of an investment based on a discount rate and a series of future cash flows",
|
|
16198
16087
|
examples: ["NPV(0.1, -10000, 3000, 4200, 6800)", "NPV(A1, B1:B10)"],
|
|
@@ -16202,7 +16091,7 @@ Z.register({
|
|
|
16202
16091
|
handler: (e, t) => {
|
|
16203
16092
|
let n = t.getRangeValues(X(t, e, 0)).map(Q), r = e.length === 2 ? Q(t.evaluateFormula(X(t, e, 1))) : .1;
|
|
16204
16093
|
if (n.length === 0) throw Error("IRR requires at least one value");
|
|
16205
|
-
return
|
|
16094
|
+
return Nv(n, r);
|
|
16206
16095
|
},
|
|
16207
16096
|
minArgs: 1,
|
|
16208
16097
|
maxArgs: 2,
|
|
@@ -16212,7 +16101,7 @@ Z.register({
|
|
|
16212
16101
|
});
|
|
16213
16102
|
//#endregion
|
|
16214
16103
|
//#region src/engine/functions/lookup-math.ts
|
|
16215
|
-
function
|
|
16104
|
+
function Wv(e) {
|
|
16216
16105
|
if (typeof e == "boolean") return e;
|
|
16217
16106
|
if (typeof e == "number") return e !== 0;
|
|
16218
16107
|
if (Mm(e)) return !1;
|
|
@@ -16221,25 +16110,24 @@ function Xv(e) {
|
|
|
16221
16110
|
}
|
|
16222
16111
|
//#endregion
|
|
16223
16112
|
//#region src/engine/functions/lookup.ts
|
|
16224
|
-
var
|
|
16113
|
+
var Gv = (e, t) => Array.from({ length: Math.max(0, t - e + 1) }, (t, n) => e + n), Kv = (e, t, n, r, i) => Gv(r, i).map((r) => e.getCellValue(`${t}${n}${r}`)), qv = (e, t, n, r, i) => Gv(r, i).map((r) => e.getCellValue(`${t}${vm(r)}${n}`)), Jv = (e, t) => e.reduce((e, n, r) => t(n) ? r : e, -1), Yv = (e, t) => {
|
|
16225
16114
|
let n = e.findIndex((e) => !t(e));
|
|
16226
16115
|
return (n === -1 ? e.length : n) - 1;
|
|
16227
|
-
},
|
|
16228
|
-
let i = (e, t) => typeof e == "number" && typeof t == "number" ? e - t : String(e).localeCompare(String(t));
|
|
16116
|
+
}, Xv = (e, t) => typeof e == "number" && typeof t == "number" ? e - t : String(e).localeCompare(String(t)), Zv = (e, t, n = 1, r = 1) => {
|
|
16229
16117
|
if (n === 0) {
|
|
16230
|
-
let n = typeof e == "string" && (e.includes("*") || e.includes("?")) ?
|
|
16231
|
-
return r === 1 ? t.findIndex(n) :
|
|
16118
|
+
let n = typeof e == "string" && (e.includes("*") || e.includes("?")) ? Gh(e) : (t) => t == e;
|
|
16119
|
+
return r === 1 ? t.findIndex(n) : Jv(t, n);
|
|
16232
16120
|
}
|
|
16233
|
-
return n === 1 ?
|
|
16121
|
+
return n === 1 ? Yv(t, (t) => Xv(t, e) <= 0) : n === -1 ? Yv(t, (t) => Xv(t, e) >= 0) : -1;
|
|
16234
16122
|
};
|
|
16235
16123
|
Z.register({
|
|
16236
16124
|
name: "VLOOKUP",
|
|
16237
16125
|
handler: (e, t) => {
|
|
16238
|
-
let n = t.evaluateFormula(X(t, e, 0)), r =
|
|
16126
|
+
let n = t.evaluateFormula(X(t, e, 0)), r = Mg(X(t, e, 1));
|
|
16239
16127
|
if (!r) throw Error("Invalid table array range");
|
|
16240
|
-
let i = Q(t.evaluateFormula(X(t, e, 2))), a = +!!
|
|
16128
|
+
let i = Q(t.evaluateFormula(X(t, e, 2))), a = +!!Wv(e.length !== 4 || t.evaluateFormula(X(t, e, 3))), o = Lg(i, r.endCol - r.startCol + 1);
|
|
16241
16129
|
if (o === null) return wm;
|
|
16242
|
-
let s = vm(r.startCol), c =
|
|
16130
|
+
let s = vm(r.startCol), c = Zv(n, Kv(t, r.sheetPrefix, s, r.startRow, r.endRow), a);
|
|
16243
16131
|
if (c === -1) return Dm;
|
|
16244
16132
|
let l = vm(r.startCol + o), u = r.startRow + c;
|
|
16245
16133
|
return t.getCellValue(`${r.sheetPrefix}${l}${u}`);
|
|
@@ -16252,11 +16140,11 @@ Z.register({
|
|
|
16252
16140
|
}), Z.register({
|
|
16253
16141
|
name: "HLOOKUP",
|
|
16254
16142
|
handler: (e, t) => {
|
|
16255
|
-
let n = t.evaluateFormula(X(t, e, 0)), r =
|
|
16143
|
+
let n = t.evaluateFormula(X(t, e, 0)), r = Mg(X(t, e, 1));
|
|
16256
16144
|
if (!r) throw Error("Invalid range format");
|
|
16257
|
-
let i = Q(t.evaluateFormula(X(t, e, 2))), a = +!!
|
|
16145
|
+
let i = Q(t.evaluateFormula(X(t, e, 2))), a = +!!Wv(e.length !== 4 || t.evaluateFormula(X(t, e, 3))), o = Lg(i, r.endRow - r.startRow + 1);
|
|
16258
16146
|
if (o === null) return wm;
|
|
16259
|
-
let s =
|
|
16147
|
+
let s = Zv(n, qv(t, r.sheetPrefix, r.startRow, r.startCol, r.endCol), a);
|
|
16260
16148
|
if (s === -1) return Dm;
|
|
16261
16149
|
let c = vm(r.startCol + s), l = r.startRow + o;
|
|
16262
16150
|
return t.getCellValue(`${r.sheetPrefix}${c}${l}`);
|
|
@@ -16269,7 +16157,7 @@ Z.register({
|
|
|
16269
16157
|
}), Z.register({
|
|
16270
16158
|
name: "MATCH",
|
|
16271
16159
|
handler: (e, t) => {
|
|
16272
|
-
let n = t.evaluateFormula(X(t, e, 0)), r = X(t, e, 1), i = e.length === 3 ? Q(t.evaluateFormula(X(t, e, 2))) : 1, a =
|
|
16160
|
+
let n = t.evaluateFormula(X(t, e, 0)), r = X(t, e, 1), i = e.length === 3 ? Q(t.evaluateFormula(X(t, e, 2))) : 1, a = Zv(n, Lh(t)(r), i);
|
|
16273
16161
|
return a === -1 ? Dm : a + 1;
|
|
16274
16162
|
},
|
|
16275
16163
|
minArgs: 2,
|
|
@@ -16280,9 +16168,9 @@ Z.register({
|
|
|
16280
16168
|
}), Z.register({
|
|
16281
16169
|
name: "INDEX",
|
|
16282
16170
|
handler: (e, t) => {
|
|
16283
|
-
let n =
|
|
16171
|
+
let n = Mg(X(t, e, 0));
|
|
16284
16172
|
if (!n) throw Error("Invalid range format");
|
|
16285
|
-
let r =
|
|
16173
|
+
let r = Ig(n, Q(t.evaluateFormula(X(t, e, 1))), e.length >= 3 ? Q(t.evaluateFormula(X(t, e, 2))) : 1);
|
|
16286
16174
|
return r ? t.getCellValue(`${n.sheetPrefix}${vm(r.colIndex)}${r.row}`) : wm;
|
|
16287
16175
|
},
|
|
16288
16176
|
minArgs: 2,
|
|
@@ -16293,8 +16181,8 @@ Z.register({
|
|
|
16293
16181
|
}), Z.register({
|
|
16294
16182
|
name: "XLOOKUP",
|
|
16295
16183
|
handler: (e, t) => {
|
|
16296
|
-
let n = t.evaluateFormula(X(t, e, 0)), r = X(t, e, 1), i = X(t, e, 2), a = e.length >= 4 ? t.evaluateFormula(X(t, e, 3)) : Dm, o = e.length >= 5 ? Q(t.evaluateFormula(X(t, e, 4))) : 0, s = e.length >= 6 ? Q(t.evaluateFormula(X(t, e, 5))) : 1, c =
|
|
16297
|
-
if (o === 0 || o === 2) d =
|
|
16184
|
+
let n = t.evaluateFormula(X(t, e, 0)), r = X(t, e, 1), i = X(t, e, 2), a = e.length >= 4 ? t.evaluateFormula(X(t, e, 3)) : Dm, o = e.length >= 5 ? Q(t.evaluateFormula(X(t, e, 4))) : 0, s = e.length >= 6 ? Q(t.evaluateFormula(X(t, e, 5))) : 1, c = Lh(t), l = c(r), u = c(i), d = -1;
|
|
16185
|
+
if (o === 0 || o === 2) d = Zv(n, l, 0, s);
|
|
16298
16186
|
else {
|
|
16299
16187
|
let e = Infinity;
|
|
16300
16188
|
for (let t = 0; t < l.length; t++) {
|
|
@@ -16322,7 +16210,7 @@ Z.register({
|
|
|
16322
16210
|
name: "NOW",
|
|
16323
16211
|
handler: () => {
|
|
16324
16212
|
let e = /* @__PURE__ */ new Date();
|
|
16325
|
-
return
|
|
16213
|
+
return $m(new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds())));
|
|
16326
16214
|
},
|
|
16327
16215
|
minArgs: 0,
|
|
16328
16216
|
maxArgs: 0,
|
|
@@ -16333,7 +16221,7 @@ Z.register({
|
|
|
16333
16221
|
name: "TODAY",
|
|
16334
16222
|
handler: () => {
|
|
16335
16223
|
let e = /* @__PURE__ */ new Date();
|
|
16336
|
-
return
|
|
16224
|
+
return $m(new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())));
|
|
16337
16225
|
},
|
|
16338
16226
|
minArgs: 0,
|
|
16339
16227
|
maxArgs: 0,
|
|
@@ -16344,7 +16232,7 @@ Z.register({
|
|
|
16344
16232
|
name: "DATE",
|
|
16345
16233
|
handler: (e, t) => {
|
|
16346
16234
|
let n = Q(t.evaluateFormula(X(t, e, 0))), r = Q(t.evaluateFormula(X(t, e, 1))), i = Q(t.evaluateFormula(X(t, e, 2)));
|
|
16347
|
-
return
|
|
16235
|
+
return $m(new Date(Date.UTC(n, r - 1, i)));
|
|
16348
16236
|
},
|
|
16349
16237
|
minArgs: 3,
|
|
16350
16238
|
maxArgs: 3,
|
|
@@ -16364,7 +16252,7 @@ Z.register({
|
|
|
16364
16252
|
category: "Date & Time"
|
|
16365
16253
|
}), Z.register({
|
|
16366
16254
|
name: "YEAR",
|
|
16367
|
-
handler: (e, t) =>
|
|
16255
|
+
handler: (e, t) => eh(Q(t.evaluateFormula(X(t, e, 0)))).getUTCFullYear(),
|
|
16368
16256
|
minArgs: 1,
|
|
16369
16257
|
maxArgs: 1,
|
|
16370
16258
|
description: "Converts a serial number to a year",
|
|
@@ -16372,7 +16260,7 @@ Z.register({
|
|
|
16372
16260
|
category: "Date & Time"
|
|
16373
16261
|
}), Z.register({
|
|
16374
16262
|
name: "MONTH",
|
|
16375
|
-
handler: (e, t) =>
|
|
16263
|
+
handler: (e, t) => eh(Q(t.evaluateFormula(X(t, e, 0)))).getUTCMonth() + 1,
|
|
16376
16264
|
minArgs: 1,
|
|
16377
16265
|
maxArgs: 1,
|
|
16378
16266
|
description: "Converts a serial number to a month",
|
|
@@ -16380,7 +16268,7 @@ Z.register({
|
|
|
16380
16268
|
category: "Date & Time"
|
|
16381
16269
|
}), Z.register({
|
|
16382
16270
|
name: "DAY",
|
|
16383
|
-
handler: (e, t) =>
|
|
16271
|
+
handler: (e, t) => eh(Q(t.evaluateFormula(X(t, e, 0)))).getUTCDate(),
|
|
16384
16272
|
minArgs: 1,
|
|
16385
16273
|
maxArgs: 1,
|
|
16386
16274
|
description: "Converts a serial number to a day of the month",
|
|
@@ -16421,7 +16309,7 @@ Z.register({
|
|
|
16421
16309
|
category: "Date & Time"
|
|
16422
16310
|
}), Z.register({
|
|
16423
16311
|
name: "DATEDIF",
|
|
16424
|
-
handler: (e, t) =>
|
|
16312
|
+
handler: (e, t) => ch(Q(t.evaluateFormula(X(t, e, 0))), Q(t.evaluateFormula(X(t, e, 1))), zh(t.evaluateFormula(X(t, e, 2)))),
|
|
16425
16313
|
minArgs: 3,
|
|
16426
16314
|
maxArgs: 3,
|
|
16427
16315
|
description: "Calculates the number of days, months, or years between two dates",
|
|
@@ -16429,8 +16317,57 @@ Z.register({
|
|
|
16429
16317
|
category: "Date & Time"
|
|
16430
16318
|
});
|
|
16431
16319
|
//#endregion
|
|
16320
|
+
//#region src/engine/cellBuilder.ts
|
|
16321
|
+
var Qv = /^[-+]?\s*([A-Z][A-Z0-9]*)\s*\(/i, $v = (e) => {
|
|
16322
|
+
let t = e.match(Qv)?.[1];
|
|
16323
|
+
return t !== void 0 && Rh(t);
|
|
16324
|
+
}, ey = /[A-Z]+\d+\s*[+\-*/^]/, ty = /\d+\s*[+\-*/^]\s*\d+/, ny = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?$/;
|
|
16325
|
+
function ry(e) {
|
|
16326
|
+
return $v(e) || ey.test(e) || ty.test(e);
|
|
16327
|
+
}
|
|
16328
|
+
function iy(e) {
|
|
16329
|
+
let t = e.trim();
|
|
16330
|
+
return t === "" ? "" : ry(t) ? `=${t}` : ny.test(t) ? Number(t) : t;
|
|
16331
|
+
}
|
|
16332
|
+
function ay(e) {
|
|
16333
|
+
if (e.type === "string") return { v: String(e.value) };
|
|
16334
|
+
let t = { v: iy(e.formula ?? "") };
|
|
16335
|
+
return e.format && e.format.length > 0 && (t.f = e.format), t;
|
|
16336
|
+
}
|
|
16337
|
+
//#endregion
|
|
16338
|
+
//#region src/engine/jsonCellLocator.ts
|
|
16339
|
+
function oy(e, t, n) {
|
|
16340
|
+
let r = -1, i = !1;
|
|
16341
|
+
for (let a = t; a < e.length; a++) {
|
|
16342
|
+
let t = e[a], o = a > 0 ? e[a - 1] : "";
|
|
16343
|
+
if (t === "\"" && o !== "\\") i = !i;
|
|
16344
|
+
else if (!i && t === "[" && (r++, r === n)) return a + 1;
|
|
16345
|
+
}
|
|
16346
|
+
return -1;
|
|
16347
|
+
}
|
|
16348
|
+
function sy(e, t, n) {
|
|
16349
|
+
let r = 0, i = !1, a = 0, o = 1;
|
|
16350
|
+
for (let s = t; s < e.length; s++) {
|
|
16351
|
+
let t = e[s], c = s > 0 ? e[s - 1] : "";
|
|
16352
|
+
if (t === "\"" && c !== "\\" && (i = !i), !i) {
|
|
16353
|
+
if (t === "[" && o++, t === "]" && (o--, o === 0)) return -1;
|
|
16354
|
+
t === "{" && a++, t === "}" && a--, t === "," && a === 0 && o === 1 && r++;
|
|
16355
|
+
}
|
|
16356
|
+
if (r === n && t !== " " && t !== "\n" && t !== " " && t !== "[" && t !== ",") return s;
|
|
16357
|
+
}
|
|
16358
|
+
return -1;
|
|
16359
|
+
}
|
|
16360
|
+
function cy(e, t, n, r) {
|
|
16361
|
+
let i = `"name": ${JSON.stringify(t)}`, a = e.indexOf(i);
|
|
16362
|
+
if (a === -1) return -1;
|
|
16363
|
+
let o = e.indexOf("\"data\": [", a);
|
|
16364
|
+
if (o === -1) return -1;
|
|
16365
|
+
let s = oy(e, o + 9, n);
|
|
16366
|
+
return s === -1 ? -1 : sy(e, s, r);
|
|
16367
|
+
}
|
|
16368
|
+
//#endregion
|
|
16432
16369
|
//#region src/engine/engine.ts
|
|
16433
|
-
var
|
|
16370
|
+
var ly = class {
|
|
16434
16371
|
options;
|
|
16435
16372
|
constructor(e = {}) {
|
|
16436
16373
|
this.options = {
|
|
@@ -16441,10 +16378,10 @@ var ry = class {
|
|
|
16441
16378
|
};
|
|
16442
16379
|
}
|
|
16443
16380
|
calculate(e, t) {
|
|
16444
|
-
return
|
|
16381
|
+
return Vg(e, t, { preferDDMMYYYY: this.options.preferDDMMYYYY });
|
|
16445
16382
|
}
|
|
16446
16383
|
calculateWorkbook(e) {
|
|
16447
|
-
return
|
|
16384
|
+
return Hg(e, { preferDDMMYYYY: this.options.preferDDMMYYYY });
|
|
16448
16385
|
}
|
|
16449
16386
|
getOptions() {
|
|
16450
16387
|
return { ...this.options };
|
|
@@ -16464,31 +16401,31 @@ var ry = class {
|
|
|
16464
16401
|
toStringArray(e) {
|
|
16465
16402
|
return e.data.map((e) => e.map((e) => String(e ?? "")));
|
|
16466
16403
|
}
|
|
16467
|
-
},
|
|
16468
|
-
function
|
|
16404
|
+
}, uy = "cell-editing", dy = "cell-referenced";
|
|
16405
|
+
function fy(e) {
|
|
16469
16406
|
if (e) {
|
|
16470
|
-
e.querySelector(`.${
|
|
16471
|
-
for (let t of e.querySelectorAll(`.${
|
|
16407
|
+
e.querySelector(`.${uy}`)?.classList.remove(uy);
|
|
16408
|
+
for (let t of e.querySelectorAll(`.${dy}`)) t.classList.remove(dy);
|
|
16472
16409
|
}
|
|
16473
16410
|
}
|
|
16474
|
-
function
|
|
16411
|
+
function py(e, t, n) {
|
|
16475
16412
|
if (!e) return;
|
|
16476
16413
|
let r = e.querySelectorAll("tr")[t.row];
|
|
16477
16414
|
if (!r) return;
|
|
16478
16415
|
let i = r.querySelectorAll("td")[t.col];
|
|
16479
16416
|
i && i.classList.add(n);
|
|
16480
16417
|
}
|
|
16481
|
-
function
|
|
16418
|
+
function my(e, t, n) {
|
|
16482
16419
|
if (!e) return;
|
|
16483
16420
|
let r = e.querySelector("#spreadsheet-table");
|
|
16484
16421
|
if (r) {
|
|
16485
|
-
t &&
|
|
16486
|
-
for (let e of n)
|
|
16422
|
+
t && py(r, t, uy);
|
|
16423
|
+
for (let e of n) py(r, e, dy);
|
|
16487
16424
|
}
|
|
16488
16425
|
}
|
|
16489
16426
|
//#endregion
|
|
16490
16427
|
//#region src/vue/keyboardNav.ts
|
|
16491
|
-
function
|
|
16428
|
+
function hy(e, t, n) {
|
|
16492
16429
|
switch (e) {
|
|
16493
16430
|
case "ArrowUp": return {
|
|
16494
16431
|
row: Math.max(0, t - 1),
|
|
@@ -16509,21 +16446,21 @@ function ly(e, t, n) {
|
|
|
16509
16446
|
default: return null;
|
|
16510
16447
|
}
|
|
16511
16448
|
}
|
|
16512
|
-
function
|
|
16449
|
+
function gy(e, t, n) {
|
|
16513
16450
|
if (!e?.data || t < 0 || t >= e.data.length) return !1;
|
|
16514
16451
|
let r = e.data[t];
|
|
16515
16452
|
return r ? n >= 0 && n < r.length : !1;
|
|
16516
16453
|
}
|
|
16517
16454
|
//#endregion
|
|
16518
16455
|
//#region src/vue/htmlText.ts
|
|
16519
|
-
var
|
|
16456
|
+
var _y = {
|
|
16520
16457
|
"&": "&",
|
|
16521
16458
|
"<": "<",
|
|
16522
16459
|
">": ">",
|
|
16523
16460
|
"\"": """,
|
|
16524
16461
|
"'": "'"
|
|
16525
|
-
},
|
|
16526
|
-
function
|
|
16462
|
+
}, vy = (e) => e.replace(/[&<>"']/g, (e) => _y[e] ?? e);
|
|
16463
|
+
function yy(e, t) {
|
|
16527
16464
|
if (!e.startsWith("http://") && !e.startsWith("https://")) return !1;
|
|
16528
16465
|
try {
|
|
16529
16466
|
return new URL(e).origin !== t;
|
|
@@ -16531,7 +16468,7 @@ function py(e, t) {
|
|
|
16531
16468
|
return !1;
|
|
16532
16469
|
}
|
|
16533
16470
|
}
|
|
16534
|
-
var
|
|
16471
|
+
var by = ae({
|
|
16535
16472
|
de: {
|
|
16536
16473
|
untitled: "Tabelle",
|
|
16537
16474
|
sheetCount: (e) => e === 1 ? "1 Blatt" : `${e} Blätter`,
|
|
@@ -16695,7 +16632,7 @@ var my = ae({
|
|
|
16695
16632
|
});
|
|
16696
16633
|
//#endregion
|
|
16697
16634
|
//#region src/vue/sheetSession.ts
|
|
16698
|
-
async function
|
|
16635
|
+
async function xy(e, t) {
|
|
16699
16636
|
if (!e) return {
|
|
16700
16637
|
kind: "sheets",
|
|
16701
16638
|
sheets: []
|
|
@@ -16723,12 +16660,12 @@ async function hy(e, t) {
|
|
|
16723
16660
|
};
|
|
16724
16661
|
}
|
|
16725
16662
|
}
|
|
16726
|
-
function
|
|
16663
|
+
function Sy(e) {
|
|
16727
16664
|
let t = p(), n = 0;
|
|
16728
16665
|
return {
|
|
16729
16666
|
async load(t) {
|
|
16730
16667
|
n += 1;
|
|
16731
|
-
let r = n, i = await
|
|
16668
|
+
let r = n, i = await xy(t, e);
|
|
16732
16669
|
return r === n ? i : null;
|
|
16733
16670
|
},
|
|
16734
16671
|
async save(n, r) {
|
|
@@ -16739,25 +16676,25 @@ function gy(e) {
|
|
|
16739
16676
|
}
|
|
16740
16677
|
//#endregion
|
|
16741
16678
|
//#region src/vue/View.vue?vue&type=script&setup=true&lang.ts
|
|
16742
|
-
var
|
|
16679
|
+
var Cy = { class: "spreadsheet-container" }, wy = {
|
|
16743
16680
|
key: 0,
|
|
16744
16681
|
class: "min-h-full p-8 flex items-center justify-center"
|
|
16745
|
-
},
|
|
16682
|
+
}, Ty = { class: "text-gray-500" }, Ey = {
|
|
16746
16683
|
key: 1,
|
|
16747
16684
|
class: "min-h-full p-8 flex items-center justify-center"
|
|
16748
|
-
},
|
|
16685
|
+
}, Dy = { class: "error" }, Oy = {
|
|
16749
16686
|
key: 2,
|
|
16750
16687
|
class: "min-h-full p-8 flex items-center justify-center"
|
|
16751
|
-
},
|
|
16688
|
+
}, ky = { class: "text-gray-500" }, Ay = { class: "spreadsheet-content-wrapper" }, jy = { class: "p-4" }, My = { class: "header" }, Ny = { class: "title" }, Py = {
|
|
16752
16689
|
key: 0,
|
|
16753
16690
|
class: "sheet-tabs"
|
|
16754
|
-
},
|
|
16691
|
+
}, Fy = ["onClick"], Iy = ["innerHTML"], Ly = ["disabled"], Ry = {
|
|
16755
16692
|
key: 1,
|
|
16756
16693
|
class: "mini-editor-panel"
|
|
16757
|
-
},
|
|
16694
|
+
}, zy = { class: "mini-editor-content" }, By = {
|
|
16758
16695
|
key: 0,
|
|
16759
16696
|
class: "cell-ref"
|
|
16760
|
-
},
|
|
16697
|
+
}, Vy = { class: "radio-group" }, Hy = { class: "radio-option" }, Uy = { class: "radio-option" }, Wy = ["placeholder"], Gy = ["placeholder"], Ky = ["placeholder"], qy = /*#__PURE__*/ ((e, t) => {
|
|
16761
16698
|
let n = e.__vccOpts || e;
|
|
16762
16699
|
for (let [e, r] of t) n[e] = r;
|
|
16763
16700
|
return n;
|
|
@@ -16766,7 +16703,7 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16766
16703
|
props: { selectedResult: {} },
|
|
16767
16704
|
emits: ["updateResult"],
|
|
16768
16705
|
setup(e, { emit: n }) {
|
|
16769
|
-
let r =
|
|
16706
|
+
let r = by(), i = x(ie, void 0), o = h(() => i?.locale.value ?? "en");
|
|
16770
16707
|
function c(e) {
|
|
16771
16708
|
if (!Array.isArray(e) || e.length === 0) return [];
|
|
16772
16709
|
if (Array.isArray(e[0])) return e;
|
|
@@ -16780,11 +16717,11 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16780
16717
|
}
|
|
16781
16718
|
return [];
|
|
16782
16719
|
}
|
|
16783
|
-
let l = e, d = n, p = new
|
|
16720
|
+
let l = e, d = n, p = new ly(), b = E(!1), ae = E(""), oe = E([]), se = E(JSON.stringify(oe.value || [], null, 2)), ce = (e) => {
|
|
16784
16721
|
let t = f(e) && f(e.data) ? s(e.data.sheets) : null;
|
|
16785
16722
|
if (!t) throw Error(r.value.dataMustBeArray);
|
|
16786
16723
|
return t;
|
|
16787
|
-
}, le =
|
|
16724
|
+
}, le = Sy(i ? {
|
|
16788
16725
|
loadFromHost: (e) => i.dispatch({
|
|
16789
16726
|
kind: "loadSpreadsheet",
|
|
16790
16727
|
path: e
|
|
@@ -16835,13 +16772,13 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16835
16772
|
}
|
|
16836
16773
|
}), Se = vm, Ce = (e) => ({
|
|
16837
16774
|
name: e.name,
|
|
16838
|
-
data:
|
|
16775
|
+
data: zg(e.data)
|
|
16839
16776
|
}), we = (e, t) => {
|
|
16840
16777
|
let n = oe.value.map(Ce), r = {
|
|
16841
16778
|
name: t || "Sheet1",
|
|
16842
|
-
data:
|
|
16779
|
+
data: zg(e)
|
|
16843
16780
|
};
|
|
16844
|
-
return p.setOptions({ preferDDMMYYYY:
|
|
16781
|
+
return p.setOptions({ preferDDMMYYYY: Ym(o.value) }), p.calculate(r, n).data;
|
|
16845
16782
|
}, Te = h(() => {
|
|
16846
16783
|
if (!oe.value || oe.value.length === 0) return "";
|
|
16847
16784
|
let e = oe.value[j.value];
|
|
@@ -16853,7 +16790,7 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16853
16790
|
editable: !1
|
|
16854
16791
|
});
|
|
16855
16792
|
} catch (e) {
|
|
16856
|
-
return console.error("Failed to render spreadsheet:", e), `<div class="error">Failed to render spreadsheet: ${
|
|
16793
|
+
return console.error("Failed to render spreadsheet:", e), `<div class="error">Failed to render spreadsheet: ${vy(t(e, "Unknown error"))}</div>`;
|
|
16857
16794
|
}
|
|
16858
16795
|
}), Ee = () => {
|
|
16859
16796
|
if (oe.value && oe.value.length !== 0) try {
|
|
@@ -16876,7 +16813,7 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16876
16813
|
let i = r[e][t];
|
|
16877
16814
|
if (f(i) && "v" in i) {
|
|
16878
16815
|
let e = i.v, t = typeof i.f == "string" ? i.f : "";
|
|
16879
|
-
typeof e == "string" && e.startsWith("=") ? (ve.value = "object", _e.value = "", ye.value = e.substring(1), be.value = t, N.value =
|
|
16816
|
+
typeof e == "string" && e.startsWith("=") ? (ve.value = "object", _e.value = "", ye.value = e.substring(1), be.value = t, N.value = Rg(e)) : typeof e == "number" ? (ve.value = "object", _e.value = "", ye.value = String(e), be.value = t, N.value = []) : (ve.value = "string", _e.value = String(e), ye.value = "", be.value = "", N.value = []);
|
|
16880
16817
|
} else ve.value = "string", _e.value = ke(i), ye.value = "", be.value = "", N.value = [];
|
|
16881
16818
|
M.value = {
|
|
16882
16819
|
row: e,
|
|
@@ -16897,13 +16834,13 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16897
16834
|
let { row: n, col: r } = M.value, i = c(t.data);
|
|
16898
16835
|
for (; i.length <= n;) i.push([]);
|
|
16899
16836
|
Array.isArray(i[n]) || (i[n] = []);
|
|
16900
|
-
let a =
|
|
16837
|
+
let a = ay({
|
|
16901
16838
|
type: ve.value,
|
|
16902
16839
|
value: _e.value,
|
|
16903
16840
|
formula: ye.value,
|
|
16904
16841
|
format: be.value
|
|
16905
16842
|
});
|
|
16906
|
-
i[n][r] = a, t.data = i, se.value = JSON.stringify(e, null, 2), fe(e), typeof a.v == "string" && a.v.startsWith("=") ? N.value =
|
|
16843
|
+
i[n][r] = a, t.data = i, se.value = JSON.stringify(e, null, 2), fe(e), typeof a.v == "string" && a.v.startsWith("=") ? N.value = Rg(a.v) : N.value = [];
|
|
16907
16844
|
} catch (e) {
|
|
16908
16845
|
alert(`Failed to save cell: ${t(e, "Unknown error")}`);
|
|
16909
16846
|
}
|
|
@@ -16911,7 +16848,7 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16911
16848
|
function Me(e) {
|
|
16912
16849
|
if (e.button !== 0 || e.ctrlKey || e.metaKey || e.shiftKey) return !1;
|
|
16913
16850
|
let t = e.target instanceof Element ? e.target.closest("a") : null;
|
|
16914
|
-
return !t || !
|
|
16851
|
+
return !t || !yy(t.href, window.location.origin) ? !1 : (e.preventDefault(), i ? i.openUrl(t.href) : window.open(t.href, "_blank", "noopener,noreferrer"), !0);
|
|
16915
16852
|
}
|
|
16916
16853
|
function Ne(e) {
|
|
16917
16854
|
if (Me(e)) return;
|
|
@@ -16920,16 +16857,13 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16920
16857
|
let n = t.parentElement;
|
|
16921
16858
|
if (!(n instanceof HTMLTableRowElement)) return;
|
|
16922
16859
|
let r = t.cellIndex, { rowIndex: i } = n;
|
|
16923
|
-
if (!(me.value?.open ?? !1))
|
|
16924
|
-
|
|
16925
|
-
return;
|
|
16926
|
-
}
|
|
16927
|
-
if (pe.value) try {
|
|
16860
|
+
if (!(me.value?.open ?? !1)) Oe(i, r);
|
|
16861
|
+
else if (pe.value) try {
|
|
16928
16862
|
let e = JSON.parse(se.value)[j.value];
|
|
16929
16863
|
if (!e || !e.data) return;
|
|
16930
16864
|
let t = c(e.data);
|
|
16931
16865
|
if (!t[i] || t[i][r] === void 0) return;
|
|
16932
|
-
let n = JSON.stringify(t[i][r]), a =
|
|
16866
|
+
let n = JSON.stringify(t[i][r]), a = cy(se.value, e.name, i, r);
|
|
16933
16867
|
if (a < 0) return;
|
|
16934
16868
|
pe.value.focus(), pe.value.setSelectionRange(a, a + n.length);
|
|
16935
16869
|
let o = se.value.substring(0, a).split("\n").length, s = pe.value;
|
|
@@ -16957,16 +16891,16 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16957
16891
|
N,
|
|
16958
16892
|
Te
|
|
16959
16893
|
], () => {
|
|
16960
|
-
|
|
16894
|
+
fy(he.value), ge.value && my(he.value, M.value, N.value);
|
|
16961
16895
|
}, { flush: "post" });
|
|
16962
16896
|
function Fe(e) {
|
|
16963
16897
|
return e instanceof HTMLElement ? e.tagName === "INPUT" || e.tagName === "TEXTAREA" || e.isContentEditable : !1;
|
|
16964
16898
|
}
|
|
16965
16899
|
function Ie(e) {
|
|
16966
16900
|
if (!ge.value || !M.value || Fe(e.target)) return;
|
|
16967
|
-
let { row: t, col: n } = M.value, r =
|
|
16901
|
+
let { row: t, col: n } = M.value, r = hy(e.key, t, n);
|
|
16968
16902
|
if (r) try {
|
|
16969
|
-
if (!
|
|
16903
|
+
if (!gy(JSON.parse(se.value)[j.value], r.row, r.col)) return;
|
|
16970
16904
|
e.preventDefault(), Oe(r.row, r.col);
|
|
16971
16905
|
} catch (e) {
|
|
16972
16906
|
console.error("Failed to navigate cells:", e);
|
|
@@ -16976,24 +16910,24 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
16976
16910
|
document.addEventListener("keydown", Ie);
|
|
16977
16911
|
}), w(() => {
|
|
16978
16912
|
document.removeEventListener("keydown", Ie);
|
|
16979
|
-
}), (t, n) => (T(), _("div",
|
|
16980
|
-
v("div",
|
|
16981
|
-
v("div",
|
|
16913
|
+
}), (t, n) => (T(), _("div", Cy, [b.value ? (T(), _("div", wy, [v("div", Ty, O(k(r).loading), 1)])) : ae.value ? (T(), _("div", Ey, [v("div", Dy, O(ae.value), 1)])) : !oe.value || oe.value.length === 0 ? (T(), _("div", Oy, [v("div", ky, O(k(r).noData), 1)])) : (T(), _(m, { key: 3 }, [
|
|
16914
|
+
v("div", Ay, [v("div", jy, [
|
|
16915
|
+
v("div", My, [v("h1", Ny, O(e.selectedResult.title || k(r).untitled), 1), v("button", {
|
|
16982
16916
|
class: "download-btn h-8 px-2.5 flex items-center gap-1 rounded bg-[#217346] hover:bg-[#1e6a3f] active:bg-[#1a5c36] text-white text-sm transition-colors",
|
|
16983
16917
|
onClick: Ee
|
|
16984
16918
|
}, [n[6] ||= v("span", { class: "material-icons text-base" }, "download", -1), y(" " + O(k(r).excel), 1)])]),
|
|
16985
|
-
oe.value.length > 1 ? (T(), _("div",
|
|
16919
|
+
oe.value.length > 1 ? (T(), _("div", Py, [(T(!0), _(m, null, D(oe.value, (e, t) => (T(), _("button", {
|
|
16986
16920
|
key: t,
|
|
16987
16921
|
class: S(["sheet-tab", { active: j.value === t }]),
|
|
16988
16922
|
onClick: (e) => j.value = t
|
|
16989
|
-
}, O(e.name), 11,
|
|
16923
|
+
}, O(e.name), 11, Fy))), 128))])) : g("", !0),
|
|
16990
16924
|
v("div", {
|
|
16991
16925
|
ref_key: "tableContainer",
|
|
16992
16926
|
ref: he,
|
|
16993
16927
|
class: "table-container",
|
|
16994
16928
|
onClick: Ne,
|
|
16995
16929
|
innerHTML: Te.value
|
|
16996
|
-
}, null, 8,
|
|
16930
|
+
}, null, 8, Iy)
|
|
16997
16931
|
])]),
|
|
16998
16932
|
ge.value ? g("", !0) : (T(), _("details", {
|
|
16999
16933
|
key: 0,
|
|
@@ -17014,15 +16948,15 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
17014
16948
|
class: "apply-btn",
|
|
17015
16949
|
disabled: !xe.value,
|
|
17016
16950
|
onClick: Pe
|
|
17017
|
-
}, O(k(r).applyChanges), 9,
|
|
16951
|
+
}, O(k(r).applyChanges), 9, Ly)
|
|
17018
16952
|
], 512)),
|
|
17019
|
-
ge.value ? (T(), _("div",
|
|
17020
|
-
M.value ? (T(), _("span",
|
|
17021
|
-
v("div",
|
|
16953
|
+
ge.value ? (T(), _("div", Ry, [v("div", zy, [
|
|
16954
|
+
M.value ? (T(), _("span", By, O(k(Se)(M.value.col)) + O(M.value.row + 1), 1)) : g("", !0),
|
|
16955
|
+
v("div", Vy, [v("label", Hy, [ne(v("input", {
|
|
17022
16956
|
"onUpdate:modelValue": n[1] ||= (e) => ve.value = e,
|
|
17023
16957
|
type: "radio",
|
|
17024
16958
|
value: "string"
|
|
17025
|
-
}, null, 512), [[A, ve.value]]), y(" " + O(k(r).stringType), 1)]), v("label",
|
|
16959
|
+
}, null, 512), [[A, ve.value]]), y(" " + O(k(r).stringType), 1)]), v("label", Uy, [ne(v("input", {
|
|
17026
16960
|
"onUpdate:modelValue": n[2] ||= (e) => ve.value = e,
|
|
17027
16961
|
type: "radio",
|
|
17028
16962
|
value: "object"
|
|
@@ -17034,20 +16968,20 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
17034
16968
|
class: "form-input",
|
|
17035
16969
|
placeholder: k(r).valuePlaceholder,
|
|
17036
16970
|
onKeyup: re(je, ["enter"])
|
|
17037
|
-
}, null, 40,
|
|
16971
|
+
}, null, 40, Wy)), [[ee, _e.value]]) : g("", !0),
|
|
17038
16972
|
ve.value === "object" ? (T(), _(m, { key: 2 }, [ne(v("input", {
|
|
17039
16973
|
"onUpdate:modelValue": n[4] ||= (e) => ye.value = e,
|
|
17040
16974
|
type: "text",
|
|
17041
16975
|
class: "form-input",
|
|
17042
16976
|
placeholder: k(r).valueOrFormulaPlaceholder,
|
|
17043
16977
|
onKeyup: re(je, ["enter"])
|
|
17044
|
-
}, null, 40,
|
|
16978
|
+
}, null, 40, Gy), [[ee, ye.value]]), ne(v("input", {
|
|
17045
16979
|
"onUpdate:modelValue": n[5] ||= (e) => be.value = e,
|
|
17046
16980
|
type: "text",
|
|
17047
16981
|
class: "form-input",
|
|
17048
16982
|
placeholder: k(r).formatPlaceholder,
|
|
17049
16983
|
onKeyup: re(je, ["enter"])
|
|
17050
|
-
}, null, 40,
|
|
16984
|
+
}, null, 40, Ky), [[ee, be.value]])], 64)) : g("", !0),
|
|
17051
16985
|
v("button", {
|
|
17052
16986
|
class: "save-btn",
|
|
17053
16987
|
onClick: je
|
|
@@ -17059,24 +16993,24 @@ var _y = { class: "spreadsheet-container" }, vy = {
|
|
|
17059
16993
|
])])) : g("", !0)
|
|
17060
16994
|
], 64))]));
|
|
17061
16995
|
}
|
|
17062
|
-
}), [["__scopeId", "data-v-
|
|
16996
|
+
}), [["__scopeId", "data-v-a54883ee"]]), Jy = { class: "p-2 bg-green-50 dark:bg-green-900 rounded" }, Yy = { class: "text-sm text-gray-800 dark:text-gray-200 font-medium break-words" }, Xy = {
|
|
17063
16997
|
key: 0,
|
|
17064
16998
|
class: "text-xs text-gray-600 dark:text-gray-400 mt-1"
|
|
17065
|
-
},
|
|
16999
|
+
}, Zy = /* @__PURE__ */ b({
|
|
17066
17000
|
__name: "Preview",
|
|
17067
17001
|
props: { result: {} },
|
|
17068
17002
|
setup(e) {
|
|
17069
|
-
let t =
|
|
17003
|
+
let t = by(), n = e, r = h(() => n.result.title || t.value.untitled), i = h(() => {
|
|
17070
17004
|
let e = n.result.data?.sheets;
|
|
17071
17005
|
return !e || typeof e == "string" ? 0 : e.length;
|
|
17072
17006
|
});
|
|
17073
|
-
return (e, n) => (T(), _("div",
|
|
17007
|
+
return (e, n) => (T(), _("div", Jy, [v("div", Yy, O(r.value), 1), i.value > 1 ? (T(), _("div", Xy, O(k(t).sheetCount(i.value)), 1)) : g("", !0)]));
|
|
17074
17008
|
}
|
|
17075
|
-
}),
|
|
17009
|
+
}), Qy = {
|
|
17076
17010
|
...l,
|
|
17077
|
-
viewComponent:
|
|
17078
|
-
previewComponent:
|
|
17011
|
+
viewComponent: qy,
|
|
17012
|
+
previewComponent: Zy,
|
|
17079
17013
|
samples: d
|
|
17080
|
-
},
|
|
17014
|
+
}, $y = { plugin: Qy };
|
|
17081
17015
|
//#endregion
|
|
17082
|
-
export {
|
|
17016
|
+
export { Zy as Preview, n as SYSTEM_PROMPT, r as TOOL_DEFINITION, c as TOOL_NAME, qy as View, $y as default, o as executeSpreadsheet, i as executeSpreadsheetDispatch, u as isSpreadsheetArtifactPath, e as isSpreadsheetDispatchArgs, Qy as plugin, l as pluginCore, d as samples };
|