@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/browser/esm/{CYyv6uGjo10ig5FP.mjs → -Jx-jNHmtIQQfLvK.mjs} +1 -1
- package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → 2WuhYrIpYmOR5H73.mjs} +110 -261
- package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → 2mIwPy2D2JUX-9wx.mjs} +2 -2
- package/browser/esm/B3wf5vZCsWfWsDbj.mjs +12 -0
- package/browser/esm/{BzLfNyc6OOShIErH.mjs → BIHrHjRGWVlJglcp.mjs} +2 -2
- package/browser/esm/{C9B0djuUarfNdoj0.mjs → BTFBedJMRWGvZyCE.mjs} +1 -1
- package/browser/esm/{Btg43M1Bf-ENDreu.mjs → BdCJNawfifyPupCP.mjs} +1 -1
- package/browser/esm/{ClB5ix51roQOpZEr.mjs → Bg5Di9GLNAkbqQ1P.mjs} +2877 -2067
- package/browser/esm/BnC4-27Igwb8oDf2.mjs +1552 -0
- package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → Bt8_m94tBdks209L.mjs} +1 -1
- package/browser/esm/{zqJOaweiXE9D8RY1.mjs → BudSIfXBAsTxvu-K.mjs} +31835 -40812
- package/browser/esm/C9u8FUewte5ugUjH.mjs +5132 -0
- package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → CBYMTDzMf1Vh7pkw.mjs} +1 -1
- package/browser/esm/CNdjyofiRu6CYOrr.mjs +12835 -0
- package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → CRkYR-siY2C994KV.mjs} +1 -1
- package/browser/esm/CTe2qfmIUEad6FJv.mjs +199 -0
- package/browser/esm/CUzYuYTTGsChC_kZ.mjs +8422 -0
- package/browser/esm/CdEO8CEee6lEhabA.mjs +117 -0
- package/browser/esm/CfRqiPDg6RBTg1EN.mjs +367 -0
- package/browser/esm/CndRBvVfQUJIYRRj.mjs +193 -0
- package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → CwOPLXU3-9ZHGyOT.mjs} +1 -1
- package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → Cxjxk0ncRKx80I-w.mjs} +1 -1
- package/browser/esm/D2RZh0O9neOsyLAE.mjs +281 -0
- package/browser/esm/{De175LygU7ot4nQm.mjs → D64dM68B1pKYFzdP.mjs} +2 -2
- package/browser/esm/{o8MFgcVXns987D6_.mjs → D9xNz46kAfXMZzp4.mjs} +6 -6
- package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → DK899HhWX1HINMC1.mjs} +55 -55
- package/browser/esm/DPhGQLNGmDZwODwJ.mjs +395 -0
- package/browser/esm/DVroRnhi-5IDXNgM.mjs +210 -0
- package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → DZiivy0NmO1Vnyzk.mjs} +2 -2
- package/browser/esm/{CZ5oa92wZEAXebgk.mjs → DgrAuRD2qr2DvFeJ.mjs} +78 -68
- package/browser/esm/{D4uVlrG0xEFctsSM.mjs → DobHLF6VjHr7Xi40.mjs} +285 -67
- package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → DwZCT7DZiiXoTweg.mjs} +2 -2
- package/browser/esm/DwwR3O2sEZApPSTF.mjs +86 -0
- package/browser/esm/Tah7cnFb_HNZdLtj.mjs +128 -0
- package/browser/esm/{BEAY9XgKNx-bakXW.mjs → fXWUMDhZ5yMSO629.mjs} +1 -1
- package/browser/esm/{BqskM7wA8oPfFQue.mjs → hCQJcmIzPDxDEv2q.mjs} +2 -2
- package/browser/esm/index.mjs +1294 -1008
- package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → qO-ujUrgq6H3TQix.mjs} +1 -1
- package/browser/esm/w6Jea0TiclPrYZ2M.mjs +1703 -0
- package/browser/esm/yuhcOYw6SHQ-RCm3.mjs +114 -0
- package/licenses/dependencies.txt +75 -75
- package/node/esm/-TA0MneBDKdGhsib.mjs +8668 -0
- package/node/esm/B-HUPAcqvK0eeeCz.mjs +134 -0
- package/node/esm/BL2iiEoqxDEV2Xrg.mjs +8320 -0
- package/node/esm/{C6ZXsNyLXI6zA63X.mjs → BNXLOEddJ6O9gYws.mjs} +9 -9
- package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BSvOluusoDM4z_dx.mjs} +151 -302
- package/node/esm/{CD9wbvufChVYYkrI.mjs → BskP3b8vUoIOGLY6.mjs} +2 -2
- package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → Btw4148Ot8ifhNc1.mjs} +285 -64
- package/node/esm/{B6D7sSetrcOWLsKj.mjs → C14-R6tifRh7pc0p.mjs} +1 -1
- package/node/esm/C99zzq8DImQXi4BQ.mjs +133 -0
- package/node/esm/{BtuY37FumvLE7EBo.mjs → CBuEu5Jk-LfaDy-H.mjs} +176 -166
- package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → CG-qBU5BAaVz7e-P.mjs} +1 -1
- package/node/esm/CPI58duc0j0a-HpJ.mjs +115 -0
- package/node/esm/CRt3vXe6YmXzqk3H.mjs +406 -0
- package/node/esm/{CUUoseJmFsCf82bb.mjs → C_aL7CGS1lrNn1Ng.mjs} +1 -1
- package/node/esm/{D7MfcID2Wf6l6VpC.mjs → C_xf5Bz30VqiJjXn.mjs} +1 -1
- package/node/esm/CiIymQN6aJCul62g.mjs +610 -0
- package/node/esm/{B9ljpEIZg6wOTzRE.mjs → Ci_zLYmCD7e-C79O.mjs} +1 -1
- package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CkRYLed8Mmn3giNg.mjs} +2 -2
- package/node/esm/D3ptRKzASqBut1DE.mjs +117 -0
- package/node/esm/{DefYISWfdZJFx57m.mjs → D4ROK9UwDpS6jO3Z.mjs} +1 -1
- package/node/esm/D8hO07ToAibIuniw.mjs +13014 -0
- package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → DUTmDHbFbhLDT4F3.mjs} +1 -1
- package/node/esm/{DCplLG93GfTs1vNw.mjs → DV5CU37aEbFbWFL0.mjs} +1 -1
- package/node/esm/{CUQi5ZtMO02nhG0W.mjs → DdoiuKg9BKubtF1V.mjs} +1 -1
- package/node/esm/DggQ23jKMpwhENfa.mjs +372 -0
- package/node/esm/DhS6yWjrrSNIJMsn.mjs +1033 -0
- package/node/esm/{DMD12JUh7HJw2-jl.mjs → DhTya_mhmN53vskv.mjs} +1 -1
- package/node/esm/Dn1M7YWi25DeeYUb.mjs +210 -0
- package/node/esm/DrCf6ITcBhVOFpRj.mjs +86 -0
- package/node/esm/{BN9j8V9gCExMjVtJ.mjs → DxazKtROyaI51dWl.mjs} +1 -1
- package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → Q_S1g46ZOTrdhTae.mjs} +1 -1
- package/node/esm/Vocy-I9dKzZMr0Ct.mjs +59323 -0
- package/node/esm/ZXPFcsT2zrALCZux.mjs +289 -0
- package/node/esm/eimUGjiIP-b8HiM6.mjs +199 -0
- package/node/esm/icn2nX5Z8e_3mNAv.mjs +12 -0
- package/node/esm/index.mjs +2808 -65678
- package/node/esm/lGJ42sHqg5if2bba.mjs +1770 -0
- package/node/esm/{Bsx9uijd4X_SKV3L.mjs → pYtP7wPyS96NQyXS.mjs} +51 -51
- package/package.json +6 -7
- package/resources/contents.json +120 -0
- package/resources/fonts/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/arial-bold-italic.metrics.json +13 -13
- package/resources/fonts/arial-bold-italic.rows.json +9 -0
- package/resources/fonts/arial-bold.hinted.json +125 -0
- package/resources/fonts/arial-bold.metrics.json +12 -12
- package/resources/fonts/arial-bold.rows.json +9 -0
- package/resources/fonts/arial-italic.hinted.json +125 -0
- package/resources/fonts/arial-italic.metrics.json +13 -13
- package/resources/fonts/arial-italic.rows.json +9 -0
- package/resources/fonts/arial-regular.hinted.json +125 -0
- package/resources/fonts/arial-regular.metrics.json +12 -12
- package/resources/fonts/arial-regular.rows.json +9 -0
- package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
- package/resources/fonts/calibri-bold-italic.rows.json +9 -0
- package/resources/fonts/calibri-bold.hinted.json +122 -0
- package/resources/fonts/calibri-bold.metrics.json +1 -1
- package/resources/fonts/calibri-bold.rows.json +9 -0
- package/resources/fonts/calibri-italic.hinted.json +121 -0
- package/resources/fonts/calibri-italic.metrics.json +2 -2
- package/resources/fonts/calibri-italic.rows.json +9 -0
- package/resources/fonts/calibri-regular.hinted.json +121 -0
- package/resources/fonts/calibri-regular.metrics.json +1 -1
- package/resources/fonts/calibri-regular.rows.json +9 -0
- package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
- package/resources/fonts/cambria-bold-italic.rows.json +9 -0
- package/resources/fonts/cambria-bold.hinted.json +108 -0
- package/resources/fonts/cambria-bold.metrics.json +19 -19
- package/resources/fonts/cambria-bold.rows.json +9 -0
- package/resources/fonts/cambria-italic.hinted.json +102 -0
- package/resources/fonts/cambria-italic.metrics.json +23 -23
- package/resources/fonts/cambria-italic.rows.json +9 -0
- package/resources/fonts/cambria-regular.hinted.json +110 -0
- package/resources/fonts/cambria-regular.metrics.json +18 -18
- package/resources/fonts/cambria-regular.rows.json +9 -0
- package/resources/fonts/contents.json +280 -0
- package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
- package/resources/fonts/courier-new-bold.hinted.json +11 -0
- package/resources/fonts/courier-new-bold.metrics.json +12 -12
- package/resources/fonts/courier-new-bold.rows.json +9 -0
- package/resources/fonts/courier-new-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-italic.rows.json +9 -0
- package/resources/fonts/courier-new-regular.hinted.json +11 -0
- package/resources/fonts/courier-new-regular.metrics.json +12 -12
- package/resources/fonts/courier-new-regular.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
- package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
- package/resources/fonts/times-new-roman-bold.rows.json +9 -0
- package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
- package/resources/fonts/times-new-roman-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
- package/resources/fonts/times-new-roman-regular.rows.json +9 -0
- package/resources/locales/de/model.msg.json +93 -9
- package/resources/locales/en/model.msg.json +95 -10
- package/types/scripting-api.json +10809 -8021
- package/types/scripting-enums.json +201 -44
- package/types/scripting.d.ts +17030 -8666
- package/types/src/.generated/wasm/fonts.d.ts +161 -0
- package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
- package/types/src/.generated/wasm/sdk.d.ts +122 -0
- package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
- package/types/src/address/AddressUtils.d.ts +10 -1
- package/types/src/address/_StructuredAddress.d.ts +58 -0
- package/types/src/anomalies/_Anomalies.d.ts +109 -0
- package/types/src/anomalies/_FocusTable.d.ts +11 -0
- package/types/src/anomalies/_FormulaChecks.d.ts +133 -0
- package/types/src/anomalies/_LabelChecks.d.ts +21 -0
- package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
- package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
- package/types/src/border/IBorders.d.ts +16 -0
- package/types/src/calculation/Calculation.d.ts +139 -371
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -3
- package/types/src/calculation/FormulaLiterals.d.ts +2 -1
- package/types/src/calculation/FormulaText.d.ts +18 -2
- package/types/src/calculation/ICalculation.d.ts +133 -18
- package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +293 -22
- package/types/src/calculation/_CloneBoundary.d.ts +1 -1
- package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
- package/types/src/calculation/_TableExtent.d.ts +60 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -2
- package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
- package/types/src/calculation/compiler/Types.d.ts +9 -1
- package/types/src/calculation/engine/CalcBackend.d.ts +953 -0
- package/types/src/calculation/engine/index.d.ts +10 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +94 -24
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +23 -1
- package/types/src/calculation/executor/_WhatIf.d.ts +50 -0
- package/types/src/calculation/formula/Formula.d.ts +9 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +10 -3
- package/types/src/calculation/formula/IFormulaBlock.d.ts +21 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
- package/types/src/calculation/grid/CalcGrid.d.ts +44 -10
- package/types/src/calculation/grid/CalcGridBackend.d.ts +35 -27
- package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -2
- package/types/src/calculation/grid/CalcGridUtils.d.ts +12 -3
- package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
- package/types/src/calculation/grid/ICalcGrid.d.ts +48 -15
- package/types/src/calculation/grid/_CalcRequest.d.ts +28 -6
- package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +29 -2
- package/types/src/calculation/spatial/SpillEntry.d.ts +16 -2
- package/types/src/calculation/state/CalcNode.d.ts +0 -1
- package/types/src/calculation/state/CalcScope.d.ts +44 -6
- package/types/src/calculation/state/CalcState.d.ts +36 -4
- package/types/src/calculation/state/CalculationContext.d.ts +30 -3
- package/types/src/calculation/state/DeferredCalls.d.ts +260 -0
- package/types/src/calculation/state/IContextContainer.d.ts +32 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +6 -0
- package/types/src/calculation/state/_WhatIfLayer.d.ts +91 -0
- package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
- package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
- package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
- package/types/src/calculation/toolkit/index.d.ts +12 -0
- package/types/src/cell/ICell.d.ts +302 -34
- package/types/src/cell/ICellHeader.d.ts +7 -6
- package/types/src/cell/ICellProtection.d.ts +1 -1
- package/types/src/cellControl/CellControl.d.ts +67 -0
- package/types/src/cellControl/CellControlCollection.d.ts +29 -0
- package/types/src/cellControl/CellControlRegistry.d.ts +47 -0
- package/types/src/cellControl/ICellControl.d.ts +99 -0
- package/types/src/cellControl/ICellControlCollection.d.ts +67 -0
- package/types/src/cellControl/index.d.ts +4 -0
- package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
- package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
- package/types/src/cellRange/ICellRange.d.ts +525 -110
- package/types/src/cellRange/ICellRanges.d.ts +12 -6
- package/types/src/chart/Chart.d.ts +217 -15
- package/types/src/chart/ChartCollection.d.ts +7 -2
- package/types/src/chart/IChart.d.ts +1921 -35
- package/types/src/chart/IChartCollection.d.ts +27 -2
- package/types/src/chart/_ChartParts.d.ts +1066 -0
- package/types/src/chart/_ChartSource.d.ts +47 -0
- package/types/src/chart/createChart.d.ts +26 -0
- package/types/src/chart/index.d.ts +4 -0
- package/types/src/chart/kinds/ChartKind.d.ts +252 -0
- package/types/src/chart/kinds/_Area.d.ts +3 -0
- package/types/src/chart/kinds/_Bar.d.ts +4 -0
- package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
- package/types/src/chart/kinds/_Bubble.d.ts +3 -0
- package/types/src/chart/kinds/_Funnel.d.ts +4 -0
- package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
- package/types/src/chart/kinds/_Histogram.d.ts +4 -0
- package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
- package/types/src/chart/kinds/_Line.d.ts +4 -0
- package/types/src/chart/kinds/_OfPie.d.ts +4 -0
- package/types/src/chart/kinds/_Pie.d.ts +4 -0
- package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
- package/types/src/chart/kinds/_Radar.d.ts +4 -0
- package/types/src/chart/kinds/_Scatter.d.ts +8 -0
- package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
- package/types/src/chart/kinds/_Surface.d.ts +4 -0
- package/types/src/chart/kinds/_Treemap.d.ts +4 -0
- package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
- package/types/src/chart/kinds/_builtIns.d.ts +11 -0
- package/types/src/chart/layout/ChartLayout.d.ts +829 -0
- package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
- package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
- package/types/src/chart/layout/_HitTest.d.ts +36 -0
- package/types/src/chart/layout/_Layout.d.ts +25 -0
- package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
- package/types/src/chart/math/BoxStats.d.ts +35 -0
- package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
- package/types/src/chart/math/DisplayUnits.d.ts +53 -0
- package/types/src/chart/math/Histogram.d.ts +48 -0
- package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
- package/types/src/chart/math/Treemap.d.ts +28 -0
- package/types/src/chart/math/Trendlines.d.ts +71 -0
- package/types/src/chart/math/UnitCalcs.d.ts +98 -0
- package/types/src/chart/model/ChartModel.d.ts +681 -0
- package/types/src/chart/model/_ChartType.d.ts +14 -0
- package/types/src/chart/model/_Edits.d.ts +489 -0
- package/types/src/chart/model/_Grouping.d.ts +83 -0
- package/types/src/chart/model/_Inference.d.ts +52 -0
- package/types/src/chart/model/_ModelFacts.d.ts +112 -0
- package/types/src/chart/model/_NewChart.d.ts +208 -0
- package/types/src/chart/model/_OfPie.d.ts +18 -0
- package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
- package/types/src/chart/resolve/_Resolve.d.ts +61 -0
- package/types/src/chart/resolve/_ResolvedChart.d.ts +447 -0
- package/types/src/collections/ISparseGrid.d.ts +11 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
- package/types/src/collections/RTree.d.ts +116 -36
- package/types/src/collections/SparseGrid.d.ts +9 -11
- package/types/src/collections/SpatialMap.d.ts +2 -8
- package/types/src/collections/SpatialMap3D.d.ts +2 -0
- package/types/src/collections/index.d.ts +1 -1
- package/types/src/comment/Comment.d.ts +32 -9
- package/types/src/comment/IComment.d.ts +41 -4
- package/types/src/comment/_NoteBox.d.ts +19 -2
- package/types/src/condition/AnchoredConditional.d.ts +30 -4
- package/types/src/condition/ICondition.d.ts +3 -2
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
- package/types/src/dataValidation/DataValidation.d.ts +1 -1
- package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
- package/types/src/dataValidation/IDataValidation.d.ts +1 -1
- package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
- package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
- package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
- package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
- package/types/src/documentProperties/index.d.ts +3 -0
- package/types/src/externalBook/IExternalBook.d.ts +3 -4
- package/types/src/fetch/Fetcher.d.ts +15 -0
- package/types/src/fetch/IFetcher.d.ts +47 -0
- package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
- package/types/src/fetch/index.d.ts +3 -0
- package/types/src/fill/IFill.d.ts +7 -0
- package/types/src/fill/IFillable.d.ts +47 -0
- package/types/src/fill/IStroke.d.ts +15 -1
- package/types/src/fill/PaintUtils.d.ts +24 -0
- package/types/src/fill/index.d.ts +2 -0
- package/types/src/font/AdvanceBuilder.d.ts +34 -0
- package/types/src/font/AdvanceTable.d.ts +128 -14
- package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
- package/types/src/font/FontCapture.d.ts +4 -0
- package/types/src/font/FontCollection.d.ts +53 -2
- package/types/src/font/FontPlatform.d.ts +20 -0
- package/types/src/font/FontUtils.d.ts +5 -0
- package/types/src/font/IFont.d.ts +191 -61
- package/types/src/font/IFontCollection.d.ts +20 -14
- package/types/src/font/IFontStyle.d.ts +207 -0
- package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
- package/types/src/font/_FontUtils.d.ts +11 -4
- package/types/src/font/_FontsVersion.d.ts +7 -0
- package/types/src/font/index.d.ts +1 -3
- package/types/src/font/platform.browser.d.ts +15 -0
- package/types/src/font/platform.node.d.ts +5 -0
- package/types/src/group/Group.d.ts +5 -0
- package/types/src/group/GroupMovableCollection.d.ts +4 -0
- package/types/src/history/IHistory.d.ts +19 -2
- package/types/src/hyperlink/IHyperlink.d.ts +17 -1
- package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
- package/types/src/index.d.ts +4 -0
- package/types/src/license/LicenseManager.d.ts +21 -0
- package/types/src/license/_Utils.d.ts +18 -1
- package/types/src/license/runtime.browser.d.ts +5 -0
- package/types/src/license/runtime.node.d.ts +10 -0
- package/types/src/listener/IListener.d.ts +14 -2
- package/types/src/listener/ListenerEmitter.d.ts +11 -3
- package/types/src/movable/IMovable.d.ts +28 -15
- package/types/src/movable/IMovableCollection.d.ts +1 -1
- package/types/src/movable/Movable.d.ts +12 -1
- package/types/src/movable/MovableCollection.d.ts +7 -3
- package/types/src/movable/_InsertableCollection.d.ts +16 -5
- package/types/src/named/INamed.d.ts +30 -0
- package/types/src/named/INamedCollection.d.ts +38 -2
- package/types/src/named/NamedCollection.d.ts +34 -4
- package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
- package/types/src/outline/IOutline.d.ts +1 -1
- package/types/src/outline/Outline.d.ts +2 -2
- package/types/src/picture/IPicture.d.ts +98 -1
- package/types/src/picture/Picture.d.ts +15 -7
- package/types/src/pivot/IPivotTable.d.ts +2 -2
- package/types/src/pivot/PivotTable.d.ts +5 -5
- package/types/src/primitives/AsyncValue.d.ts +58 -0
- package/types/src/primitives/ReferenceRange.d.ts +2 -2
- package/types/src/print/IPageLayout.d.ts +635 -0
- package/types/src/print/PageLayout.d.ts +258 -0
- package/types/src/print/index.d.ts +1 -1
- package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
- package/types/src/protection/IProtection.d.ts +6 -0
- package/types/src/protection/PasswordHasher.d.ts +13 -0
- package/types/src/resource/IResource.d.ts +9 -0
- package/types/src/resource/IResourceCollection.d.ts +4 -0
- package/types/src/resource/Resource.d.ts +2 -0
- package/types/src/resource/_AddResource.d.ts +13 -0
- package/types/src/richData/CellImage.d.ts +95 -0
- package/types/src/richData/Hyperlink.d.ts +49 -0
- package/types/src/richData/IRichDataCollection.d.ts +76 -0
- package/types/src/richData/IRichDataKind.d.ts +66 -0
- package/types/src/richData/RichArray.d.ts +42 -0
- package/types/src/richData/RichDataCollection.d.ts +23 -0
- package/types/src/richData/RichDataRegistry.d.ts +89 -0
- package/types/src/richData/RichDataValues.d.ts +20 -0
- package/types/src/richData/RichRecord.d.ts +68 -0
- package/types/src/richData/RichText.d.ts +59 -0
- package/types/src/richData/index.d.ts +9 -0
- package/types/src/scripting/FunctionArguments.d.ts +17 -1
- package/types/src/scripting/FunctionCollection.d.ts +8 -0
- package/types/src/scripting/IModule.d.ts +3 -3
- package/types/src/scripting/IScript.d.ts +2 -2
- package/types/src/scripting/ITypedFunction.d.ts +1 -1
- package/types/src/scripting/Scripts.d.ts +10 -0
- package/types/src/scripting/TypedFunction.d.ts +2 -0
- package/types/src/scripting/declarations.d.ts +3 -0
- package/types/src/selection/ChartElementSelection.d.ts +39 -0
- package/types/src/selection/IChartElementSelection.d.ts +103 -0
- package/types/src/selection/IItemSelection.d.ts +131 -0
- package/types/src/selection/IMovableSelection.d.ts +6 -34
- package/types/src/selection/IRangeSelection.d.ts +4 -4
- package/types/src/selection/ItemSelection.d.ts +49 -0
- package/types/src/selection/MovableSelection.d.ts +11 -30
- package/types/src/selection/RangeSelection.d.ts +4 -4
- package/types/src/selection/index.d.ts +3 -0
- package/types/src/shape/IShape.d.ts +2 -1
- package/types/src/shape/IShapeStyle.d.ts +5 -31
- package/types/src/shape/ITextBoxStyle.d.ts +85 -0
- package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
- package/types/src/shape/_Connectors.d.ts +9 -9
- package/types/src/shape/_ShapeStyle.d.ts +9 -0
- package/types/src/shape/index.d.ts +1 -0
- package/types/src/sheet/CellRegion.d.ts +37 -3
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
- package/types/src/sheet/ISheet.d.ts +81 -1078
- package/types/src/sheet/IWorksheet.d.ts +1521 -0
- package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
- package/types/src/sheet/NamedCellRange.d.ts +2 -2
- package/types/src/sheet/NamedRange.d.ts +2 -2
- package/types/src/sheet/OpaqueSheet.d.ts +114 -0
- package/types/src/sheet/SheetCell.d.ts +40 -27
- package/types/src/sheet/SheetRange.d.ts +50 -13
- package/types/src/sheet/SheetRanges.d.ts +14 -12
- package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +591 -171
- package/types/src/sheet/WorksheetCollection.d.ts +39 -0
- package/types/src/sheet/_CellBuffer.d.ts +11 -1
- package/types/src/sheet/_CopyUtils.d.ts +13 -6
- package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
- package/types/src/sheet/_Kinds.d.ts +34 -0
- package/types/src/sheet/_Labels.d.ts +38 -0
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
- package/types/src/sheet/_ScalarListFactory.d.ts +55 -7
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
- package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
- package/types/src/sheet/_SheetCoords.d.ts +3 -3
- package/types/src/sheet/_SheetEvents.d.ts +1 -1
- package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
- package/types/src/sheet/_SheetIntents.d.ts +32 -14
- package/types/src/sheet/_SheetMessages.d.ts +1 -1
- package/types/src/sheet/_SheetMutations.d.ts +11 -9
- package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
- package/types/src/sheet/_SheetStateReader.d.ts +18 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +80 -9
- package/types/src/sheet/_SheetUtils.d.ts +20 -19
- package/types/src/sheet/_WatchAnchor.d.ts +15 -2
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
- package/types/src/sheet/index.d.ts +5 -2
- package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
- package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
- package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
- package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
- package/types/src/sheet/style/_Resolvers.d.ts +3 -2
- package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
- package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
- package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
- package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
- package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
- package/types/src/sheetProtection/index.d.ts +1 -1
- package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
- package/types/src/sheetView/WorksheetView.d.ts +139 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
- package/types/src/sheetView/index.d.ts +1 -1
- package/types/src/slicer/ISlicer.d.ts +2 -2
- package/types/src/sort/ISort.d.ts +35 -5
- package/types/src/style/ICellStyle.d.ts +56 -44
- package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
- package/types/src/table/AnchoredTable.d.ts +23 -7
- package/types/src/table/AutoTable.d.ts +1 -1
- package/types/src/table/ITable.d.ts +32 -19
- package/types/src/table/_NamedTable.d.ts +3 -3
- package/types/src/table/_NamedTableSource.d.ts +2 -2
- package/types/src/text/IText.d.ts +4 -51
- package/types/src/text/TextEngine.d.ts +34 -0
- package/types/src/text/TextFrame.d.ts +4 -2
- package/types/src/text/TextRun.d.ts +3 -2
- package/types/src/text/TextWrapper.d.ts +32 -26
- package/types/src/text/_TextUtils.d.ts +5 -5
- package/types/src/text/_TextWrapperFallback.d.ts +49 -0
- package/types/src/text/impl/TabStrategy.d.ts +3 -1
- package/types/src/text/richtext/IRichText.d.ts +16 -2
- package/types/src/text/richtext/index.d.ts +0 -1
- package/types/src/theme/ITheme.d.ts +108 -7
- package/types/src/theme/ThemeCollection.d.ts +5 -0
- package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
- package/types/src/transaction/ITransaction.d.ts +20 -1
- package/types/src/transaction/Transaction.d.ts +8 -1
- package/types/src/transaction/_BatchHandle.d.ts +118 -0
- package/types/src/type/AbstractCollection.d.ts +4 -13
- package/types/src/type/ICollection.d.ts +17 -4
- package/types/src/type/IProperties.d.ts +1 -1
- package/types/src/utils/_CSSUtils.d.ts +1 -1
- package/types/src/wasm/_fontsWasm.d.ts +7 -0
- package/types/src/wasm/_sdkWasm.d.ts +1 -1
- package/types/src/wasm/fontsWasm.d.ts +32 -0
- package/types/src/wasm/index.d.ts +1 -0
- package/types/src/wasm/loader.browser.d.ts +9 -0
- package/types/src/wasm/loader.node.d.ts +9 -0
- package/types/src/wasm/sdkWasm.d.ts +6 -3
- package/types/src/workbook/IWorkbook.d.ts +269 -39
- package/types/src/workbook/Workbook.d.ts +102 -25
- package/types/src/workbook/WorkbookRange.d.ts +2 -2
- package/types/src/workbook/WorkbookRanges.d.ts +3 -3
- package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
- package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
- package/types/src/workbookView/IWorkbookView.d.ts +82 -0
- package/types/src/workbookView/WorkbookView.d.ts +21 -0
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
- package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
- package/node/esm/CImNvdz1iP-lUlro.mjs +0 -610
- package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
- package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
- package/types/src/chart/_ChartXml.d.ts +0 -70
- package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
- package/types/src/collections/_RangeSweep.d.ts +0 -97
- package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
- package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
- package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
- package/types/src/print/IPrint.d.ts +0 -212
- package/types/src/sheet/SheetCollection.d.ts +0 -29
- package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
- package/types/src/sheetView/SheetView.d.ts +0 -122
- package/types/src/text/richtext/IStyledFont.d.ts +0 -330
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The calculation backend's code: what a started engine builds and runs.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* `Calculation` reaches every value here through this one module and nothing else, so the facade a
|
|
6
|
+
* workbook constructs carries none of it (DESIGN-CALC-SERVICE §5, §13.25). Types are imported
|
|
7
|
+
* directly; only values belong on this list.
|
|
8
|
+
*/
|
|
9
|
+
export { CalcBackend } from './CalcBackend';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IRange, IFormulaContext } from '@sheetxl/primitives';
|
|
1
|
+
import { IRange, Scalar, IFormulaContext } from '@sheetxl/primitives';
|
|
2
2
|
import { FixedPackedArray } from '../../primitives/PrimitiveUtils';
|
|
3
3
|
import { PendingOverlayGrid } from '../state/_PendingOverlayGrid';
|
|
4
4
|
import { ISpatialMap, ISpatialMap3D } from '../../collections';
|
|
@@ -6,21 +6,20 @@ import { FormulaSpatialValue, PrecedentSpatialValue, PrecedentKind } from '../sp
|
|
|
6
6
|
import { ICalcGrid, CalcGridBackend } from '../grid';
|
|
7
7
|
import { IContextContainer, CalcNode } from '../state';
|
|
8
8
|
import { ReadHook } from '../state/_ReadObservedGrid';
|
|
9
|
+
import { DeferredCall } from '../state/DeferredCalls';
|
|
10
|
+
import { AsyncValue } from '../../primitives/AsyncValue';
|
|
11
|
+
import { WhatIfTable } from './_WhatIf';
|
|
12
|
+
import { WhatIfLayer } from '../state/_WhatIfLayer';
|
|
9
13
|
import { CircularReference, CycleHost } from './CircularReference';
|
|
10
14
|
/**
|
|
11
15
|
* Executes a calculation cycle: collect → mark-and-plan → evaluate.
|
|
12
16
|
*
|
|
13
|
-
* Owns cycle counters
|
|
14
|
-
*
|
|
15
|
-
* state; CalcExecutor receives snapshots and returns results.
|
|
17
|
+
* Owns cycle counters and all transient per-pass state. `Calculation` is the controller that
|
|
18
|
+
* owns persistent spatial state; CalcExecutor receives snapshots and returns results.
|
|
16
19
|
*/
|
|
17
20
|
export declare class CalcExecutor {
|
|
18
21
|
protected _container: IContextContainer;
|
|
19
22
|
protected _context: IFormulaContext;
|
|
20
|
-
private readonly _requestCalculate;
|
|
21
|
-
protected _pendingCalcs: Map<CalcNode, number>;
|
|
22
|
-
/** Debounced drain of {@link _pendingCalcs} into the volatile set; one instance for the executor's lifetime. */
|
|
23
|
-
private readonly _flushPendingCalcs;
|
|
24
23
|
/**
|
|
25
24
|
* The last pass's circular roster: every node it evaluated by demand (a `doMarkAndPlan` that
|
|
26
25
|
* could not order, or the iteration guard's hand-over) plus every node whose dynamic read
|
|
@@ -91,6 +90,13 @@ export declare class CalcExecutor {
|
|
|
91
90
|
protected _deferredLength: number;
|
|
92
91
|
/** The pass the hook answers for; inert otherwise. Set by `doMarkAndPlan`, released with `_gridUpdates`. */
|
|
93
92
|
protected _passActive: boolean;
|
|
93
|
+
/** The pass in progress is a settle pass (`ExecuteOptions.settle`): its seeds are the settles' alone. */
|
|
94
|
+
protected _settlePass: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* The holder {@link _takeDeferred} made for an evaluation whose value is a range: the value keeps
|
|
97
|
+
* its shape for the spill layout, which puts the holder on the spill's entry. Taken at once.
|
|
98
|
+
*/
|
|
99
|
+
protected _spillHolder: AsyncValue<DeferredCall> | null;
|
|
94
100
|
protected _passCycleId: number;
|
|
95
101
|
protected _passMarkId: number;
|
|
96
102
|
/**
|
|
@@ -105,6 +111,19 @@ export declare class CalcExecutor {
|
|
|
105
111
|
* while a pass evaluates. Released with {@link _flush}.
|
|
106
112
|
*/
|
|
107
113
|
_overlays: Map<string, PendingOverlayGrid> | null;
|
|
114
|
+
/**
|
|
115
|
+
* The what-if layers of the data table being evaluated, per grid id (DESIGN-DATA-TABLES §4.3):
|
|
116
|
+
* what `getGridValues` hands every read while a `TABLE` node runs its substitutions. `null`
|
|
117
|
+
* otherwise.
|
|
118
|
+
*/
|
|
119
|
+
_whatIf: Map<string, WhatIfLayer> | null;
|
|
120
|
+
/**
|
|
121
|
+
* A reactive pass under `AutomaticExceptTables`: a `TABLE` node is not evaluated, and is left
|
|
122
|
+
* dirty ({@link _skippedTables}). Set for the length of `execute`.
|
|
123
|
+
*/
|
|
124
|
+
protected _exceptTables: boolean;
|
|
125
|
+
/** The `TABLE` nodes the pass in progress skipped, for `ExecuteResult.skippedTables`. */
|
|
126
|
+
protected _skippedTables: Set<CalcNode>;
|
|
108
127
|
/**
|
|
109
128
|
* The blank regions of the blocks whose representative could not stand for them this plan
|
|
110
129
|
* (PLAN-WATCHES-BLANK-AWARE §4), and the cells of the regions that WERE shared whose value the
|
|
@@ -193,20 +212,9 @@ export declare class CalcExecutor {
|
|
|
193
212
|
protected _planMemos: [CalcExecutor.PlanMemo, CalcExecutor.PlanMemo];
|
|
194
213
|
/** The memos' LRU clock. Its own counter, NOT `PlanStats.passes`: a stats reset must not reorder the slots. */
|
|
195
214
|
protected _planMemoClock: number;
|
|
196
|
-
/**
|
|
197
|
-
* Nodes with an async promise in flight. Per executor, NOT module scope — module scope would
|
|
198
|
-
* cross-pollute workbook instances (undo to 0 formulas needs to clear these; TODO - revisit
|
|
199
|
-
* how we manage promises).
|
|
200
|
-
*/
|
|
201
|
-
protected _pendingPromises: Set<CalcNode>;
|
|
202
215
|
_gridUpdates: Map<string, ICalcGrid.IncrementalUpdates> | null;
|
|
203
216
|
_addDynamicPrecedent: ((node: CalcNode, range: IRange.Coords | undefined, kind: PrecedentKind) => void) | null;
|
|
204
|
-
constructor(container: IContextContainer, context: IFormulaContext
|
|
205
|
-
/**
|
|
206
|
-
* Called when an async formula promise resolves. Adds the node to the pending
|
|
207
|
-
* queue and debounces a new calculation cycle via `requestCalculate`.
|
|
208
|
-
*/
|
|
209
|
-
scheduleRecalculation: (cycleId: number, calcNode?: CalcNode) => void;
|
|
217
|
+
constructor(container: IContextContainer, context: IFormulaContext);
|
|
210
218
|
/**
|
|
211
219
|
* Runs a full calculation pass.
|
|
212
220
|
*
|
|
@@ -216,6 +224,14 @@ export declare class CalcExecutor {
|
|
|
216
224
|
* nothing was dirty.
|
|
217
225
|
*/
|
|
218
226
|
execute(cycleId: number, options: CalcExecutor.ExecuteOptions, state: CalcExecutor.ExecuteState): CalcExecutor.ExecuteResult | null;
|
|
227
|
+
/**
|
|
228
|
+
* Takes the calls an evaluation of `node` deferred (DESIGN-ASYNC §4.4): the cell's value is an
|
|
229
|
+
* `AsyncValue` over them and what the formula calculated from their initials, and the node is
|
|
230
|
+
* pending with it while any is open.
|
|
231
|
+
*/
|
|
232
|
+
protected _takeDeferred(node: CalcNode, value: any): any;
|
|
233
|
+
/** The cells of the `TABLE` nodes the pass skipped, scoped; `undefined` for none. */
|
|
234
|
+
private _takeSkippedTables;
|
|
219
235
|
/**
|
|
220
236
|
* The read hook of a pass (DESIGN-CIRCULAR-CALC.md §4.3, §5), shared by both paths: armed for
|
|
221
237
|
* every reference while a node is evaluated by demand, and for dynamic-branch references
|
|
@@ -332,12 +348,41 @@ export declare class CalcExecutor {
|
|
|
332
348
|
* `flush` of the `doEvaluate` that made it, and only that one.
|
|
333
349
|
*/
|
|
334
350
|
private _overlayFor;
|
|
351
|
+
/**
|
|
352
|
+
* The results of a what-if data table, for the `TABLE` node being evaluated
|
|
353
|
+
* (DESIGN-DATA-TABLES §4.3): the affected nodes re-evaluated under each substitution of §2.2,
|
|
354
|
+
* through layers over what the grids read as now, the pass's uncommitted results included.
|
|
355
|
+
*
|
|
356
|
+
* @remarks
|
|
357
|
+
* The read hooks and the dynamic-edge accumulator are set aside while it runs: every member
|
|
358
|
+
* read is a plain read through the layers and registers no edge. The table's own reads of its
|
|
359
|
+
* edge, which order it and register its edges, are made before (`_DataTableFunction`). The calc
|
|
360
|
+
* scope is the table's again on return.
|
|
361
|
+
*/
|
|
362
|
+
evaluateWhatIf(table: WhatIfTable): Scalar[][];
|
|
363
|
+
/**
|
|
364
|
+
* One node evaluated where it sits, under the what-if layers (DESIGN-DATA-TABLES §4.3): its
|
|
365
|
+
* input slots are cleared so every read falls through to the funnel, as a demand evaluation's
|
|
366
|
+
* do. An async result stands as the cell's last value; so does a read that raised a signal.
|
|
367
|
+
*/
|
|
368
|
+
private _evaluateWhatIf;
|
|
335
369
|
/**
|
|
336
370
|
* A finalized result fitted to its cell when the block makes every cell its own 1x1
|
|
337
371
|
* array-entered extent (`FormulaSpatialValue.arrayFirstCell`): element `[0,0]` of a range, so the
|
|
338
372
|
* cell stores a scalar and registers no spill. Anything else as it is.
|
|
339
373
|
*/
|
|
340
374
|
private _fitCell;
|
|
375
|
+
/**
|
|
376
|
+
* Whether a representative that read its position answers the same wherever it sits in the
|
|
377
|
+
* blank region: every variant of its formula ({@link IFormulaBlock.getPositionVariants}) answers
|
|
378
|
+
* `finalized` at its cell without reading the position, or anything else per cell.
|
|
379
|
+
*
|
|
380
|
+
* @remarks
|
|
381
|
+
* Each position test is `TRUE` or `FALSE` at every cell, so the variants cover every answer the
|
|
382
|
+
* region can give. A variant reads only what the formula itself read (no lazy argument, so no
|
|
383
|
+
* arm it skipped), all of it final by now, so it is evaluated without the pass's read hook.
|
|
384
|
+
*/
|
|
385
|
+
private _isPositionFree;
|
|
341
386
|
/**
|
|
342
387
|
* The representative of a gated block has finalized (PLAN-WATCHES-BLANK-AWARE §4): its scalar is
|
|
343
388
|
* shared with the block's blank region, or the gate is closed and the region is re-collected
|
|
@@ -345,8 +390,9 @@ export declare class CalcExecutor {
|
|
|
345
390
|
*
|
|
346
391
|
* @remarks
|
|
347
392
|
* Shared only when nothing the evaluation read was per cell (`CalcScope.perCellRead`: a draw, a
|
|
348
|
-
*
|
|
349
|
-
* promise, not pending on one, not in a cycle. A
|
|
393
|
+
* computed reference; a position unless {@link _isPositionFree} rules it out), the result is a
|
|
394
|
+
* scalar, and the node ran on its own - not a promise, not pending on one, not in a cycle. A
|
|
395
|
+
* per-cell read is a fact of the formula and
|
|
350
396
|
* closes the gate for good ({@link FormulaSpatialValue.blankRefused}); the rest may not recur
|
|
351
397
|
* and close it for this pass ({@link _fallbackBlank}).
|
|
352
398
|
*
|
|
@@ -391,6 +437,13 @@ export declare class CalcExecutor {
|
|
|
391
437
|
* reaches every cell, so the nodes go dense ({@link FormulaSpatialValue.densify}) rather than
|
|
392
438
|
* being minted one by one through the sparse store.
|
|
393
439
|
*/
|
|
440
|
+
/**
|
|
441
|
+
* The representative's answer depends on the position, in a grid whose owner reads it a tile at
|
|
442
|
+
* a time (`CalcGridBackend.ConstructorOptions.paged`): the block keeps its sparse store and
|
|
443
|
+
* evaluates its blank region only inside the owner's tiles ({@link FormulaSpatialValue.blankPaged}),
|
|
444
|
+
* and what the rest of the region holds is cleared.
|
|
445
|
+
*/
|
|
446
|
+
private _pageBlank;
|
|
394
447
|
private _fallbackBlank;
|
|
395
448
|
/**
|
|
396
449
|
* What the pass reads for `node` right now — a member's starting value, before any demand
|
|
@@ -501,7 +554,7 @@ export declare class CalcExecutor {
|
|
|
501
554
|
* A `CalcNode` is a plain graph object reachable by identity long after the grid has replaced or
|
|
502
555
|
* dropped its block — the same hazard `doCollectVolatileCalcs` guards against with `isLiveBlock`.
|
|
503
556
|
*/
|
|
504
|
-
|
|
557
|
+
isLiveNode(node: CalcNode): boolean;
|
|
505
558
|
/**
|
|
506
559
|
* @internal
|
|
507
560
|
* A copy of the last pass's circular roster — see {@link _circularNodesLength} — each node
|
|
@@ -568,7 +621,7 @@ export declare class CalcExecutor {
|
|
|
568
621
|
* one if there is one, else the least recently used.
|
|
569
622
|
*/
|
|
570
623
|
private _rememberPlan;
|
|
571
|
-
doEvaluate(cycleId: number, getUpdates: (scope: string) => ICalcGrid.IncrementalUpdates,
|
|
624
|
+
doEvaluate(cycleId: number, getUpdates: (scope: string) => ICalcGrid.IncrementalUpdates, commit: (calcNodes: CalcNode[], calcNodesLength: number) => void, forceFull: boolean, plan: FixedPackedArray<CalcNode>): ISpatialMap | undefined;
|
|
572
625
|
}
|
|
573
626
|
export declare namespace CalcExecutor {
|
|
574
627
|
/** Per-pass options derived from ICalculation.CalculateOptions */
|
|
@@ -584,10 +637,25 @@ export declare namespace CalcExecutor {
|
|
|
584
637
|
* The grid to seed the pass FROM — `ICalculation.CalculateOptions.scope`, i.e. "Calculate Sheet".
|
|
585
638
|
*/
|
|
586
639
|
scopeGridId?: string;
|
|
640
|
+
/**
|
|
641
|
+
* The settle pass (DESIGN-ASYNC §4.5): seeded from what the settles marked only; the volatiles
|
|
642
|
+
* and the dirty set are left for the pass that owes them.
|
|
643
|
+
*/
|
|
644
|
+
settle?: boolean;
|
|
645
|
+
/**
|
|
646
|
+
* `ICalculation.CalculateOptions.external`: the calls the pass makes fetch past the workbook's
|
|
647
|
+
* cache, to the source.
|
|
648
|
+
*/
|
|
649
|
+
external?: boolean;
|
|
587
650
|
/**
|
|
588
651
|
* Iterative calculation (design §6.3) for the pass; `null`/absent with it off.
|
|
589
652
|
*/
|
|
590
653
|
iterate?: IterateOptions | null;
|
|
654
|
+
/**
|
|
655
|
+
* A reactive pass under `AutomaticExceptTables`: `TABLE` nodes are skipped and left dirty
|
|
656
|
+
* (DESIGN-DATA-TABLES §4.4); they come back in {@link ExecuteResult.skippedTables}.
|
|
657
|
+
*/
|
|
658
|
+
exceptTables?: boolean;
|
|
591
659
|
}
|
|
592
660
|
/** The two limits of `ICalculation.IterativeCalculation`. */
|
|
593
661
|
interface IterateOptions {
|
|
@@ -689,6 +757,8 @@ export declare namespace CalcExecutor {
|
|
|
689
757
|
precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
|
|
690
758
|
dynamicByBlock: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
|
|
691
759
|
lastUpdates: Map<string, ICalcGrid.IncrementalUpdates>;
|
|
760
|
+
/** The cells of the `TABLE` nodes an `exceptTables` pass skipped, scoped: still out of date. */
|
|
761
|
+
skippedTables?: IRange.Coords[];
|
|
692
762
|
}
|
|
693
763
|
}
|
|
694
764
|
//# sourceMappingURL=CalcExecutor.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
|
-
import { Tuple, ISpatialMap } from '../../collections';
|
|
2
|
+
import { Tuple, ISpatialMap, ISpatialQuery } from '../../collections';
|
|
3
3
|
import { CalcSignal } from '../../primitives/CalcSignal';
|
|
4
4
|
import { CalcNode } from '../state';
|
|
5
5
|
import { PrecedentSpatialValue, FormulaSpatialValue } from '../spatial';
|
|
@@ -39,6 +39,12 @@ export declare class DownstreamSignal extends CalcSignal {
|
|
|
39
39
|
constructor(node: CalcNode);
|
|
40
40
|
}
|
|
41
41
|
export declare function rangeToTuples(range: IRange, offsetMajor?: number, offsetMinor?: number): Tuple.Region<Scalar>;
|
|
42
|
+
/**
|
|
43
|
+
* A finalized result as an `evaluate()` call hands it out. A range is re-packed over a grid of
|
|
44
|
+
* cell-value runs (`createCellValueRun`), so the API returns what a cell would hold; the grid write
|
|
45
|
+
* is the packing, and the result reads its grid alone. Anything else is returned as it is.
|
|
46
|
+
*/
|
|
47
|
+
export declare function packForReturn<T>(finalized: T): T;
|
|
42
48
|
/**
|
|
43
49
|
* Fits a result to a fixed (array-entered) extent, per dimension: a dimension of 1 broadcasts, a
|
|
44
50
|
* longer one is clipped, a shorter one is padded with `#N/A`. Measured against Excel
|
|
@@ -56,6 +62,22 @@ export declare function fitToExtent(value: Scalar | IRange, rowCount: number, co
|
|
|
56
62
|
* to. `null` when every fitted cell is blank.
|
|
57
63
|
*/
|
|
58
64
|
export declare function fitToTuples(value: Scalar | IRange, coords: IRange.Coords, isColumn: boolean): Tuple.Region<Scalar> | null;
|
|
65
|
+
/**
|
|
66
|
+
* Visits, for every precedent entry that reads into `region`, the window of its block whose cells
|
|
67
|
+
* can see the region - the discovery step of a dirty walk (`CalcExecutor.doCollectDirtyCalcs`)
|
|
68
|
+
* and of a data table's affected set (`_WhatIf`).
|
|
69
|
+
*
|
|
70
|
+
* @remarks
|
|
71
|
+
* An entry spans the REFERENCED region, which may be larger than the block (a relative reference
|
|
72
|
+
* is widened per block cell), so the region is mapped back through that overflow to the block's
|
|
73
|
+
* own coordinates. An anchored endpoint sits at the same coordinate for every cell of the block,
|
|
74
|
+
* so it stops bounding which cells saw the change - that side opens to the whole block. The END
|
|
75
|
+
* endpoint bounds the near side, the START endpoint the far side (see `PrecedentSpatialValue`).
|
|
76
|
+
* A dynamic entry (`index < 0`) has no extent to map: it is reported whole.
|
|
77
|
+
*
|
|
78
|
+
* @param scratch An array the search fills; the caller's, reused across calls.
|
|
79
|
+
*/
|
|
80
|
+
export declare function visitReaderWindows(precedentSpatial: ISpatialQuery<PrecedentSpatialValue>, region: IRange.Coords, scratch: ISpatialMap.Entry<PrecedentSpatialValue>[], visitWindow: (block: FormulaSpatialValue, rowFrom: number, rowTo: number, colFrom: number, colTo: number) => void, visitDynamic: (entry: ISpatialMap.Entry<PrecedentSpatialValue>, block: FormulaSpatialValue) => void): void;
|
|
59
81
|
/**
|
|
60
82
|
* TODO - document and/or rationalize with visitPrecedentBlock
|
|
61
83
|
*/
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
|
+
import { CalcNode, IContextContainer } from '../state';
|
|
3
|
+
import { WhatIfLayer } from '../state/_WhatIfLayer';
|
|
4
|
+
/**
|
|
5
|
+
* A what-if data table as its `TABLE` formula states it (DESIGN-DATA-TABLES §1): the results'
|
|
6
|
+
* top-left cell and size, and the input cells, all on one grid.
|
|
7
|
+
*/
|
|
8
|
+
export interface WhatIfTable {
|
|
9
|
+
gridId: string;
|
|
10
|
+
/** The top-left result cell: where the `TABLE` formula sits. */
|
|
11
|
+
row: number;
|
|
12
|
+
col: number;
|
|
13
|
+
rows: number;
|
|
14
|
+
cols: number;
|
|
15
|
+
/** The cell the row axis values go into; `null` for a one-input table down a column. */
|
|
16
|
+
rowInput: IRange.CellCoords | null;
|
|
17
|
+
/** The cell the column axis values go into; `null` for a one-input table along a row. */
|
|
18
|
+
colInput: IRange.CellCoords | null;
|
|
19
|
+
}
|
|
20
|
+
/** What the what-if evaluation asks of the executor it runs inside. */
|
|
21
|
+
export interface WhatIfHost {
|
|
22
|
+
readonly container: IContextContainer;
|
|
23
|
+
/**
|
|
24
|
+
* Evaluates `node` where it sits, every read answered through the installed what-if layers: the
|
|
25
|
+
* cell's finalized value, a range for a spill.
|
|
26
|
+
*/
|
|
27
|
+
evaluate(node: CalcNode): Scalar | IRange;
|
|
28
|
+
/** The layer of a grid, made on first use over what the grid reads as now. */
|
|
29
|
+
layerFor(gridId: string): WhatIfLayer;
|
|
30
|
+
}
|
|
31
|
+
/** The rectangles of a table's edge: the formula cells, then the axes. All on the table's grid. */
|
|
32
|
+
export declare function whatIfEdge(table: WhatIfTable): IRange.Coords[];
|
|
33
|
+
/**
|
|
34
|
+
* The affected set S of a table (DESIGN-DATA-TABLES §4.3): every node downstream of an input
|
|
35
|
+
* that is upstream of a formula cell or an axis cell, in an order that evaluates a node after
|
|
36
|
+
* the nodes it reads. Widened to the whole downstream closure when a member reads through a
|
|
37
|
+
* dynamic reference, whose edges the index cannot bound.
|
|
38
|
+
*
|
|
39
|
+
* A `TABLE` node is never a member, this table's own included: another table's results are read as
|
|
40
|
+
* they stand, not re-run under this table's substitutions, as Excel reads them (design §2.2 T6).
|
|
41
|
+
* That also keeps the walk from passing through a table's own edges, which would reach the table.
|
|
42
|
+
*/
|
|
43
|
+
export declare function whatIfAffectedSet(container: IContextContainer, table: WhatIfTable): CalcNode[];
|
|
44
|
+
/**
|
|
45
|
+
* A table's results under the what-if protocol of DESIGN-DATA-TABLES §2.2, evaluating `affected`
|
|
46
|
+
* (from {@link whatIfAffectedSet}) under each substitution. The layers are the host's; nothing is
|
|
47
|
+
* restored, the caller drops them.
|
|
48
|
+
*/
|
|
49
|
+
export declare function runWhatIf(host: WhatIfHost, table: WhatIfTable, affected: readonly CalcNode[]): Scalar[][];
|
|
50
|
+
//# sourceMappingURL=_WhatIf.d.ts.map
|
|
@@ -93,6 +93,15 @@ export declare class Formula implements ICalculation.IFormula {
|
|
|
93
93
|
* Provides a string representation of the formula.
|
|
94
94
|
*/
|
|
95
95
|
toString(): string;
|
|
96
|
+
/**
|
|
97
|
+
* The formula text with its leading `=`, as `ICell.getFormulaText` gives it, so that
|
|
98
|
+
* logging or stringifying a formula reads as the formula.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* Typed `unknown` so a subclass with a persisted form of its own (`NamedFormula`) can answer
|
|
102
|
+
* with that instead.
|
|
103
|
+
*/
|
|
104
|
+
toJSON(): unknown;
|
|
96
105
|
/** {@inheritDoc ICalculation.IFormula.isIFormula} */
|
|
97
106
|
get isIFormula(): true;
|
|
98
107
|
}
|
|
@@ -47,6 +47,8 @@ export declare class FormulaBlock implements IFormulaBlock {
|
|
|
47
47
|
* `null` = this block's precedents are not a pure translation.
|
|
48
48
|
*/
|
|
49
49
|
protected _precedentTemplate: PrecedentTemplate | null | undefined;
|
|
50
|
+
/** {@link getPositionVariants}' answer, built on first ask. `undefined` = not asked yet. */
|
|
51
|
+
protected _positionVariants: FormulaBlock[] | null | undefined;
|
|
50
52
|
/** {@link getRecord}'s answer, built on first ask; every vend of this block shares it. */
|
|
51
53
|
private _record;
|
|
52
54
|
constructor(compiled: CompiledFormula, context: IFormulaContext, scope: CalcScope, gridId: string | null, getEntireCoords: () => IRange.Coords, resolvers?: FormulaBlockResolvers | null);
|
|
@@ -78,10 +80,16 @@ export declare class FormulaBlock implements IFormulaBlock {
|
|
|
78
80
|
getReferencedSymbolIds(): string[];
|
|
79
81
|
/** @inheritdoc IFormulaBlock.hasTotals */
|
|
80
82
|
hasTotals(): boolean;
|
|
83
|
+
/** @inheritdoc IFormulaBlock.hasDataTable */
|
|
84
|
+
hasDataTable(): boolean;
|
|
85
|
+
/** @inheritdoc IFormulaBlock.hasVolatile */
|
|
86
|
+
hasVolatile(): boolean;
|
|
81
87
|
/** @inheritdoc IFormulaBlock.isBlankCacheable */
|
|
82
88
|
isBlankCacheable(arrayMode?: boolean): boolean;
|
|
83
89
|
/** @inheritdoc IFormulaBlock.demandFirstCell */
|
|
84
90
|
demandFirstCell(): void;
|
|
91
|
+
/** @inheritdoc IFormulaBlock.getPositionVariants */
|
|
92
|
+
getPositionVariants(): FormulaBlock[] | null;
|
|
85
93
|
/** @inheritdoc IFormulaBlock.isReferenceOnly */
|
|
86
94
|
isReferenceOnly(): boolean;
|
|
87
95
|
/** @inheritdoc IFormulaBlock.isEquals */
|
|
@@ -268,10 +276,9 @@ export declare class FormulaBlock implements IFormulaBlock {
|
|
|
268
276
|
protected _evaluateSubtree(node: ASTNode, regs: any[], frame: ReadonlyMap<number, any> | null, row: number, column: number): any;
|
|
269
277
|
/**
|
|
270
278
|
* Runs an execution list — the eager `executions` or a deferred root's list — writing each
|
|
271
|
-
* node's result into its register.
|
|
272
|
-
* case the rest of the list is queued behind it.
|
|
279
|
+
* node's result into its register.
|
|
273
280
|
*/
|
|
274
|
-
protected _runList(list: ASTNode[], regs: any[], row: number, column: number, frame: ReadonlyMap<number, any> | null):
|
|
281
|
+
protected _runList(list: ASTNode[], regs: any[], row: number, column: number, frame: ReadonlyMap<number, any> | null): void;
|
|
275
282
|
/**
|
|
276
283
|
* The execution list of a subtree that is NOT a deferred root — a partial evaluation (the
|
|
277
284
|
* editor's tooltip) pointing inside a lazy argument. The enclosing root's list restricted to
|
|
@@ -346,6 +346,20 @@ export interface IFormulaBlock extends IFormulaBlockView {
|
|
|
346
346
|
* either all of them call a total function or none do.
|
|
347
347
|
*/
|
|
348
348
|
hasTotals(): boolean;
|
|
349
|
+
/**
|
|
350
|
+
* Whether the formula calls `TABLE`, the what-if data table, anywhere in its tree. Read off the
|
|
351
|
+
* compiled cache (`CompiledFormula.hasDataTable`).
|
|
352
|
+
*/
|
|
353
|
+
hasDataTable(): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* Whether the formula names a volatile function anywhere in its tree.
|
|
356
|
+
*
|
|
357
|
+
* @remarks
|
|
358
|
+
* Read straight off the compiled cache — see `CompiledFormula.hasVolatile`: the declaration of
|
|
359
|
+
* each function answers, at compile time, so a call in an arm no branch selects still counts.
|
|
360
|
+
* A name the formula mentions is not descended into; its body answers for itself.
|
|
361
|
+
*/
|
|
362
|
+
hasVolatile(): boolean;
|
|
349
363
|
/**
|
|
350
364
|
* Whether the cells of a block running this formula whose relative inputs are all blank share
|
|
351
365
|
* one value within a pass, as far as the formula TEXT can say.
|
|
@@ -365,6 +379,13 @@ export interface IFormulaBlock extends IFormulaBlockView {
|
|
|
365
379
|
* `[0,0]` read (`CompilerUtils.annotateFirstCell`). Idempotent.
|
|
366
380
|
*/
|
|
367
381
|
demandFirstCell(): void;
|
|
382
|
+
/**
|
|
383
|
+
* This formula with every position test (`ISODD(ROW())`, `ROW()>1`) replaced by `TRUE` and by
|
|
384
|
+
* `FALSE`, in every combination — see `CompilerUtils.positionVariants`. When all of them answer
|
|
385
|
+
* alike at a cell without reading the position, the formula's answer there does not depend on
|
|
386
|
+
* the position. `null` when there is nothing to vary. Built once.
|
|
387
|
+
*/
|
|
388
|
+
getPositionVariants(): IFormulaBlock[] | null;
|
|
368
389
|
/**
|
|
369
390
|
* If the formula is logically equal to another formula.
|
|
370
391
|
*
|
|
@@ -39,9 +39,11 @@ export interface LambdaParam {
|
|
|
39
39
|
*
|
|
40
40
|
* @remarks
|
|
41
41
|
* CALCULATION-PRIVATE, like stable ids: nothing here reaches a public API. The one boundary rule
|
|
42
|
-
* is the cell's — an unconsumed lambda renders `#CALC
|
|
43
|
-
*
|
|
44
|
-
*
|
|
42
|
+
* is the cell's — an unconsumed lambda renders `#CALC!`, as a top-level result in `finalizeValue`
|
|
43
|
+
* and as a member of an array result where the engine's value grid makes its runs
|
|
44
|
+
* (`createCellValueRun`) — and every consumer that needs a scalar or a location fails to COERCE it
|
|
45
|
+
* with `#VALUE!` (the `isLambda` brand is what the coercion sites check, the same structural
|
|
46
|
+
* pattern as `isIRange`).
|
|
45
47
|
*
|
|
46
48
|
* A lambda closes over its creation context by SNAPSHOT, not by reference: `regs` is a copy of the
|
|
47
49
|
* creating formula's register file at the moment the `LAMBDA` node evaluated. The copy is what
|
|
@@ -8,6 +8,9 @@ import { IFunction } from '@sheetxl/primitives';
|
|
|
8
8
|
* range in a slot is taken whole or intersected, for one. That question has an answer before any
|
|
9
9
|
* engine starts, and the same answer wherever it is asked, so it is read here rather than from a
|
|
10
10
|
* calculation's live function registry. The data is the declaration the compiler compiles from.
|
|
11
|
+
*
|
|
12
|
+
* The table loads with the formula parser: await `FormulaText.load()` first. Until then every
|
|
13
|
+
* name is unknown.
|
|
11
14
|
*/
|
|
12
15
|
export declare namespace FunctionDeclarations {
|
|
13
16
|
/** A declared function. */
|
|
@@ -20,7 +23,8 @@ export declare namespace FunctionDeclarations {
|
|
|
20
23
|
isBuiltIn(): boolean;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
|
-
* Returns a built-in function's declaration, or `null` when no built-in has that name
|
|
26
|
+
* Returns a built-in function's declaration, or `null` when no built-in has that name or the
|
|
27
|
+
* table is not loaded.
|
|
24
28
|
*
|
|
25
29
|
* @param name The canonical (English) name. Not case sensitive.
|
|
26
30
|
*/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IFormulaContext } from '@sheetxl/primitives';
|
|
2
|
+
import { FunctionDeclarationModule, Implementations, DescriptorModule } from '@sheetxl/scripting';
|
|
3
|
+
/**
|
|
4
|
+
* The category `TABLE` is listed under: ours, not Excel's. Excel has no `TABLE` a user may type, so
|
|
5
|
+
* the writer treats it as a function Excel does not have wherever it cannot write Excel's tag.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DataTableCategory = "SheetXL";
|
|
8
|
+
/** `TABLE`'s declarations, as the declaration table and the function registry read them. */
|
|
9
|
+
export declare const DataTableDeclarations: FunctionDeclarationModule;
|
|
10
|
+
/** `TABLE`'s descriptors, loaded on demand like the built-ins'. */
|
|
11
|
+
export declare const DataTableDescriptors: () => Promise<DescriptorModule>;
|
|
12
|
+
/** The implementation the registry binds `TABLE`'s declaration to. */
|
|
13
|
+
export declare const createDataTableImplementations: (getContext: () => IFormulaContext) => Implementations;
|
|
14
|
+
//# sourceMappingURL=_DataTableFunction.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IFunction } from '@sheetxl/primitives';
|
|
2
|
+
import { MinifiedDeclaration } from '@sheetxl/scripting';
|
|
3
|
+
/**
|
|
4
|
+
* Expands one minified built-in declaration into its JSON, with the ids of the enums its
|
|
5
|
+
* parameters use.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Pure: what a declaration says about its slots, with no implementation attached. The function
|
|
9
|
+
* registry binds the result to an implementation; `FunctionDeclarations` reads it as data.
|
|
10
|
+
*/
|
|
11
|
+
export declare function expandDeclaration(builtInName: string, builtIn: MinifiedDeclaration, expandEnum: (id: string) => IFunction.EnumJSON | undefined): {
|
|
12
|
+
decl: IFunction.DeclarationJSON;
|
|
13
|
+
enumIds: string[];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=expandDeclaration.d.ts.map
|
|
@@ -17,18 +17,6 @@ export declare function initializeFunctions(getContext: () => IFormulaContext, p
|
|
|
17
17
|
* @param defaultCategory the default category to use if not specified in the declaration
|
|
18
18
|
* @param enums the module's enums, which its parameters reference by id
|
|
19
19
|
*/
|
|
20
|
-
/**
|
|
21
|
-
* Expands one minified built-in declaration into its JSON, with the ids of the enums its
|
|
22
|
-
* parameters use.
|
|
23
|
-
*
|
|
24
|
-
* @remarks
|
|
25
|
-
* Pure: what a declaration says about its slots, with no implementation attached. The function
|
|
26
|
-
* registry binds the result to an implementation; `FunctionDeclarations` reads it as data.
|
|
27
|
-
*/
|
|
28
|
-
export declare function expandDeclaration(builtInName: string, builtIn: MinifiedDeclaration, expandEnum: (id: string) => IFunction.EnumJSON | undefined): {
|
|
29
|
-
decl: IFunction.DeclarationJSON;
|
|
30
|
-
enumIds: string[];
|
|
31
|
-
};
|
|
32
20
|
export declare const bindDeclarations: (mapFunctions: Map<string, IFunction>, getContext: () => IFormulaContext, implementations: Implementations, // TODO make this dynamic
|
|
33
21
|
declarations: MinifiedDeclaration, // TODO make this dynamic
|
|
34
22
|
getDynamicDescriptors?: DynamicDescriptors, defaultCategory?: string, enums?: MinifiedEnums) => void;
|
|
@@ -45,12 +45,14 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
45
45
|
protected readonly _sizeOf: string | undefined;
|
|
46
46
|
/** The aggregate cache over the values; bound to the map INSTANCE, so it follows every clone. */
|
|
47
47
|
protected _rangeStats: RangeStats;
|
|
48
|
+
/** The fixed size the grid was made with, or `null` for one sized by `sizeOf` or the default. */
|
|
49
|
+
protected readonly _fixedCoords: IRange.Coords | null;
|
|
48
50
|
/**
|
|
49
51
|
* Bumped whenever the value map is mutated IN PLACE (a vend that landed on this grid's own
|
|
50
|
-
* instance, a load): what
|
|
51
|
-
*
|
|
52
|
+
* instance, a load): what the views derived from the values invalidate by, since the map's
|
|
53
|
+
* identity does not change then. See {@link getValuesEpoch}.
|
|
52
54
|
*/
|
|
53
|
-
protected
|
|
55
|
+
protected _valuesEpoch: number;
|
|
54
56
|
/** The reconciled error-VALUE view; see {@link getErrorValues}. */
|
|
55
57
|
protected _errorReconciled: {
|
|
56
58
|
values: ISparseGrid<Scalar>;
|
|
@@ -67,6 +69,18 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
67
69
|
protected _emitter: ListenerEmitter<ICalcGrid, ICalcGrid.IListeners> | null;
|
|
68
70
|
protected _closed: boolean;
|
|
69
71
|
constructor(options: CalcGrid.ConstructorOptions);
|
|
72
|
+
/** An empty grid's state, with the aggregate cache bound to its value map. */
|
|
73
|
+
protected _freshState(): CalcGrid.State;
|
|
74
|
+
/**
|
|
75
|
+
* Gives a grid that a restore left without state - one made in a commit since undone - an empty
|
|
76
|
+
* state at the current commit again, under the same id, folded into that commit. A redo then
|
|
77
|
+
* restores the grid's own record where this front reads it; a new grid under the id would read
|
|
78
|
+
* nothing there. The engine has to be told of the grid again as well: its grids are versioned too.
|
|
79
|
+
*
|
|
80
|
+
* @returns `true` when a state was made; `false` for a grid that has one, or is closed.
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
_revive(): boolean;
|
|
70
84
|
/**
|
|
71
85
|
* Open this grid's maps from a content record, replacing what they hold: the formulas, the
|
|
72
86
|
* values, their contentful summary, the error ones among them, the array extents the record
|
|
@@ -87,6 +101,24 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
87
101
|
* own transaction.
|
|
88
102
|
*/
|
|
89
103
|
protected _getState(transaction?: ITransaction | null): Readonly<CalcGrid.State>;
|
|
104
|
+
/**
|
|
105
|
+
* This grid, reading the record it holds now for as long as it is kept: what a snapshot sheet
|
|
106
|
+
* reads, so a copy reads its source as it was when marked, not after the destination - which
|
|
107
|
+
* can overlap it - was cleared. A read that names a transaction still answers for it.
|
|
108
|
+
* @internal
|
|
109
|
+
*/
|
|
110
|
+
_pinned(): ICalcGrid;
|
|
111
|
+
/**
|
|
112
|
+
* This grid reading the record it held at a commit: what a sheet as of that commit reads.
|
|
113
|
+
* `null` when the store no longer has the commit, or the grid did not exist at it.
|
|
114
|
+
*
|
|
115
|
+
* @remarks
|
|
116
|
+
* Sound because history is never written: a pass that lands on a record history shares lands
|
|
117
|
+
* a clone, so the record a commit kept holds the values it was calculated with.
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
_pinnedAt(commitId: string): ICalcGrid | null;
|
|
121
|
+
private _pinTo;
|
|
90
122
|
/**
|
|
91
123
|
* This grid's record as it was at a commit; the current one for the operation in progress;
|
|
92
124
|
* `undefined` for a commit the store no longer has on its live history.
|
|
@@ -103,7 +135,7 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
103
135
|
/** {@inheritDoc ICalcGrid.getSpills} */
|
|
104
136
|
getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
|
|
105
137
|
/** {@inheritDoc ICalcGrid.getPending} */
|
|
106
|
-
|
|
138
|
+
getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
|
|
107
139
|
/** {@inheritDoc ICalcGrid.getCalcErrors} */
|
|
108
140
|
getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
|
|
109
141
|
/** {@inheritDoc ICalcGrid.getCirculars} */
|
|
@@ -112,6 +144,8 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
112
144
|
getVolatileRegions(): IRange.Address[] | null;
|
|
113
145
|
/** {@inheritDoc ICalcGrid.getRangeStats} */
|
|
114
146
|
getRangeStats(): RangeStats;
|
|
147
|
+
/** {@inheritDoc ICalcGrid.getValuesEpoch} */
|
|
148
|
+
getValuesEpoch(): number;
|
|
115
149
|
/** {@inheritDoc ICalcGrid.getErrorValues} */
|
|
116
150
|
getErrorValues(): ISpatialMap<boolean>;
|
|
117
151
|
/**
|
|
@@ -195,10 +229,10 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
195
229
|
_isOwned(): boolean;
|
|
196
230
|
/** {@inheritDoc ICalcGrid.Backend.requestPass} @internal */
|
|
197
231
|
_requestPass(): void;
|
|
232
|
+
/** {@inheritDoc ICalcGrid.Backend.demand} @internal */
|
|
233
|
+
_demand(rects: readonly IRange.Coords[]): void;
|
|
198
234
|
/** {@inheritDoc ICalcGrid.getGraphNeighborsAt} */
|
|
199
235
|
getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
200
|
-
/** {@inheritDoc ICalcGrid.Backend.getNameGraph} @internal */
|
|
201
|
-
_getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
202
236
|
/** {@inheritDoc ICalcGrid.evaluateAt} */
|
|
203
237
|
evaluateAt(row: number, column: number, options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
|
|
204
238
|
/** `true` once closed: its state is gone. @internal */
|
|
@@ -215,7 +249,7 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
215
249
|
* as any answer does. Nothing is written here first - the text is the engine's to make.
|
|
216
250
|
* @internal
|
|
217
251
|
*/
|
|
218
|
-
_setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
|
|
252
|
+
_setBody(options: ICalcGrid.BodyOptions, isCurrent?: () => boolean): Promise<ICalcGrid.Results>;
|
|
219
253
|
/** {@inheritDoc ICalcGrid.isVolatileAt} */
|
|
220
254
|
isVolatileAt(row: number, column: number): Promise<boolean>;
|
|
221
255
|
/** {@inheritDoc ICalcGrid.addListeners} */
|
|
@@ -360,12 +394,12 @@ export declare namespace CalcGrid {
|
|
|
360
394
|
*/
|
|
361
395
|
volatile: IRange.Address[] | null;
|
|
362
396
|
/** Cells the engine has not answered for yet. */
|
|
363
|
-
|
|
397
|
+
calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
364
398
|
/** Engine FAILURES by cell, as a message. Not error values - those are in the values. */
|
|
365
399
|
calcErrorsSpatial: ISpatialMap<string>;
|
|
366
400
|
/**
|
|
367
401
|
* Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
|
|
368
|
-
* Maintained from the executor's deltas, like {@link
|
|
402
|
+
* Maintained from the executor's deltas, like {@link calcStatusSpatial}.
|
|
369
403
|
*/
|
|
370
404
|
circularSpatial: ISpatialMap<CircularEntry>;
|
|
371
405
|
/**
|
|
@@ -401,7 +435,7 @@ export declare namespace CalcGrid {
|
|
|
401
435
|
values: ISparseGrid<Scalar>;
|
|
402
436
|
contentful: ISpatialMap<ContentfulSpatialValue>;
|
|
403
437
|
spills: ISpatialMap<SpillEntry>;
|
|
404
|
-
|
|
438
|
+
calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
405
439
|
calcErrors: ISpatialMap<string>;
|
|
406
440
|
circulars: ISpatialMap<CircularEntry>;
|
|
407
441
|
errorValues: ISpatialMap<boolean>;
|