@sheetxl/sdk 0.8.0-beta.1 → 0.8.0-beta.11
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/THIRD-PARTY-NOTICES.md +1 -1
- package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
- package/browser/esm/BFagR2JeWs74iAG3.mjs +171 -0
- package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
- package/browser/esm/BLoUBId2xZpXAK_H.mjs +698 -0
- package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
- package/browser/esm/BVDiOXGMc5_FMGfy.mjs +400 -0
- package/browser/esm/BjkCiv5Jz6WYKZeu.mjs +598 -0
- package/browser/esm/BkBhLS0l6z8sxI6D.mjs +441 -0
- package/browser/esm/BnG31I6Oj_HEtSPS.mjs +167 -0
- package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
- package/browser/esm/BpgskG1Er_lGQ_yS.mjs +142 -0
- package/browser/esm/BtvLTTfSBdAKplVG.mjs +466 -0
- package/browser/esm/C16ycKja6zG0crV_.mjs +55580 -0
- package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
- package/browser/esm/C4MqfLn9Dm-l3OIk.mjs +540 -0
- package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
- package/browser/esm/CHU6iu_WGlm7fLET.mjs +1001 -0
- package/browser/esm/CQYjO777cmAznUzK.mjs +527 -0
- package/browser/esm/CU3DmJ-YnVVrC1_k.mjs +1123 -0
- package/browser/esm/CV5EGEjG5_-CPpP0.mjs +8212 -0
- package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
- package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
- package/browser/esm/ClPfI4lODvCece29.mjs +632 -0
- package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
- package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Ctjb0SsxV4K4MMqG.mjs} +179 -202
- package/browser/esm/D5np__Jb1euAyaLw.mjs +7 -0
- package/browser/esm/DEiPS3Dr-s4fPbVZ.mjs +607 -0
- package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
- package/browser/esm/DWNzqw7DUKwoxjri.mjs +20 -0
- package/browser/esm/{B0HS42a7lga1k1U_.mjs → Dlmig06rIo7cInRk.mjs} +2 -2
- package/browser/esm/{f2G3QRgEbvFJcoa2.mjs → DvAaxH6z_tGvrRzl.mjs} +1704 -1008
- package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
- package/browser/esm/PcHFjNzQsE54POri.mjs +1141 -0
- package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
- package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
- package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
- package/browser/esm/index.mjs +1759 -1161
- package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
- package/browser/esm/zlLuW405RSguy4Kn.mjs +357 -0
- package/licenses/dependencies.txt +141 -141
- package/node/esm/2Kihw_-5lVTEnwMa.mjs +1132 -0
- package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
- package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
- package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
- package/node/esm/BIRq1kT7lLRzns9t.mjs +610 -0
- package/node/esm/BIwObuhTJYf0jpUa.mjs +451 -0
- package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
- package/node/esm/BqiexuA89caYnAPz.mjs +1135 -0
- package/node/esm/BrCKGFRsX_ezFJ4B.mjs +811 -0
- package/node/esm/CCN5vD410obwdz38.mjs +405 -0
- package/node/esm/{Cku7XiUvw1xrRasi.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
- package/node/esm/CGp6VZL-gZa9Uezx.mjs +1860 -0
- package/node/esm/CNCNJNg890KdgkWh.mjs +142 -0
- package/node/esm/CZICGK_ss0HoGHCP.mjs +7 -0
- package/node/esm/CZiqiay42tFTrLI4.mjs +171 -0
- package/node/esm/CdJHUJSBRHZoryPe.mjs +360 -0
- package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
- package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
- package/node/esm/CzXT00vrQa1_gvW9.mjs +28 -0
- package/node/esm/D1TKBVmoKGAXf37B.mjs +402 -0
- package/node/esm/D2KBymQJd1XhpeQD.mjs +540 -0
- package/node/esm/D6e2z7eZpxOJXHc7.mjs +1783 -0
- package/node/esm/D8zEN-6ZdDqDvTxM.mjs +639 -0
- package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
- package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
- package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
- package/node/esm/D_t5AUxSm7_icjzq.mjs +638 -0
- package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
- package/node/esm/De2IONBxQhz-Qbyh.mjs +596 -0
- package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
- package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
- package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
- package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
- package/node/esm/cGwrLA1RCE-WhJ7w.mjs +255 -0
- package/node/esm/index.mjs +2873 -53929
- package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
- package/node/esm/yavzZOiZW_EjG9lE.mjs +15 -0
- package/package.json +15 -17
- package/resources/contents.json +184 -0
- package/resources/fonts/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/arial-bold-italic.metrics.json +139 -0
- 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 +139 -0
- 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 +139 -0
- 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 +139 -0
- 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 +137 -0
- 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 +137 -0
- 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 +137 -0
- 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 +137 -0
- 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 +66 -0
- 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 +66 -0
- 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 +66 -0
- 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 +66 -0
- package/resources/fonts/cambria-regular.rows.json +9 -0
- package/resources/fonts/contents.json +406 -0
- package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
- 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 +143 -0
- 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 +143 -0
- 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 +143 -0
- 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 +141 -0
- 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 +141 -0
- 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 +143 -0
- 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 +141 -0
- package/resources/fonts/times-new-roman-regular.rows.json +9 -0
- package/resources/locales/de/model.msg.json +199 -21
- package/resources/locales/en/model.msg.json +207 -23
- package/types/scripting-api.json +10663 -0
- package/types/scripting-enums.json +435 -130
- package/types/scripting.d.ts +33010 -15730
- 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/anchored/AbstractAnchored.d.ts +18 -8
- package/types/src/anchored/AnchoredMap.d.ts +2 -0
- package/types/src/anchored/IAnchoredMap.d.ts +52 -4
- package/types/src/autoFill/AutoFill.d.ts +316 -32
- package/types/src/autoFill/IAutoFill.d.ts +232 -15
- package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +58 -41
- package/types/src/border/index.d.ts +1 -1
- package/types/src/calculation/Calculation.d.ts +584 -149
- package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
- package/types/src/calculation/FormulaLiterals.d.ts +2 -1
- package/types/src/calculation/FormulaText.d.ts +98 -0
- package/types/src/calculation/ICalculation.d.ts +353 -88
- package/types/src/calculation/INamedFormulasCollection.d.ts +9 -8
- package/types/src/calculation/NamedFormulaCollection.d.ts +322 -115
- package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
- package/types/src/calculation/TokenType.d.ts +9 -0
- package/types/src/calculation/Types.d.ts +83 -2
- package/types/src/calculation/_CloneBoundary.d.ts +80 -0
- package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
- package/types/src/calculation/_TableExtent.d.ts +60 -0
- package/types/src/calculation/_TableRename.d.ts +13 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +152 -44
- package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
- package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
- package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +42 -1
- package/types/src/calculation/compiler/SRParser.d.ts +2 -1
- package/types/src/calculation/compiler/Types.d.ts +79 -9
- package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
- package/types/src/calculation/engine/index.d.ts +10 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +331 -33
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +49 -2
- package/types/src/calculation/executor/CircularReference.d.ts +2 -0
- package/types/src/calculation/formula/Formula.d.ts +67 -21
- package/types/src/calculation/formula/FormulaBlock.d.ts +131 -23
- package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
- package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +277 -67
- package/types/src/calculation/formula/LambdaValue.d.ts +51 -26
- package/types/src/calculation/formula/LazyValue.d.ts +96 -0
- package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
- package/types/src/calculation/formula/index.d.ts +1 -0
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +35 -0
- package/types/src/calculation/functions/Operators.d.ts +8 -0
- package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +3 -2
- package/types/src/calculation/grid/CalcGrid.d.ts +443 -158
- package/types/src/calculation/grid/CalcGridBackend.d.ts +523 -0
- package/types/src/calculation/grid/CalcGridProxy.d.ts +135 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +69 -12
- package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
- package/types/src/calculation/grid/FormulaHost.d.ts +284 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +528 -141
- package/types/src/calculation/grid/_CalcRequest.d.ts +299 -0
- package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
- package/types/src/calculation/grid/index.d.ts +4 -0
- package/types/src/calculation/index.d.ts +2 -0
- package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +364 -11
- package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
- package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
- package/types/src/calculation/spatial/index.d.ts +1 -0
- package/types/src/calculation/state/CalcInputs.d.ts +41 -0
- package/types/src/calculation/state/CalcNode.d.ts +141 -30
- package/types/src/calculation/state/CalcScope.d.ts +46 -0
- package/types/src/calculation/state/CalcState.d.ts +32 -1
- package/types/src/calculation/state/CalculationContext.d.ts +50 -3
- package/types/src/calculation/state/IContextContainer.d.ts +141 -27
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
- package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
- package/types/src/calculation/state/index.d.ts +1 -0
- package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
- package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
- package/types/src/calculation/symbol/index.d.ts +3 -2
- 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 +357 -33
- package/types/src/cell/ICellHeader.d.ts +31 -8
- package/types/src/cell/ICellProtection.d.ts +50 -10
- 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 +737 -130
- package/types/src/cellRange/ICellRanges.d.ts +31 -24
- package/types/src/chart/Chart.d.ts +246 -16
- package/types/src/chart/ChartCollection.d.ts +31 -0
- package/types/src/chart/IChart.d.ts +2058 -18
- package/types/src/chart/IChartCollection.d.ts +50 -0
- 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 +5 -3
- 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 +825 -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 +51 -0
- package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
- package/types/src/collections/ArraysGrid.d.ts +1 -1
- package/types/src/collections/IGrid.d.ts +1 -1
- package/types/src/collections/ISparseGrid.d.ts +9 -0
- package/types/src/collections/ISpatialMap.d.ts +59 -21
- package/types/src/collections/ImmutableList.d.ts +28 -0
- package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
- package/types/src/collections/RTree.d.ts +116 -36
- package/types/src/collections/RepeatingList.d.ts +7 -0
- package/types/src/collections/ScalarGrid.d.ts +50 -0
- package/types/src/collections/SparseGrid.d.ts +7 -4
- package/types/src/collections/SpatialMap.d.ts +15 -29
- package/types/src/collections/SpatialMap3D.d.ts +2 -0
- package/types/src/collections/Tuple.d.ts +128 -16
- package/types/src/collections/_GridUtils.d.ts +19 -6
- package/types/src/collections/_SpatialUtils.d.ts +20 -2
- package/types/src/collections/index.d.ts +2 -1
- package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
- package/types/src/comment/Comment.d.ts +246 -0
- package/types/src/comment/CommentCollection.d.ts +40 -0
- package/types/src/comment/IComment.d.ts +377 -50
- package/types/src/comment/ICommentCollection.d.ts +90 -0
- package/types/src/comment/NoteMovable.d.ts +26 -0
- package/types/src/comment/_CommentUtils.d.ts +50 -0
- package/types/src/comment/_NoteBox.d.ts +67 -0
- package/types/src/comment/index.d.ts +1 -0
- package/types/src/condition/AnchoredConditional.d.ts +110 -19
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
- package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
- package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
- package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
- package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
- package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
- package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
- package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
- package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
- package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
- package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
- package/types/src/condition/Condition.d.ts +19 -1
- package/types/src/condition/ICondition.d.ts +296 -75
- package/types/src/condition/_ConditionFormula.d.ts +152 -0
- package/types/src/condition/_ConditionUtils.d.ts +167 -13
- package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +34 -17
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +16 -13
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
- package/types/src/dataTable/DataTable.d.ts +67 -0
- package/types/src/dataTable/DataTableCollection.d.ts +19 -0
- package/types/src/dataTable/IDataTable.d.ts +99 -0
- package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
- package/types/src/dataTable/index.d.ts +6 -0
- package/types/src/dataValidation/DataValidation.d.ts +70 -4
- package/types/src/dataValidation/DataValidationCollection.d.ts +23 -9
- package/types/src/dataValidation/IDataValidation.d.ts +150 -31
- package/types/src/dataValidation/IDataValidationCollection.d.ts +34 -2
- package/types/src/date/DateUtils.d.ts +20 -0
- package/types/src/date/_DateUtils.d.ts +91 -7
- 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/ExternalBookCollection.d.ts +145 -12
- package/types/src/externalBook/ExternalBookName.d.ts +96 -0
- package/types/src/externalBook/IExternalBook.d.ts +171 -19
- package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
- package/types/src/externalBook/index.d.ts +1 -0
- package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
- package/types/src/{lib/file → file}/file.node.d.ts +7 -2
- package/types/src/fill/IEffect.d.ts +5 -5
- package/types/src/fill/IFill.d.ts +129 -77
- package/types/src/fill/IFillable.d.ts +47 -0
- package/types/src/fill/IStroke.d.ts +204 -64
- package/types/src/fill/PaintUtils.d.ts +22 -0
- package/types/src/fill/RectAlignment.d.ts +20 -0
- package/types/src/fill/_Fills.d.ts +187 -0
- package/types/src/fill/_Stroke.d.ts +89 -0
- package/types/src/fill/index.d.ts +3 -0
- package/types/src/filter/IFilter.d.ts +188 -5
- package/types/src/font/AdvanceBuilder.d.ts +59 -0
- package/types/src/font/AdvanceTable.d.ts +228 -0
- 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 +108 -0
- 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 +208 -61
- package/types/src/font/IFontCollection.d.ts +126 -22
- package/types/src/font/IFontStyle.d.ts +207 -0
- package/types/src/font/TableFileAdvanceBuilder.d.ts +36 -0
- package/types/src/font/_BuiltinFontTables.d.ts +10 -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 +2 -1
- 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 +141 -0
- package/types/src/group/GroupMovableCollection.d.ts +41 -0
- package/types/src/group/IGroup.d.ts +129 -0
- package/types/src/group/index.d.ts +2 -0
- package/types/src/history/IHistory.d.ts +21 -3
- package/types/src/hyperlink/IHyperlink.d.ts +20 -1
- package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
- package/types/src/i18n/LanguagePack.d.ts +12 -4
- package/types/src/index.d.ts +8 -0
- package/types/src/io/AbstractBackingStore.d.ts +24 -1
- package/types/src/io/ArrayBackingStore.d.ts +1 -1
- package/types/src/io/EmbeddedPart.d.ts +20 -0
- package/types/src/io/IEmbeddedPart.d.ts +63 -0
- package/types/src/io/IWorkbookIO.d.ts +185 -18
- package/types/src/io/WorkbookIO.d.ts +9 -0
- package/types/src/io/WorkbookOrigin.d.ts +20 -11
- package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
- package/types/src/io/_XmlFragment.d.ts +49 -0
- package/types/src/io/index.d.ts +1 -0
- package/types/src/license/LicenseDetails.d.ts +1 -0
- package/types/src/license/LicenseManager.d.ts +25 -1
- package/types/src/license/Types.d.ts +38 -0
- package/types/src/license/_Utils.d.ts +39 -0
- package/types/src/license/details.d.ts +24 -0
- package/types/src/license/license-key.d.ts +49 -2
- package/types/src/license/runtime.browser.d.ts +46 -0
- package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +19 -12
- package/types/src/listener/IListener.d.ts +23 -6
- package/types/src/listener/ListenerEmitter.d.ts +55 -6
- package/types/src/model/AbstractModel.d.ts +14 -5
- package/types/src/movable/AbstractMovableContent.d.ts +182 -0
- package/types/src/movable/CustomElement.d.ts +4 -5
- package/types/src/movable/ErrorContent.d.ts +49 -0
- package/types/src/movable/FormControl.d.ts +285 -0
- package/types/src/movable/GroupMember.d.ts +87 -0
- package/types/src/movable/ICustomElement.d.ts +7 -2
- package/types/src/movable/IErrorContent.d.ts +23 -0
- package/types/src/movable/IFormControl.d.ts +455 -0
- package/types/src/movable/IMovable.d.ts +405 -60
- package/types/src/movable/IMovableCollection.d.ts +64 -4
- package/types/src/movable/Movable.d.ts +161 -50
- package/types/src/movable/MovableCollection.d.ts +21 -10
- package/types/src/movable/MovableContentRegistry.d.ts +113 -0
- package/types/src/movable/_BuiltInContents.d.ts +14 -0
- package/types/src/movable/_ContentFactory.d.ts +35 -0
- package/types/src/movable/_DrawnBounds.d.ts +37 -0
- package/types/src/movable/_InsertableCollection.d.ts +39 -0
- package/types/src/movable/_MovableUtils.d.ts +5 -0
- package/types/src/movable/_PendingContent.d.ts +25 -0
- package/types/src/movable/_PlacementUtils.d.ts +55 -0
- package/types/src/movable/_RotatedFrame.d.ts +20 -0
- package/types/src/movable/index.d.ts +7 -1
- package/types/src/named/AbstractNamed.d.ts +1 -1
- package/types/src/named/INamed.d.ts +34 -1
- package/types/src/named/INamedCollection.d.ts +28 -2
- package/types/src/named/NamedCollection.d.ts +32 -19
- package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
- package/types/src/numFmt/IFormatEngine.d.ts +2 -0
- package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
- package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
- package/types/src/numFmt/_FormatCell.d.ts +11 -2
- package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
- package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
- package/types/src/outline/IOutline.d.ts +186 -0
- package/types/src/outline/Outline.d.ts +157 -0
- package/types/src/outline/index.d.ts +2 -0
- package/types/src/person/IPerson.d.ts +99 -0
- package/types/src/person/IPersonCollection.d.ts +51 -0
- package/types/src/person/Person.d.ts +32 -0
- package/types/src/person/PersonCollection.d.ts +49 -0
- package/types/src/person/index.d.ts +4 -0
- package/types/src/picture/IPicture.d.ts +131 -4
- package/types/src/picture/Picture.d.ts +42 -14
- package/types/src/pivot/IPivotTable.d.ts +72 -0
- package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
- package/types/src/pivot/PivotCache.d.ts +34 -0
- package/types/src/pivot/PivotTable.d.ts +61 -0
- package/types/src/pivot/PivotTableCollection.d.ts +25 -0
- package/types/src/pivot/_PivotXml.d.ts +24 -0
- package/types/src/pivot/index.d.ts +6 -0
- package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
- package/types/src/primitives/Criteria.d.ts +1 -1
- package/types/src/primitives/Grouping.d.ts +65 -0
- package/types/src/primitives/LambdaBrand.d.ts +26 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
- package/types/src/primitives/Range.d.ts +133 -25
- package/types/src/primitives/RangeStats.d.ts +30 -2
- package/types/src/primitives/ReferenceRange.d.ts +44 -0
- package/types/src/primitives/Runtime.d.ts +15 -2
- package/types/src/primitives/environment.browser.d.ts +9 -0
- package/types/src/primitives/environment.node.d.ts +10 -0
- package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
- package/types/src/primitives/stats/Cancellation.d.ts +13 -0
- package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
- package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
- package/types/src/primitives/stats/Ranked.d.ts +1 -1
- package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
- package/types/src/primitives/stats/index.d.ts +1 -0
- 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 +6 -2
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
- package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
- package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
- package/types/src/protection/DefaultProtection.d.ts +12 -1
- package/types/src/protection/IProtection.d.ts +42 -2
- package/types/src/protection/PasswordHasher.d.ts +13 -0
- package/types/src/reference/ReferenceUtils.d.ts +80 -0
- package/types/src/reference/index.d.ts +2 -0
- package/types/src/resource/IResource.d.ts +21 -1
- package/types/src/resource/IResourceCollection.d.ts +9 -1
- package/types/src/resource/ResourceCollection.d.ts +6 -6
- package/types/src/richData/IRichDataKind.d.ts +22 -0
- package/types/src/richData/RichDataRegistry.d.ts +57 -0
- package/types/src/richData/RichText.d.ts +59 -0
- package/types/src/richData/index.d.ts +3 -0
- package/types/src/scripting/FunctionCollection.d.ts +49 -15
- package/types/src/scripting/IFunctionCollection.d.ts +62 -32
- package/types/src/scripting/IModule.d.ts +25 -0
- package/types/src/scripting/IModuleCollection.d.ts +17 -0
- package/types/src/scripting/IScript.d.ts +30 -28
- package/types/src/scripting/ITypedFunction.d.ts +1 -1
- package/types/src/scripting/Module.d.ts +34 -6
- package/types/src/scripting/ModuleCollection.d.ts +17 -12
- package/types/src/scripting/Runtime.d.ts +15 -0
- package/types/src/scripting/Scripts.d.ts +3 -7
- package/types/src/scripting/TypedFunction.d.ts +154 -18
- package/types/src/scripting/_FunctionIndex.d.ts +8 -3
- package/types/src/scripting/_ModuleUtils.d.ts +11 -1
- package/types/src/scripting/_ScriptUtils.d.ts +3 -0
- package/types/src/scripting/declarations.browser.d.ts +10 -0
- package/types/src/scripting/declarations.d.ts +52 -0
- package/types/src/scripting/declarations.node.d.ts +9 -0
- package/types/src/scripting/index.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 +120 -0
- package/types/src/selection/IRangeSelection.d.ts +13 -8
- package/types/src/selection/ItemSelection.d.ts +49 -0
- package/types/src/selection/MovableSelection.d.ts +29 -0
- package/types/src/selection/RangeSelection.d.ts +19 -4
- package/types/src/selection/index.d.ts +4 -0
- package/types/src/shape/GeometryPreset.d.ts +197 -0
- package/types/src/shape/IGeometry.d.ts +380 -0
- package/types/src/shape/IShape.d.ts +342 -194
- package/types/src/shape/IShapeStyle.d.ts +109 -0
- package/types/src/shape/ITextBoxStyle.d.ts +85 -0
- package/types/src/shape/Shape.d.ts +107 -21
- package/types/src/shape/ShapeStyleUtils.d.ts +66 -0
- package/types/src/shape/_ConnectorFrame.d.ts +32 -0
- package/types/src/shape/_ConnectorRoute.d.ts +33 -0
- package/types/src/shape/_Connectors.d.ts +108 -0
- package/types/src/shape/_Geometry.d.ts +14 -0
- package/types/src/shape/_GeometryLoader.d.ts +21 -0
- package/types/src/shape/_ShapeStyle.d.ts +79 -0
- package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
- package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
- package/types/src/shape/_builtIn/arrows.d.ts +6 -0
- package/types/src/shape/_builtIn/basic.d.ts +6 -0
- package/types/src/shape/_builtIn/callouts.d.ts +6 -0
- package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
- package/types/src/shape/_builtIn/lines.d.ts +6 -0
- package/types/src/shape/_builtIn/math.d.ts +6 -0
- package/types/src/shape/_builtIn/other.d.ts +6 -0
- package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
- package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
- package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
- package/types/src/shape/geometry/format.d.ts +3 -0
- package/types/src/shape/geometry/geometry.d.ts +85 -0
- package/types/src/shape/geometry/guides.d.ts +54 -0
- package/types/src/shape/geometry/handles.d.ts +14 -0
- package/types/src/shape/geometry/index.d.ts +7 -0
- package/types/src/shape/geometry/lineEnds.d.ts +54 -0
- package/types/src/shape/geometry/paths.d.ts +35 -0
- package/types/src/shape/geometry/segments.d.ts +114 -0
- package/types/src/shape/index.d.ts +4 -0
- package/types/src/sheet/CellRegion.d.ts +43 -3
- package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
- package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
- package/types/src/sheet/ISheet.d.ts +81 -931
- package/types/src/sheet/IWorksheet.d.ts +1514 -0
- package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +38 -16
- package/types/src/sheet/NamedCellRange.d.ts +17 -8
- package/types/src/sheet/NamedRange.d.ts +10 -2
- package/types/src/sheet/OpaqueSheet.d.ts +114 -0
- package/types/src/sheet/SheetCell.d.ts +96 -39
- package/types/src/sheet/SheetRange.d.ts +130 -27
- package/types/src/sheet/SheetRanges.d.ts +33 -18
- package/types/src/sheet/Worksheet.d.ts +2250 -0
- package/types/src/sheet/WorksheetCollection.d.ts +39 -0
- package/types/src/sheet/_Anomalies.d.ts +109 -0
- package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
- package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
- package/types/src/sheet/_CellBuffer.d.ts +224 -0
- package/types/src/sheet/_CopyUtils.d.ts +13 -6
- package/types/src/sheet/_HeldFormula.d.ts +69 -0
- package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +10 -9
- 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 +104 -0
- package/types/src/sheet/_RangeStateSweep.d.ts +15 -0
- package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +5 -5
- 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 +43 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts +51 -3
- package/types/src/sheet/_SheetIntents.d.ts +314 -0
- package/types/src/sheet/_SheetMessages.d.ts +1 -1
- package/types/src/sheet/_SheetMutations.d.ts +185 -66
- package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
- package/types/src/sheet/_SheetStateReader.d.ts +35 -11
- package/types/src/sheet/_SheetStateTypes.d.ts +143 -79
- package/types/src/sheet/_SheetUtils.d.ts +59 -41
- package/types/src/sheet/_WatchAnchor.d.ts +106 -0
- 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/spatial/HeldFormulaEntry.d.ts +36 -0
- package/types/src/sheet/spatial/index.d.ts +1 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts +223 -337
- package/types/src/sheet/style/SheetDirectStyle.d.ts +31 -20
- package/types/src/sheet/style/SheetNamedStyle.d.ts +19 -17
- package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
- package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
- package/types/src/sheet/style/_Resolvers.d.ts +17 -10
- package/types/src/sheet/style/_StyleUtils.d.ts +34 -40
- package/types/src/sheetHeader/ISheetHeader.d.ts +96 -55
- package/types/src/sheetHeader/SheetCellHeader.d.ts +6 -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 +48 -27
- package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
- package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -4
- package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +64 -30
- 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} +230 -69
- 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 +304 -17
- package/types/src/slicer/ISlicerStyle.d.ts +109 -0
- package/types/src/slicer/Slicer.d.ts +128 -13
- package/types/src/slicer/SlicerStyle.d.ts +25 -0
- package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
- package/types/src/slicer/_SlicerUtils.d.ts +30 -0
- package/types/src/slicer/index.d.ts +1 -0
- package/types/src/sort/ISort.d.ts +39 -7
- package/types/src/string/IStringCollection.d.ts +5 -0
- package/types/src/string/StringCollection.d.ts +6 -6
- package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +117 -85
- package/types/src/style/INamedStyleCollection.d.ts +72 -0
- package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
- package/types/src/style/IStyleCollection.d.ts +91 -60
- package/types/src/style/ITableStyleCollection.d.ts +89 -0
- package/types/src/style/NamedStyleCollection.d.ts +39 -0
- package/types/src/style/SlicerStyleCollection.d.ts +46 -0
- package/types/src/style/StyleCollection.d.ts +81 -26
- package/types/src/style/TableStyleCollection.d.ts +49 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +9 -8
- package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
- package/types/src/style/index.d.ts +7 -1
- package/types/src/table/AnchoredTable.d.ts +723 -78
- package/types/src/table/AutoTable.d.ts +8 -6
- package/types/src/table/ITable.d.ts +289 -49
- package/types/src/table/ITableCollection.d.ts +12 -0
- package/types/src/table/ITableStyle.d.ts +37 -37
- package/types/src/table/TableCollection.d.ts +19 -8
- package/types/src/table/_FilterField.d.ts +19 -6
- package/types/src/table/_NamedTable.d.ts +20 -4
- package/types/src/table/_NamedTableSource.d.ts +3 -2
- package/types/src/table/_SortField.d.ts +2 -0
- package/types/src/table/_TableColumn.d.ts +13 -2
- package/types/src/table/_TableMessages.d.ts +1 -0
- package/types/src/table/_TableUtils.d.ts +40 -0
- package/types/src/text/Bullet.d.ts +4 -0
- package/types/src/text/IText.d.ts +150 -15
- package/types/src/text/ITextFrame.d.ts +110 -1
- package/types/src/text/TextBoxAlignment.d.ts +25 -16
- package/types/src/text/TextEngine.d.ts +34 -0
- package/types/src/text/TextFrame.d.ts +8 -2
- package/types/src/text/TextLine.d.ts +4 -0
- package/types/src/text/TextParagraph.d.ts +4 -0
- package/types/src/text/TextRotation.d.ts +3 -3
- package/types/src/text/TextRun.d.ts +12 -2
- package/types/src/text/TextStacked.d.ts +83 -0
- 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/index.d.ts +1 -0
- package/types/src/text/richtext/IRichText.d.ts +50 -0
- package/types/src/text/richtext/index.d.ts +1 -1
- package/types/src/theme/ITheme.d.ts +153 -11
- package/types/src/theme/IThemeCollection.d.ts +2 -0
- package/types/src/theme/ThemeCollection.d.ts +16 -7
- package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
- package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
- package/types/src/transaction/ITransaction.d.ts +277 -45
- package/types/src/transaction/Transaction.d.ts +108 -11
- package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
- package/types/src/transaction/_BatchHandle.d.ts +118 -0
- package/types/src/type/AbstractCollection.d.ts +92 -0
- package/types/src/type/ICollection.d.ts +131 -1
- package/types/src/type/IProperties.d.ts +1 -1
- package/types/src/type/ITypes.d.ts +9 -7
- package/types/src/type/index.d.ts +1 -0
- package/types/src/utils/_CSSUtils.d.ts +4 -4
- package/types/src/wasm/_fontsWasm.d.ts +7 -0
- package/types/src/wasm/_sdkWasm.d.ts +7 -0
- package/types/src/wasm/fontsWasm.d.ts +32 -0
- package/types/src/wasm/index.d.ts +3 -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 +32 -0
- package/types/src/workbook/IWorkbook.d.ts +404 -73
- package/types/src/workbook/Workbook.d.ts +196 -28
- package/types/src/workbook/WorkbookRange.d.ts +2 -2
- package/types/src/workbook/WorkbookRanges.d.ts +2 -2
- package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
- package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
- package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
- package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
- package/types/src/workbookView/IWorkbookView.d.ts +94 -0
- package/types/src/workbookView/WorkbookView.d.ts +26 -0
- package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
- package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
- package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
- package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
- package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
- package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
- package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
- package/browser/cjs/index.cjs +0 -3
- package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
- package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
- package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
- package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
- package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
- package/types/src/cellRange/_GraphNode.d.ts +0 -38
- package/types/src/collections/OverlappingRangeIterator.d.ts +0 -91
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
- package/types/src/dataValidation/_Utils.d.ts +0 -10
- 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/lib/utils/_Utils.d.ts +0 -27
- package/types/src/lib/utils/utils.browser.d.ts +0 -33
- package/types/src/movable/IGroup.d.ts +0 -30
- package/types/src/movable/IMovableSelection.d.ts +0 -49
- package/types/src/print/IPrint.d.ts +0 -234
- package/types/src/sheet/Sheet.d.ts +0 -1107
- package/types/src/sheet/SheetCollection.d.ts +0 -18
- package/types/src/sheet/listener/RangesListener.d.ts +0 -32
- package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
- package/types/src/sheet/listener/index.d.ts +0 -3
- package/types/src/sheetProtection/SheetProtection.d.ts +0 -39
- package/types/src/sheetView/SheetView.d.ts +0 -113
- package/types/src/text/richtext/IStyledFont.d.ts +0 -330
- /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
|
@@ -0,0 +1,855 @@
|
|
|
1
|
+
import { IRange, IFormulaContext, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
2
|
+
import { FunctionProvider } from '@sheetxl/scripting';
|
|
3
|
+
import { AbstractModel, IModel } from '../../model';
|
|
4
|
+
import { ITransaction } from '../../transaction';
|
|
5
|
+
import { ISpatialMap, ISpatialQuery, ISpatialMap3D, ISparseGrid } from '../../collections';
|
|
6
|
+
import { IExternalBookCollection } from '../../externalBook';
|
|
7
|
+
import { ICalculation } from '../ICalculation';
|
|
8
|
+
import { NamedNodeInfo } from '../Types';
|
|
9
|
+
import { TableExtent } from '../_TableExtent';
|
|
10
|
+
import { IFormulaCompiler } from '../compiler';
|
|
11
|
+
import { FormulaBlockResolvers, IFormulaBlock, FormulaImager } from '../formula';
|
|
12
|
+
import { CalculationContext } from '../state/CalculationContext';
|
|
13
|
+
import { IContextContainer, CalcNode, CalcScope } from '../state';
|
|
14
|
+
import { PrecedentSpatialValue, PrecedentKind } from '../spatial';
|
|
15
|
+
import { FormulaSpatialValue } from '../spatial/FormulaSpatialValue';
|
|
16
|
+
import { CalcExecutor } from '../executor/CalcExecutor';
|
|
17
|
+
import { CalcGridBackend } from '../grid/CalcGridBackend';
|
|
18
|
+
import { ICalcGrid, FormulaHost } from '../grid';
|
|
19
|
+
import { CalcRequest, CalcResponse, CalcGridSpec, TableSymbols, NameSymbols } from '../grid/_CalcRequest';
|
|
20
|
+
import { ExternalBookBindings, ExternalNamedItem } from '../ExternalBookBindings';
|
|
21
|
+
import { ISymbolRegistry } from '../symbol';
|
|
22
|
+
/**
|
|
23
|
+
* The calculation backend: the engine's store and everything kept in it, and the container its
|
|
24
|
+
* grids, formulas and executor work against (DESIGN-CALC-SERVICE §5).
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* Made by the first `start()` from the loaded engine module, and kept across a stop and a restart.
|
|
28
|
+
* Its history is its own (§13.13): every model commit has a mirror here, a request lands under the
|
|
29
|
+
* model's operation or savepoint it was made in, and a revert names a model commit. The model's ids
|
|
30
|
+
* are known to it through one map, landing to engine commit.
|
|
31
|
+
*
|
|
32
|
+
* What it asks of the calculation that made it is {@link CalcBackend.Callbacks}, and nothing else.
|
|
33
|
+
*/
|
|
34
|
+
export declare class CalcBackend extends AbstractModel<CalcBackend.State> implements IContextContainer {
|
|
35
|
+
protected _callbacks: CalcBackend.Callbacks;
|
|
36
|
+
protected _runtime: IRuntime;
|
|
37
|
+
protected _symbols: ISymbolRegistry;
|
|
38
|
+
protected _resolvers: FormulaBlockResolvers;
|
|
39
|
+
protected _getSheetIndex: ((sheetName?: string) => number) | null;
|
|
40
|
+
protected _legacyIntersect: boolean;
|
|
41
|
+
protected _gridOptions: Partial<CalcGridBackend.ConstructorOptions>;
|
|
42
|
+
protected _calculation: ICalculation;
|
|
43
|
+
protected _context: CalculationContext & IFormulaContext;
|
|
44
|
+
protected _calcExecutor: CalcExecutor;
|
|
45
|
+
/** The cache as grids and the cached names as virtual grids — see {@link ExternalBookBindings}. */
|
|
46
|
+
protected _externalBindings: ExternalBookBindings;
|
|
47
|
+
protected _calcScope: CalcScope;
|
|
48
|
+
protected _cycleId: number;
|
|
49
|
+
protected _staticEpoch: number;
|
|
50
|
+
protected _precedentEpoch: number;
|
|
51
|
+
protected _epochSeenFormulas: ISpatialMap3D<FormulaSpatialValue> | null;
|
|
52
|
+
protected _epochSeenPrecedents: ISpatialMap3D<PrecedentSpatialValue> | null;
|
|
53
|
+
protected _epochSeenDynamics: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]> | null;
|
|
54
|
+
protected _volatiles: Set<CalcNode>;
|
|
55
|
+
protected _calculatedCommitId: string | null;
|
|
56
|
+
protected _calculatedEngineId: string | null;
|
|
57
|
+
/** The engine holds grids: from a start's boot until a stop. */
|
|
58
|
+
protected _holdsGrids: boolean;
|
|
59
|
+
protected _engineIds: Map<string, string>;
|
|
60
|
+
protected _landingOf: Map<string, string>;
|
|
61
|
+
protected _mirroredId: string | null;
|
|
62
|
+
protected _lastRevert: {
|
|
63
|
+
commitId: string;
|
|
64
|
+
regions: Map<string, IRange.Coords[]>;
|
|
65
|
+
} | null;
|
|
66
|
+
protected _symbolIndex: Map<string, IRange.Coords[]> | null;
|
|
67
|
+
protected _symbolIndexOf: ISpatialMap3D<FormulaSpatialValue> | null;
|
|
68
|
+
private _sheetsDerived;
|
|
69
|
+
private _tablesDerived;
|
|
70
|
+
private _namesDerived;
|
|
71
|
+
/**
|
|
72
|
+
* The grid registry and the grid maps as the batch {@link applyHeld} applies has written them,
|
|
73
|
+
* held here and written to the state once when the batch ends.
|
|
74
|
+
*
|
|
75
|
+
* @remarks
|
|
76
|
+
* Outside a batch each registration and each publish copies the whole map into a state of its
|
|
77
|
+
* own, so that every snapshot stays what it was. Inside the start batch that is one copy per
|
|
78
|
+
* grid over every grid, and a load whose defined names each compile into a grid of their own
|
|
79
|
+
* (thousands, in a legacy file) made the start quadratic in them - in time, and in the copies the
|
|
80
|
+
* batch's commit kept alive until it ended. `null` outside a batch.
|
|
81
|
+
*/
|
|
82
|
+
private _collecting;
|
|
83
|
+
/**
|
|
84
|
+
* The names whose readers a drain recompiles ({@link recompileNamed}) or marks
|
|
85
|
+
* ({@link invalidateNamed}), gathered until that drain: each is one scan of every formula, and
|
|
86
|
+
* a load wires every name it holds in one batch.
|
|
87
|
+
*/
|
|
88
|
+
private _recompileNamedPending;
|
|
89
|
+
private _invalidateNamedPending;
|
|
90
|
+
constructor(options: CalcBackend.ConstructorOptions);
|
|
91
|
+
/** Initializes the context: the function registry the backend calls through. */
|
|
92
|
+
initialize(): ReturnType<CalculationContext['_initialize']>;
|
|
93
|
+
/** The context every formula block evaluates in. */
|
|
94
|
+
getContext(): CalculationContext & IFormulaContext;
|
|
95
|
+
/** {@inheritDoc IContextContainer.getRuntime} */
|
|
96
|
+
getRuntime(): IRuntime;
|
|
97
|
+
/** {@inheritDoc IContextContainer.getScope} */
|
|
98
|
+
getScope(): CalcScope;
|
|
99
|
+
/** {@inheritDoc IContextContainer.createFormulaBlock} */
|
|
100
|
+
createFormulaBlock(gridId: string, context: IFormulaContext, expression: string, rowIndex: number, colIndex: number, editing?: ICalculation.FormulaTarget, legacyIntersect?: boolean): IFormulaBlock;
|
|
101
|
+
/** {@inheritDoc IContextContainer.getSymbols} */
|
|
102
|
+
getSymbols(): ISymbolRegistry;
|
|
103
|
+
/**
|
|
104
|
+
* {@inheritDoc IContextContainer.resolveScope}
|
|
105
|
+
*
|
|
106
|
+
* @remarks
|
|
107
|
+
* Bound: a reference range is handed it as a function of its own.
|
|
108
|
+
*/
|
|
109
|
+
resolveScope: (scope: string) => string | undefined;
|
|
110
|
+
/** {@inheritDoc IContextContainer.getSheetIndex} */
|
|
111
|
+
getSheetIndex(sheetName?: string): number;
|
|
112
|
+
/** {@inheritDoc IContextContainer.getSheetCount} */
|
|
113
|
+
getSheetCount(): number;
|
|
114
|
+
/** {@inheritDoc IContextContainer.getSheetIds} */
|
|
115
|
+
getSheetIds(): readonly string[];
|
|
116
|
+
/** {@inheritDoc IContextContainer.getSheetSpanIds} */
|
|
117
|
+
getSheetSpanIds(scopeId: string): string[] | null;
|
|
118
|
+
/** {@inheritDoc IContextContainer.getFormulas} */
|
|
119
|
+
getFormulas(): ISpatialMap3D<FormulaSpatialValue>;
|
|
120
|
+
/** {@inheritDoc IContextContainer.setFormulas} */
|
|
121
|
+
setFormulas(spatial: ISpatialMap3D<FormulaSpatialValue>): void;
|
|
122
|
+
/** {@inheritDoc IContextContainer.getPrecedents} */
|
|
123
|
+
getPrecedents(): ISpatialMap3D<PrecedentSpatialValue>;
|
|
124
|
+
/** {@inheritDoc IContextContainer.setPrecedents} */
|
|
125
|
+
setPrecedents(spatial: ISpatialMap3D<PrecedentSpatialValue>): void;
|
|
126
|
+
/** {@inheritDoc IContextContainer.getDynamics} */
|
|
127
|
+
getDynamics(): Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
|
|
128
|
+
/** {@inheritDoc IContextContainer.setDynamics} */
|
|
129
|
+
setDynamics(map: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>): void;
|
|
130
|
+
/** {@inheritDoc IContextContainer.addDynamicPrecedent} */
|
|
131
|
+
addDynamicPrecedent(node: CalcNode, range: IRange.Coords | undefined, kind: PrecedentKind): void;
|
|
132
|
+
/** {@inheritDoc IContextContainer.getVolatiles} */
|
|
133
|
+
getVolatiles(): Set<CalcNode>;
|
|
134
|
+
/** {@inheritDoc IContextContainer.isLegacyIntersect} */
|
|
135
|
+
isLegacyIntersect(): boolean;
|
|
136
|
+
/** {@inheritDoc IContextContainer.getGridValues} */
|
|
137
|
+
getGridValues(gridId: string): ISparseGrid<Scalar>;
|
|
138
|
+
/** {@inheritDoc IContextContainer.getIncrementalUpdates} */
|
|
139
|
+
getIncrementalUpdates(gridId: string): ICalcGrid.IncrementalUpdates | null;
|
|
140
|
+
/** {@inheritDoc IContextContainer.registerGrid} */
|
|
141
|
+
registerGrid(grid: CalcGridBackend): void;
|
|
142
|
+
/** {@inheritDoc IContextContainer.unregisterGrid} */
|
|
143
|
+
unregisterGrid(gridId: string): void;
|
|
144
|
+
/** The grids by id, as the open batch has them, else as the state does. */
|
|
145
|
+
protected _gridsAll(): Map<string, CalcGridBackend>;
|
|
146
|
+
/**
|
|
147
|
+
* Writes the grid registry: a copy of its own in the state, or the open batch's copy, which
|
|
148
|
+
* reaches the state when the batch ends. See {@link _collecting}.
|
|
149
|
+
*/
|
|
150
|
+
private _writeGridsAll;
|
|
151
|
+
/** {@link _writeGridsAll}, for the grid maps. */
|
|
152
|
+
private _writeGridMaps;
|
|
153
|
+
/**
|
|
154
|
+
* Runs `batch` with the grid registry and maps collected, and writes them to the state once after;
|
|
155
|
+
* its requests share one clone key (see {@link getHeldCloneKey}) unless the caller set one.
|
|
156
|
+
*
|
|
157
|
+
* @remarks
|
|
158
|
+
* A held batch's, and a burst of defined-name compiles' (`NamedFormulaCollection._materializeMany`):
|
|
159
|
+
* both make many grids under one engine operation, and without this each grid's registration is
|
|
160
|
+
* a write that copies a registry holding an entry per sheet and per compiled name.
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
_collectingGrids<R>(batch: () => R): R;
|
|
164
|
+
/** {@inheritDoc IContextContainer.getGrid} */
|
|
165
|
+
getGrid(gridId: string): CalcGridBackend | null;
|
|
166
|
+
/** {@inheritDoc IContextContainer.markDirty} */
|
|
167
|
+
markDirty(dirtyRegions: ISpatialMap.Entry[]): boolean;
|
|
168
|
+
/** {@inheritDoc IContextContainer.getDirtyGrid} */
|
|
169
|
+
getDirtyGrid(gridId: string): ISpatialQuery;
|
|
170
|
+
/** {@inheritDoc IContextContainer.calculateGrid} */
|
|
171
|
+
calculateGrid(gridId: string, options?: ICalculation.CalculateOptions): Promise<ICalculation.Status>;
|
|
172
|
+
/** {@inheritDoc IContextContainer.requestCalculateGrid} */
|
|
173
|
+
requestCalculateGrid(gridId: string): void;
|
|
174
|
+
/** {@inheritDoc IContextContainer.getCycleId} */
|
|
175
|
+
getCycleId(): number;
|
|
176
|
+
/** {@inheritDoc IContextContainer.getCalculatedCommitId} */
|
|
177
|
+
getCalculatedCommitId(): string | null;
|
|
178
|
+
/**
|
|
179
|
+
* {@inheritDoc IContextContainer.landRequest}
|
|
180
|
+
*
|
|
181
|
+
* @remarks
|
|
182
|
+
* A root-level request after a nested savepoint of the same root has landed: the root's own
|
|
183
|
+
* commit is behind the tip, and the savepoint is part of the root for good, so the write joins
|
|
184
|
+
* the tip. The engine's live maps are always the tip's.
|
|
185
|
+
*/
|
|
186
|
+
landRequest<R>(landingId: string | undefined, action: () => R): R;
|
|
187
|
+
/** {@inheritDoc IContextContainer.sendRequest} */
|
|
188
|
+
sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
|
|
189
|
+
/** {@inheritDoc IContextContainer.getImager} */
|
|
190
|
+
getImager(gridId: string): FormulaImager;
|
|
191
|
+
/** {@inheritDoc IContextContainer.setGridMaps} */
|
|
192
|
+
setGridMaps(gridId: string, maps: object): void;
|
|
193
|
+
/** {@inheritDoc IContextContainer.recordTouched} */
|
|
194
|
+
recordTouched(gridId: string, regions: readonly IRange.Coords[]): void;
|
|
195
|
+
private _recordTouchedNow;
|
|
196
|
+
/** {@inheritDoc IContextContainer.revertTo} */
|
|
197
|
+
revertTo(commitId: string, gridId: string): IRange.Coords[] | null;
|
|
198
|
+
/** {@inheritDoc IContextContainer.getCalcEpochs} */
|
|
199
|
+
getCalcEpochs(): {
|
|
200
|
+
staticEpoch: number;
|
|
201
|
+
precedentEpoch: number;
|
|
202
|
+
};
|
|
203
|
+
/** {@inheritDoc IContextContainer.bumpCalcEpochs} */
|
|
204
|
+
bumpCalcEpochs(includeStatic: boolean): void;
|
|
205
|
+
/** {@inheritDoc IContextContainer.getNow} */
|
|
206
|
+
getNow(): number;
|
|
207
|
+
/** {@inheritDoc IContextContainer.whenSafe} */
|
|
208
|
+
whenSafe(action: () => Promise<unknown>): void;
|
|
209
|
+
/** {@inheritDoc IContextContainer.isLoading} */
|
|
210
|
+
isLoading(): boolean;
|
|
211
|
+
/** {@inheritDoc IContextContainer.recompileNamed} */
|
|
212
|
+
recompileNamed(nameId: string): void;
|
|
213
|
+
/** {@inheritDoc IContextContainer.invalidateNamed} */
|
|
214
|
+
invalidateNamed(nameId: string): void;
|
|
215
|
+
/** {@inheritDoc IContextContainer.getNamedNodeInfo} */
|
|
216
|
+
getNamedNodeInfo(nameId: string, live?: boolean): NamedNodeInfo | null;
|
|
217
|
+
/**
|
|
218
|
+
* {@inheritDoc IContextContainer.getNamedDependents}
|
|
219
|
+
*
|
|
220
|
+
* @remarks
|
|
221
|
+
* The bucket for a NAME out of {@link getSymbolDependents}: one index for every symbol kind.
|
|
222
|
+
*/
|
|
223
|
+
getNamedDependents(nameId: string): readonly IRange.Coords[];
|
|
224
|
+
/**
|
|
225
|
+
* {@inheritDoc IContextContainer.getNamedDependentNames}
|
|
226
|
+
*
|
|
227
|
+
* @remarks
|
|
228
|
+
* A block that depends on a name and lives on a VIRTUAL grid is another name's BODY, and that
|
|
229
|
+
* grid's id is that name's id — `add` binds the two together and `delete` keeps the grid rather
|
|
230
|
+
* than dropping it. So the hop is a bucket lookup on the id itself; a sheet grid id is never a
|
|
231
|
+
* name id, which the calculation is asked to confirm before the walk continues through one.
|
|
232
|
+
*
|
|
233
|
+
* Expands each id once. That is the cycle guard (`A = B+1`, `B = A+1` reaches `A` again on its
|
|
234
|
+
* second hop) and the diamond guard both.
|
|
235
|
+
*/
|
|
236
|
+
getNamedDependentNames(nameId: string): ReadonlySet<string>;
|
|
237
|
+
/** A grid of the backend's, registered. */
|
|
238
|
+
createBackendGrid(options?: CalcGridBackend.ConstructorOptions): CalcGridBackend;
|
|
239
|
+
/**
|
|
240
|
+
* The engine's grid for a model grid, as a `create` describes it. What it pushes reaches the
|
|
241
|
+
* model grid under the same id.
|
|
242
|
+
*/
|
|
243
|
+
createEngineGrid(spec: CalcGridSpec): CalcGridBackend;
|
|
244
|
+
/** The engine holds grids from here: an external book's cache is the engine's own content, made now. */
|
|
245
|
+
open(): void;
|
|
246
|
+
/**
|
|
247
|
+
* The engine's graph and every grid in it, gone: what a stop leaves, and what a rebuild starts
|
|
248
|
+
* from. The model's grids are untouched.
|
|
249
|
+
*/
|
|
250
|
+
drop(): void;
|
|
251
|
+
/** Every grid the engine holds, by id. */
|
|
252
|
+
getGrids(): ReadonlyMap<string, CalcGridBackend>;
|
|
253
|
+
/**
|
|
254
|
+
* Brings the external books' grids and cached names into step with the collection.
|
|
255
|
+
*
|
|
256
|
+
* @remarks
|
|
257
|
+
* The first, `initial`, is made once the calculation holds this backend: binding a cached name
|
|
258
|
+
* looks the name up through the calculation's symbols, which ask the backend for it.
|
|
259
|
+
*
|
|
260
|
+
* @param initial The sync made when the backend is, before any formula has compiled.
|
|
261
|
+
* @returns The ids of the books whose grids or names changed.
|
|
262
|
+
*/
|
|
263
|
+
syncExternalBooks(initial?: boolean): ReadonlySet<string>;
|
|
264
|
+
/** A cached name of an external book, by the id its virtual grid is registered under. */
|
|
265
|
+
getExternalName(id: string): ExternalNamedItem | null;
|
|
266
|
+
/** A cached name of an external book, by its spelling within a book's scope. */
|
|
267
|
+
getExternalNameByScope(name: string, scopeId: string): ExternalNamedItem | null;
|
|
268
|
+
/**
|
|
269
|
+
* Applies one request from the channel: the service's own (`sheets`, `tables`, `names`,
|
|
270
|
+
* `rollback`, `create`) here, a grid's on its grid. A request for a grid the engine does not hold
|
|
271
|
+
* is answered with nothing.
|
|
272
|
+
*
|
|
273
|
+
* @param held The request was held while the engine came up: it lands under the engine's
|
|
274
|
+
* current commit, whose snapshot it was made at has been mirrored already.
|
|
275
|
+
* @throws What the grid throws applying it.
|
|
276
|
+
*/
|
|
277
|
+
apply(gridId: string, landingId: string | undefined, request: CalcRequest, held?: boolean): CalcResponse | PromiseLike<CalcResponse>;
|
|
278
|
+
/**
|
|
279
|
+
* Applies what the channel held while the engine came up (DESIGN-CALC-SERVICE §6.3): every
|
|
280
|
+
* grid made first, then a defined name's body, in its own order (`ICalcGrid.BodyOptions.priority`),
|
|
281
|
+
* then the rest in send order. A name must be bound before any formula that mentions it is
|
|
282
|
+
* examined, and each is held behind the create of its own grid.
|
|
283
|
+
*
|
|
284
|
+
* @remarks
|
|
285
|
+
* Every sheet a held `sheets` message adds enters the replica at its end first, under the name it
|
|
286
|
+
* was first listed by: a defined name's body is applied ahead of the seeds and may name a sheet
|
|
287
|
+
* listed while starting. Every table a held `tables` message adds enters the same way, under the
|
|
288
|
+
* name and columns it was first told by: a seed sent ahead of a later sheet's tables compiles a
|
|
289
|
+
* reference to one, and a reference to a table the replica does not hold is refused. The messages
|
|
290
|
+
* themselves still apply in send order, so a seed sent before a rename binds the name it was sent
|
|
291
|
+
* under.
|
|
292
|
+
*
|
|
293
|
+
* A request whose snapshot the model has undone since (`dead`) is answered and not applied,
|
|
294
|
+
* except a grid's `create`.
|
|
295
|
+
*
|
|
296
|
+
* @param wroteWhileOff Something was written while the engine was `Off`: a seed asking for a
|
|
297
|
+
* full pass keeps it. Otherwise its values are the engine's own, or a file's.
|
|
298
|
+
* @returns What each request answered, in the order they were applied.
|
|
299
|
+
*/
|
|
300
|
+
applyHeld(batch: readonly CalcBackend.Held[], wroteWhileOff: boolean): CalcBackend.Applied[];
|
|
301
|
+
/** {@inheritDoc IContextContainer.getHeldCloneKey} */
|
|
302
|
+
getHeldCloneKey(): string | null;
|
|
303
|
+
/** See {@link getHeldCloneKey}. */
|
|
304
|
+
private _heldCloneKey;
|
|
305
|
+
protected _applyHeldNow(batch: readonly CalcBackend.Held[], wroteWhileOff: boolean): CalcBackend.Applied[];
|
|
306
|
+
/**
|
|
307
|
+
* The model restored itself to `commitId`: the engine restores its own history there.
|
|
308
|
+
*
|
|
309
|
+
* @remarks
|
|
310
|
+
* An engine that is not up holds nothing to restore; it answers for the model's snapshot from
|
|
311
|
+
* here, and its start opens from it. One coming up holds the start's replicas, made after any
|
|
312
|
+
* commit it has no mirror of: restored where it has one, otherwise it answers for the
|
|
313
|
+
* snapshot. A `Running` one whose history does not reach the commit (one from before its
|
|
314
|
+
* start, or trimmed since) is rebuilt from the model as it is there.
|
|
315
|
+
*
|
|
316
|
+
* @param status The calculation's status now.
|
|
317
|
+
* @returns Whether a rebuild is owed.
|
|
318
|
+
*/
|
|
319
|
+
followRestore(commitId: string, status: ICalculation.Status): boolean;
|
|
320
|
+
/**
|
|
321
|
+
* The engine made again from the model, as a start makes it: its graph dropped, its replicas as
|
|
322
|
+
* given, the external books' grids made. The model's grids are opened behind it, and its history
|
|
323
|
+
* starts there ({@link forgetEarlierLandings}).
|
|
324
|
+
*/
|
|
325
|
+
rebuild(replica: CalcBackend.Replica): void;
|
|
326
|
+
/**
|
|
327
|
+
* Compiles an expression at a cell without writing it anywhere: what `ICalculation.createFormula`
|
|
328
|
+
* is built on.
|
|
329
|
+
*
|
|
330
|
+
* @remarks
|
|
331
|
+
* A `virtual` formula is held in a grid of its own (`temporary`), compiled as if written on
|
|
332
|
+
* `gridId`. It compiles with the `'editing'` profile, in `target`'s form: the text exactly as
|
|
333
|
+
* typed, and as much structure as a partial parse recovers (see FormulaCompilerProfile).
|
|
334
|
+
*
|
|
335
|
+
* @returns `null` when the grid the formula is anchored in does not exist.
|
|
336
|
+
*/
|
|
337
|
+
compileTemporary(expression: string, at: CalcBackend.TemporaryAt): CalcBackend.Temporary | null;
|
|
338
|
+
/**
|
|
339
|
+
* Formula text as a cell of `gridId` at (`rowIndex`, `colIndex`) would store it, without writing
|
|
340
|
+
* it anywhere: compiled for storage, so `[#This Row]` becomes `@` and an unqualified structured
|
|
341
|
+
* reference is given the name of the table it binds to there.
|
|
342
|
+
*/
|
|
343
|
+
toStoredText(gridId: string, expression: string, rowIndex: number, colIndex: number): string;
|
|
344
|
+
/**
|
|
345
|
+
* Every formula block that references a symbol — a defined name, a table, or an external BOOK —
|
|
346
|
+
* by its stable id, as `{ ...ref, scope: gridId }` coords.
|
|
347
|
+
*
|
|
348
|
+
* @remarks
|
|
349
|
+
* The memo is keyed on the formula spatial's IDENTITY, which is the whole invalidation story:
|
|
350
|
+
* the map is copy-on-write (`getFormulas().clone()` before any mutation, `setFormulas` to
|
|
351
|
+
* publish), so a formula added, removed, shifted or recompiled necessarily replaces it — and an
|
|
352
|
+
* undo, which restores an earlier map, replaces it too. Nothing has to remember to clear this.
|
|
353
|
+
*
|
|
354
|
+
* The sweep is the same `all3D` walk {@link recompileReferencing} and
|
|
355
|
+
* {@link markDirtyReferencing} already do, done once for every symbol instead of once per
|
|
356
|
+
* symbol. Bucketed off `getReferencedSymbolIds()` — names, tables and books alike — so a book's
|
|
357
|
+
* dependents (`IExternalBook.getDependents`) come out of the same walk as a name's, and a name's
|
|
358
|
+
* body that cites a book lands in the book's bucket with the name's id as its scope.
|
|
359
|
+
*/
|
|
360
|
+
getSymbolDependents(symbolId: string): readonly IRange.Coords[];
|
|
361
|
+
/**
|
|
362
|
+
* Every symbol id a formula cites, to the blocks citing it — the index
|
|
363
|
+
* {@link getSymbolDependents} answers from, memoized the same way.
|
|
364
|
+
*/
|
|
365
|
+
protected _getSymbolIndex(): ReadonlyMap<string, readonly IRange.Coords[]>;
|
|
366
|
+
/**
|
|
367
|
+
* `changedIds` widened to everything a change to them reaches through the SYMBOL graph: each id
|
|
368
|
+
* plus, for the names among them, every name transitively referencing it.
|
|
369
|
+
*
|
|
370
|
+
* @remarks
|
|
371
|
+
* The one expansion both {@link recompileReferencing} and {@link markDirtyReferencing} apply
|
|
372
|
+
* before their all3D scan, so a formula naming an intermediate name is matched by the same pass
|
|
373
|
+
* that matches one naming the changed name directly. Ids that are not names (a table's) expand
|
|
374
|
+
* to themselves.
|
|
375
|
+
*/
|
|
376
|
+
protected _namedTargets(changedIds: ReadonlySet<string>): ReadonlySet<string>;
|
|
377
|
+
/**
|
|
378
|
+
* Reverse-invalidates only the formulas that reference any of `changedIds` — the stable name/table
|
|
379
|
+
* fake ids reported by `IndirectSymbolProvider.reconcile()` (add/heal, delete, rename).
|
|
380
|
+
*
|
|
381
|
+
* @remarks
|
|
382
|
+
* `bind()` assigns a stable fake id at compile time regardless of whether the symbol resolves,
|
|
383
|
+
* and reconcile() reports that same id — so matching a formula's `getReferencedSymbolIds()`
|
|
384
|
+
* catches the "heal" case (`#NAME?`/`#REF!` → valid) that a precedent-range markDirty can't,
|
|
385
|
+
* because an unresolved reference has no precedent range.
|
|
386
|
+
*
|
|
387
|
+
* Marking the direct referencers is not enough where the referencer is another NAME. Downstream
|
|
388
|
+
* of a cell, the dependency graph carries transitivity for free; downstream of a name it carries
|
|
389
|
+
* nothing, because a name registers no precedent range for the formulas that mention it. So the
|
|
390
|
+
* ids are first expanded over the symbol graph ({@link _namedTargets}), and only from the cells
|
|
391
|
+
* that land in are the ordinary edges left to do the rest.
|
|
392
|
+
*
|
|
393
|
+
* O(formulas) all3D scan — same cost/scale as {@link recompileReferencing}.
|
|
394
|
+
*
|
|
395
|
+
* @returns `true` if any formula was marked dirty.
|
|
396
|
+
*/
|
|
397
|
+
markDirtyReferencing(changedIds: ReadonlySet<string>): boolean;
|
|
398
|
+
/**
|
|
399
|
+
* Recompiles every formula that references any of `changedIds` — a name or a table, directly or
|
|
400
|
+
* through a name — from its own text, so it re-derives its precedents.
|
|
401
|
+
*
|
|
402
|
+
* @remarks
|
|
403
|
+
* The re-wire half of {@link markDirtyReferencing}. A node stores the coords its references
|
|
404
|
+
* resolved to when it was wired, and `precedentSpatial` indexes those, so a symbol that now
|
|
405
|
+
* designates different cells (a name redefined, a table resized) leaves its readers evaluating
|
|
406
|
+
* against the old edges; a dirty mark does not reach them. Same `all3D` scan and the same
|
|
407
|
+
* {@link _namedTargets} expansion: a name whose body cites the symbol reaches its own readers.
|
|
408
|
+
*
|
|
409
|
+
* Run at a safe point only — it writes inputs.
|
|
410
|
+
*/
|
|
411
|
+
recompileReferencing(changedIds: ReadonlySet<string>): void;
|
|
412
|
+
/**
|
|
413
|
+
* A table's body has changed rows: re-fit the A1 references that spanned it.
|
|
414
|
+
*
|
|
415
|
+
* @remarks
|
|
416
|
+
* Excel treats a reference whose ROWS are exactly a table's body - or run from its header to the
|
|
417
|
+
* body's end - as naming the body, whatever columns of the table it covers, and keeps it on the
|
|
418
|
+
* body however the body's rows change (probed, `probe-table-refit.ps1`): `SUM(B2:B5)` over body
|
|
419
|
+
* rows 2-5 reads `SUM(B2:B6)` after a row is appended, and `SUM(B2:B3)` after a resize gives two
|
|
420
|
+
* up. Relative, absolute or mixed alike, from any sheet, and in anything that holds a reference -
|
|
421
|
+
* a defined name, a table's held totals formula and a condition's formula are blocks too. A
|
|
422
|
+
* reference that only starts or only ends with the body is an ordinary one, and a change of
|
|
423
|
+
* COLUMNS re-fits nothing. A name's relative rows are read from its body's origin, A1, as Excel
|
|
424
|
+
* reads them (`probe-table-refit-relative.ps1`); a shift never moves them, so a row at the top
|
|
425
|
+
* leaves such a name alone.
|
|
426
|
+
*
|
|
427
|
+
* An insert or delete inside the body already leaves such a reference right, so this is asked
|
|
428
|
+
* only for what a shift gets wrong: rows taken or given up at the body's end, and a row inserted
|
|
429
|
+
* at its first row (which pushes the whole reference down).
|
|
430
|
+
*
|
|
431
|
+
* One search of the precedent index over the rows that match - an entry per (block, reference)
|
|
432
|
+
* that reads them - so the cost is the readers of the body, on a change of a table's rows. The
|
|
433
|
+
* text a cell shows catches up with the engine the way it does after any shift.
|
|
434
|
+
*
|
|
435
|
+
* A block is re-fitted cell by cell: only the cells whose reference spans the body are rewritten,
|
|
436
|
+
* which splits them out of the block. An array-entered block is one formula, read at its top-left,
|
|
437
|
+
* and is never split.
|
|
438
|
+
*
|
|
439
|
+
* **A DELIBERATE DIVERGENCE lives here** (Michael, 2026-09-22). Excel asks how the cell was
|
|
440
|
+
* authored, not what it reads: a fully relative reference is left where it is when the cell
|
|
441
|
+
* belongs to a shared-formula group, and re-fitted when it stands alone - so `SUM(B2:B5)` follows
|
|
442
|
+
* the body when it was typed and does not when the same three formulas were filled, and the file
|
|
443
|
+
* carries the difference as `<f t="shared">` (`probe-table-refit-fillhandle.ps1`,
|
|
444
|
+
* `probe-table-refit-roundtrip.ps1`). Here a run is a data-model fact, not an authoring one -
|
|
445
|
+
* cells holding the same formula are conflated whatever made them - so honoring that rule would
|
|
446
|
+
* make a formula follow the body or not depending on what a NEIGHBOR happens to hold, which a
|
|
447
|
+
* user cannot see. Every reference that spans the body is re-fitted, however it was written.
|
|
448
|
+
*
|
|
449
|
+
* @param sheet The sheet the table is on, by id or name.
|
|
450
|
+
* @param columns The table's columns. A reference reaching outside them is an ordinary one.
|
|
451
|
+
* @param match The rows a reference has to span to be one of the body's, as they read NOW.
|
|
452
|
+
* @param headerRow The header's row when a reference from it to `match.rowEnd` also counts.
|
|
453
|
+
* @param to The body's rows now.
|
|
454
|
+
*/
|
|
455
|
+
refitTableRows(sheet: string, columns: {
|
|
456
|
+
colStart: number;
|
|
457
|
+
colEnd: number;
|
|
458
|
+
}, match: {
|
|
459
|
+
rowStart: number;
|
|
460
|
+
rowEnd: number;
|
|
461
|
+
}, headerRow: number | null, to: {
|
|
462
|
+
rowStart: number;
|
|
463
|
+
rowEnd: number;
|
|
464
|
+
}): void;
|
|
465
|
+
/**
|
|
466
|
+
* Replaces every structured reference to `tableId` on a sheet: by its address in `extent`, or by
|
|
467
|
+
* `#REF!` when there is none. A name's body or an external book's cached formula is left: not
|
|
468
|
+
* text a user wrote on a sheet.
|
|
469
|
+
*/
|
|
470
|
+
rewriteTableReferences(tableId: string, extent: TableExtent | null): void;
|
|
471
|
+
/**
|
|
472
|
+
* Writes `text` over `fsv`'s cells - or over `coords`, a part of them - as the engine's own input.
|
|
473
|
+
* Safe point only.
|
|
474
|
+
*/
|
|
475
|
+
protected _writeBlockText(fsv: FormulaSpatialValue, text: string, coords?: IRange.Coords): void;
|
|
476
|
+
/** Whether any cell is out of date. */
|
|
477
|
+
hasDirty(): boolean;
|
|
478
|
+
/**
|
|
479
|
+
* Runs one pass over the dirty set (or all of it, or a range of it), and writes what it found
|
|
480
|
+
* into the state.
|
|
481
|
+
*
|
|
482
|
+
* @remarks
|
|
483
|
+
* One recalculation per COMMIT, not per notification of one.
|
|
484
|
+
*
|
|
485
|
+
* `gridId` marks the engine's own reactive pass — `ICalcGrid.calculate()`, which is what an
|
|
486
|
+
* edit schedules (`Sheet.onAfterStateChange`) and what `ready()` runs per dirty grid. An
|
|
487
|
+
* explicit `calculate()` from the API (F9, Shift+F9, a resolved async result) has no `gridId`
|
|
488
|
+
* and is always honored.
|
|
489
|
+
*
|
|
490
|
+
* The reactive pass is skipped only when BOTH halves say there is nothing to do:
|
|
491
|
+
*
|
|
492
|
+
* - the current commit has already had its recalculation. Commits notify their listeners on
|
|
493
|
+
* `setTimeout(0)`, so a script that writes N cells without awaiting queues N dispatchers,
|
|
494
|
+
* none of which run until it yields. By then the store is at the LAST commit and every one
|
|
495
|
+
* of those dispatchers asks for a pass over the same final state — N-1 of them describing
|
|
496
|
+
* work another pass has already done.
|
|
497
|
+
* - nothing is dirty. The dirty set is cumulative and whichever pass runs first consumes all
|
|
498
|
+
* of it, but a seed (`CalcGridBackend._seedNow`) marks dirty without producing a commit of its
|
|
499
|
+
* own, so the commit id alone would strand it.
|
|
500
|
+
*
|
|
501
|
+
* Neither half alone is enough, and the second is emphatically not sufficient: an edit that
|
|
502
|
+
* marks nothing dirty is still a recalculation in Excel, and it is the only thing that re-rolls
|
|
503
|
+
* `RAND`/`NOW` — see the "unrelated edit" case in `graph/volatile.test.ts`.
|
|
504
|
+
*
|
|
505
|
+
* Together they were the whole cost of the round-trip workbook build (`functions-to-xlsx.ts`):
|
|
506
|
+
* 2,594 redundant passes, each re-evaluating every volatile in the workbook and everything
|
|
507
|
+
* downstream of it, for 49,289 of 52,917 total evaluations — 93% of the engine's work, still
|
|
508
|
+
* running six seconds after `ready()` had resolved. See DESIGN-CALC-PASS-GATING.md.
|
|
509
|
+
*/
|
|
510
|
+
runPass(options: ICalculation.CalculateOptions | undefined, pass: CalcBackend.PassOptions): void;
|
|
511
|
+
/** Each grid with cells out of date runs its pass - every grid, when `full`. */
|
|
512
|
+
calculateGrids(full: boolean): Promise<void>;
|
|
513
|
+
/** The cells of every cycle the last pass found. */
|
|
514
|
+
getCycleCells(): ReturnType<CalcExecutor['getCycleCells']>;
|
|
515
|
+
/** Demand and plan counters and timings since construction or the last {@link resetStats}. */
|
|
516
|
+
getDemandStats(): ReturnType<CalcExecutor['getDemandStats']>;
|
|
517
|
+
/** Zeroes every counter and timing. */
|
|
518
|
+
resetStats(): void;
|
|
519
|
+
/** The executor's plan-cache mode - see `CalcExecutor.planCacheMode`. */
|
|
520
|
+
getPlanCacheMode(): 'off' | 'assert' | 'on';
|
|
521
|
+
/** Sets the executor's plan-cache mode. */
|
|
522
|
+
setPlanCacheMode(mode: 'off' | 'assert' | 'on'): void;
|
|
523
|
+
/** The sheet replica: grid id to name, in tab order. */
|
|
524
|
+
getSheets(): ReadonlyMap<string, string | null>;
|
|
525
|
+
/** The table replica: table id to its name and columns. */
|
|
526
|
+
getTables(): ReadonlyMap<string, TableSymbols>;
|
|
527
|
+
/** The name replica: name id to its spelling and scope sheet. */
|
|
528
|
+
getNames(): ReadonlyMap<string, NameSymbols>;
|
|
529
|
+
/** Replaces the three replicas at once: what a start or a rebuild seeds them with. */
|
|
530
|
+
setReplica(replica: CalcBackend.Replica): void;
|
|
531
|
+
/**
|
|
532
|
+
* Replaces the sheet replica with the list a `sheets` message carries.
|
|
533
|
+
*
|
|
534
|
+
* @remarks
|
|
535
|
+
* A sheet that survived with a different name or at a different position changes what the
|
|
536
|
+
* functions reading names and positions answer (`INDIRECT`, `FORMULATEXT`, `CELL`, `SHEET`, a
|
|
537
|
+
* 3-D span's members), and none of that is a precedent: a full pass follows, which is what the
|
|
538
|
+
* model asked for on a rename or a move before the engine was told of either. A sheet
|
|
539
|
+
* appended moves nothing; one inserted or deleted ahead of a survivor moves it, and counts.
|
|
540
|
+
*/
|
|
541
|
+
applySheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
|
|
542
|
+
/** Enters each sheet the replica does not hold yet at its end, under the name given. */
|
|
543
|
+
enterSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
|
|
544
|
+
/** Enters each table the replica does not hold yet, as given; as {@link enterSheets} does. */
|
|
545
|
+
enterTables(tables: ReadonlyMap<string, TableSymbols>): void;
|
|
546
|
+
/**
|
|
547
|
+
* Applies what a `tables` message carries to the table replica. A reference bound by a name the
|
|
548
|
+
* replica did not have yet heals to it now, as one to a table added does.
|
|
549
|
+
*/
|
|
550
|
+
applyTables(changes: readonly (readonly [id: string, table: TableSymbols | null])[]): void;
|
|
551
|
+
/** Applies what a `names` message carries to the name replica, as {@link applyTables} does. */
|
|
552
|
+
applyNames(changes: readonly (readonly [id: string, name: NameSymbols | null])[]): void;
|
|
553
|
+
/** The table replica and its name index. */
|
|
554
|
+
getReplicaTables(): {
|
|
555
|
+
of: ReadonlyMap<string, TableSymbols>;
|
|
556
|
+
idByName: Map<string, string>;
|
|
557
|
+
} | null;
|
|
558
|
+
/** The name replica and its spelling index, as {@link getReplicaTables}. */
|
|
559
|
+
getReplicaNames(): {
|
|
560
|
+
of: ReadonlyMap<string, NameSymbols>;
|
|
561
|
+
idsByName: Map<string, string[]>;
|
|
562
|
+
} | null;
|
|
563
|
+
/**
|
|
564
|
+
* The name a spelling resolves to from `scope`, by the replica: that sheet's own name first, then
|
|
565
|
+
* the global; asked from no sheet, the global, else any scoped one - the collection's rule
|
|
566
|
+
* (`NamedFormulaCollection.getByName`). `undefined` when the replica cannot answer.
|
|
567
|
+
*/
|
|
568
|
+
getReplicaNameId(name: string, scope: string | null | undefined): string | undefined;
|
|
569
|
+
/** A sheet's grid id by its name, as Excel reads sheet names: case-insensitively. `null` when none. */
|
|
570
|
+
getSheetIdByName(name: string): string | null;
|
|
571
|
+
/** {@inheritDoc IContextContainer.isGridless} */
|
|
572
|
+
isGridless(sheetId: string): boolean;
|
|
573
|
+
/** A sheet's name by its grid id, or `null` for a grid that is no sheet. */
|
|
574
|
+
getSheetName(gridId: string): string | null;
|
|
575
|
+
private _sheetsCache;
|
|
576
|
+
/** When the engine's current commit was made: the clock a pass reads `NOW` from. */
|
|
577
|
+
getCommitTimestamp(): number;
|
|
578
|
+
/** The engine's current commit: where a held request the start batch applies lands. */
|
|
579
|
+
getCurrentCommitId(): string;
|
|
580
|
+
/**
|
|
581
|
+
* Records the model commit that just landed: its mirror, a commit of the engine's own that names
|
|
582
|
+
* it in the engine's record.
|
|
583
|
+
*
|
|
584
|
+
* @remarks
|
|
585
|
+
* A commit even when nothing landed under the model's: an engine write made after the close,
|
|
586
|
+
* outside any model operation (a deferred recompile), amends the engine's tip, and that tip has
|
|
587
|
+
* to be this model commit's, not the one before it, or a restore to the one before carries the
|
|
588
|
+
* write. The engine's record changes with every mirror, so the commit is never elided.
|
|
589
|
+
*/
|
|
590
|
+
mirror(commitId: string): void;
|
|
591
|
+
/** What the engine answers for from here - the model's snapshot - without restoring anything. */
|
|
592
|
+
retarget(commitId: string): void;
|
|
593
|
+
/** Whether the engine can restore to a model commit: it has a landing for it and still holds that commit. */
|
|
594
|
+
holdsModelCommit(commitId: string): boolean;
|
|
595
|
+
/** Forgets a landing, and the engine commit it made if it made one. */
|
|
596
|
+
dropLanding(landingId: string): void;
|
|
597
|
+
/**
|
|
598
|
+
* The engine's history starts at the boot: the commits mirrored before it hold none of the
|
|
599
|
+
* grids the boot made, so a restore to one is not followed but rebuilt. The model's commit now
|
|
600
|
+
* is the boot's.
|
|
601
|
+
*/
|
|
602
|
+
forgetEarlierLandings(): void;
|
|
603
|
+
/**
|
|
604
|
+
* A model root closed without landing (an amend, or nothing written): the engine commits made
|
|
605
|
+
* under its id (`<id>:0`, `<id>:n`) fold into the mirror of the model's current commit.
|
|
606
|
+
*/
|
|
607
|
+
foldPhantom(rootId: string): void;
|
|
608
|
+
/**
|
|
609
|
+
* Restore the engine's history to the model's `commitId`, once; answers what changed per grid.
|
|
610
|
+
*
|
|
611
|
+
* @remarks
|
|
612
|
+
* The changed regions are the union of what every engine commit between the two snapshots
|
|
613
|
+
* recorded as touched (`IntentTouched`), whichever direction the restore goes; they are marked
|
|
614
|
+
* dirty so the pass that follows recomputes them, and handed back so each grid can re-vend the
|
|
615
|
+
* blocks over them. An id the engine no longer holds is answered with `null`: the engine's
|
|
616
|
+
* history is shorter than the model's there, and a seed is what brings it back (step 3).
|
|
617
|
+
*/
|
|
618
|
+
restoreTo(commitId: string): Map<string, IRange.Coords[]> | null;
|
|
619
|
+
/**
|
|
620
|
+
* A nested savepoint of the model rolled back: what the engine landed under it goes with it.
|
|
621
|
+
* What a `rollback` message does.
|
|
622
|
+
*
|
|
623
|
+
* @remarks
|
|
624
|
+
* The savepoint is still open while it rolls back, so every engine commit made after its own,
|
|
625
|
+
* under the same root, was landed by a savepoint nested in it, and goes too.
|
|
626
|
+
*/
|
|
627
|
+
rollbackSavepoint(savepointId: string): void;
|
|
628
|
+
/** Whether the engine still holds a commit: its own record is in every commit made since it was built. */
|
|
629
|
+
protected _holdsEngineCommit(engineId: string): boolean;
|
|
630
|
+
/** Drops the landings whose engine commit the store has trimmed or pruned. Rare: sized by the store's cap. */
|
|
631
|
+
protected _sweepLandings(): void;
|
|
632
|
+
/**
|
|
633
|
+
* The engine commit an engine write made during a model operation lands in: the operation's
|
|
634
|
+
* root (`<id>:0`) or the nested savepoint open now. `null` outside an operation, or while a
|
|
635
|
+
* landing is already open (the write joins it).
|
|
636
|
+
*/
|
|
637
|
+
protected _modelLanding(): string | null;
|
|
638
|
+
/**
|
|
639
|
+
* Engine state is never a step of history on its own: a write is attributed to the model
|
|
640
|
+
* operation it is made in, or folded into the current snapshot (a pass's bookkeeping).
|
|
641
|
+
*/
|
|
642
|
+
protected _updateState(updateState?: Partial<CalcBackend.State>, options?: ITransaction.StoreOperationOptions, events?: (keyof IModel.Events)[]): this;
|
|
643
|
+
protected _amendState(updateState?: Partial<CalcBackend.State>, options?: ITransaction.StoreOperationOptions, events?: (keyof IModel.Events)[]): this;
|
|
644
|
+
/**
|
|
645
|
+
* A restore moves every grid to another snapshot and reports nothing, so each grid adopts the
|
|
646
|
+
* maps the snapshot holds for it, and the calculation is told.
|
|
647
|
+
*/
|
|
648
|
+
protected _processRestoreOrRevert(state: CalcBackend.State, commit: ITransaction.ICommit): void;
|
|
649
|
+
get [Symbol.toStringTag](): string;
|
|
650
|
+
toString(): string;
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Interfaces for creating a {@link CalcBackend}.
|
|
654
|
+
*/
|
|
655
|
+
export declare namespace CalcBackend {
|
|
656
|
+
/**
|
|
657
|
+
* What the backend asks of the calculation that made it: the in-process half of the backend's
|
|
658
|
+
* interface. Everything else it reads it was given at construction, as data.
|
|
659
|
+
*/
|
|
660
|
+
interface Callbacks {
|
|
661
|
+
/** The compiler for stored text, or the editing one for `target`; `null` before a start has loaded one. */
|
|
662
|
+
getCompiler(target?: ICalculation.FormulaTarget): IFormulaCompiler | null;
|
|
663
|
+
/** The landing of the model operation open now - its root `<id>:0` or its nested savepoint - or `null` outside one. */
|
|
664
|
+
getModelLanding(): string | null;
|
|
665
|
+
/** Sends a grid's request through the calculation's channel. */
|
|
666
|
+
sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
|
|
667
|
+
/** What images a grid's records for the model. */
|
|
668
|
+
getImager(gridId: string): FormulaImager;
|
|
669
|
+
/** A pass's or a seed's results for a model grid: pushed to the grid under the same id. */
|
|
670
|
+
onCalculated(gridId: string, results: ICalcGrid.Results): void;
|
|
671
|
+
/** The engine's store was restored: what the calculation's own listeners and its hosts are told. */
|
|
672
|
+
onRestored(): void;
|
|
673
|
+
/** Something was marked out of date: the calculation state may have changed. */
|
|
674
|
+
onDirty(): void;
|
|
675
|
+
/** A replica of tables or names changed: what its symbols resolve to now is reconciled. */
|
|
676
|
+
onSymbolsChanged(kind: 'tables' | 'names'): void;
|
|
677
|
+
/** Runs an action at the calculation's next safe point; a `priority` one ahead of the rest. */
|
|
678
|
+
whenSafe(action: () => Promise<unknown>, priority: boolean): void;
|
|
679
|
+
/** Whether the calculation is loading: draining, or starting. */
|
|
680
|
+
isLoading(): boolean;
|
|
681
|
+
/** Runs a pass: explicit without `gridId`, reactive for it with one. */
|
|
682
|
+
calculate(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
683
|
+
/** Owes a reactive pass for `gridId`, run once the current flush is over. */
|
|
684
|
+
owePass(gridId: string): void;
|
|
685
|
+
/** Whether a grid id is a defined name's: its virtual grid's id is the name's. */
|
|
686
|
+
isDefinedName(gridId: string): boolean;
|
|
687
|
+
/** A defined name as a node of the dependency graph, or `null` when there is no such name. */
|
|
688
|
+
getNameNodeInfo(nameId: string): NamedNodeInfo | null;
|
|
689
|
+
/** A table by its stable id, as it is now, or `null` when it is gone: what a structured reference resolves against. */
|
|
690
|
+
getTable(tableId: string): TableExtent | null;
|
|
691
|
+
/**
|
|
692
|
+
* Writes `text` over `coords` of a formula host's body, where the model holds it.
|
|
693
|
+
* @returns `false` when no host holds the grid.
|
|
694
|
+
*/
|
|
695
|
+
rewriteHost(gridId: string, coords: IRange.Coords, text: string): boolean;
|
|
696
|
+
/** A virtual grid for an external book's cached name, as a host. */
|
|
697
|
+
createHost(id: string): FormulaHost;
|
|
698
|
+
/** The id the named-formula symbols give a name defined in `scopeId`. */
|
|
699
|
+
bindNameId(name: string, scopeId: string): string;
|
|
700
|
+
}
|
|
701
|
+
/** A request the channel held while the engine came up: see {@link CalcBackend.applyHeld}. */
|
|
702
|
+
interface Held {
|
|
703
|
+
gridId: string;
|
|
704
|
+
request: CalcRequest;
|
|
705
|
+
/** The model snapshot it was made at. */
|
|
706
|
+
commitId: string | undefined;
|
|
707
|
+
/** The model has undone the snapshot it was made at since. */
|
|
708
|
+
dead: boolean;
|
|
709
|
+
}
|
|
710
|
+
/** What one held request answered: its response, or what applying it threw. */
|
|
711
|
+
interface Applied {
|
|
712
|
+
/** Its position in the batch. */
|
|
713
|
+
index: number;
|
|
714
|
+
response?: CalcResponse | PromiseLike<CalcResponse>;
|
|
715
|
+
error?: unknown;
|
|
716
|
+
failed?: boolean;
|
|
717
|
+
}
|
|
718
|
+
/** Where a formula held apart from any grid is compiled: see {@link CalcBackend.compileTemporary}. */
|
|
719
|
+
interface TemporaryAt {
|
|
720
|
+
/** The sheet it is written on, or the one a virtual formula is compiled as if on. */
|
|
721
|
+
gridId: string | null;
|
|
722
|
+
/** Held in a grid of its own rather than on `gridId`. */
|
|
723
|
+
virtual: boolean;
|
|
724
|
+
rowIndex: number;
|
|
725
|
+
colIndex: number;
|
|
726
|
+
target: ICalculation.FormulaTarget;
|
|
727
|
+
}
|
|
728
|
+
/** A formula held apart from any grid: its block, the grid it is anchored in, and its evaluation. */
|
|
729
|
+
interface Temporary {
|
|
730
|
+
block: IFormulaBlock;
|
|
731
|
+
calcGrid: CalcGridBackend;
|
|
732
|
+
/** The grid it is anchored in: its sheet, or `temporary`. */
|
|
733
|
+
gridId: string;
|
|
734
|
+
/** Evaluates `block` - this one, or a repair of it - at the formula's cell. */
|
|
735
|
+
evaluate(block: IFormulaBlock, evalIndex: number | undefined, alwaysReturnRange: boolean): Scalar | IRange;
|
|
736
|
+
}
|
|
737
|
+
/** The three replicas, as a start seeds them. */
|
|
738
|
+
interface Replica {
|
|
739
|
+
sheets: ReadonlyMap<string, string | null>;
|
|
740
|
+
/** The sheets in {@link sheets} that have no grid: chart, macro and dialog sheets. */
|
|
741
|
+
gridless?: ReadonlySet<string>;
|
|
742
|
+
tables: ReadonlyMap<string, TableSymbols>;
|
|
743
|
+
names: ReadonlyMap<string, NameSymbols>;
|
|
744
|
+
}
|
|
745
|
+
/** What a pass is: see {@link CalcBackend.runPass}. */
|
|
746
|
+
interface PassOptions {
|
|
747
|
+
/** A full pass; when absent, whether one is owed. */
|
|
748
|
+
full?: boolean;
|
|
749
|
+
/** The cells to calculate, when only a range is. */
|
|
750
|
+
calcCoords?: IRange.Coords;
|
|
751
|
+
/** The grid whose reactive pass this is; absent for an explicit one. */
|
|
752
|
+
gridId?: string;
|
|
753
|
+
/** Iterative calculation's limits, or `null` when it is off. */
|
|
754
|
+
iterate: {
|
|
755
|
+
maxIteration: number;
|
|
756
|
+
maxChange: number;
|
|
757
|
+
} | null;
|
|
758
|
+
/** The model operation open now: what the pass's results are realized under. */
|
|
759
|
+
openOperationId: string | null;
|
|
760
|
+
}
|
|
761
|
+
interface ConstructorOptions {
|
|
762
|
+
callbacks: Callbacks;
|
|
763
|
+
/** The runtime formulas evaluate against. */
|
|
764
|
+
runtime: IRuntime;
|
|
765
|
+
/** The symbols formulas bind through. */
|
|
766
|
+
symbols: ISymbolRegistry;
|
|
767
|
+
/** What every formula block resolves structured references and names through. */
|
|
768
|
+
resolvers: FormulaBlockResolvers;
|
|
769
|
+
/** Function providers bound after the built-ins. */
|
|
770
|
+
functions?: readonly FunctionProvider[];
|
|
771
|
+
/** The owner's selected sheet, and a sheet position by a name the replica does not hold. */
|
|
772
|
+
getSheetIndex?: (sheetName?: string) => number;
|
|
773
|
+
/** The file asks for Excel's legacy implicit intersection. */
|
|
774
|
+
legacyIntersect?: boolean;
|
|
775
|
+
/** Options every grid of the backend's is made with. */
|
|
776
|
+
gridOptions?: Partial<CalcGridBackend.ConstructorOptions>;
|
|
777
|
+
/** The calculation the grids report their status and readiness through. */
|
|
778
|
+
calculation: ICalculation;
|
|
779
|
+
/** The external books the bindings mirror. */
|
|
780
|
+
books: IExternalBookCollection;
|
|
781
|
+
/** The replicas as the owner holds them when the start was asked for. */
|
|
782
|
+
replica?: Replica;
|
|
783
|
+
/** The model's current commit, mirrored first. */
|
|
784
|
+
modelCommitId?: string | null;
|
|
785
|
+
/** A plan-cache mode set before the backend existed. */
|
|
786
|
+
planCacheMode?: 'off' | 'assert' | 'on' | null;
|
|
787
|
+
}
|
|
788
|
+
interface State extends AbstractModel.State {
|
|
789
|
+
/** The model commit this engine commit mirrors; written by every mirror so the commit lands. */
|
|
790
|
+
mirrorOf?: string;
|
|
791
|
+
/**
|
|
792
|
+
* Top down evaluation and marking dirty.
|
|
793
|
+
* This is the only spatial map that is completely updated via api.
|
|
794
|
+
*
|
|
795
|
+
* @remarks
|
|
796
|
+
* For top down evaluation and marking formulas dirty.
|
|
797
|
+
*/
|
|
798
|
+
formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
|
|
799
|
+
/**
|
|
800
|
+
* Tracks the inputs to formulas.
|
|
801
|
+
*
|
|
802
|
+
* @remarks
|
|
803
|
+
* * For bottom up marking dirty.
|
|
804
|
+
* * Contains a back-pointer to the formula.
|
|
805
|
+
*
|
|
806
|
+
*/
|
|
807
|
+
precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
|
|
808
|
+
/**
|
|
809
|
+
* Tracks dynamic precedents by block.
|
|
810
|
+
* Used to remove old dynamic precedents when a block is re-evaluated and to add new ones after evaluation.
|
|
811
|
+
*/
|
|
812
|
+
dynamicByBlock: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
|
|
813
|
+
/**
|
|
814
|
+
* Dirty regions
|
|
815
|
+
*/
|
|
816
|
+
dirtySpatial: ISpatialMap3D;
|
|
817
|
+
/**
|
|
818
|
+
* If true, the next calculation will be a full calc regardless of dirty state. Used for example when the engine detects a circular dependency and needs to fallback to iterative calculation or when the user explicitly requests a full calc.
|
|
819
|
+
*/
|
|
820
|
+
isFullCalcRequired: boolean;
|
|
821
|
+
/**
|
|
822
|
+
* All registered grids.
|
|
823
|
+
*/
|
|
824
|
+
gridsAll: Map<string, CalcGridBackend>;
|
|
825
|
+
/**
|
|
826
|
+
* The engine's replica of the model's sheet list (DESIGN-CALC-SERVICE §8): grid id to name, in
|
|
827
|
+
* tab order. What every symbol lookup, span and sheet-position function reads. Fed by the
|
|
828
|
+
* `sheets` message and by grid registration; versioned here so a revert restores it with the
|
|
829
|
+
* formulas that bound through it.
|
|
830
|
+
*/
|
|
831
|
+
sheets: ReadonlyMap<string, string | null>;
|
|
832
|
+
/**
|
|
833
|
+
* The sheets in {@link sheets} that have no grid: chart, macro and dialog sheets. They count in
|
|
834
|
+
* tab order (`SHEETS`, `SHEET`, a span's members) and hold no cells.
|
|
835
|
+
*/
|
|
836
|
+
gridless: ReadonlySet<string>;
|
|
837
|
+
/**
|
|
838
|
+
* The engine's replica of the model's tables (DESIGN-CALC-SERVICE §8): table id to its name and
|
|
839
|
+
* its columns' ids and names. What a structured reference binds and images through. Fed by the
|
|
840
|
+
* `tables` message, seeded at a start, versioned here as {@link sheets} is.
|
|
841
|
+
*/
|
|
842
|
+
tables: ReadonlyMap<string, TableSymbols>;
|
|
843
|
+
/**
|
|
844
|
+
* The engine's replica of the defined names: name id to its spelling and the sheet it is scoped
|
|
845
|
+
* to. What a name binds and images through. Fed by the `names` message, as {@link tables} is.
|
|
846
|
+
*/
|
|
847
|
+
names: ReadonlyMap<string, NameSymbols>;
|
|
848
|
+
/**
|
|
849
|
+
* Each grid's per-grid maps as of this snapshot (`CalcGridMaps`): values, contentful, spills,
|
|
850
|
+
* errors, pending, circular. Copy-on-write per request; handed back to the grid on a restore.
|
|
851
|
+
*/
|
|
852
|
+
gridMaps: Map<string, object>;
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
//# sourceMappingURL=CalcBackend.d.ts.map
|