@sheetxl/sdk 0.8.0-beta.15 → 0.8.0-beta.17
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/LICENSE.md +8 -7
- package/browser/esm/{DDQtExVGSoCzAf6-.mjs → B-Q1-7RgSnA75J32.mjs} +506 -502
- package/browser/esm/{Cl3jq6y4Idilod82.mjs → BI6NwRrdLCbPdz6f.mjs} +3 -3
- package/browser/esm/{Blo0Hwg2ojXt99Dl.mjs → BWNQcQyx8wt6huOq.mjs} +2 -2
- package/browser/esm/{Do8TQqQvnFXRlFu-.mjs → BY_-BTa5h6HnnZ1W.mjs} +3 -3
- package/browser/esm/{D4ZCoKyNCJvDQAkx.mjs → BlkstmZEklk6Y1QD.mjs} +23 -22
- package/browser/esm/{DpaqR081c-Q7WemN.mjs → BuKA3E-Ev8Dp5W2I.mjs} +2 -2
- package/browser/esm/{Bbrhl946_QbCz5WS.mjs → Byp_bvP9G-tN6hcz.mjs} +588 -587
- package/browser/esm/{CMSeF5rGzeuMUydM.mjs → C0o6WpBojS7XhV5m.mjs} +3 -3
- package/browser/esm/CAjITJT3eLst9Rhi.mjs +686 -0
- package/browser/esm/{CZ_ZPliIkoh8BViV.mjs → CFywn1iiD35nNNUP.mjs} +10 -10
- package/browser/esm/{DJNLo8Rd_5UQP0U5.mjs → CHByUyHFA3ESf7DX.mjs} +2 -2
- package/browser/esm/CLT3qGy_brDIwbYd.mjs +2017 -0
- package/browser/esm/{Blo0jHze0bQxnKh4.mjs → CVV4xqwD8gIjYj1E.mjs} +78 -78
- package/browser/esm/{FHp0QfwZMIfP0Sry.mjs → CWkaF7gYWCkW7vDA.mjs} +2 -2
- package/browser/esm/{CNM5d4p0Y7In0rTf.mjs → DCs7bk-yx0UhCvQ4.mjs} +3 -3
- package/browser/esm/{BsGN0Tk0jVc2n0hy.mjs → DDNerAeet8uDYKhf.mjs} +3 -3
- package/browser/esm/{D6OqcO9IWPaY211T.mjs → DGUOlgm1_WFmf_xO.mjs} +2 -2
- package/browser/esm/{Dp4OIVjjAVhpD815.mjs → DJTEQZiR9IFTuN_4.mjs} +3 -3
- package/browser/esm/{KgTozk3nvOZzEG27.mjs → DJrnSjYjFxJvpQiH.mjs} +2 -2
- package/browser/esm/{D0KMmRjGOQUs7Ls-.mjs → DTXsi--x2wgqgwtf.mjs} +3 -3
- package/browser/esm/{CPUobTehcKZllBDS.mjs → DUB6Oj_aiV3f8s5_.mjs} +51 -49
- package/browser/esm/{Bw66vzKThXKvXvPI.mjs → DW3kFc5t4Wnh5E9S.mjs} +2 -2
- package/browser/esm/{BzG0p8RdGDWHttVr.mjs → DkmqFp_-iUIy_l3D.mjs} +4 -4
- package/browser/esm/{zjEXdQiQruTkUyf5.mjs → Dlk1kRgkiBIpUxd9.mjs} +22 -22
- package/browser/esm/{tm7XJ-Zd_04xWKG6.mjs → DnMFW_oKYQxRjP1l.mjs} +2 -2
- package/browser/esm/{DA4S5eqog20pG7b2.mjs → DrmOaEx6CQ91zBsP.mjs} +29 -29
- package/browser/esm/{D8PxKK6OrmancpLT.mjs → DsWDvmky7CgzX_7W.mjs} +3 -3
- package/browser/esm/{DMbcmIZ-G2fbWn8v.mjs → Dx_dZ7jrw5Hxeoot.mjs} +2 -2
- package/browser/esm/{BN1MW1nuBndrzryn.mjs → Dy0TAi9WafVT8eke.mjs} +3 -3
- package/browser/esm/{L7SKr6r1tmMwFx6Q.mjs → JmmPE8Vsj85wdV8H.mjs} +2 -2
- package/browser/esm/{CIab4UYcHQQKTHeD.mjs → O970I8lbI7okqG7N.mjs} +404 -404
- package/browser/esm/{DwH4H_p6gTAcpQ17.mjs → WR3-xqcK1gF3ewAR.mjs} +4 -4
- package/browser/esm/XHhDDWrJiZJgWxPM.mjs +165 -0
- package/browser/esm/{KsfZhE6ocmYobGjY.mjs → YwDdO4YwcIE4OB0D.mjs} +2 -2
- package/browser/esm/aYpwVCDSwMUuz147.mjs +527 -0
- package/browser/esm/{BGPT-k25jo0UhtT5.mjs → gQzj95vSMXdKhpWf.mjs} +29032 -24101
- package/browser/esm/index.mjs +886 -578
- package/browser/esm/{CxhXbk-5XhaK8UNs.mjs → jotvQFBWO2jXAhWx.mjs} +2 -2
- package/browser/esm/{CWyzk_3eDCR9bKq6.mjs → mufbL88lyIKJEWyP.mjs} +1528 -1433
- package/browser/esm/{BVsG6Vpvb1ZzpURJ.mjs → qNv1x-Ny9TPbvZzj.mjs} +2 -2
- package/browser/esm/{XrasOsWQ-64jwMn1.mjs → taTjDyUIIxq2eClH.mjs} +4 -4
- package/browser/esm/{CqzKBrmmV-fWRoK7.mjs → yudASWe8CWXYcGt3.mjs} +22 -22
- package/licenses/dependencies.txt +69 -69
- package/node/esm/{CjwmkzMtjj6OMJbO.mjs → -q1xF3_2jmk3QHIY.mjs} +487 -483
- package/node/esm/{DDIiQZTdeY4vdK8_.mjs → 7ZwdVIsOdcziHpMD.mjs} +189 -189
- package/node/esm/{C7h7SvhWNwQ9TfGh.mjs → B6BQYUDRxbRnzca4.mjs} +4 -4
- package/node/esm/{DjsOfZn5vYpB7L6U.mjs → B8MYgBe4XICBSROW.mjs} +52 -50
- package/node/esm/{B8KEX44VZTFTTKb3.mjs → BBUVvO9Ma1RzbKux.mjs} +3 -3
- package/node/esm/{D9RwzPR5s2mWrbCQ.mjs → BQko-9y6mf2oQK7u.mjs} +2 -2
- package/node/esm/{BNiG1ISiMjs-G2mE.mjs → BSlFO0_8UZ38gfeE.mjs} +22 -22
- package/node/esm/{DUft-qpAS4MMANwG.mjs → Bgy7uWJVGwkN7AlD.mjs} +3 -3
- package/node/esm/{DyIASfKKPuNl5Xx-.mjs → BhosJbKOPgbJSZMY.mjs} +2 -2
- package/node/esm/BoLecFnIxhYKGor-.mjs +2040 -0
- package/node/esm/{WBHD7ECKG6HZ5UpY.mjs → BwyoLlHutolJw7OW.mjs} +2 -2
- package/node/esm/{Dh8o-woVpmUL50BD.mjs → CDgUHRW6vSASfqNr.mjs} +2 -2
- package/node/esm/{BZ0IRjh2hYuI86xW.mjs → CHS84ZGEoH6aeHsZ.mjs} +31 -30
- package/node/esm/{BRnNpoS8VpkAhdVk.mjs → CIlH2fSEpdYBZwUA.mjs} +2 -2
- package/node/esm/{BlzPuXtKvF3Qfr0p.mjs → CIxb44vA81H9lRip.mjs} +2 -2
- package/node/esm/{Cx9nQSsuyqhayyBS.mjs → Cb1-r2RCxcJZB6fM.mjs} +32675 -27215
- package/node/esm/{DKdFasYVvjAitASZ.mjs → CjCqcGyCYGkaMQI9.mjs} +2 -2
- package/node/esm/{D7ia4o3y5Wvl__9Y.mjs → ClJJC8tBpgsqHwdn.mjs} +2 -2
- package/node/esm/{C-JEySqMuKdpcKe0.mjs → Cle-_21jebWv_-D4.mjs} +3 -3
- package/node/esm/{j8DqCwPgfIPICFtf.mjs → D51xu0rubo34Ppeg.mjs} +1005 -1004
- package/node/esm/{Ddd1y3TP0kqnnSs7.mjs → DCSJKgcCQzOV-dMJ.mjs} +3 -3
- package/node/esm/{ZtF9EuipL7Z9Iwfs.mjs → DCaLNIs-_4Y6hJ8S.mjs} +2 -2
- package/node/esm/DTkV7IK2_ODMJAP5.mjs +115 -0
- package/node/esm/DfbVTAhNutxM74E8.mjs +169 -0
- package/node/esm/{DVejVdSBXzAFQbqo.mjs → DfrxGbxxowFmm3SF.mjs} +2 -2
- package/node/esm/{DW3u4bBJIUaHZ6m-.mjs → DgsBYF3xbjgx9Mzp.mjs} +2 -2
- package/node/esm/{CHBlLTJaoPUVxA2J.mjs → DxnBYzOueAKEqaQT.mjs} +22 -22
- package/node/esm/M3jahkTgfUxGyeZv.mjs +530 -0
- package/node/esm/{-afI0SRg_vgXtea7.mjs → NnrDjio_xwTBs05n.mjs} +3 -3
- package/node/esm/{BqvqbFsPQB0gEvwF.mjs → OCrS6pBT6lGRu82d.mjs} +1762 -1674
- package/node/esm/XhDjStxKy-dd3WKa.mjs +199 -0
- package/node/esm/{D9zb5xVRehABdbXL.mjs → Yo7_havHbr9VL8R4.mjs} +2 -2
- package/node/esm/{MtRwC1PMkOEb1Nty.mjs → btVWSwUwMjM0J5fS.mjs} +3 -3
- package/node/esm/{DQqXPS05dvF0F-gh.mjs → cRz94rkuvDrA8mr9.mjs} +2 -2
- package/node/esm/{BfXLtDqsXXYeZ6LX.mjs → fwfAgq8qIADcHmY4.mjs} +78 -78
- package/node/esm/index.mjs +913 -598
- package/node/esm/{OnkJkCGFDjamqIUQ.mjs → jqBKdf9DG54xqpaw.mjs} +3 -3
- package/node/esm/{C6b4rM62pIWIywlM.mjs → nxxwAZZF8NsdErJW.mjs} +2 -2
- package/node/esm/{B07QPde9GloqsW8e.mjs → oGGVbqahqfK45-Uz.mjs} +4 -4
- package/node/esm/{BlHlBRvKGt-4CS0A.mjs → zh6vcRzFqdV1aYh5.mjs} +2 -2
- package/package.json +7 -7
- package/resources/locales/de/model.msg.json +82 -1
- package/resources/locales/en/model.msg.json +80 -1
- package/types/scripting-api.json +9967 -9497
- package/types/scripting-enums.json +27 -0
- package/types/scripting.d.ts +2282 -166
- package/types/src/.generated/wasm/sdk.d.ts +332 -0
- package/types/src/calculation/Calculation.d.ts +8 -0
- package/types/src/calculation/ICalculation.d.ts +51 -0
- package/types/src/calculation/compiler/Types.d.ts +5 -0
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +1 -1
- package/types/src/calculation/formula/FormulaBlock.d.ts +2 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +18 -0
- package/types/src/calculation/grid/CalcGrid.d.ts +5 -1
- package/types/src/calculation/grid/CalcGridBackend.d.ts +36 -1
- package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +4 -2
- package/types/src/calculation/grid/FormulaHost.d.ts +3 -1
- package/types/src/calculation/grid/ICalcGrid.d.ts +88 -0
- package/types/src/calculation/grid/_CalcRequest.d.ts +9 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +2 -0
- package/types/src/calculation/spatial/SpillEntry.d.ts +55 -4
- package/types/src/calculation/state/CalcNode.d.ts +6 -3
- package/types/src/calculation/state/CalculationContext.d.ts +4 -2
- package/types/src/calculation/state/_PivotView.d.ts +22 -0
- package/types/src/cell/ICell.d.ts +1 -21
- package/types/src/cellRange/ICellRange.d.ts +18 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +16 -2
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +10 -0
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +3 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +3 -0
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +3 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +3 -0
- package/types/src/condition/BuiltInOperators/MatchesOperator.d.ts +10 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/index.d.ts +2 -0
- package/types/src/condition/Condition.d.ts +1 -0
- package/types/src/condition/ICondition.d.ts +15 -0
- package/types/src/condition/_ConditionUtils.d.ts +14 -0
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +2 -1
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
- package/types/src/license/LicenseDetails.d.ts +27 -0
- package/types/src/license/LicenseManager.d.ts +24 -7
- package/types/src/license/_Utils.d.ts +34 -3
- package/types/src/license/index.d.ts +1 -0
- package/types/src/license/runtime.browser.d.ts +32 -4
- package/types/src/license/runtime.node.d.ts +8 -5
- package/types/src/license/summary.d.ts +18 -0
- package/types/src/pivot/IPivotTable.d.ts +1549 -13
- package/types/src/pivot/IPivotTableCollection.d.ts +70 -4
- package/types/src/pivot/PivotCache.d.ts +95 -11
- package/types/src/pivot/PivotDataField.d.ts +73 -0
- package/types/src/pivot/PivotField.d.ts +142 -0
- package/types/src/pivot/PivotTable.d.ts +548 -14
- package/types/src/pivot/PivotTableCollection.d.ts +18 -3
- package/types/src/pivot/_PivotAreas.d.ts +48 -0
- package/types/src/pivot/_PivotControls.d.ts +140 -0
- package/types/src/pivot/_PivotEngine.d.ts +9 -0
- package/types/src/pivot/_PivotGroups.d.ts +25 -0
- package/types/src/pivot/_PivotItems.d.ts +167 -0
- package/types/src/pivot/_PivotStructure.d.ts +237 -0
- package/types/src/pivot/_PivotStylePreview.d.ts +21 -0
- package/types/src/pivot/_PivotUtils.d.ts +37 -0
- package/types/src/pivot/engine/PivotAdd.d.ts +37 -0
- package/types/src/pivot/engine/PivotData.d.ts +65 -0
- package/types/src/pivot/engine/PivotEdit.d.ts +45 -0
- package/types/src/pivot/engine/PivotFilters.d.ts +50 -0
- package/types/src/pivot/engine/PivotFormulas.d.ts +72 -0
- package/types/src/pivot/engine/PivotLayout.d.ts +133 -0
- package/types/src/pivot/engine/PivotMove.d.ts +24 -0
- package/types/src/pivot/engine/PivotRefresh.d.ts +87 -0
- package/types/src/pivot/engine/PivotSort.d.ts +26 -0
- package/types/src/pivot/engine/PivotViewBuilder.d.ts +22 -0
- package/types/src/pivot/engine/index.d.ts +15 -0
- package/types/src/pivot/index.d.ts +4 -0
- package/types/src/pivot/kernel/KernelPivot.d.ts +63 -0
- package/types/src/pivot/kernel/_KernelLeaves.d.ts +100 -0
- package/types/src/pivot/kernel/_PivotAxisTree.d.ts +71 -0
- package/types/src/primitives/Range.d.ts +12 -1
- package/types/src/sheet/IWorksheet.d.ts +35 -0
- package/types/src/sheet/SheetCell.d.ts +21 -14
- package/types/src/sheet/SheetRange.d.ts +3 -0
- package/types/src/sheet/Worksheet.d.ts +175 -7
- package/types/src/sheet/_PivotFootprint.d.ts +42 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +12 -1
- package/types/src/sheet/_SheetMutations.d.ts +47 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +11 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts +6 -0
- package/types/src/sheet/style/SheetPivotStyle.d.ts +83 -0
- package/types/src/sheet/style/_IndentUnit.d.ts +14 -0
- package/types/src/sheetHeader/SheetCellHeader.d.ts +1 -1
- package/types/src/slicer/ISlicer.d.ts +114 -34
- package/types/src/slicer/ITimeline.d.ts +61 -0
- package/types/src/slicer/Slicer.d.ts +76 -3
- package/types/src/slicer/_PivotSlicer.d.ts +51 -0
- package/types/src/slicer/index.d.ts +1 -0
- package/types/src/table/AnchoredTable.d.ts +11 -1
- package/types/src/table/ITable.d.ts +5 -6
- package/types/src/table/ITableStyle.d.ts +50 -34
- package/types/src/table/_BuiltInPivotStyles.d.ts +8 -0
- package/types/src/table/_BuiltInTableStyles.d.ts +0 -1
- package/types/src/type/ITypes.d.ts +5 -1
- package/types/src/workbook/IWorkbook.d.ts +8 -2
- package/types/src/workbook/Workbook.d.ts +72 -6
- package/browser/esm/BrHplg4RuI5jOmmr.mjs +0 -357
- package/browser/esm/eImPONkfn5DstmS8.mjs +0 -184
- package/node/esm/03AYPvCda2x9EOlY.mjs +0 -360
- package/node/esm/BmVQRGAijOHzgHmz.mjs +0 -199
- package/node/esm/Dk4KLs5GoRRuD8J4.mjs +0 -115
- package/types/src/pivot/_PivotXml.d.ts +0 -24
- package/types/src/primitives/Grouping.d.ts +0 -65
|
@@ -1,117 +1,117 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.
|
|
2
|
+
* @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License:
|
|
5
|
+
* License: SheetXL EULA — https://www.sheetxl.com/eula
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { FormulaError as
|
|
7
|
+
import { Aa as e, Ar as t, Ct as n, Kr as r, Mr as i, Or as a, Qi as o, St as s, Ur as c, _ as l, bt as u, ci as d, di as f, dt as p, ei as m, f as h, fi as ee, h as g, ia as _, jr as v, jt as y, la as b, n as te, p as ne, pi as x, ri as S, s as C, si as w, ti as T, u as E, ur as D } from "./gQzj95vSMXdKhpWf.mjs";
|
|
8
|
+
import { an as re } from "./Byp_bvP9G-tN6hcz.mjs";
|
|
9
|
+
import { FormulaError as O, Scalar as k, ScalarType as A, ValueKind as j, isLazyValue as M } from "@sheetxl/primitives";
|
|
10
10
|
import { CommonUtils as N } from "@sheetxl/utils";
|
|
11
|
-
var ie = (e, t) => e + t, ae = (e, t) => e - t, oe = (e, t) =>
|
|
11
|
+
var ie = (e, t) => e + t, ae = (e, t) => e - t, oe = (e, t) => p(e + t, e), se = (e, t) => p(e - t, e), ce = (e, t) => h(e * t), le = (e, t) => t === 0 ? O.BuiltIn.Div0 : h(e / t), ue = (e, t) => {
|
|
12
12
|
if (e === 0) {
|
|
13
|
-
if (t < 0) return
|
|
13
|
+
if (t < 0) return O.BuiltIn.Div0;
|
|
14
14
|
if (t === 0) return NaN;
|
|
15
15
|
}
|
|
16
16
|
if (e < 0) {
|
|
17
|
-
if (Number.isInteger(t) && Math.abs(t) <= 4294967294) return
|
|
17
|
+
if (Number.isInteger(t) && Math.abs(t) <= 4294967294) return h(e ** t);
|
|
18
18
|
let n = Number((1 / t).toPrecision(15));
|
|
19
|
-
return Number.isInteger(n) && Math.abs(n % 2) === 1 ?
|
|
19
|
+
return Number.isInteger(n) && Math.abs(n % 2) === 1 ? h(-((-e) ** t)) : NaN;
|
|
20
20
|
}
|
|
21
|
-
return
|
|
22
|
-
}, de = (
|
|
23
|
-
|
|
24
|
-
let
|
|
25
|
-
typeof
|
|
26
|
-
let i = "" +
|
|
27
|
-
return i.length >
|
|
21
|
+
return h(e ** t);
|
|
22
|
+
}, de = (t = "", n = "") => {
|
|
23
|
+
t === null && (t = ""), n === null && (n = "");
|
|
24
|
+
let r = typeof n;
|
|
25
|
+
typeof t == "boolean" && (t = e(t)), r === "boolean" && (n = e(n));
|
|
26
|
+
let i = "" + t + n;
|
|
27
|
+
return i.length > k.MAX_TEXT_LENGTH ? i.slice(0, k.MAX_TEXT_LENGTH) : i;
|
|
28
28
|
}, fe = (e, t = null, n = null) => e.compare(t, n) === 0, pe = (e, t = null, n = null) => e.compare(t, n) !== 0, me = (e, t = null, n = null) => e.compare(t, n) > 0, he = (e, t = null, n = null) => e.compare(t, n) >= 0, ge = (e, t = null, n = null) => e.compare(t, n) < 0, _e = (e, t = null, n = null) => e.compare(t, n) <= 0, ve = {
|
|
29
|
-
type:
|
|
30
|
-
coerce: [
|
|
29
|
+
type: A.Number,
|
|
30
|
+
coerce: [A.Boolean, A.String],
|
|
31
31
|
onError: "value",
|
|
32
|
-
misalignValue:
|
|
32
|
+
misalignValue: O.BuiltIn.NA
|
|
33
33
|
}, ye = {
|
|
34
|
-
type:
|
|
35
|
-
coerce: [
|
|
34
|
+
type: A.String,
|
|
35
|
+
coerce: [A.Boolean, A.Number],
|
|
36
36
|
onError: "value",
|
|
37
|
-
misalignValue:
|
|
37
|
+
misalignValue: O.BuiltIn.NA
|
|
38
38
|
}, be = {
|
|
39
39
|
onError: "value",
|
|
40
|
-
misalignValue:
|
|
40
|
+
misalignValue: O.BuiltIn.NA
|
|
41
41
|
}, P = (e) => typeof e == "object" && e && !0 === e.isIReferenceRange && e.size === 1 ? e.getValueAt(0, 0) ?? null : e, F = (e, t, n, r) => {
|
|
42
|
-
if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) &&
|
|
43
|
-
if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) &&
|
|
42
|
+
if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) && O.isError(t)) return t;
|
|
43
|
+
if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
|
|
44
44
|
if (t = P(t), n = P(n), typeof t == "number" && typeof n == "number") return r(t, n);
|
|
45
45
|
let i, a;
|
|
46
46
|
if (t?.isIRange ? i = t : n?.isIRange && (a = n), !i && !a) {
|
|
47
47
|
let i = e.getRuntime();
|
|
48
|
-
return t =
|
|
48
|
+
return t = C(i, t, l(t, !0), A.Number, !0), n = C(i, n, l(n, !0), A.Number, !0), t && O.isError(t) ? t : n && O.isError(n) ? n : r(t, n);
|
|
49
49
|
}
|
|
50
50
|
let o = !i, s = o ? t : n;
|
|
51
|
-
return (i ?? a).broadcast(s, (t, n) => t &&
|
|
51
|
+
return (i ?? a).broadcast(s, (t, n) => t && O.isError(t) ? t : n && O.isError(n) ? n : g(o ? r(n, t) : r(t, n), e), ve).fillEmpty(0);
|
|
52
52
|
}, I = (e, t, n, r) => {
|
|
53
|
-
if (
|
|
54
|
-
if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) &&
|
|
55
|
-
if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) &&
|
|
56
|
-
let i,
|
|
53
|
+
if (D(t) || D(n) || M(t) || M(n)) return O.BuiltIn.Value;
|
|
54
|
+
if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) && O.isError(t)) return t;
|
|
55
|
+
if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
|
|
56
|
+
let i, a;
|
|
57
57
|
t = P(t), n = P(n);
|
|
58
|
-
let
|
|
59
|
-
return t?.isIRange ? (i = t,
|
|
58
|
+
let o = !1;
|
|
59
|
+
return t?.isIRange ? (i = t, a = n) : n?.isIRange && (i = n, a = t, o = !0), i ? i.broadcast(a, (t, n) => t && O.isError(t) ? t : n && O.isError(n) ? n : (t = L(t), n = L(n), o ? r(e, n, t) : r(e, t, n)), be) : O.isError(t) ? t : O.isError(n) ? n : r(e, L(t), L(n));
|
|
60
60
|
}, L = (e) => !0 === e?.isIRichData ? e.toPrimitive?.() ?? e : e, xe = (e, t, n) => {
|
|
61
|
-
if (n ??= 0, n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) &&
|
|
61
|
+
if (n ??= 0, n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
|
|
62
62
|
n = P(n);
|
|
63
63
|
let r, i = 1;
|
|
64
64
|
if (t === "+") return n;
|
|
65
|
-
if (t !== "-") throw new
|
|
65
|
+
if (t !== "-") throw new O.Value(`Unrecognized prefix: ${t}`);
|
|
66
66
|
if (i = -i, n?.isIRange && (r = n), !r) {
|
|
67
67
|
let t = e.getRuntime();
|
|
68
|
-
return typeof (n =
|
|
68
|
+
return typeof (n = C(t, n, l(n, !0), A.Number, !0)) == "number" ? n * i : O.BuiltIn.Value;
|
|
69
69
|
}
|
|
70
|
-
return r.broadcast(i, (e, t) => e &&
|
|
71
|
-
}, R = (e) => e.getCode() <=
|
|
72
|
-
if (
|
|
73
|
-
if (n &&
|
|
74
|
-
if (!t) return
|
|
75
|
-
if (t.isIReferenceRange && n && !n.isIReferenceRange ? n = e.getReference(n) : n && n.isIReferenceRange && t && !t.isIReferenceRange && (t = e.getReference(t)), t.isIReferenceRange && (t = t.getCoords()), t.colStart === void 0 || (n.isIReferenceRange && (n = n.getCoords()), n.colStart === void 0)) return
|
|
70
|
+
return r.broadcast(i, (e, t) => e && O.isError(e) ? e : t && O.isError(t) ? t : ce(e, t), ve);
|
|
71
|
+
}, R = (e) => e.getCode() <= O.Code.NA ? e : O.BuiltIn.Value, z = (e, t, n, r, i) => {
|
|
72
|
+
if (O.isError(t)) return R(t);
|
|
73
|
+
if (n && O.isError(n)) return R(n);
|
|
74
|
+
if (!t) return O.BuiltIn.Ref;
|
|
75
|
+
if (t.isIReferenceRange && n && !n.isIReferenceRange ? n = e.getReference(n) : n && n.isIReferenceRange && t && !t.isIReferenceRange && (t = e.getReference(t)), t.isIReferenceRange && (t = t.getCoords()), t.colStart === void 0 || (n.isIReferenceRange && (n = n.getCoords()), n.colStart === void 0)) return O.BuiltIn.Value;
|
|
76
76
|
let a = t.scope ? i !== "either" || n.scope ? null : t : n;
|
|
77
77
|
if (a?.scope) {
|
|
78
78
|
let t = e.getReference(a);
|
|
79
|
-
if (
|
|
80
|
-
if (e.getSheetIndex() !== e.getSheetIndex(t)) return
|
|
79
|
+
if (O.isError(t)) return t;
|
|
80
|
+
if (e.getSheetIndex() !== e.getSheetIndex(t)) return O.BuiltIn.Value;
|
|
81
81
|
}
|
|
82
82
|
let o = r(t, n);
|
|
83
|
-
return
|
|
83
|
+
return O.isError(o) ? o : o ? e.getReference(o) : O.BuiltIn.Null;
|
|
84
84
|
}, Se = {
|
|
85
85
|
"+": (e, t, n) => F(e, t, n, ie),
|
|
86
86
|
"-": (e, t, n) => F(e, t, n, ae),
|
|
87
87
|
"*": (e, t, n) => F(e, t, n, ce),
|
|
88
88
|
"/": (e, t, n) => F(e, t, n, le),
|
|
89
89
|
"^": (e, t, n) => F(e, t, n, ue),
|
|
90
|
-
" ": (e, t, n, r) => z(e, t, n,
|
|
91
|
-
":": (e, t, n, r) => z(e, t, n,
|
|
90
|
+
" ": (e, t, n, r) => z(e, t, n, o, "either"),
|
|
91
|
+
":": (e, t, n, r) => z(e, t, n, b, "start"),
|
|
92
92
|
".:.": (e, t, n, r) => {
|
|
93
|
-
let i = z(e, t, n,
|
|
93
|
+
let i = z(e, t, n, b, "start");
|
|
94
94
|
return e.getFunction("TRIMRANGE").execute(i, 3, 3);
|
|
95
95
|
},
|
|
96
96
|
".:": (e, t, n, r) => {
|
|
97
|
-
let i = z(e, t, n,
|
|
97
|
+
let i = z(e, t, n, b, "start");
|
|
98
98
|
return e.getFunction("TRIMRANGE").execute(i, 1, 1);
|
|
99
99
|
},
|
|
100
100
|
":.": (e, t, n, r) => {
|
|
101
|
-
let i = z(e, t, n,
|
|
101
|
+
let i = z(e, t, n, b, "start");
|
|
102
102
|
return e.getFunction("TRIMRANGE").execute(i, 2, 2);
|
|
103
103
|
},
|
|
104
104
|
"&": (e, t, n) => ((e, t, n, r) => {
|
|
105
|
-
if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) &&
|
|
106
|
-
if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) &&
|
|
105
|
+
if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) && O.isError(t)) return t;
|
|
106
|
+
if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
|
|
107
107
|
if (t = P(t), n = P(n), typeof t == "string" && typeof n == "string") return r(t, n);
|
|
108
108
|
let i, a;
|
|
109
109
|
if (t?.isIRange ? i = t : n?.isIRange && (a = n), !i && !a) {
|
|
110
110
|
let i = e.getRuntime();
|
|
111
|
-
return t =
|
|
111
|
+
return t = C(i, t, l(t, !0), A.String, !1), n = C(i, n, l(n, !0), A.String, !1), O.isError(t) ? t : O.isError(n) ? n : r(t, n);
|
|
112
112
|
}
|
|
113
113
|
let o = !i, s = o ? t : n;
|
|
114
|
-
return (i ?? a).broadcast(s, (e, t) => e &&
|
|
114
|
+
return (i ?? a).broadcast(s, (e, t) => e && O.isError(e) ? e : t && O.isError(t) ? t : o ? r(t, e) : r(e, t), ye);
|
|
115
115
|
})(e, t, n, de),
|
|
116
116
|
"=": (e, t, n) => I(e, t, n, fe),
|
|
117
117
|
"<>": (e, t, n) => I(e, t, n, pe),
|
|
@@ -130,11 +130,11 @@ var ie = (e, t) => e + t, ae = (e, t) => e - t, oe = (e, t) => m(e + t, e), se =
|
|
|
130
130
|
let n = t;
|
|
131
131
|
if (!t.isIReferenceRange) return n.getValueAt(0, 0);
|
|
132
132
|
let r = t.getCoords(), i = n.getRowCount(), a = n.getColumnCount(), o = e.getRow() - r.rowStart, s = e.getColumn() - r.colStart, c = o >= 0 && o < i, l = s >= 0 && s < a;
|
|
133
|
-
return c && l ? n.getValueAt(o, s) : c && a === 1 ? n.getValueAt(o, 0) : l && i === 1 ? n.getValueAt(0, s) : i === 1 && a === 1 ? n.getValueAt(0, 0) :
|
|
133
|
+
return c && l ? n.getValueAt(o, s) : c && a === 1 ? n.getValueAt(o, 0) : l && i === 1 ? n.getValueAt(0, s) : i === 1 && a === 1 ? n.getValueAt(0, 0) : O.BuiltIn.Value;
|
|
134
134
|
}
|
|
135
135
|
}, Te = {
|
|
136
136
|
"%": (e, t) => F(e, t, 100, le),
|
|
137
|
-
"#": (e, t) =>
|
|
137
|
+
"#": (e, t) => O.isError(t) ? R(t) : t ? (t.isIReferenceRange && (t = t.getCoords()), t.colStart === void 0 ? O.BuiltIn.Value : t.rowStart !== t.rowEnd || t.colStart !== t.colEnd ? O.BuiltIn.Ref : e.getSpillAt(t.rowStart, t.colStart, t.scope) || O.BuiltIn.Ref) : O.BuiltIn.Ref
|
|
138
138
|
};
|
|
139
139
|
function B(e, t) {
|
|
140
140
|
for (let n = e.length - 1; n >= 0; n--) if (e[n].type === t) return e[n];
|
|
@@ -153,37 +153,37 @@ var Ee = class {
|
|
|
153
153
|
value: null,
|
|
154
154
|
inputs: null
|
|
155
155
|
};
|
|
156
|
-
if (this.references.set(e, t), n ===
|
|
156
|
+
if (this.references.set(e, t), n === x.Cell) {
|
|
157
157
|
let n = e.value;
|
|
158
158
|
n.$colIndex && (t.hasHorizontalAbs = !0), n.$rowIndex && (t.hasVerticalAbs = !0), t.value = this.cells.size, this.cells.set(e, this.cells.size), this.rootReferences.add(t), e.referenceIndex = this.referenceIndices.length, this.referenceIndices.push(t.index);
|
|
159
159
|
return;
|
|
160
160
|
}
|
|
161
|
-
if (n ===
|
|
161
|
+
if (n === x.Infix || n === x.Prefix || n === x.Postfix || n === x.List) {
|
|
162
162
|
let n = e.inputs || [], r = n.length, i = e.value;
|
|
163
163
|
t.op = i;
|
|
164
|
-
let a =
|
|
164
|
+
let a = E(r);
|
|
165
165
|
t.inputs = a;
|
|
166
166
|
for (let e = 0; e < r; e++) {
|
|
167
167
|
let r = n[e], i = this.references.get(r);
|
|
168
168
|
i ? (i.hasHorizontalAbs && (t.hasHorizontalAbs = !0), i.hasVerticalAbs && (t.hasVerticalAbs = !0), a[e] = i.index) : a[e] = -1, i && this.rootReferences.delete(i);
|
|
169
169
|
}
|
|
170
|
-
if (this.rootReferences.add(t),
|
|
171
|
-
let r = n[0], i = !!r && r.type ===
|
|
170
|
+
if (this.rootReferences.add(t), it.includes(i)) {
|
|
171
|
+
let r = n[0], i = !!r && r.type === x.Cell, a = n[1], o = !!a && a.type === x.Cell;
|
|
172
172
|
i && o && a.referenceIndex !== void 0 && r.referenceIndex !== void 0 && (this.referenceIndices.splice(a.referenceIndex, 1), a.referenceIndex = r.referenceIndex, e.referenceIndex = r.referenceIndex, this.referenceIndices[r.referenceIndex] = t.index);
|
|
173
173
|
} else i === "#" && n[0] && (e.referenceIndex = n[0].referenceIndex);
|
|
174
174
|
return;
|
|
175
175
|
}
|
|
176
|
-
if (n ===
|
|
177
|
-
let r = n ===
|
|
176
|
+
if (n === x.Error || n === x.Named) {
|
|
177
|
+
let r = n === x.Named ? e.value.nameId : m(e.value), i = this.names.get(r);
|
|
178
178
|
t.op = n, i === void 0 && (i = this.names.size, this.names.set(r, i)), t.value = i, this.rootReferences.add(t), e.referenceIndex = this.referenceIndices.length, this.referenceIndices.push(t.index);
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
|
-
if (n ===
|
|
181
|
+
if (n === x.TableReference) return t.op = n, this.rootReferences.add(t), e.referenceIndex = this.referenceIndices.length, void this.referenceIndices.push(t.index);
|
|
182
182
|
} else if (t && t.isReference) {
|
|
183
183
|
let t = {
|
|
184
184
|
node: e,
|
|
185
185
|
index: this.references.size,
|
|
186
|
-
op:
|
|
186
|
+
op: x.Function,
|
|
187
187
|
value: e.value,
|
|
188
188
|
inputs: null
|
|
189
189
|
};
|
|
@@ -191,163 +191,163 @@ var Ee = class {
|
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
};
|
|
194
|
-
function V(e,
|
|
195
|
-
let
|
|
196
|
-
let
|
|
194
|
+
function V(e, n = !1, r = f) {
|
|
195
|
+
let i = [], o = /* @__PURE__ */ new Set(), s = (e, t, r) => {
|
|
196
|
+
let a = {
|
|
197
197
|
type: e.type,
|
|
198
|
-
value: e.type ===
|
|
198
|
+
value: e.type === x.Error ? T(e.value) : e.value
|
|
199
199
|
};
|
|
200
|
-
e.image !== void 0 && (
|
|
201
|
-
let
|
|
202
|
-
return typeof
|
|
200
|
+
e.image !== void 0 && (a.text = ((e) => {
|
|
201
|
+
let t = n ? e.value?.scopeImage : void 0;
|
|
202
|
+
return typeof t == "string" ? t : "";
|
|
203
203
|
})(e) + e.image);
|
|
204
204
|
let s = e.evalIndex ?? r;
|
|
205
|
-
return s !== void 0 && (
|
|
206
|
-
}, c = (e, t, n, r,
|
|
207
|
-
if (t == null ||
|
|
205
|
+
return s !== void 0 && (a.evalIndex = s), t && (a.context = t), e.referenceIndex !== void 0 && (a.referenceIndex = e.referenceIndex), e.isReference && o.add(a), i.push(a), a;
|
|
206
|
+
}, c = (e, t, n, r, a) => {
|
|
207
|
+
if (t == null || i.length > 1 && e === x.Whitespace && i[i.length - 1].type === x.Whitespace) return;
|
|
208
208
|
let o = {
|
|
209
209
|
type: e,
|
|
210
210
|
value: t,
|
|
211
|
-
text:
|
|
211
|
+
text: a ?? t
|
|
212
212
|
};
|
|
213
|
-
r !== void 0 && (o.evalIndex = r), n && (o.context = n),
|
|
213
|
+
r !== void 0 && (o.evalIndex = r), n && (o.context = n), i.push(o);
|
|
214
214
|
};
|
|
215
215
|
(function e(l, u, d) {
|
|
216
216
|
let f = l.evalIndex ?? d ?? 0, p = l.type, m = (t, n, i) => {
|
|
217
217
|
if (!t) return;
|
|
218
218
|
let a = t.length;
|
|
219
|
-
for (let o = 0; o < a; o++) e(t[o], n, i), o < a - 1 && c(
|
|
219
|
+
for (let o = 0; o < a; o++) e(t[o], n, i), o < a - 1 && c(x.Separator, ",", n, i, r.separatorFunction);
|
|
220
220
|
};
|
|
221
221
|
if (l.isLiteral) {
|
|
222
|
-
if (c(
|
|
223
|
-
c(
|
|
222
|
+
if (c(x.Whitespace, l.wsBefore, u, f), p === x.Array) {
|
|
223
|
+
c(x.Type, "{", u, f);
|
|
224
224
|
let t = l.value, n = t.length;
|
|
225
225
|
for (let i = 0; i < n; i++) {
|
|
226
226
|
let a = t[i], o = a.value, s = o.length;
|
|
227
227
|
for (let t = 0; t < s; t++) {
|
|
228
228
|
let n = o[t];
|
|
229
|
-
c(
|
|
229
|
+
c(x.Whitespace, n.wsBefore, u, f), e(n, u, f), c(x.Whitespace, n.wsAfter, u, f), t < s - 1 && c(x.Separator, ",", u, f, r.separatorColumn);
|
|
230
230
|
}
|
|
231
|
-
i < n - 1 && (c(
|
|
231
|
+
i < n - 1 && (c(x.Whitespace, a.wsBefore, u, f), c(x.Separator, ";", u, f, r.separatorRow), c(x.Whitespace, a.wsAfter, u, f));
|
|
232
232
|
}
|
|
233
|
-
l.error || c(
|
|
234
|
-
} else p ===
|
|
233
|
+
l.error || c(x.Type, "}", u, f);
|
|
234
|
+
} else p === x.String && (l = {
|
|
235
235
|
type: p,
|
|
236
236
|
value: "\"" + `${l.value}`.replace(/"/g, "\"\"") + "\"",
|
|
237
237
|
image: l.image
|
|
238
238
|
}), s(l, u, f);
|
|
239
|
-
c(
|
|
240
|
-
} else if (p ===
|
|
241
|
-
else if (p ===
|
|
242
|
-
else if (p ===
|
|
243
|
-
l.inputs?.[0] && e(l.inputs[0], u, f), c(
|
|
244
|
-
let t = s(l, u, f), n =
|
|
245
|
-
l.value === "#" && t.text !== void 0 && !l.wsBefore && o.has(n) && (n.text = (n.text ?? "") + t.text, t.text = ""), c(
|
|
239
|
+
c(x.Whitespace, l.wsAfter, u, f);
|
|
240
|
+
} else if (p === x.Infix) e(l.inputs[0], u, f), c(x.Whitespace, l.wsBefore, u, f), s(l, u, f), c(x.Whitespace, l.wsAfter, u, f), e(l.inputs[1], u, f);
|
|
241
|
+
else if (p === x.Prefix) c(x.Whitespace, l.wsBefore, u, f), s(l, u, f), c(x.Whitespace, l.wsAfter, u, f), l.inputs && e(l.inputs[0], u, f);
|
|
242
|
+
else if (p === x.Postfix) {
|
|
243
|
+
l.inputs?.[0] && e(l.inputs[0], u, f), c(x.Whitespace, l.wsBefore, u, f);
|
|
244
|
+
let t = s(l, u, f), n = i[i.length - 2];
|
|
245
|
+
l.value === "#" && t.text !== void 0 && !l.wsBefore && o.has(n) && (n.text = (n.text ?? "") + t.text, t.text = ""), c(x.Whitespace, l.wsAfter, u, f);
|
|
246
246
|
} else {
|
|
247
|
-
c(
|
|
247
|
+
c(x.Whitespace, l.wsBefore, u, f);
|
|
248
248
|
let d = l.inputs;
|
|
249
249
|
switch (p) {
|
|
250
|
-
case
|
|
250
|
+
case x.Function: {
|
|
251
251
|
let t = String(l.value), n = {
|
|
252
|
-
type:
|
|
252
|
+
type: x.Function,
|
|
253
253
|
value: t,
|
|
254
254
|
text: l.image ?? t,
|
|
255
255
|
evalIndex: l.evalIndex
|
|
256
256
|
};
|
|
257
|
-
u && (n.context = u),
|
|
258
|
-
let
|
|
257
|
+
u && (n.context = u), i.push(n);
|
|
258
|
+
let a = {
|
|
259
259
|
name: t,
|
|
260
260
|
argIndex: -1,
|
|
261
261
|
type: l.binder?.kind ?? "function"
|
|
262
262
|
};
|
|
263
|
-
if (u?.bound && (
|
|
264
|
-
let t = d.length, n = l.binder?.kind,
|
|
263
|
+
if (u?.bound && (a.bound = u.bound), c(x.Paren, "(", a, l.evalIndex), d) {
|
|
264
|
+
let t = d.length, n = l.binder?.kind, i = n === "lambda" ? 1 : n === "let" ? 2 : 0, o = a.bound;
|
|
265
265
|
for (let s = 0; s < t; s++) {
|
|
266
|
-
let l =
|
|
266
|
+
let l = i && s >= i ? d[s - i] : void 0;
|
|
267
267
|
if (l?.binding?.declaration) {
|
|
268
|
-
let e = l.value.nameId, t = n === "let" ?
|
|
269
|
-
o =
|
|
268
|
+
let e = l.value.nameId, t = n === "let" ? wt(d[s - 1]) : void 0;
|
|
269
|
+
o = Ct(o, t ? {
|
|
270
270
|
name: e,
|
|
271
271
|
params: t
|
|
272
272
|
} : { name: e });
|
|
273
273
|
}
|
|
274
274
|
let u = {
|
|
275
|
-
...
|
|
275
|
+
...a,
|
|
276
276
|
argIndex: s
|
|
277
277
|
};
|
|
278
|
-
o && (u.bound = o), e(d[s], u, f), s < t - 1 && c(
|
|
278
|
+
o && (u.bound = o), e(d[s], u, f), s < t - 1 && c(x.Separator, ",", u, f, r.separatorFunction);
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
|
-
l.error || c(
|
|
281
|
+
l.error || c(x.Paren, ")", a, l.evalIndex);
|
|
282
282
|
break;
|
|
283
283
|
}
|
|
284
|
-
case
|
|
285
|
-
let
|
|
286
|
-
if (
|
|
287
|
-
let t =
|
|
288
|
-
t.type !==
|
|
284
|
+
case x.Call: {
|
|
285
|
+
let n = t(l), o = i.length;
|
|
286
|
+
if (n && e(n, u, f), n?.type === x.Named) for (let e = o; e < i.length; e++) {
|
|
287
|
+
let t = i[e];
|
|
288
|
+
t.type !== x.Whitespace && (t.evalIndex = l.evalIndex, t.type === x.Named && (t.type = x.Function, t.value = t.value.name));
|
|
289
289
|
}
|
|
290
290
|
let s = {
|
|
291
|
-
name:
|
|
291
|
+
name: n?.type === x.Named ? n.value.nameId : "",
|
|
292
292
|
argIndex: -1,
|
|
293
293
|
type: "function"
|
|
294
294
|
};
|
|
295
|
-
u?.bound && (s.bound = u.bound), c(
|
|
296
|
-
let d =
|
|
295
|
+
u?.bound && (s.bound = u.bound), c(x.Paren, "(", s, l.evalIndex);
|
|
296
|
+
let d = a(l), p = d.length;
|
|
297
297
|
for (let t = 0; t < p; t++) {
|
|
298
298
|
let n = {
|
|
299
299
|
...s,
|
|
300
300
|
argIndex: t
|
|
301
301
|
};
|
|
302
|
-
e(d[t], n, f), t < p - 1 && c(
|
|
302
|
+
e(d[t], n, f), t < p - 1 && c(x.Separator, ",", n, f, r.separatorFunction);
|
|
303
303
|
}
|
|
304
|
-
l.error || c(
|
|
304
|
+
l.error || c(x.Paren, ")", s, l.evalIndex);
|
|
305
305
|
break;
|
|
306
306
|
}
|
|
307
|
-
case
|
|
307
|
+
case x.Cell:
|
|
308
308
|
s(l, u, f);
|
|
309
309
|
break;
|
|
310
|
-
case
|
|
310
|
+
case x.Paren:
|
|
311
311
|
c(p, "(", u, f), m(d, u, f), l.error || c(p, ")", u, f);
|
|
312
312
|
break;
|
|
313
|
-
case
|
|
314
|
-
let
|
|
315
|
-
name:
|
|
313
|
+
case x.TableReference: {
|
|
314
|
+
let t = l.value?.tableId ?? "", r = {
|
|
315
|
+
name: t,
|
|
316
316
|
argIndex: -1,
|
|
317
317
|
type: "table"
|
|
318
|
-
},
|
|
319
|
-
if (
|
|
318
|
+
}, a = i.length, s = l.image, p, m = !1;
|
|
319
|
+
if (t && s) {
|
|
320
320
|
let e = 0;
|
|
321
321
|
if (s.charCodeAt(0) === 91) {
|
|
322
322
|
let t = s.indexOf("]");
|
|
323
323
|
t !== -1 && s.charCodeAt(t + 1) === 33 && (e = t + 2);
|
|
324
324
|
}
|
|
325
|
-
let
|
|
326
|
-
if (m =
|
|
325
|
+
let t = s.indexOf("[", e);
|
|
326
|
+
if (m = t === 0 && d != null, t > 0) p = s.slice(0, t);
|
|
327
327
|
else if (!d) {
|
|
328
328
|
let e = s.lastIndexOf("!");
|
|
329
|
-
p =
|
|
329
|
+
p = n || e === -1 ? s : s.slice(e + 1);
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
|
-
if (!
|
|
332
|
+
if (!t || m && n || c(x.TableReference, t, u, f, p), d && c(x.Paren, "[", r, f), d) {
|
|
333
333
|
let t = d.length;
|
|
334
334
|
for (let n = 0; n < t; n++) {
|
|
335
335
|
let i = {
|
|
336
336
|
...r,
|
|
337
337
|
argIndex: n
|
|
338
338
|
};
|
|
339
|
-
e(d[n], i, f), n < t - 1 && c(
|
|
339
|
+
e(d[n], i, f), n < t - 1 && c(x.Separator, ",", i, f);
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
|
-
d && !l.error && c(
|
|
342
|
+
d && !l.error && c(x.Paren, "]", r, f);
|
|
343
343
|
let h = l.referenceIndex;
|
|
344
|
-
for (let e =
|
|
344
|
+
for (let e = a; e < i.length; e++) h !== void 0 && (i[e].referenceIndex = h), o.add(i[e]);
|
|
345
345
|
break;
|
|
346
346
|
}
|
|
347
|
-
case
|
|
348
|
-
case
|
|
347
|
+
case x.TableSpecifier:
|
|
348
|
+
case x.TableColumn: {
|
|
349
349
|
let e = l.image, t = e != null && e.startsWith("[") && e.endsWith("]");
|
|
350
|
-
t && c(
|
|
350
|
+
t && c(x.Paren, "[", u, f);
|
|
351
351
|
let n = {
|
|
352
352
|
table: u?.type === "table" ? u.name : "",
|
|
353
353
|
name: l.value
|
|
@@ -356,61 +356,61 @@ function V(e, t = !1, r = D) {
|
|
|
356
356
|
value: n,
|
|
357
357
|
text: t ? e.slice(1, -1) : e ?? n.name
|
|
358
358
|
};
|
|
359
|
-
f !== void 0 && (r.evalIndex = f), u && (r.context = u),
|
|
359
|
+
f !== void 0 && (r.evalIndex = f), u && (r.context = u), i.push(r), t && c(x.Paren, "]", u, f);
|
|
360
360
|
break;
|
|
361
361
|
}
|
|
362
|
-
case
|
|
362
|
+
case x.List:
|
|
363
363
|
m(d, u, f);
|
|
364
364
|
break;
|
|
365
|
-
case
|
|
365
|
+
case x.Named: {
|
|
366
366
|
let e = s(l, u, f), t = l.value;
|
|
367
367
|
e.value = t.scope ? {
|
|
368
368
|
name: t.nameId,
|
|
369
369
|
scope: t.scope
|
|
370
|
-
} : { name: t.nameId }, l.binding?.declaration && l.binding.optional && (e.value.optional = !0), l.binding && (e.type =
|
|
370
|
+
} : { name: t.nameId }, l.binding?.declaration && l.binding.optional && (e.value.optional = !0), l.binding && (e.type = x.Parameter, l.binding.declaration && (e.value.declaration = !0)), delete e.referenceIndex;
|
|
371
371
|
break;
|
|
372
372
|
}
|
|
373
373
|
default: l.value !== void 0 && s(l, u, f), d && d.forEach((t) => e(t, u, f));
|
|
374
374
|
}
|
|
375
|
-
c(
|
|
375
|
+
c(x.Whitespace, l.wsAfter, u, f);
|
|
376
376
|
}
|
|
377
377
|
})(e);
|
|
378
378
|
let l = /* @__PURE__ */ new Map();
|
|
379
|
-
for (let e of
|
|
379
|
+
for (let e of i) if (e.type === x.Cell && e.referenceIndex !== void 0) {
|
|
380
380
|
let t = l.get(e.referenceIndex);
|
|
381
381
|
t ? t.push(e) : l.set(e.referenceIndex, [e]);
|
|
382
382
|
}
|
|
383
383
|
for (let e of l.values()) e.length === 1 ? e[0].refSide = "self" : (e[0].refSide = "left", e[e.length - 1].refSide = "right");
|
|
384
384
|
let u = /* @__PURE__ */ new Map();
|
|
385
|
-
for (let e of
|
|
385
|
+
for (let e of i) if (e.referenceIndex !== void 0 && e.evalIndex !== void 0) {
|
|
386
386
|
let t = u.get(e.referenceIndex);
|
|
387
387
|
(t === void 0 || e.evalIndex < t) && u.set(e.referenceIndex, e.evalIndex);
|
|
388
388
|
}
|
|
389
389
|
if (u.size > 0) {
|
|
390
|
-
for (let e of
|
|
390
|
+
for (let e of i) if (e.referenceIndex !== void 0) {
|
|
391
391
|
let t = u.get(e.referenceIndex);
|
|
392
392
|
t !== void 0 && (e.evalIndex = t);
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
|
-
return
|
|
395
|
+
return i;
|
|
396
396
|
}
|
|
397
397
|
function De(e, t) {
|
|
398
398
|
let n = "";
|
|
399
399
|
for (let r = 0; r < e.length; r++) {
|
|
400
400
|
let i = e[r], a = i.type;
|
|
401
|
-
if (a ===
|
|
402
|
-
let e = a ===
|
|
401
|
+
if (a === x.Cell || a === x.Named || a === x.Error) {
|
|
402
|
+
let e = a === x.Cell ? i.value?.scope : (x.Named, i.value?.scope ?? void 0), r = a === x.Error ? i.text !== void 0 && S(i.text) : i.text?.includes("!") ?? !1;
|
|
403
403
|
if (e && i.text !== void 0 && !r) {
|
|
404
|
-
let r = t?.resolve(
|
|
404
|
+
let r = t?.resolve(y.Sheet, e)?.toString() ?? e;
|
|
405
405
|
n += _(r) + "!" + i.text;
|
|
406
406
|
continue;
|
|
407
407
|
}
|
|
408
|
-
if (a ===
|
|
408
|
+
if (a === x.Named) {
|
|
409
409
|
n += i.text ?? i.value?.name ?? "";
|
|
410
410
|
continue;
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
|
-
if (a ===
|
|
413
|
+
if (a === x.Parameter) {
|
|
414
414
|
n += i.text ?? i.value?.name ?? "";
|
|
415
415
|
continue;
|
|
416
416
|
}
|
|
@@ -421,38 +421,38 @@ function De(e, t) {
|
|
|
421
421
|
}
|
|
422
422
|
function Oe(e, t) {
|
|
423
423
|
let n;
|
|
424
|
-
if (
|
|
424
|
+
if (d(e, (e) => {
|
|
425
425
|
e.evalIndex === t && (n = e);
|
|
426
426
|
}), !n) return [];
|
|
427
427
|
let r = V(n);
|
|
428
|
-
return r.length > 1 && r[0].type ===
|
|
428
|
+
return r.length > 1 && r[0].type === x.Whitespace && r.shift(), r.length > 1 && r[r.length - 1].type === x.Whitespace && r.pop(), r;
|
|
429
429
|
}
|
|
430
430
|
function ke(e) {
|
|
431
|
-
return
|
|
432
|
-
if (e.type !==
|
|
431
|
+
return d(e, (e) => {
|
|
432
|
+
if (e.type !== x.TableReference) return;
|
|
433
433
|
let t = function(e) {
|
|
434
434
|
if (e.value !== null && typeof e.value == "object") return e.value;
|
|
435
435
|
let t = e.value, n = e.inputs, r = !1, i = !1, a = !1, o = !1, s = null, c = null, l = !1, u = (e) => {
|
|
436
|
-
e?.type ===
|
|
436
|
+
e?.type === x.TableColumn && (s = e.value, c = e.value);
|
|
437
437
|
};
|
|
438
438
|
if (n) for (let e of n) {
|
|
439
439
|
let t = e.type;
|
|
440
|
-
if (t ===
|
|
440
|
+
if (t === x.TableSpecifier) {
|
|
441
441
|
let t = e.value.toUpperCase().trim();
|
|
442
442
|
t === "#ALL" ? i = !0 : t === "#HEADERS" ? a = !0 : t === "#TOTALS" ? o = !0 : t === "#DATA" ? r = !0 : t !== "@" && t !== "#THIS ROW" || (l = !0);
|
|
443
|
-
} else if (t ===
|
|
444
|
-
else if (t ===
|
|
443
|
+
} else if (t === x.TableColumn) u(e);
|
|
444
|
+
else if (t === x.Infix && e.value === ":") {
|
|
445
445
|
let t = e.inputs?.[0], n = e.inputs?.[1];
|
|
446
|
-
t?.type ===
|
|
447
|
-
} else if (t ===
|
|
446
|
+
t?.type === x.TableColumn && (s = t.value), n?.type === x.TableColumn && (c = n.value);
|
|
447
|
+
} else if (t === x.Prefix && e.value === "@") {
|
|
448
448
|
l = !0;
|
|
449
449
|
let t = e.inputs?.[0];
|
|
450
|
-
t?.type ===
|
|
450
|
+
t?.type === x.Infix && t.value === ":" ? (t.inputs?.[0]?.type === x.TableColumn && (s = t.inputs[0].value), t.inputs?.[1]?.type === x.TableColumn && (c = t.inputs[1].value)) : u(t);
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
return {
|
|
454
454
|
tableId: t,
|
|
455
|
-
spec:
|
|
455
|
+
spec: w(i, a, r, o),
|
|
456
456
|
columnFromId: s,
|
|
457
457
|
columnToId: c,
|
|
458
458
|
isThisRow: l
|
|
@@ -465,14 +465,14 @@ function ke(e) {
|
|
|
465
465
|
});
|
|
466
466
|
}
|
|
467
467
|
function Ae(e) {
|
|
468
|
-
return
|
|
469
|
-
if (e.type !==
|
|
468
|
+
return d(e, (e) => {
|
|
469
|
+
if (e.type !== x.TableReference) return;
|
|
470
470
|
let t = e.inputs;
|
|
471
|
-
if (!t || t.findIndex((e) => e.type ===
|
|
472
|
-
let n = [],
|
|
473
|
-
for (let e of t) (e.type !==
|
|
474
|
-
if (!
|
|
475
|
-
type:
|
|
471
|
+
if (!t || t.findIndex((e) => e.type === x.TableSpecifier && e.value.toUpperCase().trim() === "#THIS ROW") === -1) return;
|
|
472
|
+
let n = [], i;
|
|
473
|
+
for (let e of t) (e.type !== x.TableSpecifier || e.value.toUpperCase().trim() !== "#THIS ROW") && (e.type !== x.TableColumn && (e.type !== x.Infix || e.value !== ":") || i ? n.push(e) : i = e);
|
|
474
|
+
if (!i) return n.push({
|
|
475
|
+
type: x.Prefix,
|
|
476
476
|
value: "@",
|
|
477
477
|
inputs: null,
|
|
478
478
|
isReference: !0
|
|
@@ -480,19 +480,19 @@ function Ae(e) {
|
|
|
480
480
|
...e,
|
|
481
481
|
inputs: n
|
|
482
482
|
};
|
|
483
|
-
let
|
|
484
|
-
...
|
|
485
|
-
image:
|
|
486
|
-
} :
|
|
487
|
-
return n.push(
|
|
483
|
+
let a = i.image ?? i.value, o = a.startsWith("[") && a.endsWith("]") ? {
|
|
484
|
+
...i,
|
|
485
|
+
image: a.slice(1, -1)
|
|
486
|
+
} : i;
|
|
487
|
+
return n.push(r("@", o, !0)), {
|
|
488
488
|
...e,
|
|
489
489
|
inputs: n
|
|
490
490
|
};
|
|
491
491
|
});
|
|
492
492
|
}
|
|
493
493
|
function je(e) {
|
|
494
|
-
return
|
|
495
|
-
if (e.type !==
|
|
494
|
+
return d(e, (e) => {
|
|
495
|
+
if (e.type !== x.TableReference || e.inputs?.length !== 0 || e.error) return;
|
|
496
496
|
let t = e.value;
|
|
497
497
|
return (typeof t == "string" ? t : t?.tableId) ? {
|
|
498
498
|
...e,
|
|
@@ -501,8 +501,8 @@ function je(e) {
|
|
|
501
501
|
});
|
|
502
502
|
}
|
|
503
503
|
function Me(e) {
|
|
504
|
-
return
|
|
505
|
-
if (e.type !==
|
|
504
|
+
return d(e, (e) => {
|
|
505
|
+
if (e.type !== x.TableReference || !e.inputs) return;
|
|
506
506
|
let t = e.value, n = typeof t == "string" ? t : t?.tableId, r = e.image;
|
|
507
507
|
if (!n || r?.charCodeAt(0) !== 91) return;
|
|
508
508
|
let i = r.indexOf("]");
|
|
@@ -512,7 +512,7 @@ function Me(e) {
|
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
514
|
var Ne = (e) => {
|
|
515
|
-
if (e?.type !==
|
|
515
|
+
if (e?.type !== x.TableSpecifier) return 4;
|
|
516
516
|
switch (e.value.toUpperCase().trim()) {
|
|
517
517
|
case "#ALL": return 0;
|
|
518
518
|
case "#HEADERS": return 1;
|
|
@@ -522,8 +522,8 @@ var Ne = (e) => {
|
|
|
522
522
|
}
|
|
523
523
|
};
|
|
524
524
|
function Pe(e) {
|
|
525
|
-
return
|
|
526
|
-
if (e.type !==
|
|
525
|
+
return d(e, (e) => {
|
|
526
|
+
if (e.type !== x.TableReference) return;
|
|
527
527
|
let t = e.inputs;
|
|
528
528
|
if (!t || t.length < 2) return;
|
|
529
529
|
let n = t.map((e, t) => ({
|
|
@@ -540,8 +540,8 @@ function Pe(e) {
|
|
|
540
540
|
function Fe(e) {
|
|
541
541
|
if (!e) return N.EmptyArray;
|
|
542
542
|
let t = N.EmptyArray;
|
|
543
|
-
return
|
|
544
|
-
if (e.type !==
|
|
543
|
+
return d(e, (e) => {
|
|
544
|
+
if (e.type !== x.Named || e.binding) return;
|
|
545
545
|
let n = e.value.nameId;
|
|
546
546
|
n && (t === N.EmptyArray && (t = []), t.includes(n) || t.push(n));
|
|
547
547
|
}), t;
|
|
@@ -549,10 +549,10 @@ function Fe(e) {
|
|
|
549
549
|
function Ie(e, t) {
|
|
550
550
|
if (!e) return N.EmptyArray;
|
|
551
551
|
let n = N.EmptyArray;
|
|
552
|
-
return
|
|
552
|
+
return d(e, (e, r, i) => {
|
|
553
553
|
if (!e.isReference || r?.isReference) return;
|
|
554
554
|
let a = e.type;
|
|
555
|
-
if (a ===
|
|
555
|
+
if (a === x.Named || a === x.Error || a === x.TableReference || B(i, x.TableReference)) return;
|
|
556
556
|
let o = function(e) {
|
|
557
557
|
let t = e;
|
|
558
558
|
for (; t;) {
|
|
@@ -565,65 +565,68 @@ function Ie(e, t) {
|
|
|
565
565
|
let r = e;
|
|
566
566
|
for (let e = t.length - 1; e >= 0; e--) {
|
|
567
567
|
let i = t[e];
|
|
568
|
-
if (i.type ===
|
|
568
|
+
if (i.type === x.Paren || i.isReference) {
|
|
569
569
|
r = i;
|
|
570
570
|
continue;
|
|
571
571
|
}
|
|
572
|
-
if (i.type !==
|
|
572
|
+
if (i.type !== x.Function) return !0;
|
|
573
573
|
let a = n?.(String(i.value));
|
|
574
574
|
if (!a) return !0;
|
|
575
575
|
let o = i.inputs ? i.inputs.indexOf(r) : -1;
|
|
576
|
-
return (o >= 0 ?
|
|
576
|
+
return (o >= 0 ? U(a.getDeclaration().getParameters(), o) : null)?.getRangeType() !== "p";
|
|
577
577
|
}
|
|
578
578
|
return !0;
|
|
579
579
|
}(e, i, t) && (n === N.EmptyArray && (n = []), n.includes(o) || n.push(o));
|
|
580
580
|
}), n.length > 1 && n.sort((e, t) => e - t), n;
|
|
581
581
|
}
|
|
582
|
-
var Le = /* @__PURE__ */ new Set(["SUBTOTAL", "AGGREGATE"]);
|
|
583
|
-
function
|
|
582
|
+
var Le = /* @__PURE__ */ new Set(["SUBTOTAL", "AGGREGATE"]), Re = /* @__PURE__ */ new Set(["GETPIVOTDATA"]);
|
|
583
|
+
function ze(e, t) {
|
|
584
|
+
return H(e, t, Le);
|
|
585
|
+
}
|
|
586
|
+
function H(e, t, n) {
|
|
584
587
|
if (!e || !t) return !1;
|
|
585
|
-
let
|
|
586
|
-
return
|
|
587
|
-
if (
|
|
588
|
-
let
|
|
589
|
-
|
|
590
|
-
}),
|
|
588
|
+
let r = !1;
|
|
589
|
+
return d(e, (e) => {
|
|
590
|
+
if (r || e.type !== x.Function) return;
|
|
591
|
+
let i = t(e.value)?.getName();
|
|
592
|
+
i && n.has(i.toUpperCase()) && (r = !0);
|
|
593
|
+
}), r;
|
|
591
594
|
}
|
|
592
|
-
function
|
|
595
|
+
function Be(e, t) {
|
|
593
596
|
if (!e || !t) return !1;
|
|
594
597
|
let n = !1;
|
|
595
|
-
return
|
|
596
|
-
n || e.type !==
|
|
598
|
+
return d(e, (e) => {
|
|
599
|
+
n || e.type !== x.Function || t(e.value)?.getName().toUpperCase() === "TABLE" && (n = !0);
|
|
597
600
|
}), n;
|
|
598
601
|
}
|
|
599
|
-
function
|
|
602
|
+
function Ve(e, t) {
|
|
600
603
|
if (!e || !t) return !1;
|
|
601
604
|
let n = !1;
|
|
602
|
-
return
|
|
603
|
-
n || e.type !==
|
|
605
|
+
return d(e, (e) => {
|
|
606
|
+
n || e.type !== x.Function || !0 === t(e.value)?.getDeclaration().getReturnType()?.isVolatile() && (n = !0);
|
|
604
607
|
}), n;
|
|
605
608
|
}
|
|
606
|
-
var
|
|
609
|
+
var He = Object.freeze({
|
|
607
610
|
value: !1,
|
|
608
611
|
array: !1
|
|
609
|
-
}),
|
|
612
|
+
}), Ue = (e, t) => {
|
|
610
613
|
let n = function(e, t) {
|
|
611
|
-
if (!e || !t) return
|
|
614
|
+
if (!e || !t) return He;
|
|
612
615
|
let n = !1, r = !1;
|
|
613
|
-
return
|
|
616
|
+
return d(e, (e) => {
|
|
614
617
|
if (n) return;
|
|
615
618
|
let i = e.type;
|
|
616
|
-
if (i ===
|
|
617
|
-
if (i ===
|
|
618
|
-
if (i ===
|
|
619
|
-
if (i !==
|
|
619
|
+
if (i === x.Named) return void (e.binding === void 0 && (n = !0));
|
|
620
|
+
if (i === x.Prefix) return void (e.value === "@" && (n = !0));
|
|
621
|
+
if (i === x.Call) return void (n = !0);
|
|
622
|
+
if (i !== x.Function || e.binder !== void 0) return;
|
|
620
623
|
let a = t(e.value);
|
|
621
624
|
if (!a) return void (n = !0);
|
|
622
625
|
if (r || !0 !== e.implicitIntersect) return;
|
|
623
626
|
let o = a.getDeclaration().getParameters(), s = e.inputs;
|
|
624
627
|
if (s) for (let e = 0; e < s.length; e++) {
|
|
625
|
-
let n =
|
|
626
|
-
if (n !== null && n.isValueOrRange() &&
|
|
628
|
+
let n = U(o, e);
|
|
629
|
+
if (n !== null && n.isValueOrRange() && G(s[e], t)) return void (r = !0);
|
|
627
630
|
}
|
|
628
631
|
}), {
|
|
629
632
|
value: !n && !r,
|
|
@@ -634,47 +637,47 @@ var Ve = Object.freeze({
|
|
|
634
637
|
isBlankCacheable: n.value,
|
|
635
638
|
isBlankCacheableArray: n.array
|
|
636
639
|
};
|
|
637
|
-
},
|
|
640
|
+
}, We = (e, t) => {
|
|
638
641
|
let n = e.length;
|
|
639
642
|
if (n === 0) return null;
|
|
640
643
|
if (t < n - 1) return e[t];
|
|
641
644
|
let r = e[n - 1], i = r.getRepeatingTypes();
|
|
642
645
|
return i && i.length !== 0 ? i[(t - (n - 1)) % i.length] : t < n ? e[t] : r.isRest() ? r : null;
|
|
643
646
|
};
|
|
644
|
-
function
|
|
647
|
+
function Ge(e) {
|
|
645
648
|
if (!e) return N.EmptyArray;
|
|
646
|
-
let
|
|
647
|
-
e && (
|
|
649
|
+
let t = N.EmptyArray, r = (e) => {
|
|
650
|
+
e && (t === N.EmptyArray && (t = []), t.includes(e) || t.push(e));
|
|
648
651
|
}, i = (e) => {
|
|
649
|
-
typeof e == "string" && r(
|
|
652
|
+
typeof e == "string" && r(n(e)?.bookId);
|
|
650
653
|
};
|
|
651
|
-
return
|
|
652
|
-
if (e.type ===
|
|
654
|
+
return d(e, (e) => {
|
|
655
|
+
if (e.type === x.Named) {
|
|
653
656
|
if (e.binding) return;
|
|
654
657
|
let t = e.value;
|
|
655
658
|
r(t.nameId), i(t.scope);
|
|
656
|
-
} else if (e.type ===
|
|
659
|
+
} else if (e.type === x.TableReference) {
|
|
657
660
|
let t = e.value;
|
|
658
661
|
r(typeof t == "string" ? t : t?.tableId);
|
|
659
|
-
} else if (e.type ===
|
|
662
|
+
} else if (e.type === x.Cell) {
|
|
660
663
|
let t = e.value?.scope;
|
|
661
|
-
i(t),
|
|
662
|
-
} else e.type ===
|
|
663
|
-
}),
|
|
664
|
+
i(t), u(t) && r(t);
|
|
665
|
+
} else e.type === x.Error && i(e.value?.scope);
|
|
666
|
+
}), t;
|
|
664
667
|
}
|
|
665
|
-
var
|
|
668
|
+
var Ke = (e, t) => {
|
|
666
669
|
if (!0 === e.lazyArg) return !0;
|
|
667
670
|
if (t?.binder?.kind !== "lambda") return !1;
|
|
668
671
|
let n = t.inputs;
|
|
669
672
|
return n[n.length - 1] === e;
|
|
670
|
-
},
|
|
673
|
+
}, qe = /* @__PURE__ */ new Set([
|
|
671
674
|
"IF",
|
|
672
675
|
"IFS",
|
|
673
676
|
"SWITCH",
|
|
674
677
|
"CHOOSE",
|
|
675
678
|
"IFERROR",
|
|
676
679
|
"IFNA"
|
|
677
|
-
]),
|
|
680
|
+
]), U = (e, t) => {
|
|
678
681
|
let n = e.length;
|
|
679
682
|
if (n === 0) return null;
|
|
680
683
|
if (t < n) return e[t];
|
|
@@ -682,78 +685,78 @@ var Ge = (e, t) => {
|
|
|
682
685
|
if (!r.isRest()) return null;
|
|
683
686
|
let i = r.getRepeatingTypes();
|
|
684
687
|
return i && i.length !== 0 ? i[(t - (n - 1)) % i.length] : r;
|
|
685
|
-
},
|
|
688
|
+
}, Je = (e) => e.getScalarType() !== null && e.getRangeType() === null && e.getLambda() === null && !e.isValueOrRange(), Ye = (e, t, n) => !(e.isRest() || !Je(e) || !G(t, n)) && !(e.isNoLift() && W(t, n)), W = (e, t) => {
|
|
686
689
|
if (!e) return !1;
|
|
687
690
|
let n = e.inputs;
|
|
688
691
|
switch (e.type) {
|
|
689
|
-
case
|
|
690
|
-
case
|
|
691
|
-
case
|
|
692
|
-
case
|
|
693
|
-
case
|
|
694
|
-
case
|
|
695
|
-
case
|
|
696
|
-
case
|
|
697
|
-
case
|
|
692
|
+
case x.Cell:
|
|
693
|
+
case x.Named:
|
|
694
|
+
case x.TableReference: return !0;
|
|
695
|
+
case x.Infix:
|
|
696
|
+
case x.Prefix:
|
|
697
|
+
case x.Postfix: return !0 === e.isReference && e.value !== "@";
|
|
698
|
+
case x.Paren:
|
|
699
|
+
case x.List: return !!n && n.length === 1 && W(n[0], t);
|
|
700
|
+
case x.Function: {
|
|
698
701
|
if (e.binder !== void 0) return !1;
|
|
699
702
|
let r = String(e.value).toUpperCase();
|
|
700
|
-
if (
|
|
703
|
+
if (qe.has(r)) {
|
|
701
704
|
if (!n) return !1;
|
|
702
|
-
for (let e = 0; e < n.length; e++) if (
|
|
705
|
+
for (let e = 0; e < n.length; e++) if (W(n[e], t)) return !0;
|
|
703
706
|
return !1;
|
|
704
707
|
}
|
|
705
708
|
let i = t?.(e.value);
|
|
706
|
-
return !!i && i.getDeclaration().getReturnType().getKind() ===
|
|
709
|
+
return !!i && i.getDeclaration().getReturnType().getKind() === j.Reference;
|
|
707
710
|
}
|
|
708
711
|
default: return !1;
|
|
709
712
|
}
|
|
710
|
-
},
|
|
713
|
+
}, Xe = (e, t) => {
|
|
711
714
|
if (!e) return !1;
|
|
712
|
-
for (let n = 0; n < e.length; n++) if (
|
|
715
|
+
for (let n = 0; n < e.length; n++) if (G(e[n], t)) return !0;
|
|
713
716
|
return !1;
|
|
714
717
|
};
|
|
715
|
-
function
|
|
718
|
+
function G(e, t) {
|
|
716
719
|
if (!e) return !1;
|
|
717
720
|
if (e.arrayValued !== void 0) return e.arrayValued;
|
|
718
721
|
let n, r = e.type, i = e.inputs;
|
|
719
722
|
switch (r) {
|
|
720
|
-
case
|
|
723
|
+
case x.Array:
|
|
721
724
|
n = !0;
|
|
722
725
|
break;
|
|
723
|
-
case
|
|
726
|
+
case x.Cell: {
|
|
724
727
|
let t = e.value;
|
|
725
728
|
n = t.rowIndex === -(2 ** 53 - 1) || t.colIndex === -(2 ** 53 - 1);
|
|
726
729
|
break;
|
|
727
730
|
}
|
|
728
|
-
case
|
|
729
|
-
case
|
|
730
|
-
case
|
|
731
|
+
case x.Named:
|
|
732
|
+
case x.Call:
|
|
733
|
+
case x.TableReference:
|
|
731
734
|
n = !0;
|
|
732
735
|
break;
|
|
733
|
-
case
|
|
734
|
-
case
|
|
735
|
-
case
|
|
736
|
-
n = e.isReference ? e.value !== "@" :
|
|
736
|
+
case x.Infix:
|
|
737
|
+
case x.Prefix:
|
|
738
|
+
case x.Postfix:
|
|
739
|
+
n = e.isReference ? e.value !== "@" : Xe(i, t);
|
|
737
740
|
break;
|
|
738
|
-
case
|
|
739
|
-
case
|
|
740
|
-
n = !i || i.length !== 1 ||
|
|
741
|
+
case x.Paren:
|
|
742
|
+
case x.List:
|
|
743
|
+
n = !i || i.length !== 1 || G(i[0], t);
|
|
741
744
|
break;
|
|
742
|
-
case
|
|
745
|
+
case x.Function: {
|
|
743
746
|
let r = e.binder;
|
|
744
747
|
if (r !== void 0) {
|
|
745
|
-
n = r.kind === "lambda" || !!i &&
|
|
748
|
+
n = r.kind === "lambda" || !!i && G(i[i.length - 1], t);
|
|
746
749
|
break;
|
|
747
750
|
}
|
|
748
751
|
let a = String(e.value).toUpperCase();
|
|
749
|
-
if (
|
|
750
|
-
n =
|
|
752
|
+
if (qe.has(a)) {
|
|
753
|
+
n = Xe(i, t);
|
|
751
754
|
break;
|
|
752
755
|
}
|
|
753
756
|
if (a === "INDEX") {
|
|
754
757
|
if (n = !1, i) for (let e = 1; e < i.length; e++) {
|
|
755
758
|
let r = i[e];
|
|
756
|
-
if (!r || r.type ===
|
|
759
|
+
if (!r || r.type === x.Empty || r.isLiteral && r.value === 0 || G(r, t)) {
|
|
757
760
|
n = !0;
|
|
758
761
|
break;
|
|
759
762
|
}
|
|
@@ -766,14 +769,14 @@ function W(e, t) {
|
|
|
766
769
|
break;
|
|
767
770
|
}
|
|
768
771
|
let s = o.getDeclaration().getReturnType(), c = s.getKind();
|
|
769
|
-
n = c ===
|
|
772
|
+
n = c === j.Array || c === j.Reference || c === null && s.getRangeType() !== null;
|
|
770
773
|
break;
|
|
771
774
|
}
|
|
772
775
|
default: n = !1;
|
|
773
776
|
}
|
|
774
777
|
return e.arrayValued = n, n;
|
|
775
778
|
}
|
|
776
|
-
function
|
|
779
|
+
function Ze(e, t) {
|
|
777
780
|
if (e.firstCell !== void 0) return;
|
|
778
781
|
let n = (e, r) => {
|
|
779
782
|
if (!e) return;
|
|
@@ -781,13 +784,13 @@ function Xe(e, t) {
|
|
|
781
784
|
let i = e.inputs;
|
|
782
785
|
if (!i) return;
|
|
783
786
|
let a = e.type;
|
|
784
|
-
if (a ===
|
|
787
|
+
if (a === x.Infix || a === x.Prefix || a === x.Postfix) {
|
|
785
788
|
let t = r && !e.isReference;
|
|
786
789
|
for (let e = 0; e < i.length; e++) n(i[e], t);
|
|
787
|
-
} else if (a ===
|
|
790
|
+
} else if (a === x.Paren || a === x.List) {
|
|
788
791
|
let e = r && i.length === 1;
|
|
789
792
|
for (let t = 0; t < i.length; t++) n(i[t], e);
|
|
790
|
-
} else if (a ===
|
|
793
|
+
} else if (a === x.Function) {
|
|
791
794
|
let a = e.binder;
|
|
792
795
|
if (a !== void 0) {
|
|
793
796
|
let e = i.length - 1;
|
|
@@ -796,42 +799,42 @@ function Xe(e, t) {
|
|
|
796
799
|
}
|
|
797
800
|
let o = r ? t?.(e.value)?.getDeclaration().getParameters() : null;
|
|
798
801
|
for (let e = 0; e < i.length; e++) {
|
|
799
|
-
let t = o ?
|
|
800
|
-
n(i[e], t !== null && (
|
|
802
|
+
let t = o ? U(o, e) : null;
|
|
803
|
+
n(i[e], t !== null && (Je(t) || tt(t)));
|
|
801
804
|
}
|
|
802
805
|
} else for (let e = 0; e < i.length; e++) n(i[e], !1);
|
|
803
806
|
};
|
|
804
807
|
n(e, !0);
|
|
805
808
|
}
|
|
806
|
-
var
|
|
809
|
+
var Qe = /* @__PURE__ */ new Set([
|
|
807
810
|
"=",
|
|
808
811
|
"<>",
|
|
809
812
|
"<",
|
|
810
813
|
">",
|
|
811
814
|
"<=",
|
|
812
815
|
">="
|
|
813
|
-
]),
|
|
814
|
-
function
|
|
815
|
-
if (!
|
|
816
|
-
let
|
|
817
|
-
if (
|
|
818
|
-
(e.hasLazyArgs || e.type ===
|
|
819
|
-
}),
|
|
820
|
-
let a = (e) => e.type ===
|
|
816
|
+
]), $e = /* @__PURE__ */ new Set(["ROW", "COLUMN"]);
|
|
817
|
+
function et(e, t) {
|
|
818
|
+
if (!e || !t) return null;
|
|
819
|
+
let n = (e) => t(e.value)?.getName().toUpperCase() ?? null, r = !1;
|
|
820
|
+
if (d(e, (e) => {
|
|
821
|
+
(e.hasLazyArgs || e.type === x.Call || e.binder !== void 0) && (r = !0);
|
|
822
|
+
}), r) return null;
|
|
823
|
+
let a = (e) => e.type === x.Number, o = (e) => e.type === x.Number || e.type === x.String || e.type === x.Boolean, s = (e) => {
|
|
821
824
|
if (!e) return !1;
|
|
822
825
|
let t = e.inputs;
|
|
823
826
|
switch (e.type) {
|
|
824
|
-
case
|
|
825
|
-
case
|
|
826
|
-
case
|
|
827
|
+
case x.Paren: return t?.length === 1 && s(t[0]);
|
|
828
|
+
case x.Prefix: return (e.value === "-" || e.value === "+") && s(t?.[0]);
|
|
829
|
+
case x.Infix: {
|
|
827
830
|
if (e.value !== "+" && e.value !== "-" && e.value !== "*") return !1;
|
|
828
831
|
let [n, r] = t ?? [];
|
|
829
832
|
return !(!n || !r) && (s(n) && (s(r) || a(r)) || a(n) && s(r));
|
|
830
833
|
}
|
|
831
|
-
case
|
|
832
|
-
let
|
|
833
|
-
if (
|
|
834
|
-
if (
|
|
834
|
+
case x.Function: {
|
|
835
|
+
let r = n(e);
|
|
836
|
+
if (r !== null && $e.has(r)) return !t || t.length === 0 || t.length === 1 && t[0]?.type === x.Cell;
|
|
837
|
+
if (r === "MOD" && t?.length === 2) {
|
|
835
838
|
let e = t[1];
|
|
836
839
|
return s(t[0]) && a(e) && e.value !== 0;
|
|
837
840
|
}
|
|
@@ -843,23 +846,23 @@ function $e(t, n) {
|
|
|
843
846
|
if (!e) return !1;
|
|
844
847
|
let t = e.inputs;
|
|
845
848
|
switch (e.type) {
|
|
846
|
-
case
|
|
847
|
-
case
|
|
848
|
-
if (!
|
|
849
|
+
case x.Paren: return t?.length === 1 && c(t[0]);
|
|
850
|
+
case x.Infix: {
|
|
851
|
+
if (!Qe.has(e.value)) return !1;
|
|
849
852
|
let [n, r] = t ?? [];
|
|
850
853
|
return !(!n || !r) && (s(n) && (s(r) || o(r)) || o(n) && s(r));
|
|
851
854
|
}
|
|
852
|
-
case
|
|
853
|
-
let
|
|
855
|
+
case x.Function: {
|
|
856
|
+
let r = n(e);
|
|
854
857
|
if (!t || t.length === 0) return !1;
|
|
855
|
-
if (
|
|
856
|
-
if (
|
|
857
|
-
if (
|
|
858
|
+
if (r === "ISODD" || r === "ISEVEN") return t.length === 1 && s(t[0]);
|
|
859
|
+
if (r === "NOT") return t.length === 1 && c(t[0]);
|
|
860
|
+
if (r === "AND" || r === "OR" || r === "XOR") {
|
|
858
861
|
let e = !1;
|
|
859
862
|
for (let n = 0; n < t.length; n++) {
|
|
860
863
|
let r = t[n];
|
|
861
864
|
if (!r) return !1;
|
|
862
|
-
if (r.type !==
|
|
865
|
+
if (r.type !== x.Boolean) {
|
|
863
866
|
if (!c(r)) return !1;
|
|
864
867
|
e = !0;
|
|
865
868
|
}
|
|
@@ -876,23 +879,23 @@ function $e(t, n) {
|
|
|
876
879
|
let t = e.inputs;
|
|
877
880
|
if (t) for (let e = 0; e < t.length; e++) u(t[e]);
|
|
878
881
|
};
|
|
879
|
-
u(
|
|
880
|
-
let
|
|
881
|
-
if (
|
|
882
|
-
let
|
|
883
|
-
for (let
|
|
884
|
-
let
|
|
885
|
-
let
|
|
886
|
-
if (
|
|
887
|
-
let a = { ...
|
|
888
|
-
return delete a.evalIndex, delete a.firstCell, delete a.inLazy, delete a.lazyArg, delete a.hasLazyArgs, delete a.deferred,
|
|
882
|
+
u(e);
|
|
883
|
+
let f = l.length;
|
|
884
|
+
if (f === 0 || f > 4) return null;
|
|
885
|
+
let p = [];
|
|
886
|
+
for (let t = 0; t < 1 << f; t++) {
|
|
887
|
+
let n = (e) => {
|
|
888
|
+
let r = l.indexOf(e);
|
|
889
|
+
if (r !== -1) return i(t & 1 << r ? "TRUE" : "FALSE");
|
|
890
|
+
let a = { ...e };
|
|
891
|
+
return delete a.evalIndex, delete a.firstCell, delete a.inLazy, delete a.lazyArg, delete a.hasLazyArgs, delete a.deferred, e.inputs && (a.inputs = e.inputs.map((e) => e && n(e))), a;
|
|
889
892
|
};
|
|
890
|
-
|
|
893
|
+
p.push(n(e));
|
|
891
894
|
}
|
|
892
|
-
return
|
|
895
|
+
return p;
|
|
893
896
|
}
|
|
894
|
-
var
|
|
895
|
-
function
|
|
897
|
+
var tt = (e) => e.getRangeType() === "*" && e.getLambda() === null && e.getArrayDepth() <= +!!e.isRest();
|
|
898
|
+
function nt(e, t, n, r = !1, i = null, a = null) {
|
|
896
899
|
let o, s, c = n;
|
|
897
900
|
c = ke(c), r || (c = Ae(c), c = Pe(c), c = je(c), c = Me(c)), [o, s] = function(e) {
|
|
898
901
|
let t = /* @__PURE__ */ new Map(), n = 0, r = [e];
|
|
@@ -907,63 +910,63 @@ function tt(e, t, n, r = !1, i = null, a = null) {
|
|
|
907
910
|
n && n.inputs && (e.inputs = n.inputs.map((e) => t.get(e) ?? e));
|
|
908
911
|
}), [t.get(e), n];
|
|
909
912
|
}(c);
|
|
910
|
-
let l =
|
|
913
|
+
let l = E(s), u = [], p = [], h = new Ee(), g, _ = !1;
|
|
911
914
|
(function(e, t) {
|
|
912
915
|
if (!e || !t) return;
|
|
913
916
|
let n = (e) => {
|
|
914
917
|
if (!e) return;
|
|
915
|
-
e.inLazy = !0, e.type ===
|
|
918
|
+
e.inLazy = !0, e.type === x.Named && (e.deferredResolve = !0);
|
|
916
919
|
let t = e.inputs;
|
|
917
920
|
if (t) for (let e = 0; e < t.length; e++) n(t[e]);
|
|
918
921
|
};
|
|
919
|
-
|
|
920
|
-
if (e.type !==
|
|
922
|
+
d(e, (e) => {
|
|
923
|
+
if (e.type !== x.Function || e.binder !== void 0) return;
|
|
921
924
|
let r = e.inputs;
|
|
922
925
|
if (!r || r.length === 0) return;
|
|
923
926
|
let i = t(e.value)?.getDeclaration().getParameters();
|
|
924
927
|
if (i) for (let t = 0; t < r.length; t++) {
|
|
925
928
|
let a = r[t];
|
|
926
|
-
a && a.type !==
|
|
929
|
+
a && a.type !== x.Empty && We(i, t)?.isLazy() && (a.lazyArg = !0, e.hasLazyArgs = !0, n(a));
|
|
927
930
|
}
|
|
928
931
|
});
|
|
929
932
|
})(o, a);
|
|
930
|
-
let
|
|
931
|
-
|
|
932
|
-
let t =
|
|
933
|
-
return t === void 0 &&
|
|
933
|
+
let v = (e) => {
|
|
934
|
+
g === void 0 && (g = /* @__PURE__ */ new Map());
|
|
935
|
+
let t = g.get(e);
|
|
936
|
+
return t === void 0 && g.set(e, t = []), t;
|
|
934
937
|
}, y = (e, t) => {
|
|
935
|
-
e === void 0 ?
|
|
938
|
+
e === void 0 ? u.push(t) : v(e).push(t);
|
|
936
939
|
}, b = (e) => {
|
|
937
|
-
e?.type !==
|
|
940
|
+
e?.type !== x.Infix || e.value !== "+" && e.value !== "-" || (e.snapsCancellation = !0);
|
|
938
941
|
};
|
|
939
|
-
o =
|
|
942
|
+
o = d(o, (t, n, r) => {
|
|
940
943
|
let i = t.type, a = t.evalIndex;
|
|
941
|
-
if (l[a] = null, i ===
|
|
942
|
-
if (
|
|
944
|
+
if (l[a] = null, i === x.TableColumn || i === x.TableSpecifier || t.isReference && B(r, x.TableReference)) return;
|
|
945
|
+
if (_ ||= !J(t), t.binding?.declaration) return p[t.binding.slot] = -1, void (l[a] = void 0);
|
|
943
946
|
let o = ((e, t, n) => {
|
|
944
|
-
if (
|
|
945
|
-
for (let e = n.length - 1; e >= 0; e--) if (
|
|
947
|
+
if (Ke(e, t)) return e;
|
|
948
|
+
for (let e = n.length - 1; e >= 0; e--) if (Ke(n[e], n[e - 1])) return n[e];
|
|
946
949
|
})(t, n, r);
|
|
947
|
-
o === t &&
|
|
950
|
+
o === t && v(t), o !== void 0 && i === x.Named && (t.deferredResolve = !0);
|
|
948
951
|
let s = t.binder;
|
|
949
952
|
if (s && s.kind === "let") {
|
|
950
953
|
let e = t.inputs, n = e?.length ?? 0, r = 0;
|
|
951
954
|
for (let t = 0; t + 1 < n && r < s.slots.length; t += 2) e[t]?.binding?.declaration && (p[s.slots[r++]] = e[t + 1]?.evalIndex ?? -1);
|
|
952
955
|
}
|
|
953
|
-
if ((t.isReference || n && n.isReference) && (
|
|
954
|
-
if (i ===
|
|
955
|
-
if (i ===
|
|
956
|
-
if (i ===
|
|
956
|
+
if ((t.isReference || n && n.isReference) && (h.processNode(t, n), t.isReference)) {
|
|
957
|
+
if (i === x.Named) return void (o !== void 0 && y(o, t));
|
|
958
|
+
if (i === x.Cell || i === x.TableReference || i === x.Error) return;
|
|
959
|
+
if (i === x.Infix || i === x.Prefix || i === x.Postfix || i === x.List) return void y(o, t);
|
|
957
960
|
}
|
|
958
961
|
if (t.isLiteral) {
|
|
959
|
-
if (i !==
|
|
962
|
+
if (i !== x.Array) l[a] = t.value;
|
|
960
963
|
else {
|
|
961
|
-
let n = t.value, r = n.length, i =
|
|
964
|
+
let n = t.value, r = n.length, i = E(r);
|
|
962
965
|
for (let e = 0; e < r; e++) {
|
|
963
|
-
let t = n[e].value, r = t.length, a =
|
|
966
|
+
let t = n[e].value, r = t.length, a = E(r);
|
|
964
967
|
for (let e = 0; e < r; e++) {
|
|
965
968
|
let n = t[e], r = null;
|
|
966
|
-
if (n && (r = n.type ===
|
|
969
|
+
if (n && (r = n.type === x.Error ? m(n.value) : n.value, n.type === x.Prefix)) {
|
|
967
970
|
let e = n.value;
|
|
968
971
|
r = n.inputs[0].value, e === "-" && (r = -r);
|
|
969
972
|
}
|
|
@@ -971,18 +974,18 @@ function tt(e, t, n, r = !1, i = null, a = null) {
|
|
|
971
974
|
}
|
|
972
975
|
i[e] = a;
|
|
973
976
|
}
|
|
974
|
-
let o =
|
|
975
|
-
l[a] = new
|
|
977
|
+
let o = ne(i);
|
|
978
|
+
l[a] = new te(e, o.values, o.coords, void 0, o.isLiteral);
|
|
976
979
|
}
|
|
977
980
|
} else {
|
|
978
|
-
if (i !==
|
|
981
|
+
if (i !== x.Empty) return t.binder?.kind === "lambda" && b(t.inputs[t.inputs.length - 1]), y(o, t), t;
|
|
979
982
|
l[a] = void 0;
|
|
980
983
|
}
|
|
981
|
-
}), b(o),
|
|
984
|
+
}), b(o), g?.forEach((e, t) => {
|
|
982
985
|
t.deferred = e;
|
|
983
986
|
});
|
|
984
|
-
let
|
|
985
|
-
|
|
987
|
+
let S = E(h.cells.size);
|
|
988
|
+
h.cells.forEach((e, t) => {
|
|
986
989
|
let n = t.value, r = n.colIndex, i = n.rowIndex, a = n.$colIndex, o = n.$rowIndex, s = {
|
|
987
990
|
colStart: r,
|
|
988
991
|
rowStart: i,
|
|
@@ -993,47 +996,47 @@ function tt(e, t, n, r = !1, i = null, a = null) {
|
|
|
993
996
|
$colEnd: a,
|
|
994
997
|
$rowEnd: o
|
|
995
998
|
};
|
|
996
|
-
r === -(2 ** 53 - 1) && (s.colEnd = 2 ** 53 - 1), i === -(2 ** 53 - 1) && (s.rowEnd = 2 ** 53 - 1), n.scope && (s.scope = n.scope),
|
|
999
|
+
r === -(2 ** 53 - 1) && (s.colEnd = 2 ** 53 - 1), i === -(2 ** 53 - 1) && (s.rowEnd = 2 ** 53 - 1), n.scope && (s.scope = n.scope), S[e] = s;
|
|
997
1000
|
});
|
|
998
|
-
let
|
|
999
|
-
for (let e = 0; e <
|
|
1001
|
+
let C = S.length, w = E(C);
|
|
1002
|
+
for (let e = 0; e < C; e++) w[e] = {
|
|
1000
1003
|
colStart: 0,
|
|
1001
1004
|
rowStart: 0,
|
|
1002
1005
|
colEnd: 0,
|
|
1003
1006
|
rowEnd: 0,
|
|
1004
1007
|
scope: null
|
|
1005
1008
|
};
|
|
1006
|
-
let
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
+
let T = E(h.references.size);
|
|
1010
|
+
h.references.forEach((e) => {
|
|
1011
|
+
T[e.index] = e;
|
|
1009
1012
|
});
|
|
1010
|
-
let
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
+
let D = [];
|
|
1014
|
+
h.rootReferences.forEach((e) => {
|
|
1015
|
+
D.push(e.index);
|
|
1013
1016
|
}), function(e, t, n = !1) {
|
|
1014
1017
|
if (n) {
|
|
1015
1018
|
let t = (e) => {
|
|
1016
1019
|
if (!e) return;
|
|
1017
1020
|
let n = e.type;
|
|
1018
|
-
n !==
|
|
1021
|
+
n !== x.Function && n !== x.Call || (e.implicitIntersect = !0);
|
|
1019
1022
|
let r = e.inputs;
|
|
1020
1023
|
if (r) for (let e = 0; e < r.length; e++) t(r[e]);
|
|
1021
1024
|
};
|
|
1022
1025
|
t(e);
|
|
1023
1026
|
return;
|
|
1024
1027
|
}
|
|
1025
|
-
let r = (e) =>
|
|
1028
|
+
let r = (e) => G(e, t), i = (e, n) => {
|
|
1026
1029
|
if (!e) return;
|
|
1027
1030
|
let a = e.type;
|
|
1028
|
-
a !==
|
|
1031
|
+
a !== x.Function && a !== x.Call || (e.implicitIntersect = n);
|
|
1029
1032
|
let o = e.inputs;
|
|
1030
1033
|
if (o) {
|
|
1031
|
-
if (a ===
|
|
1034
|
+
if (a === x.Infix || a === x.Prefix || a === x.Postfix) {
|
|
1032
1035
|
let t = !e.isReference;
|
|
1033
1036
|
for (let e = 0; e < o.length; e++) i(o[e], (!t || !r(o[e])) && n);
|
|
1034
1037
|
return;
|
|
1035
1038
|
}
|
|
1036
|
-
if (a ===
|
|
1039
|
+
if (a === x.Function) {
|
|
1037
1040
|
let r = e.binder;
|
|
1038
1041
|
if (r !== void 0) {
|
|
1039
1042
|
let e = r.kind !== "lambda" && n;
|
|
@@ -1044,8 +1047,8 @@ function tt(e, t, n, r = !1, i = null, a = null) {
|
|
|
1044
1047
|
if (a) for (let e = 0; e < o.length && !s; e++) {
|
|
1045
1048
|
let n = o[e];
|
|
1046
1049
|
if (!n) continue;
|
|
1047
|
-
let r =
|
|
1048
|
-
r &&
|
|
1050
|
+
let r = U(a, e);
|
|
1051
|
+
r && Ye(r, n, t) && (s = !0);
|
|
1049
1052
|
}
|
|
1050
1053
|
s && (e.implicitIntersect = !1);
|
|
1051
1054
|
for (let e = 0; e < o.length; e++) i(o[e], !s && n);
|
|
@@ -1056,56 +1059,57 @@ function tt(e, t, n, r = !1, i = null, a = null) {
|
|
|
1056
1059
|
};
|
|
1057
1060
|
i(e, !r(e));
|
|
1058
1061
|
}(o, a, !0 === n.legacyIntersect);
|
|
1059
|
-
let
|
|
1062
|
+
let O = (e) => {
|
|
1060
1063
|
let t = e.length;
|
|
1061
1064
|
for (let n = 0; n < t; n++) {
|
|
1062
1065
|
let t = e[n], r = t.type;
|
|
1063
|
-
if (r ===
|
|
1066
|
+
if (r === x.Infix) {
|
|
1064
1067
|
if (!0 === t.snapsCancellation) {
|
|
1065
1068
|
t.fn = Ce[t.value];
|
|
1066
1069
|
continue;
|
|
1067
1070
|
}
|
|
1068
1071
|
t.fn = Se[t.value];
|
|
1069
|
-
} else r ===
|
|
1072
|
+
} else r === x.Prefix ? t.fn = we[t.value] : r === x.Postfix && (t.fn = Te[t.value]);
|
|
1070
1073
|
}
|
|
1071
|
-
},
|
|
1072
|
-
|
|
1073
|
-
let
|
|
1074
|
+
}, k;
|
|
1075
|
+
O(u), g?.forEach(O);
|
|
1076
|
+
let A = r ? ee(re(e.getLocale()).decimal) : f, j = {
|
|
1074
1077
|
runtime: e,
|
|
1075
1078
|
symbols: t,
|
|
1076
1079
|
getFunction: a,
|
|
1077
1080
|
ast: o,
|
|
1078
1081
|
evaluations: l,
|
|
1079
|
-
executions:
|
|
1082
|
+
executions: u,
|
|
1080
1083
|
bindings: p,
|
|
1081
|
-
referencesAbsolute:
|
|
1082
|
-
referencesExecute:
|
|
1083
|
-
referencesRelative:
|
|
1084
|
-
referencesRoot:
|
|
1085
|
-
referenceIndices:
|
|
1084
|
+
referencesAbsolute: w,
|
|
1085
|
+
referencesExecute: T,
|
|
1086
|
+
referencesRelative: S,
|
|
1087
|
+
referencesRoot: D,
|
|
1088
|
+
referenceIndices: h.referenceIndices,
|
|
1086
1089
|
formatReferenceIndices: Ie(o, a),
|
|
1087
|
-
getTokens: () =>
|
|
1090
|
+
getTokens: () => k ??= V(o, r, A),
|
|
1088
1091
|
namedIds: Fe(o),
|
|
1089
|
-
symbolIds:
|
|
1090
|
-
hasTotals:
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1092
|
+
symbolIds: Ge(o),
|
|
1093
|
+
hasTotals: ze(o, a),
|
|
1094
|
+
hasPivotData: H(o, a, Re),
|
|
1095
|
+
hasDataTable: Be(o, a),
|
|
1096
|
+
hasVolatile: Ve(o, a),
|
|
1097
|
+
...Ue(o, a),
|
|
1098
|
+
isReferenceOnly: !_,
|
|
1095
1099
|
error: i,
|
|
1096
1100
|
transform: (n) => {
|
|
1097
|
-
let s =
|
|
1098
|
-
return s === o ?
|
|
1101
|
+
let s = d(o, n);
|
|
1102
|
+
return s === o ? j : nt(e, t, s, r, i, a);
|
|
1099
1103
|
}
|
|
1100
1104
|
};
|
|
1101
|
-
return
|
|
1105
|
+
return j;
|
|
1102
1106
|
}
|
|
1103
|
-
function
|
|
1107
|
+
function rt(e) {
|
|
1104
1108
|
let t = -1, n = -1;
|
|
1105
|
-
return Number.isSafeInteger(e.previousToken?.startLine) ? (t = e.previousToken.startLine, n = e.previousToken.endColumn + 1) : Number.isSafeInteger(e.token?.startLine) && (t = e.token.startLine, n = e.token.startColumn), t === -1 ? new
|
|
1109
|
+
return Number.isSafeInteger(e.previousToken?.startLine) ? (t = e.previousToken.startLine, n = e.previousToken.endColumn + 1) : Number.isSafeInteger(e.token?.startLine) && (t = e.token.startLine, n = e.token.startColumn), t === -1 ? new O.Parse(e.message, { cause: e }) : (e.errorLocation = {
|
|
1106
1110
|
line: t,
|
|
1107
1111
|
column: n
|
|
1108
|
-
}, new
|
|
1112
|
+
}, new O.Parse(e.message, {
|
|
1109
1113
|
line: t,
|
|
1110
1114
|
column: n,
|
|
1111
1115
|
cause: e
|
|
@@ -1131,28 +1135,28 @@ Object.freeze([
|
|
|
1131
1135
|
">="
|
|
1132
1136
|
]
|
|
1133
1137
|
]);
|
|
1134
|
-
var
|
|
1138
|
+
var it = Object.freeze([
|
|
1135
1139
|
":",
|
|
1136
1140
|
".:.",
|
|
1137
1141
|
".:",
|
|
1138
1142
|
":."
|
|
1139
|
-
]),
|
|
1143
|
+
]), K = Object.freeze([
|
|
1140
1144
|
":",
|
|
1141
1145
|
" ",
|
|
1142
1146
|
".:.",
|
|
1143
1147
|
".:",
|
|
1144
1148
|
":."
|
|
1145
|
-
]),
|
|
1149
|
+
]), at = Object.freeze(["@"]), q = Object.freeze(["#"]), ot = Object.freeze(K.concat(q)), J = (Object.freeze(K.concat(at).concat(q)), (e) => {
|
|
1146
1150
|
if (!e) return !1;
|
|
1147
1151
|
let t = e.type;
|
|
1148
|
-
if (t ===
|
|
1149
|
-
if (t ===
|
|
1150
|
-
if (!
|
|
1152
|
+
if (t === x.Cell || t === x.TableReference) return !0;
|
|
1153
|
+
if (t === x.Infix) {
|
|
1154
|
+
if (!K.includes(e.value)) return !1;
|
|
1151
1155
|
let t = e.inputs, n = t[0], r = t[1];
|
|
1152
|
-
return
|
|
1156
|
+
return J(n) && J(r);
|
|
1153
1157
|
}
|
|
1154
|
-
return t ===
|
|
1155
|
-
}),
|
|
1158
|
+
return t === x.List && (e.inputs?.every(J) ?? !1);
|
|
1159
|
+
}), st = (e) => !!e && (!(e.type !== x.Infix || !ot.includes(e.value)) || !(e.type !== x.Postfix || !q.includes(e.value)) || e.type === x.Array || e.type === x.TableReference), ct = Object.freeze([
|
|
1156
1160
|
"+",
|
|
1157
1161
|
"-",
|
|
1158
1162
|
"*",
|
|
@@ -1165,18 +1169,18 @@ var rt = Object.freeze([
|
|
|
1165
1169
|
"<",
|
|
1166
1170
|
">=",
|
|
1167
1171
|
"<="
|
|
1168
|
-
]),
|
|
1172
|
+
]), lt = Object.freeze(["-", "+"]), Y = (e, t) => {
|
|
1169
1173
|
if (!e) return !1;
|
|
1170
1174
|
let n = e.type;
|
|
1171
|
-
if (e.isLiteral) return n !==
|
|
1172
|
-
if (n ===
|
|
1175
|
+
if (e.isLiteral) return n !== x.Error;
|
|
1176
|
+
if (n === x.Paren || n === x.List) {
|
|
1173
1177
|
let n = e.inputs;
|
|
1174
|
-
return !(!n || n.length === 0) && n.every((e) =>
|
|
1178
|
+
return !(!n || n.length === 0) && n.every((e) => Y(e, t));
|
|
1175
1179
|
}
|
|
1176
|
-
if (n ===
|
|
1177
|
-
if (n ===
|
|
1178
|
-
if (n ===
|
|
1179
|
-
if (n ===
|
|
1180
|
+
if (n === x.Infix) return ct.includes(e.value);
|
|
1181
|
+
if (n === x.Prefix) return lt.includes(e.value);
|
|
1182
|
+
if (n === x.Postfix) return e.value === "%";
|
|
1183
|
+
if (n === x.Function) {
|
|
1180
1184
|
if (!t) return !1;
|
|
1181
1185
|
let n = t(e.value);
|
|
1182
1186
|
if (!n) return !1;
|
|
@@ -1184,35 +1188,35 @@ var rt = Object.freeze([
|
|
|
1184
1188
|
return i !== "p" && (i !== null || r.getLambda() === null && r.getScalarType() != null);
|
|
1185
1189
|
}
|
|
1186
1190
|
return !1;
|
|
1187
|
-
},
|
|
1191
|
+
}, ut = (e, t) => {
|
|
1188
1192
|
if (!e) return null;
|
|
1189
1193
|
let n = null, r = (e) => {
|
|
1190
1194
|
if (n || !e) return;
|
|
1191
|
-
if (e.type ===
|
|
1195
|
+
if (e.type === x.Infix && e.value === " ") {
|
|
1192
1196
|
let r = e.inputs, i = r?.[0], a = r?.[1];
|
|
1193
|
-
if (
|
|
1194
|
-
if (
|
|
1197
|
+
if (Y(i, t)) return void (n = i);
|
|
1198
|
+
if (Y(a, t)) return void (n = a);
|
|
1195
1199
|
}
|
|
1196
1200
|
let i = e.inputs;
|
|
1197
1201
|
if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
|
|
1198
1202
|
};
|
|
1199
1203
|
return r(e), n;
|
|
1200
|
-
},
|
|
1204
|
+
}, dt = (e, t) => {
|
|
1201
1205
|
if (!e) return null;
|
|
1202
1206
|
let n = null, r = (e) => {
|
|
1203
1207
|
if (n || !e) return;
|
|
1204
|
-
if (e.type ===
|
|
1208
|
+
if (e.type === x.Postfix && e.value === "#") {
|
|
1205
1209
|
let r = e.inputs?.[0];
|
|
1206
|
-
if (r &&
|
|
1210
|
+
if (r && Y(r, t)) return void (n = r);
|
|
1207
1211
|
}
|
|
1208
1212
|
let i = e.inputs;
|
|
1209
1213
|
if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
|
|
1210
1214
|
};
|
|
1211
1215
|
return r(e), n;
|
|
1212
|
-
},
|
|
1216
|
+
}, ft = (e) => {
|
|
1213
1217
|
for (let t = 0; t < e.length; t++) if (e[t].getRepeatingTypes()) return t;
|
|
1214
1218
|
return -1;
|
|
1215
|
-
},
|
|
1219
|
+
}, pt = (e, t, n) => {
|
|
1216
1220
|
let r = e[t].getRepeatingTypes(), i = r.length, a = t, o = e.length - t - 1, s = o;
|
|
1217
1221
|
for (; s > 0 && e[t + s].isOptional();) s--;
|
|
1218
1222
|
let c = +!e[t].isOptional(), l = r[i - 1].isOptional();
|
|
@@ -1236,11 +1240,11 @@ var rt = Object.freeze([
|
|
|
1236
1240
|
};
|
|
1237
1241
|
}
|
|
1238
1242
|
return null;
|
|
1239
|
-
},
|
|
1243
|
+
}, mt = (e) => {
|
|
1240
1244
|
if (!e) return null;
|
|
1241
1245
|
let t = null, n = (e) => {
|
|
1242
1246
|
if (t || !e) return;
|
|
1243
|
-
if (e.type ===
|
|
1247
|
+
if (e.type === x.Array && Array.isArray(e.value)) {
|
|
1244
1248
|
let n = e.value, r = n[0]?.value?.length ?? 0;
|
|
1245
1249
|
for (let e = 1; e < n.length && !t; e++) {
|
|
1246
1250
|
let i = n[e]?.value?.length ?? 0;
|
|
@@ -1251,18 +1255,18 @@ var rt = Object.freeze([
|
|
|
1251
1255
|
if (r) for (let e = 0; e < r.length && !t; e++) n(r[e]);
|
|
1252
1256
|
};
|
|
1253
1257
|
return n(e), t;
|
|
1254
|
-
},
|
|
1258
|
+
}, ht = (e, t) => {
|
|
1255
1259
|
if (!e || !t) return null;
|
|
1256
1260
|
let n = null, r = (e) => {
|
|
1257
1261
|
if (n || !e) return;
|
|
1258
|
-
if (e.type ===
|
|
1262
|
+
if (e.type === x.Function) {
|
|
1259
1263
|
let r = e.value, i = t(r);
|
|
1260
1264
|
if (i) {
|
|
1261
1265
|
let t = i.getDeclaration(), a = t.getParameters(), o = e.inputs?.length ?? 0, s = t.getMaxArguments();
|
|
1262
1266
|
if (o > s) return void (n = `Too many arguments for ${r}. The most it accepts is ${s}, but got ${o}.`);
|
|
1263
|
-
let c = a.length > 0 ?
|
|
1267
|
+
let c = a.length > 0 ? ft(a) : -1, l = a.length > 0 && a[a.length - 1].isRest();
|
|
1264
1268
|
if (c >= 0) {
|
|
1265
|
-
if (!
|
|
1269
|
+
if (!pt(a, c, o)) {
|
|
1266
1270
|
let e = a[c].getRepeatingTypes().length, t = a.length - 1;
|
|
1267
1271
|
n = e === 1 ? `Too few arguments for ${r}. Expected at least ${t + 1}, but got ${o}.` : `Wrong number of arguments for ${r}. Expected ${t} plus a multiple of ${e}, but got ${o}.`;
|
|
1268
1272
|
}
|
|
@@ -1277,23 +1281,23 @@ var rt = Object.freeze([
|
|
|
1277
1281
|
if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
|
|
1278
1282
|
};
|
|
1279
1283
|
return r(e), n;
|
|
1280
|
-
},
|
|
1284
|
+
}, gt = (e, t) => {
|
|
1281
1285
|
if (!e || !t) return null;
|
|
1282
1286
|
let n = null, r = (e) => {
|
|
1283
1287
|
if (n || !e) return;
|
|
1284
|
-
if (e.type ===
|
|
1288
|
+
if (e.type === x.Function) {
|
|
1285
1289
|
let r = t(e.value);
|
|
1286
1290
|
if (r) {
|
|
1287
1291
|
let i = r.getDeclaration().getParameters(), a = e.inputs;
|
|
1288
1292
|
if (i.length > 0 && a) {
|
|
1289
1293
|
let e = ((e, t) => {
|
|
1290
|
-
let n = Array(t), r = e.length, i = r > 0 ?
|
|
1294
|
+
let n = Array(t), r = e.length, i = r > 0 ? ft(e) : -1;
|
|
1291
1295
|
if (i < 0) {
|
|
1292
1296
|
let i = r > 0 ? e[r - 1] : null, a = !!i && i.isRest();
|
|
1293
1297
|
for (let o = 0; o < t; o++) n[o] = o < r ? e[o] : a ? i : null;
|
|
1294
1298
|
return n;
|
|
1295
1299
|
}
|
|
1296
|
-
let a = e[i].getRepeatingTypes(), o = a.length, s = i, c =
|
|
1300
|
+
let a = e[i].getRepeatingTypes(), o = a.length, s = i, c = pt(e, i, t), l = c ? c.suffix : r - i - 1, u = Math.max(0, t - s - l);
|
|
1297
1301
|
for (let c = 0; c < t; c++) if (c < s) n[c] = e[c];
|
|
1298
1302
|
else if (c < s + u) n[c] = a[(c - s) % o];
|
|
1299
1303
|
else {
|
|
@@ -1304,7 +1308,7 @@ var rt = Object.freeze([
|
|
|
1304
1308
|
})(i, a.length);
|
|
1305
1309
|
for (let r = 0; r < a.length && !n; r++) {
|
|
1306
1310
|
let i = e[r];
|
|
1307
|
-
i && i.getRangeType() === "p" &&
|
|
1311
|
+
i && i.getRangeType() === "p" && Y(a[r], t) && (n = a[r]);
|
|
1308
1312
|
}
|
|
1309
1313
|
}
|
|
1310
1314
|
}
|
|
@@ -1313,39 +1317,39 @@ var rt = Object.freeze([
|
|
|
1313
1317
|
if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
|
|
1314
1318
|
};
|
|
1315
1319
|
return r(e), n;
|
|
1316
|
-
},
|
|
1320
|
+
}, _t = (e, t) => {
|
|
1317
1321
|
if (!e) return null;
|
|
1318
1322
|
let n = null, r = (e) => {
|
|
1319
1323
|
if (n || !e) return;
|
|
1320
|
-
if (e.type ===
|
|
1324
|
+
if (e.type === x.Call) {
|
|
1321
1325
|
let r = e.inputs?.[0];
|
|
1322
|
-
if (r &&
|
|
1326
|
+
if (r && Y(r, t)) return void (n = "This expression always produces a value, so it cannot be called as a function.");
|
|
1323
1327
|
}
|
|
1324
1328
|
let i = e.inputs;
|
|
1325
1329
|
if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
|
|
1326
1330
|
};
|
|
1327
1331
|
return r(e), n;
|
|
1328
|
-
},
|
|
1329
|
-
if (e.type !==
|
|
1332
|
+
}, X = (e, t) => {
|
|
1333
|
+
if (e.type !== x.Function) return;
|
|
1330
1334
|
let n = e.value;
|
|
1331
1335
|
if (typeof n != "string") return;
|
|
1332
1336
|
let r = (t?.(n)?.getName() ?? n).toUpperCase();
|
|
1333
1337
|
return r === "LET" ? "let" : r === "LAMBDA" ? "lambda" : void 0;
|
|
1334
|
-
},
|
|
1335
|
-
if (e?.type !==
|
|
1338
|
+
}, Z = (e) => {
|
|
1339
|
+
if (e?.type !== x.Named) return;
|
|
1336
1340
|
let t = e.value;
|
|
1337
1341
|
return t?.nameId && !t.scope && !0 !== t.optional ? t.nameId : void 0;
|
|
1338
|
-
},
|
|
1339
|
-
if (e?.type ===
|
|
1342
|
+
}, vt = /^[A-Za-z_\\][A-Za-z0-9_\\]*$/, yt = /* @__PURE__ */ new Set(["TRUE", "FALSE"]), bt = (e) => {
|
|
1343
|
+
if (e?.type === x.Named) {
|
|
1340
1344
|
let t = e.value;
|
|
1341
1345
|
return !0 !== t?.optional || !t.nameId || t.scope ? void 0 : t.nameId;
|
|
1342
1346
|
}
|
|
1343
|
-
if (e?.type !==
|
|
1347
|
+
if (e?.type !== x.TableReference) return;
|
|
1344
1348
|
let t = e.value, n;
|
|
1345
1349
|
if (t === null || typeof t == "string") {
|
|
1346
1350
|
if (t) return;
|
|
1347
1351
|
let r = e.inputs;
|
|
1348
|
-
if (!r || r.length !== 1 || r[0]?.type !==
|
|
1352
|
+
if (!r || r.length !== 1 || r[0]?.type !== x.TableColumn) return;
|
|
1349
1353
|
let i = r[0].value;
|
|
1350
1354
|
if (typeof i != "string") return;
|
|
1351
1355
|
n = i;
|
|
@@ -1354,29 +1358,29 @@ var rt = Object.freeze([
|
|
|
1354
1358
|
if (!e || e.tableId !== "" || e.spec !== 0 || !0 === e.isThisRow || !e.columnFromId || e.columnFromId !== e.columnToId) return;
|
|
1355
1359
|
n = e.columnFromId;
|
|
1356
1360
|
}
|
|
1357
|
-
return
|
|
1358
|
-
},
|
|
1359
|
-
let t =
|
|
1361
|
+
return vt.test(n) && !yt.has(n.toUpperCase()) && e.image === `[${n}]` ? n : void 0;
|
|
1362
|
+
}, xt = (e) => {
|
|
1363
|
+
let t = c(e.image ?? e.value);
|
|
1360
1364
|
t.image = e.image ?? e.value, t.wsBefore = e.wsBefore;
|
|
1361
1365
|
let n = {
|
|
1362
|
-
type:
|
|
1366
|
+
type: x.Call,
|
|
1363
1367
|
value: null,
|
|
1364
1368
|
inputs: [t, ...e.inputs ?? []],
|
|
1365
1369
|
wsAfter: e.wsAfter
|
|
1366
1370
|
};
|
|
1367
1371
|
return e.error && (n.error = e.error), n;
|
|
1368
1372
|
};
|
|
1369
|
-
function
|
|
1370
|
-
return e && t ?
|
|
1371
|
-
if (e.type ===
|
|
1373
|
+
function St(e, t) {
|
|
1374
|
+
return e && t ? d(e, (e) => {
|
|
1375
|
+
if (e.type === x.Function && typeof e.value == "string" && !t(e.value)) return xt(e);
|
|
1372
1376
|
}) : e;
|
|
1373
1377
|
}
|
|
1374
|
-
function
|
|
1378
|
+
function Ct(e, t) {
|
|
1375
1379
|
let n = t.name.toUpperCase(), r = e ? e.filter((e) => e.name.toUpperCase() !== n) : [];
|
|
1376
1380
|
return r.push(t), r;
|
|
1377
1381
|
}
|
|
1378
|
-
function
|
|
1379
|
-
if (e?.type !==
|
|
1382
|
+
function wt(e) {
|
|
1383
|
+
if (e?.type !== x.Function || e.binder?.kind !== "lambda") return;
|
|
1380
1384
|
let t = e.inputs ?? [], n = [];
|
|
1381
1385
|
for (let e = 0; e < t.length - 1; e++) {
|
|
1382
1386
|
let r = t[e];
|
|
@@ -1389,15 +1393,15 @@ function St(e) {
|
|
|
1389
1393
|
}
|
|
1390
1394
|
return n;
|
|
1391
1395
|
}
|
|
1392
|
-
var
|
|
1396
|
+
var Tt = /* @__PURE__ */ new Set([
|
|
1393
1397
|
"IF",
|
|
1394
1398
|
"IFERROR",
|
|
1395
1399
|
"IFNA"
|
|
1396
1400
|
]);
|
|
1397
1401
|
function Q(e, t) {
|
|
1398
|
-
if (!e || e.type !==
|
|
1402
|
+
if (!e || e.type !== x.Function || typeof e.value != "string") return e;
|
|
1399
1403
|
let n = (t?.(e.value)?.getName() ?? e.value).toUpperCase();
|
|
1400
|
-
if (!
|
|
1404
|
+
if (!Tt.has(n)) return e;
|
|
1401
1405
|
let r = e.inputs, i;
|
|
1402
1406
|
if (r) for (let e = 0; e < r.length; e++) {
|
|
1403
1407
|
let n = Q(r[e], t);
|
|
@@ -1409,7 +1413,7 @@ function Q(e, t) {
|
|
|
1409
1413
|
passOmitted: !0
|
|
1410
1414
|
};
|
|
1411
1415
|
}
|
|
1412
|
-
function
|
|
1416
|
+
function Et(e, t = null) {
|
|
1413
1417
|
if (!e) return e;
|
|
1414
1418
|
let n = [], r = 0, i = (e) => {
|
|
1415
1419
|
let t = e.inputs;
|
|
@@ -1427,14 +1431,14 @@ function wt(e, t = null) {
|
|
|
1427
1431
|
} : e;
|
|
1428
1432
|
}, a = (e) => {
|
|
1429
1433
|
if (!e) return e;
|
|
1430
|
-
let o =
|
|
1434
|
+
let o = X(e, t);
|
|
1431
1435
|
if (o) return ((e, o) => {
|
|
1432
1436
|
let s = e.inputs, c = s?.length ?? 0;
|
|
1433
1437
|
if (!s || c < 1) return i(e);
|
|
1434
1438
|
let l = n.length, u = [], d = [...s], f = (e, t = !1) => {
|
|
1435
|
-
let i = d[e], a =
|
|
1439
|
+
let i = d[e], a = Z(i), o = !1;
|
|
1436
1440
|
if (a === void 0 && t) {
|
|
1437
|
-
if (a =
|
|
1441
|
+
if (a = bt(i), a === void 0) return;
|
|
1438
1442
|
o = !0;
|
|
1439
1443
|
} else if (a === void 0) return;
|
|
1440
1444
|
let s = r++;
|
|
@@ -1444,7 +1448,7 @@ function wt(e, t = null) {
|
|
|
1444
1448
|
name: a
|
|
1445
1449
|
}), u.push(s), d[e] = o ? {
|
|
1446
1450
|
...i,
|
|
1447
|
-
type:
|
|
1451
|
+
type: x.Named,
|
|
1448
1452
|
value: {
|
|
1449
1453
|
nameId: a,
|
|
1450
1454
|
scope: null
|
|
@@ -1482,22 +1486,22 @@ function wt(e, t = null) {
|
|
|
1482
1486
|
}
|
|
1483
1487
|
};
|
|
1484
1488
|
})(e, o);
|
|
1485
|
-
if (e.type ===
|
|
1489
|
+
if (e.type === x.Function && typeof e.value == "string") {
|
|
1486
1490
|
let r = e.value.toUpperCase();
|
|
1487
|
-
if (n.some((e) => e.key === r) && !t?.(e.value)) return i(
|
|
1491
|
+
if (n.some((e) => e.key === r) && !t?.(e.value)) return i(xt(e));
|
|
1488
1492
|
}
|
|
1489
1493
|
if (n.length > 0 && e.isReference && e.value === ":" && e.inputs?.length === 2) {
|
|
1490
1494
|
let [t, r] = e.inputs;
|
|
1491
|
-
if (
|
|
1495
|
+
if (Dt(t) && Dt(r)) {
|
|
1492
1496
|
let a = t.image.toUpperCase(), o = r.image.toUpperCase();
|
|
1493
1497
|
if (n.some((e) => e.key === a || e.key === o)) return i({
|
|
1494
1498
|
...e,
|
|
1495
|
-
inputs: [
|
|
1499
|
+
inputs: [Ot(t), Ot(r)]
|
|
1496
1500
|
});
|
|
1497
1501
|
}
|
|
1498
1502
|
}
|
|
1499
|
-
if (e.type ===
|
|
1500
|
-
let t =
|
|
1503
|
+
if (e.type === x.Named) {
|
|
1504
|
+
let t = Z(e);
|
|
1501
1505
|
if (t !== void 0) {
|
|
1502
1506
|
let r = t.toUpperCase();
|
|
1503
1507
|
for (let i = n.length - 1; i >= 0; i--) {
|
|
@@ -1516,7 +1520,7 @@ function wt(e, t = null) {
|
|
|
1516
1520
|
return e;
|
|
1517
1521
|
}
|
|
1518
1522
|
let s = i(e);
|
|
1519
|
-
if (s.type ===
|
|
1523
|
+
if (s.type === x.Function && typeof s.value == "string" && (t?.(s.value)?.getName() ?? s.value).toUpperCase() === "ISOMITTED") {
|
|
1520
1524
|
let e = s.inputs;
|
|
1521
1525
|
if (e) {
|
|
1522
1526
|
let n;
|
|
@@ -1542,50 +1546,50 @@ function wt(e, t = null) {
|
|
|
1542
1546
|
};
|
|
1543
1547
|
return a(e);
|
|
1544
1548
|
}
|
|
1545
|
-
var
|
|
1546
|
-
if (e?.type !==
|
|
1549
|
+
var Dt = (e) => {
|
|
1550
|
+
if (e?.type !== x.Cell || e.image === void 0) return !1;
|
|
1547
1551
|
let t = e.value;
|
|
1548
1552
|
return t.rowIndex === -(2 ** 53 - 1) && !0 !== t.$colIndex && !t.scope;
|
|
1549
|
-
},
|
|
1550
|
-
let t =
|
|
1551
|
-
return
|
|
1552
|
-
},
|
|
1553
|
+
}, Ot = (e) => {
|
|
1554
|
+
let t = c(e.image);
|
|
1555
|
+
return v(t, e), t;
|
|
1556
|
+
}, kt = (e) => e?.type === x.Cell, At = (e, t = null) => {
|
|
1553
1557
|
if (!e) return e;
|
|
1554
1558
|
let n = !1, r = (e) => {
|
|
1555
1559
|
if (n || !e) return;
|
|
1556
|
-
let i =
|
|
1560
|
+
let i = X(e, t), a = e.inputs;
|
|
1557
1561
|
if (i && a) {
|
|
1558
1562
|
let e = i === "let" ? 2 : 1;
|
|
1559
|
-
for (let t = 0; t < a.length - 1; t += e) if (
|
|
1563
|
+
for (let t = 0; t < a.length - 1; t += e) if (kt(a[t])) return void (n = !0);
|
|
1560
1564
|
}
|
|
1561
1565
|
if (a) for (let e = 0; e < a.length && !n; e++) r(a[e]);
|
|
1562
1566
|
};
|
|
1563
1567
|
if (r(e), !n) return e;
|
|
1564
|
-
let i = null, a =
|
|
1565
|
-
if (e?.type !==
|
|
1568
|
+
let i = null, a = d(e, (e) => {
|
|
1569
|
+
if (e?.type !== x.Cell) return;
|
|
1566
1570
|
let t = e.value, n = e.image;
|
|
1567
1571
|
if (!0 === t?.$colIndex || !0 === t?.$rowIndex) return void (i ??= `'${n ?? "a reference"}' cannot be absolute here. A LET/LAMBDA name that is a cell reference makes every reference in the formula a name, and a name cannot contain '$'.`);
|
|
1568
1572
|
if (n === void 0) return;
|
|
1569
|
-
let r =
|
|
1570
|
-
|
|
1573
|
+
let r = c(n);
|
|
1574
|
+
v(r, e);
|
|
1571
1575
|
let a = t?.scope;
|
|
1572
1576
|
return a && (r.value.scope = a, r.value.scopeImage = t.scopeImage), r;
|
|
1573
1577
|
});
|
|
1574
1578
|
return i ?? a;
|
|
1575
|
-
},
|
|
1579
|
+
}, jt = (e, t) => {
|
|
1576
1580
|
if (!e) return null;
|
|
1577
1581
|
let n = null, r = (e) => {
|
|
1578
1582
|
if (n || !e) return;
|
|
1579
|
-
let i =
|
|
1583
|
+
let i = X(e, t);
|
|
1580
1584
|
i && ((e, t) => {
|
|
1581
1585
|
let r = t === "let" ? "LET" : "LAMBDA", i = e.inputs, a = i?.length ?? 0;
|
|
1582
1586
|
if (!i || a < 2) return;
|
|
1583
1587
|
if (t === "let" && a % 2 == 0) return void (n = `Wrong number of arguments for LET. Expected name/value pairs followed by a calculation, but got ${a}.`);
|
|
1584
|
-
if (t === "lambda" && i[a - 1]?.type ===
|
|
1588
|
+
if (t === "lambda" && i[a - 1]?.type === x.Empty) return void (n = "LAMBDA has no calculation: the last argument is empty.");
|
|
1585
1589
|
let o = /* @__PURE__ */ new Set(), s = t === "let" ? 2 : 1, c = !1;
|
|
1586
1590
|
for (let e = 0; e < a - 1; e += s) {
|
|
1587
|
-
let a =
|
|
1588
|
-
if (a === void 0 && t === "lambda") a =
|
|
1591
|
+
let a = Z(i[e]);
|
|
1592
|
+
if (a === void 0 && t === "lambda") a = bt(i[e]), a !== void 0 && (c = !0);
|
|
1589
1593
|
else if (a !== void 0 && c) return void (n = `Required name '${a}' cannot follow an optional name in ${r}.`);
|
|
1590
1594
|
if (a === void 0) return void (n = `Expected a name in ${r} argument ${e + 1}; a name cannot be the output of a formula.`);
|
|
1591
1595
|
if (a.includes(".")) return void (n = `Expected a name in ${r} argument ${e + 1}; a name cannot contain '.'.`);
|
|
@@ -1599,65 +1603,65 @@ var Tt = (e) => {
|
|
|
1599
1603
|
};
|
|
1600
1604
|
return r(e), n;
|
|
1601
1605
|
};
|
|
1602
|
-
function
|
|
1603
|
-
let a = r,
|
|
1606
|
+
function Mt(e, t, n, r, i) {
|
|
1607
|
+
let a = r, o, c = () => (o === void 0 && (o = i && n ? t.bind(y.Table, "", { at: {
|
|
1604
1608
|
scope: n,
|
|
1605
1609
|
rowIndex: i.rowIndex,
|
|
1606
1610
|
colIndex: i.colIndex
|
|
1607
|
-
} }) : null),
|
|
1608
|
-
return
|
|
1609
|
-
let
|
|
1610
|
-
if (l ===
|
|
1611
|
+
} }) : null), o);
|
|
1612
|
+
return d(e, (e, r, i = []) => {
|
|
1613
|
+
let o, l = e.type;
|
|
1614
|
+
if (l === x.Cell) {
|
|
1611
1615
|
let n = e.value;
|
|
1612
1616
|
if (n?.scope) {
|
|
1613
|
-
let r = t.bind(
|
|
1614
|
-
r !== null && (
|
|
1617
|
+
let r = t.bind(y.Sheet, n.scope, a);
|
|
1618
|
+
r !== null && (o ||= { ...e }, o.value = {
|
|
1615
1619
|
...n,
|
|
1616
1620
|
scope: r
|
|
1617
1621
|
});
|
|
1618
1622
|
}
|
|
1619
|
-
} else if (l ===
|
|
1623
|
+
} else if (l === x.Named) {
|
|
1620
1624
|
let r = e.value;
|
|
1621
1625
|
if (r && !e.binding) {
|
|
1622
1626
|
let i = function(e, t, n, r) {
|
|
1623
1627
|
if (t.scope) {
|
|
1624
|
-
let e = n.bind(
|
|
1625
|
-
if (e === null ||
|
|
1628
|
+
let e = n.bind(y.Sheet, t.scope, r);
|
|
1629
|
+
if (e === null || s(e)) return;
|
|
1626
1630
|
}
|
|
1627
|
-
let i = n.bind(
|
|
1631
|
+
let i = n.bind(y.Table, t.nameId, { existing: !0 });
|
|
1628
1632
|
if (i === null) return;
|
|
1629
1633
|
let a = {
|
|
1630
|
-
type:
|
|
1634
|
+
type: x.TableReference,
|
|
1631
1635
|
value: i,
|
|
1632
1636
|
inputs: null,
|
|
1633
1637
|
isReference: !0
|
|
1634
1638
|
};
|
|
1635
|
-
|
|
1636
|
-
let
|
|
1637
|
-
return typeof
|
|
1639
|
+
v(a, e);
|
|
1640
|
+
let o = t.scopeImage;
|
|
1641
|
+
return typeof o == "string" && e.image !== void 0 && (a.image = o + e.image), a;
|
|
1638
1642
|
}(e, r, t, a);
|
|
1639
1643
|
if (i) return i;
|
|
1640
|
-
let c = r.scope ? t.bind(
|
|
1641
|
-
u === null && c === null || (
|
|
1644
|
+
let c = r.scope ? t.bind(y.Sheet, r.scope, a) : null, l = (c === null ? r.scope : s(c) ? c : t.resolve(y.Sheet, c)?.toString() ?? r.scope) ?? n, u = t.bind(y.NamedFormula, r.nameId, l ? { scope: l } : void 0);
|
|
1645
|
+
u === null && c === null || (o ||= { ...e }, o.value = {
|
|
1642
1646
|
...r,
|
|
1643
1647
|
nameId: u ?? r.nameId,
|
|
1644
1648
|
...c === null ? void 0 : { scope: c }
|
|
1645
1649
|
});
|
|
1646
1650
|
}
|
|
1647
|
-
} else if (l ===
|
|
1651
|
+
} else if (l === x.Error) {
|
|
1648
1652
|
let n = e.value;
|
|
1649
1653
|
if (n?.scope) {
|
|
1650
|
-
let r = t.bind(
|
|
1651
|
-
r !== null && (
|
|
1654
|
+
let r = t.bind(y.Sheet, n.scope, a);
|
|
1655
|
+
r !== null && (o ||= { ...e }, o.value = {
|
|
1652
1656
|
...n,
|
|
1653
1657
|
scope: r
|
|
1654
1658
|
});
|
|
1655
1659
|
}
|
|
1656
|
-
} else if (l ===
|
|
1660
|
+
} else if (l === x.TableReference) {
|
|
1657
1661
|
let n = e.value;
|
|
1658
1662
|
if (n) {
|
|
1659
|
-
let r = t.bind(
|
|
1660
|
-
|
|
1663
|
+
let r = t.bind(y.Table, n);
|
|
1664
|
+
o ||= { ...e }, r !== null && (o.value = r);
|
|
1661
1665
|
} else if (typeof n == "string") {
|
|
1662
1666
|
let n = c();
|
|
1663
1667
|
if (n !== null && $(e, t)) return {
|
|
@@ -1665,39 +1669,39 @@ function At(e, t, n, r, i) {
|
|
|
1665
1669
|
value: n
|
|
1666
1670
|
};
|
|
1667
1671
|
}
|
|
1668
|
-
} else if (l ===
|
|
1672
|
+
} else if (l === x.TableColumn) {
|
|
1669
1673
|
let n = e.value;
|
|
1670
1674
|
if (n) {
|
|
1671
|
-
let r = B(i,
|
|
1672
|
-
|
|
1675
|
+
let r = B(i, x.TableReference), a = r?.value || (r ? c() ?? void 0 : void 0), s = t.bind(y.TableColumn, n, a ? { tableName: a } : void 0);
|
|
1676
|
+
o ||= { ...e }, s !== null && (o.value = s);
|
|
1673
1677
|
}
|
|
1674
|
-
} else if (l ===
|
|
1678
|
+
} else if (l === x.Function) {
|
|
1675
1679
|
let n = e.value;
|
|
1676
1680
|
if (n) {
|
|
1677
|
-
let r = t.bind(
|
|
1678
|
-
|
|
1681
|
+
let r = t.bind(y.Function, n);
|
|
1682
|
+
o ||= { ...e }, r !== null && (o.value = r);
|
|
1679
1683
|
}
|
|
1680
1684
|
}
|
|
1681
|
-
return
|
|
1685
|
+
return o;
|
|
1682
1686
|
});
|
|
1683
1687
|
}
|
|
1684
1688
|
function $(e, t) {
|
|
1685
1689
|
let n = !0, r = e.inputs;
|
|
1686
1690
|
if (!r) return !0;
|
|
1687
|
-
for (let e = 0; e < r.length && n; e++)
|
|
1688
|
-
e.type ===
|
|
1691
|
+
for (let e = 0; e < r.length && n; e++) d(r[e], (e) => {
|
|
1692
|
+
e.type === x.TableColumn && t.resolve(y.TableColumn, e.value) === null && (n = !1);
|
|
1689
1693
|
});
|
|
1690
1694
|
return n;
|
|
1691
1695
|
}
|
|
1692
|
-
function
|
|
1696
|
+
function Nt(e, t) {
|
|
1693
1697
|
let n = null;
|
|
1694
|
-
return
|
|
1695
|
-
if (n || e.type !==
|
|
1698
|
+
return d(e, (e) => {
|
|
1699
|
+
if (n || e.type !== x.TableReference) return;
|
|
1696
1700
|
if (e.value === "") return void (n = "A structured reference without a table name must be in a table that has its columns.");
|
|
1697
1701
|
let r = e.value;
|
|
1698
1702
|
if (!t || typeof r != "string") return;
|
|
1699
|
-
let i = t.resolve(
|
|
1700
|
-
t.bind(
|
|
1703
|
+
let i = t.resolve(y.Table, r)?.toString() ?? r;
|
|
1704
|
+
t.bind(y.Table, i, { existing: !0 }) === null ? n = `There is no table named '${i}'.` : $(e, t) || (n = "The table has no such column.");
|
|
1701
1705
|
}), n;
|
|
1702
1706
|
}
|
|
1703
|
-
export { we as A, Pe as C, De as D,
|
|
1707
|
+
export { we as A, Pe as C, De as D, St as E, Se as O, it as S, Ae as T, st as _, nt as a, et as b, _t as c, ut as d, Nt as f, Oe as g, V as h, je as i, Ce as j, Te as k, mt as l, rt as m, Ct as n, ht as o, gt as p, Et as r, jt as s, Ze as t, dt as u, Mt as v, At as w, Me as x, ke as y };
|