@sheetxl/sdk 0.8.0-beta.10 → 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/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
- package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → BFagR2JeWs74iAG3.mjs} +1 -1
- package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
- package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → BLoUBId2xZpXAK_H.mjs} +110 -261
- package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
- package/browser/esm/{o8MFgcVXns987D6_.mjs → BVDiOXGMc5_FMGfy.mjs} +6 -6
- package/browser/esm/{BzLfNyc6OOShIErH.mjs → BjkCiv5Jz6WYKZeu.mjs} +2 -2
- package/browser/esm/{De175LygU7ot4nQm.mjs → BkBhLS0l6z8sxI6D.mjs} +2 -2
- package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → BnG31I6Oj_HEtSPS.mjs} +1 -1
- package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
- package/browser/esm/{CYyv6uGjo10ig5FP.mjs → BpgskG1Er_lGQ_yS.mjs} +1 -1
- package/browser/esm/{C9B0djuUarfNdoj0.mjs → BtvLTTfSBdAKplVG.mjs} +1 -1
- package/browser/esm/{zqJOaweiXE9D8RY1.mjs → C16ycKja6zG0crV_.mjs} +27687 -38788
- package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
- package/browser/esm/{Btg43M1Bf-ENDreu.mjs → C4MqfLn9Dm-l3OIk.mjs} +1 -1
- package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
- package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → CHU6iu_WGlm7fLET.mjs} +1 -1
- package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → CQYjO777cmAznUzK.mjs} +1 -1
- package/browser/esm/{D4uVlrG0xEFctsSM.mjs → CU3DmJ-YnVVrC1_k.mjs} +285 -67
- package/browser/esm/{ClB5ix51roQOpZEr.mjs → CV5EGEjG5_-CPpP0.mjs} +2877 -2067
- package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
- package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
- package/browser/esm/{CZ5oa92wZEAXebgk.mjs → ClPfI4lODvCece29.mjs} +32 -22
- package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
- package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → Ctjb0SsxV4K4MMqG.mjs} +2 -2
- package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → D5np__Jb1euAyaLw.mjs} +2 -2
- package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → DEiPS3Dr-s4fPbVZ.mjs} +1 -1
- package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
- package/browser/esm/{BqskM7wA8oPfFQue.mjs → DWNzqw7DUKwoxjri.mjs} +2 -2
- package/browser/esm/{BEAY9XgKNx-bakXW.mjs → Dlmig06rIo7cInRk.mjs} +1 -1
- package/browser/esm/DvAaxH6z_tGvrRzl.mjs +5132 -0
- package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
- package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → PcHFjNzQsE54POri.mjs} +1 -1
- 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 +999 -850
- package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
- package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → zlLuW405RSguy4Kn.mjs} +34 -34
- package/licenses/dependencies.txt +75 -75
- package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → 2Kihw_-5lVTEnwMa.mjs} +285 -64
- package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
- package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
- package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
- package/node/esm/{CImNvdz1iP-lUlro.mjs → BIRq1kT7lLRzns9t.mjs} +181 -181
- package/node/esm/{CD9wbvufChVYYkrI.mjs → BIwObuhTJYf0jpUa.mjs} +2 -2
- package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
- package/node/esm/{B6D7sSetrcOWLsKj.mjs → BqiexuA89caYnAPz.mjs} +1 -1
- package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BrCKGFRsX_ezFJ4B.mjs} +151 -302
- package/node/esm/CCN5vD410obwdz38.mjs +405 -0
- package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
- package/node/esm/{DCplLG93GfTs1vNw.mjs → CGp6VZL-gZa9Uezx.mjs} +1 -1
- package/node/esm/{B9ljpEIZg6wOTzRE.mjs → CNCNJNg890KdgkWh.mjs} +1 -1
- package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CZICGK_ss0HoGHCP.mjs} +2 -2
- package/node/esm/{D7MfcID2Wf6l6VpC.mjs → CZiqiay42tFTrLI4.mjs} +1 -1
- package/node/esm/{Bsx9uijd4X_SKV3L.mjs → CdJHUJSBRHZoryPe.mjs} +41 -41
- package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
- package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
- package/node/esm/{CUUoseJmFsCf82bb.mjs → CzXT00vrQa1_gvW9.mjs} +1 -1
- package/node/esm/{C6ZXsNyLXI6zA63X.mjs → D1TKBVmoKGAXf37B.mjs} +9 -9
- package/node/esm/{BN9j8V9gCExMjVtJ.mjs → D2KBymQJd1XhpeQD.mjs} +1 -1
- package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → D6e2z7eZpxOJXHc7.mjs} +1 -1
- package/node/esm/{BtuY37FumvLE7EBo.mjs → D8zEN-6ZdDqDvTxM.mjs} +156 -146
- 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/{DMD12JUh7HJw2-jl.mjs → D_t5AUxSm7_icjzq.mjs} +1 -1
- package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
- package/node/esm/{CUQi5ZtMO02nhG0W.mjs → De2IONBxQhz-Qbyh.mjs} +1 -1
- 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/{DefYISWfdZJFx57m.mjs → cGwrLA1RCE-WhJ7w.mjs} +1 -1
- package/node/esm/index.mjs +2657 -65664
- package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
- package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → yavzZOiZW_EjG9lE.mjs} +1 -1
- package/package.json +6 -7
- package/resources/contents.json +120 -0
- package/resources/fonts/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/arial-bold-italic.metrics.json +13 -13
- package/resources/fonts/arial-bold-italic.rows.json +9 -0
- package/resources/fonts/arial-bold.hinted.json +125 -0
- package/resources/fonts/arial-bold.metrics.json +12 -12
- package/resources/fonts/arial-bold.rows.json +9 -0
- package/resources/fonts/arial-italic.hinted.json +125 -0
- package/resources/fonts/arial-italic.metrics.json +13 -13
- package/resources/fonts/arial-italic.rows.json +9 -0
- package/resources/fonts/arial-regular.hinted.json +125 -0
- package/resources/fonts/arial-regular.metrics.json +12 -12
- package/resources/fonts/arial-regular.rows.json +9 -0
- package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
- package/resources/fonts/calibri-bold-italic.rows.json +9 -0
- package/resources/fonts/calibri-bold.hinted.json +122 -0
- package/resources/fonts/calibri-bold.metrics.json +1 -1
- package/resources/fonts/calibri-bold.rows.json +9 -0
- package/resources/fonts/calibri-italic.hinted.json +121 -0
- package/resources/fonts/calibri-italic.metrics.json +2 -2
- package/resources/fonts/calibri-italic.rows.json +9 -0
- package/resources/fonts/calibri-regular.hinted.json +121 -0
- package/resources/fonts/calibri-regular.metrics.json +1 -1
- package/resources/fonts/calibri-regular.rows.json +9 -0
- package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
- package/resources/fonts/cambria-bold-italic.rows.json +9 -0
- package/resources/fonts/cambria-bold.hinted.json +108 -0
- package/resources/fonts/cambria-bold.metrics.json +19 -19
- package/resources/fonts/cambria-bold.rows.json +9 -0
- package/resources/fonts/cambria-italic.hinted.json +102 -0
- package/resources/fonts/cambria-italic.metrics.json +23 -23
- package/resources/fonts/cambria-italic.rows.json +9 -0
- package/resources/fonts/cambria-regular.hinted.json +110 -0
- package/resources/fonts/cambria-regular.metrics.json +18 -18
- package/resources/fonts/cambria-regular.rows.json +9 -0
- package/resources/fonts/contents.json +280 -0
- package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
- package/resources/fonts/courier-new-bold.hinted.json +11 -0
- package/resources/fonts/courier-new-bold.metrics.json +12 -12
- package/resources/fonts/courier-new-bold.rows.json +9 -0
- package/resources/fonts/courier-new-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-italic.rows.json +9 -0
- package/resources/fonts/courier-new-regular.hinted.json +11 -0
- package/resources/fonts/courier-new-regular.metrics.json +12 -12
- package/resources/fonts/courier-new-regular.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
- package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
- package/resources/fonts/times-new-roman-bold.rows.json +9 -0
- package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
- package/resources/fonts/times-new-roman-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
- package/resources/fonts/times-new-roman-regular.rows.json +9 -0
- package/resources/locales/de/model.msg.json +87 -9
- package/resources/locales/en/model.msg.json +88 -10
- package/types/scripting-api.json +10636 -8021
- package/types/scripting-enums.json +181 -43
- package/types/scripting.d.ts +15886 -8459
- 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/border/IBorders.d.ts +16 -0
- package/types/src/calculation/Calculation.d.ts +93 -363
- package/types/src/calculation/FormulaLiterals.d.ts +2 -1
- package/types/src/calculation/FormulaText.d.ts +18 -2
- package/types/src/calculation/ICalculation.d.ts +37 -9
- package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +190 -15
- package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
- package/types/src/calculation/_TableExtent.d.ts +60 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
- package/types/src/calculation/compiler/Types.d.ts +1 -1
- 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 +21 -2
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +6 -0
- package/types/src/calculation/formula/Formula.d.ts +9 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +6 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +16 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
- package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
- package/types/src/calculation/grid/CalcGrid.d.ts +40 -4
- package/types/src/calculation/grid/CalcGridBackend.d.ts +30 -0
- package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +8 -1
- package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
- package/types/src/calculation/grid/ICalcGrid.d.ts +35 -6
- package/types/src/calculation/grid/_CalcRequest.d.ts +11 -1
- package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +27 -2
- package/types/src/calculation/state/CalcScope.d.ts +15 -6
- package/types/src/calculation/state/CalcState.d.ts +10 -0
- package/types/src/calculation/state/CalculationContext.d.ts +2 -2
- package/types/src/calculation/state/IContextContainer.d.ts +12 -0
- package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
- package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
- package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
- package/types/src/calculation/toolkit/index.d.ts +12 -0
- package/types/src/cell/ICell.d.ts +256 -7
- package/types/src/cell/ICellHeader.d.ts +7 -6
- package/types/src/cell/ICellProtection.d.ts +1 -1
- 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 +322 -55
- package/types/src/cellRange/ICellRanges.d.ts +8 -3
- package/types/src/chart/Chart.d.ts +217 -15
- package/types/src/chart/ChartCollection.d.ts +7 -2
- package/types/src/chart/IChart.d.ts +1921 -35
- package/types/src/chart/IChartCollection.d.ts +27 -2
- package/types/src/chart/_ChartParts.d.ts +1066 -0
- package/types/src/chart/_ChartSource.d.ts +47 -0
- package/types/src/chart/createChart.d.ts +26 -0
- package/types/src/chart/index.d.ts +4 -0
- package/types/src/chart/kinds/ChartKind.d.ts +252 -0
- package/types/src/chart/kinds/_Area.d.ts +3 -0
- package/types/src/chart/kinds/_Bar.d.ts +4 -0
- package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
- package/types/src/chart/kinds/_Bubble.d.ts +3 -0
- package/types/src/chart/kinds/_Funnel.d.ts +4 -0
- package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
- package/types/src/chart/kinds/_Histogram.d.ts +4 -0
- package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
- package/types/src/chart/kinds/_Line.d.ts +4 -0
- package/types/src/chart/kinds/_OfPie.d.ts +4 -0
- package/types/src/chart/kinds/_Pie.d.ts +4 -0
- package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
- package/types/src/chart/kinds/_Radar.d.ts +4 -0
- package/types/src/chart/kinds/_Scatter.d.ts +8 -0
- package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
- package/types/src/chart/kinds/_Surface.d.ts +4 -0
- package/types/src/chart/kinds/_Treemap.d.ts +4 -0
- package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
- package/types/src/chart/kinds/_builtIns.d.ts +11 -0
- package/types/src/chart/layout/ChartLayout.d.ts +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/RTree.d.ts +116 -36
- package/types/src/collections/SparseGrid.d.ts +6 -3
- package/types/src/collections/SpatialMap.d.ts +2 -8
- package/types/src/collections/SpatialMap3D.d.ts +2 -0
- package/types/src/collections/index.d.ts +1 -1
- package/types/src/comment/Comment.d.ts +32 -9
- package/types/src/comment/IComment.d.ts +41 -4
- package/types/src/comment/_NoteBox.d.ts +19 -2
- package/types/src/condition/AnchoredConditional.d.ts +28 -2
- package/types/src/condition/ICondition.d.ts +3 -2
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
- package/types/src/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 +1 -1
- package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
- package/types/src/dataValidation/IDataValidation.d.ts +1 -1
- package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
- package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
- package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
- package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
- package/types/src/documentProperties/index.d.ts +3 -0
- package/types/src/externalBook/IExternalBook.d.ts +1 -1
- package/types/src/fill/IFill.d.ts +7 -0
- package/types/src/fill/IFillable.d.ts +47 -0
- package/types/src/fill/IStroke.d.ts +15 -1
- package/types/src/fill/PaintUtils.d.ts +22 -0
- package/types/src/fill/index.d.ts +2 -0
- package/types/src/font/AdvanceBuilder.d.ts +34 -0
- package/types/src/font/AdvanceTable.d.ts +128 -14
- package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
- package/types/src/font/FontCapture.d.ts +4 -0
- package/types/src/font/FontCollection.d.ts +53 -2
- package/types/src/font/FontPlatform.d.ts +20 -0
- package/types/src/font/FontUtils.d.ts +5 -0
- package/types/src/font/IFont.d.ts +191 -61
- package/types/src/font/IFontCollection.d.ts +20 -14
- package/types/src/font/IFontStyle.d.ts +207 -0
- package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
- package/types/src/font/_FontUtils.d.ts +11 -4
- package/types/src/font/_FontsVersion.d.ts +7 -0
- package/types/src/font/index.d.ts +1 -3
- package/types/src/font/platform.browser.d.ts +15 -0
- package/types/src/font/platform.node.d.ts +5 -0
- package/types/src/group/Group.d.ts +5 -0
- package/types/src/group/GroupMovableCollection.d.ts +4 -0
- package/types/src/history/IHistory.d.ts +19 -2
- package/types/src/hyperlink/IHyperlink.d.ts +7 -1
- package/types/src/index.d.ts +3 -0
- package/types/src/license/LicenseManager.d.ts +21 -0
- package/types/src/license/_Utils.d.ts +18 -1
- package/types/src/license/runtime.browser.d.ts +5 -0
- package/types/src/license/runtime.node.d.ts +10 -0
- package/types/src/listener/IListener.d.ts +14 -2
- package/types/src/listener/ListenerEmitter.d.ts +11 -3
- package/types/src/movable/IMovable.d.ts +28 -15
- package/types/src/movable/IMovableCollection.d.ts +1 -1
- package/types/src/movable/Movable.d.ts +12 -1
- package/types/src/movable/MovableCollection.d.ts +7 -3
- package/types/src/movable/_InsertableCollection.d.ts +16 -5
- package/types/src/named/INamed.d.ts +30 -0
- package/types/src/named/INamedCollection.d.ts +2 -2
- package/types/src/named/NamedCollection.d.ts +16 -4
- package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
- package/types/src/outline/IOutline.d.ts +1 -1
- package/types/src/outline/Outline.d.ts +2 -2
- package/types/src/picture/IPicture.d.ts +98 -1
- package/types/src/picture/Picture.d.ts +15 -7
- package/types/src/pivot/IPivotTable.d.ts +2 -2
- package/types/src/pivot/PivotTable.d.ts +5 -5
- package/types/src/primitives/ReferenceRange.d.ts +2 -2
- package/types/src/print/IPageLayout.d.ts +635 -0
- package/types/src/print/PageLayout.d.ts +258 -0
- package/types/src/print/index.d.ts +1 -1
- package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
- package/types/src/protection/IProtection.d.ts +6 -0
- package/types/src/protection/PasswordHasher.d.ts +13 -0
- package/types/src/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/IModule.d.ts +3 -3
- package/types/src/scripting/IScript.d.ts +2 -2
- package/types/src/scripting/ITypedFunction.d.ts +1 -1
- package/types/src/scripting/declarations.d.ts +3 -0
- package/types/src/selection/ChartElementSelection.d.ts +39 -0
- package/types/src/selection/IChartElementSelection.d.ts +103 -0
- package/types/src/selection/IItemSelection.d.ts +131 -0
- package/types/src/selection/IMovableSelection.d.ts +6 -34
- package/types/src/selection/IRangeSelection.d.ts +4 -4
- package/types/src/selection/ItemSelection.d.ts +49 -0
- package/types/src/selection/MovableSelection.d.ts +11 -30
- package/types/src/selection/RangeSelection.d.ts +4 -4
- package/types/src/selection/index.d.ts +3 -0
- package/types/src/shape/IShape.d.ts +2 -1
- package/types/src/shape/IShapeStyle.d.ts +5 -31
- package/types/src/shape/ITextBoxStyle.d.ts +85 -0
- package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
- package/types/src/shape/_Connectors.d.ts +9 -9
- package/types/src/shape/_ShapeStyle.d.ts +9 -0
- package/types/src/shape/index.d.ts +1 -0
- package/types/src/sheet/CellRegion.d.ts +37 -3
- package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
- package/types/src/sheet/ISheet.d.ts +81 -1078
- package/types/src/sheet/IWorksheet.d.ts +1514 -0
- package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
- package/types/src/sheet/NamedCellRange.d.ts +2 -2
- package/types/src/sheet/NamedRange.d.ts +2 -2
- package/types/src/sheet/OpaqueSheet.d.ts +114 -0
- package/types/src/sheet/SheetCell.d.ts +24 -27
- package/types/src/sheet/SheetRange.d.ts +42 -11
- package/types/src/sheet/SheetRanges.d.ts +12 -10
- package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +510 -144
- 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 +11 -1
- package/types/src/sheet/_CopyUtils.d.ts +13 -6
- package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
- package/types/src/sheet/_Kinds.d.ts +34 -0
- package/types/src/sheet/_Labels.d.ts +38 -0
- package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
- package/types/src/sheet/_ScalarListFactory.d.ts +1 -1
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
- package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
- package/types/src/sheet/_SheetCoords.d.ts +3 -3
- package/types/src/sheet/_SheetEvents.d.ts +1 -1
- package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
- package/types/src/sheet/_SheetIntents.d.ts +32 -14
- package/types/src/sheet/_SheetMessages.d.ts +1 -1
- package/types/src/sheet/_SheetMutations.d.ts +7 -8
- package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
- package/types/src/sheet/_SheetStateReader.d.ts +18 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +60 -1
- package/types/src/sheet/_SheetUtils.d.ts +20 -19
- package/types/src/sheet/_WatchAnchor.d.ts +15 -2
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
- package/types/src/sheet/index.d.ts +5 -2
- package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
- package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
- package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
- package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
- package/types/src/sheet/style/_Resolvers.d.ts +3 -2
- package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
- package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
- package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
- package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
- package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
- package/types/src/sheetProtection/index.d.ts +1 -1
- package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
- package/types/src/sheetView/WorksheetView.d.ts +139 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
- package/types/src/sheetView/index.d.ts +1 -1
- package/types/src/slicer/ISlicer.d.ts +2 -2
- package/types/src/sort/ISort.d.ts +35 -5
- package/types/src/style/ICellStyle.d.ts +56 -44
- package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
- package/types/src/table/AnchoredTable.d.ts +23 -7
- package/types/src/table/AutoTable.d.ts +1 -1
- package/types/src/table/ITable.d.ts +32 -19
- package/types/src/table/_NamedTable.d.ts +3 -3
- package/types/src/table/_NamedTableSource.d.ts +2 -2
- package/types/src/text/IText.d.ts +4 -51
- package/types/src/text/TextEngine.d.ts +34 -0
- package/types/src/text/TextFrame.d.ts +4 -2
- package/types/src/text/TextRun.d.ts +3 -2
- package/types/src/text/TextWrapper.d.ts +32 -26
- package/types/src/text/_TextUtils.d.ts +5 -5
- package/types/src/text/_TextWrapperFallback.d.ts +49 -0
- package/types/src/text/impl/TabStrategy.d.ts +3 -1
- package/types/src/text/richtext/IRichText.d.ts +16 -2
- package/types/src/text/richtext/index.d.ts +0 -1
- package/types/src/theme/ITheme.d.ts +108 -7
- package/types/src/theme/ThemeCollection.d.ts +5 -0
- package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
- package/types/src/transaction/ITransaction.d.ts +20 -1
- package/types/src/transaction/Transaction.d.ts +8 -1
- package/types/src/transaction/_BatchHandle.d.ts +118 -0
- package/types/src/type/AbstractCollection.d.ts +4 -13
- package/types/src/type/ICollection.d.ts +17 -4
- package/types/src/type/IProperties.d.ts +1 -1
- package/types/src/utils/_CSSUtils.d.ts +1 -1
- package/types/src/wasm/_fontsWasm.d.ts +7 -0
- package/types/src/wasm/_sdkWasm.d.ts +1 -1
- package/types/src/wasm/fontsWasm.d.ts +32 -0
- package/types/src/wasm/index.d.ts +1 -0
- package/types/src/wasm/loader.browser.d.ts +9 -0
- package/types/src/wasm/loader.node.d.ts +9 -0
- package/types/src/wasm/sdkWasm.d.ts +6 -3
- package/types/src/workbook/IWorkbook.d.ts +229 -38
- package/types/src/workbook/Workbook.d.ts +77 -22
- 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 +2 -2
- package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
- package/types/src/workbookView/IWorkbookView.d.ts +82 -0
- package/types/src/workbookView/WorkbookView.d.ts +21 -0
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
- package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
- package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
- package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
- package/types/src/chart/_ChartXml.d.ts +0 -70
- package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
- package/types/src/collections/_RangeSweep.d.ts +0 -97
- package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
- package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
- package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
- package/types/src/print/IPrint.d.ts +0 -212
- package/types/src/sheet/SheetCollection.d.ts +0 -29
- package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
- package/types/src/sheetView/SheetView.d.ts +0 -122
- package/types/src/text/richtext/IStyledFont.d.ts +0 -330
|
@@ -1,69 +1,39 @@
|
|
|
1
|
-
import { IRange,
|
|
1
|
+
import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { IListener } from '../listener';
|
|
3
3
|
import { FunctionProvider } from '@sheetxl/scripting';
|
|
4
4
|
import { AbstractModel, IModel } from '../model';
|
|
5
5
|
import { ITransaction } from '../transaction';
|
|
6
6
|
import { IStringCollection } from '../string';
|
|
7
7
|
import { IFunctionCollection } from '../scripting';
|
|
8
|
-
import { ISpatialMap, ISpatialMap3D } from '../collections';
|
|
9
8
|
import { INamed, INamedCollection } from '../named';
|
|
10
9
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
11
10
|
import { NamedNodeInfo } from './Types';
|
|
12
11
|
import { ITable } from '../table';
|
|
13
12
|
import { IExternalBook, IExternalBookCollection } from '../externalBook';
|
|
14
13
|
import { ExternalBookCollection } from '../externalBook/ExternalBookCollection';
|
|
15
|
-
import { ExternalBookBindings } from './ExternalBookBindings';
|
|
16
14
|
import { FormulaBlockResolvers, FormulaImager } from './formula';
|
|
17
15
|
import { IFormulaCompiler } from './compiler';
|
|
18
|
-
import {
|
|
19
|
-
import { FormulaSpatialValue, PrecedentSpatialValue } from './spatial';
|
|
20
|
-
import { CalcGridBackend, CalcGrid, FormulaHost, ICalcGrid } from './grid';
|
|
16
|
+
import { CalcGrid, FormulaHost, ICalcGrid } from './grid';
|
|
21
17
|
import { CalcRequest, CalcResponse, CalcGridSpec, TableSymbols, NameSymbols } from './grid/_CalcRequest';
|
|
22
|
-
import {
|
|
18
|
+
import { CalcBackend } from './engine/CalcBackend';
|
|
23
19
|
import { IndirectSymbolProvider, ISymbolRegistry } from './symbol';
|
|
24
20
|
import { ICalculation } from './ICalculation';
|
|
25
21
|
import { NamedFormulaCollection } from './NamedFormulaCollection';
|
|
26
22
|
import { INamedFormulasCollection } from './INamedFormulasCollection';
|
|
27
|
-
/**
|
|
28
|
-
* What a structured reference resolves against: a live table, or a snapshot of one taken before it
|
|
29
|
-
* was removed ({@link snapshotTableExtent}).
|
|
30
|
-
*/
|
|
31
|
-
interface TableExtent {
|
|
32
|
-
getRange(): {
|
|
33
|
-
getCoords(): IRange.Coords;
|
|
34
|
-
};
|
|
35
|
-
getDataRange(): {
|
|
36
|
-
getCoords(): IRange.Coords;
|
|
37
|
-
};
|
|
38
|
-
getHeaderRowRange(): {
|
|
39
|
-
getCoords(): IRange.Coords;
|
|
40
|
-
};
|
|
41
|
-
getTotalRowRange(): {
|
|
42
|
-
getCoords(): IRange.Coords;
|
|
43
|
-
};
|
|
44
|
-
isShowHeaders(): boolean;
|
|
45
|
-
isShowTotals(): boolean;
|
|
46
|
-
getColumnById(id: string): {
|
|
47
|
-
getIndex(): number;
|
|
48
|
-
} | null;
|
|
49
|
-
getSheet(): {
|
|
50
|
-
getId(): string;
|
|
51
|
-
} | null | undefined;
|
|
52
|
-
}
|
|
53
23
|
/**
|
|
54
24
|
* Implementation for {@link ICalculation}.
|
|
55
25
|
*/
|
|
56
|
-
export declare class Calculation extends AbstractModel<State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
|
|
57
|
-
protected
|
|
58
|
-
protected
|
|
26
|
+
export declare class Calculation extends AbstractModel<AbstractModel.State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
|
|
27
|
+
protected _backend: CalcBackend | null;
|
|
28
|
+
protected _startReplica: CalcBackend.Replica | null;
|
|
29
|
+
/** The symbols formulas bind through (DESIGN-CALC-SERVICE §8): the model's, handed to the backend. */
|
|
30
|
+
protected _symbols: ISymbolRegistry;
|
|
59
31
|
protected _status: ICalculation.Status;
|
|
60
32
|
protected _statusTransition: Promise<void> | null;
|
|
61
33
|
protected _runtime: IRuntime;
|
|
62
34
|
protected _functions: IFunctionCollection;
|
|
63
35
|
protected _namedFormulas: NamedFormulaCollection;
|
|
64
36
|
protected _externalBooks: ExternalBookCollection;
|
|
65
|
-
/** The cache as grids and the cached names as virtual grids — see {@link ExternalBookBindings}. */
|
|
66
|
-
protected _externalBindings: ExternalBookBindings | null;
|
|
67
37
|
/** `json.names` held from construction until {@link hydrateNames} — see it for why. */
|
|
68
38
|
protected _pendingNames: INamed.JSON[] | null;
|
|
69
39
|
protected _compiler: IFormulaCompiler;
|
|
@@ -71,28 +41,18 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
71
41
|
protected _compilerEditingSig: string;
|
|
72
42
|
protected _compilerEditingStorage: IFormulaCompiler | null;
|
|
73
43
|
protected _compilerModule: typeof import('./compiler/FormulaCompiler');
|
|
44
|
+
protected _engineModule: typeof import('./engine') | null;
|
|
45
|
+
protected _planCache: 'off' | 'assert' | 'on' | null;
|
|
74
46
|
protected _getActiveCell: () => IRange.CellCoords | null;
|
|
75
47
|
protected _getRange: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
|
|
76
48
|
protected _getRanges: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
|
|
77
|
-
protected _calcExecutor: CalcExecutor;
|
|
78
|
-
protected _cycleId: number;
|
|
79
|
-
protected _staticEpoch: number;
|
|
80
|
-
protected _precedentEpoch: number;
|
|
81
|
-
protected _epochSeenFormulas: ISpatialMap3D<FormulaSpatialValue> | null;
|
|
82
|
-
protected _epochSeenPrecedents: ISpatialMap3D<PrecedentSpatialValue> | null;
|
|
83
|
-
protected _epochSeenDynamics: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]> | null;
|
|
84
|
-
protected _volatiles: Set<CalcNode>;
|
|
85
49
|
/** The current handle of every formula host's grid, by grid id. */
|
|
86
50
|
protected _formulaHosts: Map<string, FormulaHost>;
|
|
87
|
-
protected _calculatedCommitId: string | null;
|
|
88
|
-
protected _calculatedEngineId: string | null;
|
|
89
51
|
protected _modelStore: ITransaction.IStore | null;
|
|
90
52
|
/** The model-side grids, by grid id (DESIGN-CALC-SERVICE §13.23): what a copy lands on, what a start seeds from. */
|
|
91
53
|
protected readonly _fronts: Map<string, CalcGrid>;
|
|
92
54
|
/** What each model grid is, for the `create` a start sends for it (its size is read then). */
|
|
93
55
|
protected readonly _gridSpecs: Map<string, CalcGridSpec>;
|
|
94
|
-
/** The engine holds grids: from a start's boot until a stop. */
|
|
95
|
-
protected _engineUp: boolean;
|
|
96
56
|
protected _modelStoreRemoveListener: IListener.Remove | null;
|
|
97
57
|
protected _mirrorRemoveListener: IListener.Remove | null;
|
|
98
58
|
_modelMirrorId: string | null;
|
|
@@ -100,13 +60,7 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
100
60
|
protected _ownerStore: ITransaction.IStore;
|
|
101
61
|
/** The record holding the owner's sheet list, in {@link _ownerStore}. */
|
|
102
62
|
protected _sheetListId: string;
|
|
103
|
-
protected
|
|
104
|
-
protected _landingOf: Map<string, string>;
|
|
105
|
-
protected _mirroredId: string | null;
|
|
106
|
-
protected _lastRevert: {
|
|
107
|
-
commitId: string;
|
|
108
|
-
regions: Map<string, IRange.Coords[]>;
|
|
109
|
-
} | null;
|
|
63
|
+
protected _landedCommits: Set<string> | null;
|
|
110
64
|
protected _outstanding: Set<Promise<ICalcGrid.Results>> | null;
|
|
111
65
|
protected _pendingActions: (() => Promise<unknown>)[] | null;
|
|
112
66
|
protected _pendingPriority: (() => Promise<unknown>)[] | null;
|
|
@@ -126,6 +80,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
126
80
|
/** `ready()` calls waiting for work in flight to end: woken on every check. */
|
|
127
81
|
protected _calculationStateWaiters: (() => void)[] | null;
|
|
128
82
|
protected _bootFull: boolean;
|
|
83
|
+
/** Consumer work not yet settled: see {@link waitUntil}. */
|
|
84
|
+
protected _consumerWork: number;
|
|
129
85
|
protected _bootExplicit: boolean;
|
|
130
86
|
protected _compilerWaiters: (() => void)[] | null;
|
|
131
87
|
protected _wroteWhileOff: boolean;
|
|
@@ -138,8 +94,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
138
94
|
/** The `calcPr` the file carried, kept whole so settings this engine ignores still round-trip. */
|
|
139
95
|
protected _calcJSON: ICalculation.JSON | null;
|
|
140
96
|
protected _removeNamedItemsListeners: (() => void) | null;
|
|
141
|
-
|
|
142
|
-
protected
|
|
97
|
+
/** The listeners on each table's extent, registered again whenever the named collection changes. */
|
|
98
|
+
protected _tableListenerRemovers: (() => void)[];
|
|
143
99
|
/**
|
|
144
100
|
* Resolver callbacks passed to every {@link FormulaBlock} at creation time.
|
|
145
101
|
* Populated from {@link Calculation.ConstructorOptions} during `_initialize`.
|
|
@@ -151,40 +107,27 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
151
107
|
constructor(options?: Calculation.ConstructorOptions);
|
|
152
108
|
protected _initialize(options?: Calculation.ConstructorOptions): void;
|
|
153
109
|
/**
|
|
154
|
-
*
|
|
155
|
-
*
|
|
110
|
+
* Makes the backend from its loaded module. Once per calculation; a restart reuses it, as
|
|
111
|
+
* `_dropEngine` leaves it.
|
|
156
112
|
*
|
|
157
113
|
* @remarks
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* formula's `getReferencedSymbolIds()` catches the "heal" case (`#NAME?`/`#REF!` → valid) that a
|
|
161
|
-
* precedent-range markDirty can't, because an unresolved reference has no precedent range.
|
|
162
|
-
*
|
|
163
|
-
* Marking the direct referencers is not enough where the referencer is another NAME. Downstream
|
|
164
|
-
* of a cell, the dependency graph carries transitivity for free; downstream of a name it carries
|
|
165
|
-
* nothing, because a name registers no precedent range for the formulas that mention it. So the
|
|
166
|
-
* ids are first expanded over the symbol graph ({@link _namedTargets}), and only from the cells
|
|
167
|
-
* that land in are the ordinary edges left to do the rest.
|
|
168
|
-
*
|
|
169
|
-
* O(formulas) all3D scan — same cost/scale as `recompileNamed`.
|
|
170
|
-
*
|
|
171
|
-
* @returns `true` if any formula was marked dirty.
|
|
114
|
+
* Its history starts here, at the model's current commit: nothing before a start writes to it.
|
|
115
|
+
* Its replicas start as the owner held them when the start was asked for.
|
|
172
116
|
*/
|
|
173
|
-
protected
|
|
117
|
+
protected _attachEngine(engine: typeof import('./engine')): void;
|
|
174
118
|
/**
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
* {@link _namedTargets} expansion: a name whose body cites the symbol reaches its own readers.
|
|
184
|
-
*
|
|
185
|
-
* Run at a safe point only — it writes inputs.
|
|
119
|
+
* What the backend asks of this calculation (see {@link CalcBackend.Callbacks}): the in-process
|
|
120
|
+
* half of the backend's interface.
|
|
121
|
+
*/
|
|
122
|
+
protected _backendCallbacks(): CalcBackend.Callbacks;
|
|
123
|
+
/**
|
|
124
|
+
* Recompiles, at the next safe point, the formulas that reference a name - or reference a name
|
|
125
|
+
* that does: a name's link to the engine, held from before there is one. See
|
|
126
|
+
* {@link IContextContainer.recompileNamed}.
|
|
186
127
|
*/
|
|
187
|
-
protected
|
|
128
|
+
protected _recompileNamed(nameId: string): void;
|
|
129
|
+
/** Marks, at the next safe point, the formulas that reference a name out of date. See {@link IContextContainer.invalidateNamed}. */
|
|
130
|
+
protected _invalidateNamed(nameId: string): void;
|
|
188
131
|
/**
|
|
189
132
|
* @internal
|
|
190
133
|
* Rewrites the formulas that reference `table`, which is about to be removed: `'error'` puts
|
|
@@ -199,41 +142,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
199
142
|
_releaseTableReferences(table: ITable, release: 'error' | 'address'): void;
|
|
200
143
|
/**
|
|
201
144
|
* @internal
|
|
202
|
-
* A table's body has changed rows: re-fit the A1 references that spanned it
|
|
203
|
-
*
|
|
204
|
-
* @remarks
|
|
205
|
-
* Excel treats a reference whose ROWS are exactly a table's body - or run from its header to the
|
|
206
|
-
* body's end - as naming the body, whatever columns of the table it covers, and keeps it on the
|
|
207
|
-
* body however the body's rows change (probed, `probe-table-refit.ps1`): `SUM(B2:B5)` over body
|
|
208
|
-
* rows 2-5 reads `SUM(B2:B6)` after a row is appended, and `SUM(B2:B3)` after a resize gives two
|
|
209
|
-
* up. Relative, absolute or mixed alike, from any sheet, and in anything that holds a reference -
|
|
210
|
-
* a defined name, a table's held totals formula and a condition's formula are blocks too. A
|
|
211
|
-
* reference that only starts or only ends with the body is an ordinary one, and a change of
|
|
212
|
-
* COLUMNS re-fits nothing. A name's relative rows are read from its body's origin, A1, as Excel
|
|
213
|
-
* reads them (`probe-table-refit-relative.ps1`); a shift never moves them, so a row at the top
|
|
214
|
-
* leaves such a name alone.
|
|
215
|
-
*
|
|
216
|
-
* An insert or delete inside the body already leaves such a reference right, so this is asked
|
|
217
|
-
* only for what a shift gets wrong: rows taken or given up at the body's end, and a row inserted
|
|
218
|
-
* at its first row (which pushes the whole reference down).
|
|
219
|
-
*
|
|
220
|
-
* One search of the precedent index over the rows that match - an entry per (block, reference)
|
|
221
|
-
* that reads them - so the cost is the readers of the body, on a change of a table's rows. The
|
|
222
|
-
* text a cell shows catches up with the engine the way it does after any shift.
|
|
223
|
-
*
|
|
224
|
-
* A block is re-fitted cell by cell: only the cells whose reference spans the body are rewritten,
|
|
225
|
-
* which splits them out of the block. An array-entered block is one formula, read at its top-left,
|
|
226
|
-
* and is never split.
|
|
227
|
-
*
|
|
228
|
-
* **A DELIBERATE DIVERGENCE lives here** (Michael, 2026-09-22). Excel asks how the cell was
|
|
229
|
-
* authored, not what it reads: a fully relative reference is left where it is when the cell
|
|
230
|
-
* belongs to a shared-formula group, and re-fitted when it stands alone - so `SUM(B2:B5)` follows
|
|
231
|
-
* the body when it was typed and does not when the same three formulas were filled, and the file
|
|
232
|
-
* carries the difference as `<f t="shared">` (`probe-table-refit-fillhandle.ps1`,
|
|
233
|
-
* `probe-table-refit-roundtrip.ps1`). Here a run is a data-model fact, not an authoring one -
|
|
234
|
-
* cells holding the same formula are conflated whatever made them - so honoring that rule would
|
|
235
|
-
* make a formula follow the body or not depending on what a NEIGHBOR happens to hold, which a
|
|
236
|
-
* user cannot see. Every reference that spans the body is re-fitted, however it was written.
|
|
145
|
+
* A table's body has changed rows: re-fit the A1 references that spanned it (see
|
|
146
|
+
* {@link CalcBackend.refitTableRows}).
|
|
237
147
|
*
|
|
238
148
|
* @param sheet The sheet the table is on, by id or name.
|
|
239
149
|
* @param columns The table's columns. A reference reaching outside them is an ordinary one.
|
|
@@ -255,16 +165,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
255
165
|
rowStart: number;
|
|
256
166
|
rowEnd: number;
|
|
257
167
|
}, afterShift: boolean, isCurrent: () => boolean): void;
|
|
258
|
-
/**
|
|
259
|
-
* Replaces every structured reference to `tableId` on a sheet: by its address in `extent`, or by
|
|
260
|
-
* `#REF!` when there is none.
|
|
261
|
-
*/
|
|
262
|
-
protected _rewriteTableReferences(tableId: string, extent: TableExtent | null): void;
|
|
263
|
-
/**
|
|
264
|
-
* Writes `text` over `fsv`'s cells - or over `coords`, a part of them - as the engine's own input.
|
|
265
|
-
* Safe point only.
|
|
266
|
-
*/
|
|
267
|
-
protected _writeBlockText(fsv: FormulaSpatialValue, text: string, coords?: IRange.Coords): void;
|
|
268
168
|
/**
|
|
269
169
|
* @internal
|
|
270
170
|
* Rewrites the 3-D spans that a tab-order change from `before` to `after` broke — an endpoint that
|
|
@@ -272,66 +172,12 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
272
172
|
* so an undo of the move restores the text.
|
|
273
173
|
*/
|
|
274
174
|
_replaceSheetSpans(before: readonly string[], after: readonly string[], movedId?: string): void;
|
|
275
|
-
/**
|
|
276
|
-
* {@inheritDoc IContextContainer.getNamedDependents}
|
|
277
|
-
*
|
|
278
|
-
* @remarks
|
|
279
|
-
* The bucket for a NAME out of {@link _getSymbolDependents}. Kept as the name-flavored spelling
|
|
280
|
-
* the callers read; the index underneath is one index for every symbol kind.
|
|
281
|
-
*/
|
|
282
|
-
protected _getNamedDependents(nameId: string): readonly IRange.Coords[];
|
|
283
|
-
/**
|
|
284
|
-
* Every formula block that references a symbol — a defined name, a table, or an external BOOK —
|
|
285
|
-
* by its stable id, as `{ ...ref, scope: gridId }` coords.
|
|
286
|
-
*
|
|
287
|
-
* @remarks
|
|
288
|
-
* The memo is keyed on the formula spatial's IDENTITY, which is the whole invalidation story:
|
|
289
|
-
* the map is copy-on-write (`getFormulas().clone()` before any mutation, `setFormulas` to
|
|
290
|
-
* publish), so a formula added, removed, shifted or recompiled necessarily replaces it — and an
|
|
291
|
-
* undo, which restores an earlier map, replaces it too. Nothing has to remember to clear this.
|
|
292
|
-
*
|
|
293
|
-
* The sweep is the same `all3D` walk `recompileNamed` and {@link _markDirtyReferencing} already
|
|
294
|
-
* do, done once for every symbol instead of once per symbol. Bucketed off
|
|
295
|
-
* `getReferencedSymbolIds()` — names, tables and books alike — so a book's dependents
|
|
296
|
-
* (`IExternalBook.getDependents`) come out of the same walk as a name's, and a name's body that
|
|
297
|
-
* cites a book lands in the book's bucket with the name's id as its scope.
|
|
298
|
-
*/
|
|
299
|
-
protected _getSymbolDependents(symbolId: string): readonly IRange.Coords[];
|
|
300
|
-
/**
|
|
301
|
-
* Every symbol id a formula cites, to the blocks citing it — the index
|
|
302
|
-
* {@link _getSymbolDependents} answers from, memoized the same way.
|
|
303
|
-
*/
|
|
304
|
-
protected _getSymbolIndex(): ReadonlyMap<string, readonly IRange.Coords[]>;
|
|
305
|
-
/**
|
|
306
|
-
* {@inheritDoc IContextContainer.getNamedDependentNames}
|
|
307
|
-
*
|
|
308
|
-
* @remarks
|
|
309
|
-
* A block that depends on a name and lives on a VIRTUAL grid is another name's BODY, and that
|
|
310
|
-
* grid's id is that name's id — `add` binds the two together and `delete` keeps the grid rather
|
|
311
|
-
* than dropping it. So the hop is a bucket lookup on the id itself; a sheet grid id is never a
|
|
312
|
-
* name id, which is what {@link NamedFormulaCollection.getById} is asked to confirm before the
|
|
313
|
-
* walk continues through one.
|
|
314
|
-
*
|
|
315
|
-
* Expands each id once. That is the cycle guard (`A = B+1`, `B = A+1` reaches `A` again on its
|
|
316
|
-
* second hop) and the diamond guard both.
|
|
317
|
-
*/
|
|
318
|
-
protected _getNamedDependentNames(nameId: string): ReadonlySet<string>;
|
|
319
|
-
/**
|
|
320
|
-
* `changedIds` widened to everything a change to them reaches through the SYMBOL graph: each id
|
|
321
|
-
* plus, for the names among them, every name transitively referencing it.
|
|
322
|
-
*
|
|
323
|
-
* @remarks
|
|
324
|
-
* The one expansion both `recompileNamed` and {@link _markDirtyReferencing} apply before their
|
|
325
|
-
* all3D scan, so a formula naming an intermediate name is matched by the same pass that matches
|
|
326
|
-
* one naming the changed name directly. Ids that are not names (a table's) expand to themselves.
|
|
327
|
-
*/
|
|
328
|
-
protected _namedTargets(changedIds: Set<string>): ReadonlySet<string>;
|
|
329
175
|
/**
|
|
330
176
|
* @internal
|
|
331
177
|
* Demand/plan counters and timings since construction (or the last {@link _resetStats}) — the
|
|
332
178
|
* plan-cache soak rig. From a console: `SheetXL.getSelectedWorkbook().getCalculation()._stats()`.
|
|
333
179
|
*/
|
|
334
|
-
_stats(): ReturnType<
|
|
180
|
+
_stats(): ReturnType<CalcBackend['getDemandStats']>;
|
|
335
181
|
/** @internal Zeroes every counter/timing so a measurement window starts clean. */
|
|
336
182
|
_resetStats(): void;
|
|
337
183
|
/**
|
|
@@ -381,15 +227,36 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
381
227
|
*/
|
|
382
228
|
protected _abandonStart(): void;
|
|
383
229
|
protected _releaseCompilerWaiters(): void;
|
|
230
|
+
/**
|
|
231
|
+
* Runs the start batch under one operation on the model's store, folded into the commit the
|
|
232
|
+
* batch happens during.
|
|
233
|
+
*
|
|
234
|
+
* @remarks
|
|
235
|
+
* What the batch vends - a seed's record, a name body's answer - the model adopts as it is
|
|
236
|
+
* applied, and each adoption is a write to the model's store. Made as its own root commit, each
|
|
237
|
+
* write copies the store's whole state map into the record it keeps (a state per sheet model, and
|
|
238
|
+
* one per defined name's host), so a start that answers thousands of bodies cost thousands of
|
|
239
|
+
* such copies - the larger part of opening a legacy file. Under one open operation the writes
|
|
240
|
+
* join it, and the store copies once when it closes. Nothing of the model's changes here: the
|
|
241
|
+
* batch is the engine's answer to what the model already holds.
|
|
242
|
+
*/
|
|
243
|
+
protected _underOneModelOperation<R>(batch: () => R): R;
|
|
384
244
|
/**
|
|
385
245
|
* @internal
|
|
386
246
|
* Resolves once the engine can compile: at once when `Running`; when the batch has applied the
|
|
387
|
-
* seeds, ahead of the boot pass, while `Starting`;
|
|
247
|
+
* seeds, ahead of the boot pass, while `Starting`; and, when `Off`, once something else starts
|
|
248
|
+
* it. It never starts the engine itself.
|
|
388
249
|
*
|
|
389
250
|
* @remarks
|
|
390
251
|
* What an owner that registers a formula asynchronously waits on (a condition formula's
|
|
391
252
|
* evaluation). Waiting on {@link ready} instead resolves after the boot pass, and the
|
|
392
253
|
* registration then costs a pass of its own (design §6.5: a boot owes one).
|
|
254
|
+
*
|
|
255
|
+
* An `Off` engine stays off (DESIGN-CALC-ON-LOAD: under `calcOnLoad: 'none'` a read starts
|
|
256
|
+
* nothing, and a conditional format or data validation evaluating on load is a read). Starting it
|
|
257
|
+
* here ran the boot pass, and the pass moved cached values — every volatile, every iterating
|
|
258
|
+
* cycle — in a workbook that was only being opened and saved. The waiter is released by the
|
|
259
|
+
* start the first mutation (or an explicit calculation) makes, and by {@link close}.
|
|
393
260
|
*/
|
|
394
261
|
_whenCanCompile(): Promise<void>;
|
|
395
262
|
/**
|
|
@@ -510,11 +377,13 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
510
377
|
protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
511
378
|
protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
512
379
|
/**
|
|
513
|
-
*
|
|
514
|
-
*
|
|
380
|
+
* The model commit the last pass recalculated for, `null` before the first: what a sheet
|
|
381
|
+
* realizing the pass's results amends them into.
|
|
515
382
|
* @internal
|
|
516
383
|
*/
|
|
517
|
-
|
|
384
|
+
get _calculatedCommitId(): string | null;
|
|
385
|
+
/** A response's cycle: the engine's last pass, or none before there is an engine. */
|
|
386
|
+
protected get _cycleId(): number;
|
|
518
387
|
/**
|
|
519
388
|
* Formula text as a cell at `coords` would STORE it, without writing it anywhere.
|
|
520
389
|
*
|
|
@@ -576,11 +445,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
576
445
|
_createCalcGrid(options: Calculation.CalcGridOptions): CalcGrid;
|
|
577
446
|
/** What a `create` for a model grid carries: its description. */
|
|
578
447
|
protected _specOf(front: CalcGrid): CalcGridSpec;
|
|
579
|
-
/**
|
|
580
|
-
* The engine's grid for a model grid, as a `create` describes it. What it pushes reaches the
|
|
581
|
-
* model grid under the same id.
|
|
582
|
-
*/
|
|
583
|
-
protected _createEngineGrid(spec: CalcGridSpec): CalcGridBackend;
|
|
584
448
|
/**
|
|
585
449
|
* Make the engine's grids from the model's (design §6.3): each live model grid's `create`, the
|
|
586
450
|
* hosts' first (a name's grid before any sheet's); each host's body sent again; then every grid
|
|
@@ -596,12 +460,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
596
460
|
* from. The model's grids are untouched.
|
|
597
461
|
*/
|
|
598
462
|
protected _dropEngine(): void;
|
|
599
|
-
/**
|
|
600
|
-
* The engine's history starts at the boot: the commits mirrored before it hold none of the
|
|
601
|
-
* grids the boot made, so a restore to one is not followed but rebuilt ({@link _followRestore}).
|
|
602
|
-
* The model's commit now is the boot's.
|
|
603
|
-
*/
|
|
604
|
-
protected _forgetEarlierLandings(modelCommitId?: string | null): void;
|
|
605
463
|
/**
|
|
606
464
|
* The model restored itself to `commitId`: the engine restores its own history there, or - on a
|
|
607
465
|
* `Running` engine whose history does not reach it (a commit from before its start, or one
|
|
@@ -618,9 +476,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
618
476
|
* @internal
|
|
619
477
|
*/
|
|
620
478
|
_reportError(error: unknown): void;
|
|
621
|
-
protected _createBackendGrid(options?: CalcGridBackend.ConstructorOptions): CalcGridBackend;
|
|
622
|
-
protected _registerGrid(grid: CalcGridBackend): void;
|
|
623
|
-
protected _unregisterGrid(gridId: string): void;
|
|
624
479
|
/** The owner's sheet list as it last said ({@link _setSheets}): what a start seeds the replica from. */
|
|
625
480
|
protected _heldSheets(): Calculation.SheetList['sheets'];
|
|
626
481
|
/** One sheet of {@link _heldSheets} by its grid id, or `undefined` for a grid that is no sheet. */
|
|
@@ -639,25 +494,14 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
639
494
|
* record, and owes a full pass only when a sheet already listed was renamed, moved or removed.
|
|
640
495
|
* @internal
|
|
641
496
|
*/
|
|
642
|
-
_setSheets(sheets: readonly (readonly [id: string, name: string | null])[]): void;
|
|
497
|
+
_setSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
|
|
643
498
|
/**
|
|
644
|
-
*
|
|
645
|
-
*
|
|
646
|
-
* @
|
|
647
|
-
*
|
|
648
|
-
* functions reading names and positions answer (`INDIRECT`, `FORMULATEXT`, `CELL`, `SHEET`, a
|
|
649
|
-
* 3-D span's members), and none of that is a precedent: a full pass follows, which is what the
|
|
650
|
-
* model asked for on a rename or a move before the engine was told of either. A sheet
|
|
651
|
-
* appended moves nothing; one inserted or deleted ahead of a survivor moves it, and counts.
|
|
652
|
-
*/
|
|
653
|
-
protected _applySheets(sheets: readonly (readonly [id: string, name: string | null])[]): void;
|
|
654
|
-
/**
|
|
655
|
-
* Before a start applies what it held: every sheet a held \`sheets\` message adds enters the
|
|
656
|
-
* replica at the end, under the name it was first listed by. A defined name's body is applied
|
|
657
|
-
* ahead of the seeds and may name a sheet listed while starting; the messages themselves still
|
|
658
|
-
* apply in send order, so a seed sent before a rename binds the name it was sent under.
|
|
499
|
+
* Compiles every loaded name whose text mentions the sheet, ahead of a change a compiled body
|
|
500
|
+
* follows and text cannot: a shift of the sheet's cells, its rename, its removal. See
|
|
501
|
+
* {@link NamedFormulaCollection._materializeMentioning}. Nothing while `Off`: a body written
|
|
502
|
+
* then is sent at the next start, against the sheets as they are by then, as the text would be.
|
|
659
503
|
*/
|
|
660
|
-
protected
|
|
504
|
+
protected _materializeNamesMentioning(sheetId: string, name?: string | null): void;
|
|
661
505
|
/** The model's tables as the replica holds them: by id, each table's name and columns. */
|
|
662
506
|
protected _liveTables(): Map<string, TableSymbols>;
|
|
663
507
|
/** The defined names as the replica holds them: by id, each name's spelling and scope sheet. */
|
|
@@ -684,22 +528,21 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
684
528
|
*/
|
|
685
529
|
protected _sendSymbolChange<T>(kind: 'tables' | 'names', id: string, entry: T | null, same: (a: T | null | undefined, b: T | null) => boolean): void;
|
|
686
530
|
/**
|
|
687
|
-
*
|
|
688
|
-
*
|
|
531
|
+
* While `Starting`: per kind, the held symbol message a new symbol of that kind joins, and the
|
|
532
|
+
* ids every message of the start has told. Dropped with the channel - see {@link _sendSymbolChange}.
|
|
689
533
|
*/
|
|
690
|
-
protected
|
|
691
|
-
|
|
692
|
-
protected _applyNames(changes: readonly (readonly [id: string, name: NameSymbols | null])[]): void;
|
|
534
|
+
protected _openSymbolMessages: Map<'tables' | 'names', HeldRequest> | null;
|
|
535
|
+
protected _symbolsTold: Map<'tables' | 'names', Set<string>> | null;
|
|
693
536
|
/** What a replica's change re-resolved - healed, renamed, gone - is marked for the next pass. */
|
|
694
537
|
protected _markDirtyReconciled(provider: {
|
|
695
538
|
reconcile(): string[];
|
|
696
539
|
} | null): void;
|
|
697
|
-
private _tablesDerived;
|
|
698
|
-
private _namesDerived;
|
|
699
540
|
/**
|
|
700
|
-
*
|
|
701
|
-
* nothing reads the model.
|
|
541
|
+
* Whether the engine's replicas answer: not while `Off`, nor before the start has made the
|
|
542
|
+
* engine. An engine that has been told nothing reads the model.
|
|
702
543
|
*/
|
|
544
|
+
protected _hasReplicas(): boolean;
|
|
545
|
+
/** The table replica and its name index, or `null` when there is none (see {@link _hasReplicas}). */
|
|
703
546
|
protected _replicaTables(): {
|
|
704
547
|
of: ReadonlyMap<string, TableSymbols>;
|
|
705
548
|
idByName: Map<string, string>;
|
|
@@ -710,9 +553,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
710
553
|
idsByName: Map<string, string[]>;
|
|
711
554
|
} | null;
|
|
712
555
|
/**
|
|
713
|
-
* The name a spelling resolves to from `scope`, by the replica
|
|
714
|
-
*
|
|
715
|
-
* (`NamedFormulaCollection.getByName`). `undefined` when the replica cannot answer, and the
|
|
556
|
+
* The name a spelling resolves to from `scope`, by the replica (see
|
|
557
|
+
* {@link CalcBackend.getReplicaNameId}). `undefined` when the replica cannot answer, and the
|
|
716
558
|
* collection is asked instead.
|
|
717
559
|
* @internal
|
|
718
560
|
*/
|
|
@@ -732,8 +574,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
732
574
|
* @internal
|
|
733
575
|
*/
|
|
734
576
|
_imagerFor(gridId: string): FormulaImager;
|
|
735
|
-
private _sheetsDerived;
|
|
736
|
-
private _sheetsCache;
|
|
737
577
|
/** Every sheet's grid id in tab order, from the replica. */
|
|
738
578
|
protected _sheetIds(): readonly string[];
|
|
739
579
|
/** A sheet's grid id by its name, as Excel reads sheet names: case-insensitively. `null` when none. */
|
|
@@ -759,66 +599,18 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
759
599
|
close(): void;
|
|
760
600
|
/** A model holding writes for the engine makes them on this read (`ITransaction.Hooks.writes`). */
|
|
761
601
|
protected _flushModel(): void;
|
|
762
|
-
/**
|
|
763
|
-
* Runs `action` with its engine writes landing under `landingId`, or as they are when none.
|
|
764
|
-
*
|
|
765
|
-
* @remarks
|
|
766
|
-
* A root-level request after a nested savepoint of the same root has landed: the root's own
|
|
767
|
-
* commit is behind the tip, and the savepoint is part of the root for good, so the write joins
|
|
768
|
-
* the tip. The engine's live maps are always the tip's.
|
|
769
|
-
* @internal
|
|
770
|
-
*/
|
|
771
|
-
_landUnder<R>(landingId: string | undefined, action: () => R): R;
|
|
772
|
-
/** Whether the engine still holds a commit: its own record is in every commit made since it was built. */
|
|
773
|
-
protected _holdsEngineCommit(engineId: string): boolean;
|
|
774
|
-
/**
|
|
775
|
-
* Records the model commit that just landed: its mirror, a commit of the engine's own that names
|
|
776
|
-
* it in the engine's record.
|
|
777
|
-
*
|
|
778
|
-
* @remarks
|
|
779
|
-
* A commit even when nothing landed under the model's: an engine write made after the close,
|
|
780
|
-
* outside any model operation (a deferred recompile), amends the engine's tip, and that tip has
|
|
781
|
-
* to be this model commit's, not the one before it, or a restore to the one before carries the
|
|
782
|
-
* write. The engine's record changes with every mirror, so the commit is never elided.
|
|
783
|
-
*/
|
|
784
|
-
protected _mirror(commitId: string): void;
|
|
785
|
-
/** Forgets a landing, and the engine commit it made if it made one. */
|
|
786
|
-
protected _dropLanding(landingId: string): void;
|
|
787
|
-
/** Drops the landings whose engine commit the store has trimmed or pruned. Rare: sized by the store's cap. */
|
|
788
|
-
protected _sweepLandings(): void;
|
|
789
602
|
/** The model commits on the live history: the current one and its ancestors. */
|
|
790
603
|
protected _modelHistory(): Set<string>;
|
|
791
604
|
/**
|
|
792
|
-
*
|
|
793
|
-
*
|
|
605
|
+
* Whether a model commit landed: the model holds it, or did when a held request was judged
|
|
606
|
+
* against it. A snapshot that never landed (an amended root's) is not one a restore can undo.
|
|
794
607
|
*/
|
|
795
|
-
protected
|
|
608
|
+
protected _hasLanded(commitId: string): boolean;
|
|
796
609
|
/**
|
|
797
|
-
* The
|
|
798
|
-
* root (`<id>:0`) or the nested savepoint open now. `null` outside an operation
|
|
799
|
-
* landing is already open (the write joins it).
|
|
610
|
+
* The landing of the model operation open now, which an engine write made during it lands in:
|
|
611
|
+
* the operation's root (`<id>:0`) or the nested savepoint open now. `null` outside an operation.
|
|
800
612
|
*/
|
|
801
613
|
protected _modelLanding(): string | null;
|
|
802
|
-
/**
|
|
803
|
-
* Engine state is never a step of history on its own: a write is attributed to the model
|
|
804
|
-
* operation it is made in, or folded into the current snapshot (a pass's bookkeeping).
|
|
805
|
-
* @internal
|
|
806
|
-
*/
|
|
807
|
-
protected _updateState(updateState?: Partial<State>, options?: ITransaction.StoreOperationOptions, events?: (keyof ICalculation.IListeners)[]): this;
|
|
808
|
-
/** @internal */
|
|
809
|
-
protected _amendState(updateState?: Partial<State>, options?: ITransaction.StoreOperationOptions, events?: (keyof ICalculation.IListeners)[]): this;
|
|
810
|
-
/**
|
|
811
|
-
* Restore the engine's history to the model's `commitId`, once; answers what changed per grid.
|
|
812
|
-
*
|
|
813
|
-
* @remarks
|
|
814
|
-
* The changed regions are the union of what every engine commit between the two snapshots
|
|
815
|
-
* recorded as touched (`IntentTouched`), whichever direction the restore goes; they are marked
|
|
816
|
-
* dirty so the pass that follows recomputes them, and handed back so each grid can re-vend the
|
|
817
|
-
* blocks over them. An id the engine no longer holds is answered with `null`: the engine's
|
|
818
|
-
* history is shorter than the model's there, and a seed is what brings it back (step 3).
|
|
819
|
-
* @internal
|
|
820
|
-
*/
|
|
821
|
-
_revertTo(commitId: string): Map<string, IRange.Coords[]> | null;
|
|
822
614
|
/**
|
|
823
615
|
* Hook the rollback of the savepoint a request goes out under, the first time one does: a
|
|
824
616
|
* `rollback` message follows, through the channel, if it rolls back. By a step that shares the
|
|
@@ -828,11 +620,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
828
620
|
*/
|
|
829
621
|
protected _hookRollback(landingId: string): void;
|
|
830
622
|
private _rollbackHooked;
|
|
831
|
-
/**
|
|
832
|
-
* A nested savepoint of the model rolled back: what the engine landed under it goes with it.
|
|
833
|
-
* What a `rollback` message does.
|
|
834
|
-
*/
|
|
835
|
-
protected _savepointRolledBack(savepointId: string): void;
|
|
836
623
|
/** @inheritdoc ICalculation.getStatus */
|
|
837
624
|
getStatus(): ICalculation.Status;
|
|
838
625
|
/**
|
|
@@ -855,13 +642,17 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
|
|
|
855
642
|
toJSON(): ICalculation.JSON;
|
|
856
643
|
/** @inheritdoc ICalculation.ready */
|
|
857
644
|
ready(options?: ICalculation.CalculateOptions): Promise<ICalculation.Status>;
|
|
645
|
+
/** {@inheritDoc ICalculation.waitUntil} */
|
|
646
|
+
waitUntil<T>(work: Promise<T>): Promise<T>;
|
|
858
647
|
/** One round of `ready()`: up, drained, and the passes the dirty set owes (none in manual mode). */
|
|
859
648
|
protected _readyPass(full: boolean): Promise<void>;
|
|
860
649
|
/** @inheritdoc ICalculation.getCalculationState */
|
|
861
650
|
getCalculationState(): ICalculation.CalculationState;
|
|
862
651
|
/**
|
|
863
652
|
* Work in flight: answers owed to the model, a drain posted or running, deferred actions, a pass
|
|
864
|
-
* owed or running, the boot
|
|
653
|
+
* owed or running, the boot, and what consumers derive from the results ({@link waitUntil}) -
|
|
654
|
+
* except in manual mode, where the pass that work waits for runs only when asked. What `ready()`
|
|
655
|
+
* waits out.
|
|
865
656
|
*/
|
|
866
657
|
protected _isWorking(): boolean;
|
|
867
658
|
/**
|
|
@@ -949,6 +740,8 @@ export declare namespace Calculation {
|
|
|
949
740
|
unanchored?: boolean;
|
|
950
741
|
/** `true` for a body whose every cell is its own 1x1 array-entered formula. See {@link ICalcGrid.isArrayFirstCell}. */
|
|
951
742
|
arrayFirstCell?: boolean;
|
|
743
|
+
/** `true` for a body whose blank region may be evaluated a tile at a time. See {@link FormulaHost.request}. */
|
|
744
|
+
paged?: boolean;
|
|
952
745
|
/** The grid's size: fixed, a name's. */
|
|
953
746
|
entireCoords?: IRange.Coords;
|
|
954
747
|
/** The grid whose size the body has, whatever it is then: a sheet's, for a body on it. */
|
|
@@ -960,8 +753,8 @@ export declare namespace Calculation {
|
|
|
960
753
|
}
|
|
961
754
|
/** The owner's sheet list as {@link Calculation._setSheets} holds it. */
|
|
962
755
|
interface SheetList {
|
|
963
|
-
/** Every sheet's grid id and name, in tab order. */
|
|
964
|
-
readonly sheets: readonly (readonly [id: string, name: string | null])[];
|
|
756
|
+
/** Every sheet's grid id and name, in tab order, and `true` third for a sheet with no grid. */
|
|
757
|
+
readonly sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[];
|
|
965
758
|
}
|
|
966
759
|
/** See {@link Calculation._createCalcGrid}. */
|
|
967
760
|
interface CalcGridOptions extends CalcGrid.HostOptions, Pick<CalcGrid.ConstructorOptions, 'valuesAxis'> {
|
|
@@ -973,6 +766,8 @@ export declare namespace Calculation {
|
|
|
973
766
|
unanchored?: boolean;
|
|
974
767
|
/** See {@link CalcGridSpec.arrayFirstCell}. */
|
|
975
768
|
arrayFirstCell?: boolean;
|
|
769
|
+
/** See {@link CalcGridSpec.paged}. */
|
|
770
|
+
paged?: boolean;
|
|
976
771
|
/** See {@link CalcGridSpec.entireCoords}. */
|
|
977
772
|
entireCoords?: IRange.Coords;
|
|
978
773
|
/** See {@link CalcGridSpec.sizeOf}. */
|
|
@@ -1090,70 +885,5 @@ interface HeldRequest {
|
|
|
1090
885
|
resolve: (response: CalcResponse | PromiseLike<CalcResponse>) => void;
|
|
1091
886
|
reject: (error: unknown) => void;
|
|
1092
887
|
}
|
|
1093
|
-
interface State extends AbstractModel.State {
|
|
1094
|
-
/** The model commit this engine commit mirrors; written by every mirror so the commit lands. */
|
|
1095
|
-
mirrorOf?: string;
|
|
1096
|
-
/**
|
|
1097
|
-
* Top down evaluation and marking dirty.
|
|
1098
|
-
* This is the only spatial map that is completely updated via api.
|
|
1099
|
-
*
|
|
1100
|
-
* @remarks
|
|
1101
|
-
* For top down evaluation and marking formulas dirty.
|
|
1102
|
-
*/
|
|
1103
|
-
formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
|
|
1104
|
-
/**
|
|
1105
|
-
* Tracks the inputs to formulas.
|
|
1106
|
-
*
|
|
1107
|
-
* @remarks
|
|
1108
|
-
* * For bottom up marking dirty.
|
|
1109
|
-
* * Contains a back-pointer to the formula.
|
|
1110
|
-
*
|
|
1111
|
-
*/
|
|
1112
|
-
precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
|
|
1113
|
-
/**
|
|
1114
|
-
* Tracks dynamic precedents by block.
|
|
1115
|
-
* Used to remove old dynamic precedents when a block is re-evaluated and to add new ones after evaluation.
|
|
1116
|
-
*/
|
|
1117
|
-
dynamicByBlock: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
|
|
1118
|
-
/**
|
|
1119
|
-
* Dirty regions
|
|
1120
|
-
*/
|
|
1121
|
-
dirtySpatial: ISpatialMap3D;
|
|
1122
|
-
/**
|
|
1123
|
-
* 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.
|
|
1124
|
-
*/
|
|
1125
|
-
isFullCalcRequired: boolean;
|
|
1126
|
-
/**
|
|
1127
|
-
* All registered grids.
|
|
1128
|
-
*/
|
|
1129
|
-
gridsAll: Map<string, CalcGridBackend>;
|
|
1130
|
-
/**
|
|
1131
|
-
* The engine's replica of the model's sheet list (DESIGN-CALC-SERVICE §8): grid id to name, in
|
|
1132
|
-
* tab order. What every symbol lookup, span and sheet-position function reads. Fed by the
|
|
1133
|
-
* `sheets` message and by grid registration; versioned here so a revert restores it with the
|
|
1134
|
-
* formulas that bound through it.
|
|
1135
|
-
*/
|
|
1136
|
-
sheets: ReadonlyMap<string, string | null>;
|
|
1137
|
-
/**
|
|
1138
|
-
* The engine's replica of the model's tables (DESIGN-CALC-SERVICE §8): table id to its name and
|
|
1139
|
-
* its columns' ids and names. What a structured reference binds and images through. Fed by the
|
|
1140
|
-
* `tables` message, seeded at a start, versioned here as {@link sheets} is.
|
|
1141
|
-
*/
|
|
1142
|
-
tables: ReadonlyMap<string, TableSymbols>;
|
|
1143
|
-
/**
|
|
1144
|
-
* The engine's replica of the defined names: name id to its spelling and the sheet it is scoped
|
|
1145
|
-
* to. What a name binds and images through. Fed by the `names` message, as {@link tables} is.
|
|
1146
|
-
*/
|
|
1147
|
-
names: ReadonlyMap<string, NameSymbols>;
|
|
1148
|
-
/**
|
|
1149
|
-
* Each grid's per-grid maps as of this snapshot (`CalcGridMaps`): values, contentful, spills,
|
|
1150
|
-
* errors, pending, circular. Copy-on-write per request; handed back to the grid on a restore.
|
|
1151
|
-
*/
|
|
1152
|
-
gridMaps: Map<string, object>;
|
|
1153
|
-
/**
|
|
1154
|
-
* Listeners to individual named items
|
|
1155
|
-
*/
|
|
1156
|
-
itemRemoveListeners: (() => void)[];
|
|
1157
|
-
}
|
|
1158
888
|
export {};
|
|
1159
889
|
//# sourceMappingURL=Calculation.d.ts.map
|