@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
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The calculation backend's code: what a started engine builds and runs.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* `Calculation` reaches every value here through this one module and nothing else, so the facade a
|
|
6
|
+
* workbook constructs carries none of it (DESIGN-CALC-SERVICE §5, §13.25). Types are imported
|
|
7
|
+
* directly; only values belong on this list.
|
|
8
|
+
*/
|
|
9
|
+
export { CalcBackend } from './CalcBackend';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -338,6 +338,17 @@ export declare class CalcExecutor {
|
|
|
338
338
|
* cell stores a scalar and registers no spill. Anything else as it is.
|
|
339
339
|
*/
|
|
340
340
|
private _fitCell;
|
|
341
|
+
/**
|
|
342
|
+
* Whether a representative that read its position answers the same wherever it sits in the
|
|
343
|
+
* blank region: every variant of its formula ({@link IFormulaBlock.getPositionVariants}) answers
|
|
344
|
+
* `finalized` at its cell without reading the position, or anything else per cell.
|
|
345
|
+
*
|
|
346
|
+
* @remarks
|
|
347
|
+
* Each position test is `TRUE` or `FALSE` at every cell, so the variants cover every answer the
|
|
348
|
+
* region can give. A variant reads only what the formula itself read (no lazy argument, so no
|
|
349
|
+
* arm it skipped), all of it final by now, so it is evaluated without the pass's read hook.
|
|
350
|
+
*/
|
|
351
|
+
private _isPositionFree;
|
|
341
352
|
/**
|
|
342
353
|
* The representative of a gated block has finalized (PLAN-WATCHES-BLANK-AWARE §4): its scalar is
|
|
343
354
|
* shared with the block's blank region, or the gate is closed and the region is re-collected
|
|
@@ -345,8 +356,9 @@ export declare class CalcExecutor {
|
|
|
345
356
|
*
|
|
346
357
|
* @remarks
|
|
347
358
|
* Shared only when nothing the evaluation read was per cell (`CalcScope.perCellRead`: a draw, a
|
|
348
|
-
*
|
|
349
|
-
* promise, not pending on one, not in a cycle. A
|
|
359
|
+
* computed reference; a position unless {@link _isPositionFree} rules it out), the result is a
|
|
360
|
+
* scalar, and the node ran on its own - not a promise, not pending on one, not in a cycle. A
|
|
361
|
+
* per-cell read is a fact of the formula and
|
|
350
362
|
* closes the gate for good ({@link FormulaSpatialValue.blankRefused}); the rest may not recur
|
|
351
363
|
* and close it for this pass ({@link _fallbackBlank}).
|
|
352
364
|
*
|
|
@@ -391,6 +403,13 @@ export declare class CalcExecutor {
|
|
|
391
403
|
* reaches every cell, so the nodes go dense ({@link FormulaSpatialValue.densify}) rather than
|
|
392
404
|
* being minted one by one through the sparse store.
|
|
393
405
|
*/
|
|
406
|
+
/**
|
|
407
|
+
* The representative's answer depends on the position, in a grid whose owner reads it a tile at
|
|
408
|
+
* a time (`CalcGridBackend.ConstructorOptions.paged`): the block keeps its sparse store and
|
|
409
|
+
* evaluates its blank region only inside the owner's tiles ({@link FormulaSpatialValue.blankPaged}),
|
|
410
|
+
* and what the rest of the region holds is cleared.
|
|
411
|
+
*/
|
|
412
|
+
private _pageBlank;
|
|
394
413
|
private _fallbackBlank;
|
|
395
414
|
/**
|
|
396
415
|
* What the pass reads for `node` right now — a member's starting value, before any demand
|
|
@@ -39,6 +39,12 @@ export declare class DownstreamSignal extends CalcSignal {
|
|
|
39
39
|
constructor(node: CalcNode);
|
|
40
40
|
}
|
|
41
41
|
export declare function rangeToTuples(range: IRange, offsetMajor?: number, offsetMinor?: number): Tuple.Region<Scalar>;
|
|
42
|
+
/**
|
|
43
|
+
* A finalized result as an `evaluate()` call hands it out. A range is re-packed over a grid of
|
|
44
|
+
* cell-value runs (`createCellValueRun`), so the API returns what a cell would hold; the grid write
|
|
45
|
+
* is the packing, and the result reads its grid alone. Anything else is returned as it is.
|
|
46
|
+
*/
|
|
47
|
+
export declare function packForReturn<T>(finalized: T): T;
|
|
42
48
|
/**
|
|
43
49
|
* Fits a result to a fixed (array-entered) extent, per dimension: a dimension of 1 broadcasts, a
|
|
44
50
|
* longer one is clipped, a shorter one is padded with `#N/A`. Measured against Excel
|
|
@@ -93,6 +93,15 @@ export declare class Formula implements ICalculation.IFormula {
|
|
|
93
93
|
* Provides a string representation of the formula.
|
|
94
94
|
*/
|
|
95
95
|
toString(): string;
|
|
96
|
+
/**
|
|
97
|
+
* The formula text with its leading `=`, as `ICell.getFormulaText` gives it, so that
|
|
98
|
+
* logging or stringifying a formula reads as the formula.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* Typed `unknown` so a subclass with a persisted form of its own (`NamedFormula`) can answer
|
|
102
|
+
* with that instead.
|
|
103
|
+
*/
|
|
104
|
+
toJSON(): unknown;
|
|
96
105
|
/** {@inheritDoc ICalculation.IFormula.isIFormula} */
|
|
97
106
|
get isIFormula(): true;
|
|
98
107
|
}
|
|
@@ -47,6 +47,8 @@ export declare class FormulaBlock implements IFormulaBlock {
|
|
|
47
47
|
* `null` = this block's precedents are not a pure translation.
|
|
48
48
|
*/
|
|
49
49
|
protected _precedentTemplate: PrecedentTemplate | null | undefined;
|
|
50
|
+
/** {@link getPositionVariants}' answer, built on first ask. `undefined` = not asked yet. */
|
|
51
|
+
protected _positionVariants: FormulaBlock[] | null | undefined;
|
|
50
52
|
/** {@link getRecord}'s answer, built on first ask; every vend of this block shares it. */
|
|
51
53
|
private _record;
|
|
52
54
|
constructor(compiled: CompiledFormula, context: IFormulaContext, scope: CalcScope, gridId: string | null, getEntireCoords: () => IRange.Coords, resolvers?: FormulaBlockResolvers | null);
|
|
@@ -78,10 +80,14 @@ export declare class FormulaBlock implements IFormulaBlock {
|
|
|
78
80
|
getReferencedSymbolIds(): string[];
|
|
79
81
|
/** @inheritdoc IFormulaBlock.hasTotals */
|
|
80
82
|
hasTotals(): boolean;
|
|
83
|
+
/** @inheritdoc IFormulaBlock.hasVolatile */
|
|
84
|
+
hasVolatile(): boolean;
|
|
81
85
|
/** @inheritdoc IFormulaBlock.isBlankCacheable */
|
|
82
86
|
isBlankCacheable(arrayMode?: boolean): boolean;
|
|
83
87
|
/** @inheritdoc IFormulaBlock.demandFirstCell */
|
|
84
88
|
demandFirstCell(): void;
|
|
89
|
+
/** @inheritdoc IFormulaBlock.getPositionVariants */
|
|
90
|
+
getPositionVariants(): FormulaBlock[] | null;
|
|
85
91
|
/** @inheritdoc IFormulaBlock.isReferenceOnly */
|
|
86
92
|
isReferenceOnly(): boolean;
|
|
87
93
|
/** @inheritdoc IFormulaBlock.isEquals */
|
|
@@ -346,6 +346,15 @@ export interface IFormulaBlock extends IFormulaBlockView {
|
|
|
346
346
|
* either all of them call a total function or none do.
|
|
347
347
|
*/
|
|
348
348
|
hasTotals(): boolean;
|
|
349
|
+
/**
|
|
350
|
+
* Whether the formula names a volatile function anywhere in its tree.
|
|
351
|
+
*
|
|
352
|
+
* @remarks
|
|
353
|
+
* Read straight off the compiled cache — see `CompiledFormula.hasVolatile`: the declaration of
|
|
354
|
+
* each function answers, at compile time, so a call in an arm no branch selects still counts.
|
|
355
|
+
* A name the formula mentions is not descended into; its body answers for itself.
|
|
356
|
+
*/
|
|
357
|
+
hasVolatile(): boolean;
|
|
349
358
|
/**
|
|
350
359
|
* Whether the cells of a block running this formula whose relative inputs are all blank share
|
|
351
360
|
* one value within a pass, as far as the formula TEXT can say.
|
|
@@ -365,6 +374,13 @@ export interface IFormulaBlock extends IFormulaBlockView {
|
|
|
365
374
|
* `[0,0]` read (`CompilerUtils.annotateFirstCell`). Idempotent.
|
|
366
375
|
*/
|
|
367
376
|
demandFirstCell(): void;
|
|
377
|
+
/**
|
|
378
|
+
* This formula with every position test (`ISODD(ROW())`, `ROW()>1`) replaced by `TRUE` and by
|
|
379
|
+
* `FALSE`, in every combination — see `CompilerUtils.positionVariants`. When all of them answer
|
|
380
|
+
* alike at a cell without reading the position, the formula's answer there does not depend on
|
|
381
|
+
* the position. `null` when there is nothing to vary. Built once.
|
|
382
|
+
*/
|
|
383
|
+
getPositionVariants(): IFormulaBlock[] | null;
|
|
368
384
|
/**
|
|
369
385
|
* If the formula is logically equal to another formula.
|
|
370
386
|
*
|
|
@@ -39,9 +39,11 @@ export interface LambdaParam {
|
|
|
39
39
|
*
|
|
40
40
|
* @remarks
|
|
41
41
|
* CALCULATION-PRIVATE, like stable ids: nothing here reaches a public API. The one boundary rule
|
|
42
|
-
* is the cell's — an unconsumed lambda renders `#CALC
|
|
43
|
-
*
|
|
44
|
-
*
|
|
42
|
+
* is the cell's — an unconsumed lambda renders `#CALC!`, as a top-level result in `finalizeValue`
|
|
43
|
+
* and as a member of an array result where the engine's value grid makes its runs
|
|
44
|
+
* (`createCellValueRun`) — and every consumer that needs a scalar or a location fails to COERCE it
|
|
45
|
+
* with `#VALUE!` (the `isLambda` brand is what the coercion sites check, the same structural
|
|
46
|
+
* pattern as `isIRange`).
|
|
45
47
|
*
|
|
46
48
|
* A lambda closes over its creation context by SNAPSHOT, not by reference: `regs` is a copy of the
|
|
47
49
|
* creating formula's register file at the moment the `LAMBDA` node evaluated. The copy is what
|
|
@@ -8,6 +8,9 @@ import { IFunction } from '@sheetxl/primitives';
|
|
|
8
8
|
* range in a slot is taken whole or intersected, for one. That question has an answer before any
|
|
9
9
|
* engine starts, and the same answer wherever it is asked, so it is read here rather than from a
|
|
10
10
|
* calculation's live function registry. The data is the declaration the compiler compiles from.
|
|
11
|
+
*
|
|
12
|
+
* The table loads with the formula parser: await `FormulaText.load()` first. Until then every
|
|
13
|
+
* name is unknown.
|
|
11
14
|
*/
|
|
12
15
|
export declare namespace FunctionDeclarations {
|
|
13
16
|
/** A declared function. */
|
|
@@ -20,7 +23,8 @@ export declare namespace FunctionDeclarations {
|
|
|
20
23
|
isBuiltIn(): boolean;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
|
-
* Returns a built-in function's declaration, or `null` when no built-in has that name
|
|
26
|
+
* Returns a built-in function's declaration, or `null` when no built-in has that name or the
|
|
27
|
+
* table is not loaded.
|
|
24
28
|
*
|
|
25
29
|
* @param name The canonical (English) name. Not case sensitive.
|
|
26
30
|
*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IFunction } from '@sheetxl/primitives';
|
|
2
|
+
import { MinifiedDeclaration } from '@sheetxl/scripting';
|
|
3
|
+
/**
|
|
4
|
+
* Expands one minified built-in declaration into its JSON, with the ids of the enums its
|
|
5
|
+
* parameters use.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Pure: what a declaration says about its slots, with no implementation attached. The function
|
|
9
|
+
* registry binds the result to an implementation; `FunctionDeclarations` reads it as data.
|
|
10
|
+
*/
|
|
11
|
+
export declare function expandDeclaration(builtInName: string, builtIn: MinifiedDeclaration, expandEnum: (id: string) => IFunction.EnumJSON | undefined): {
|
|
12
|
+
decl: IFunction.DeclarationJSON;
|
|
13
|
+
enumIds: string[];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=expandDeclaration.d.ts.map
|
|
@@ -17,18 +17,6 @@ export declare function initializeFunctions(getContext: () => IFormulaContext, p
|
|
|
17
17
|
* @param defaultCategory the default category to use if not specified in the declaration
|
|
18
18
|
* @param enums the module's enums, which its parameters reference by id
|
|
19
19
|
*/
|
|
20
|
-
/**
|
|
21
|
-
* Expands one minified built-in declaration into its JSON, with the ids of the enums its
|
|
22
|
-
* parameters use.
|
|
23
|
-
*
|
|
24
|
-
* @remarks
|
|
25
|
-
* Pure: what a declaration says about its slots, with no implementation attached. The function
|
|
26
|
-
* registry binds the result to an implementation; `FunctionDeclarations` reads it as data.
|
|
27
|
-
*/
|
|
28
|
-
export declare function expandDeclaration(builtInName: string, builtIn: MinifiedDeclaration, expandEnum: (id: string) => IFunction.EnumJSON | undefined): {
|
|
29
|
-
decl: IFunction.DeclarationJSON;
|
|
30
|
-
enumIds: string[];
|
|
31
|
-
};
|
|
32
20
|
export declare const bindDeclarations: (mapFunctions: Map<string, IFunction>, getContext: () => IFormulaContext, implementations: Implementations, // TODO make this dynamic
|
|
33
21
|
declarations: MinifiedDeclaration, // TODO make this dynamic
|
|
34
22
|
getDynamicDescriptors?: DynamicDescriptors, defaultCategory?: string, enums?: MinifiedEnums) => void;
|
|
@@ -45,12 +45,14 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
45
45
|
protected readonly _sizeOf: string | undefined;
|
|
46
46
|
/** The aggregate cache over the values; bound to the map INSTANCE, so it follows every clone. */
|
|
47
47
|
protected _rangeStats: RangeStats;
|
|
48
|
+
/** The fixed size the grid was made with, or `null` for one sized by `sizeOf` or the default. */
|
|
49
|
+
protected readonly _fixedCoords: IRange.Coords | null;
|
|
48
50
|
/**
|
|
49
51
|
* Bumped whenever the value map is mutated IN PLACE (a vend that landed on this grid's own
|
|
50
|
-
* instance, a load): what
|
|
51
|
-
*
|
|
52
|
+
* instance, a load): what the views derived from the values invalidate by, since the map's
|
|
53
|
+
* identity does not change then. See {@link getValuesEpoch}.
|
|
52
54
|
*/
|
|
53
|
-
protected
|
|
55
|
+
protected _valuesEpoch: number;
|
|
54
56
|
/** The reconciled error-VALUE view; see {@link getErrorValues}. */
|
|
55
57
|
protected _errorReconciled: {
|
|
56
58
|
values: ISparseGrid<Scalar>;
|
|
@@ -67,6 +69,18 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
67
69
|
protected _emitter: ListenerEmitter<ICalcGrid, ICalcGrid.IListeners> | null;
|
|
68
70
|
protected _closed: boolean;
|
|
69
71
|
constructor(options: CalcGrid.ConstructorOptions);
|
|
72
|
+
/** An empty grid's state, with the aggregate cache bound to its value map. */
|
|
73
|
+
protected _freshState(): CalcGrid.State;
|
|
74
|
+
/**
|
|
75
|
+
* Gives a grid that a restore left without state - one made in a commit since undone - an empty
|
|
76
|
+
* state at the current commit again, under the same id, folded into that commit. A redo then
|
|
77
|
+
* restores the grid's own record where this front reads it; a new grid under the id would read
|
|
78
|
+
* nothing there. The engine has to be told of the grid again as well: its grids are versioned too.
|
|
79
|
+
*
|
|
80
|
+
* @returns `true` when a state was made; `false` for a grid that has one, or is closed.
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
_revive(): boolean;
|
|
70
84
|
/**
|
|
71
85
|
* Open this grid's maps from a content record, replacing what they hold: the formulas, the
|
|
72
86
|
* values, their contentful summary, the error ones among them, the array extents the record
|
|
@@ -87,6 +101,24 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
87
101
|
* own transaction.
|
|
88
102
|
*/
|
|
89
103
|
protected _getState(transaction?: ITransaction | null): Readonly<CalcGrid.State>;
|
|
104
|
+
/**
|
|
105
|
+
* This grid, reading the record it holds now for as long as it is kept: what a snapshot sheet
|
|
106
|
+
* reads, so a copy reads its source as it was when marked, not after the destination - which
|
|
107
|
+
* can overlap it - was cleared. A read that names a transaction still answers for it.
|
|
108
|
+
* @internal
|
|
109
|
+
*/
|
|
110
|
+
_pinned(): ICalcGrid;
|
|
111
|
+
/**
|
|
112
|
+
* This grid reading the record it held at a commit: what a sheet as of that commit reads.
|
|
113
|
+
* `null` when the store no longer has the commit, or the grid did not exist at it.
|
|
114
|
+
*
|
|
115
|
+
* @remarks
|
|
116
|
+
* Sound because history is never written: a pass that lands on a record history shares lands
|
|
117
|
+
* a clone, so the record a commit kept holds the values it was calculated with.
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
_pinnedAt(commitId: string): ICalcGrid | null;
|
|
121
|
+
private _pinTo;
|
|
90
122
|
/**
|
|
91
123
|
* This grid's record as it was at a commit; the current one for the operation in progress;
|
|
92
124
|
* `undefined` for a commit the store no longer has on its live history.
|
|
@@ -112,6 +144,8 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
112
144
|
getVolatileRegions(): IRange.Address[] | null;
|
|
113
145
|
/** {@inheritDoc ICalcGrid.getRangeStats} */
|
|
114
146
|
getRangeStats(): RangeStats;
|
|
147
|
+
/** {@inheritDoc ICalcGrid.getValuesEpoch} */
|
|
148
|
+
getValuesEpoch(): number;
|
|
115
149
|
/** {@inheritDoc ICalcGrid.getErrorValues} */
|
|
116
150
|
getErrorValues(): ISpatialMap<boolean>;
|
|
117
151
|
/**
|
|
@@ -195,6 +229,8 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
195
229
|
_isOwned(): boolean;
|
|
196
230
|
/** {@inheritDoc ICalcGrid.Backend.requestPass} @internal */
|
|
197
231
|
_requestPass(): void;
|
|
232
|
+
/** {@inheritDoc ICalcGrid.Backend.demand} @internal */
|
|
233
|
+
_demand(rects: readonly IRange.Coords[]): void;
|
|
198
234
|
/** {@inheritDoc ICalcGrid.getGraphNeighborsAt} */
|
|
199
235
|
getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
200
236
|
/** {@inheritDoc ICalcGrid.Backend.getNameGraph} @internal */
|
|
@@ -215,7 +251,7 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
215
251
|
* as any answer does. Nothing is written here first - the text is the engine's to make.
|
|
216
252
|
* @internal
|
|
217
253
|
*/
|
|
218
|
-
_setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
|
|
254
|
+
_setBody(options: ICalcGrid.BodyOptions, isCurrent?: () => boolean): Promise<ICalcGrid.Results>;
|
|
219
255
|
/** {@inheritDoc ICalcGrid.isVolatileAt} */
|
|
220
256
|
isVolatileAt(row: number, column: number): Promise<boolean>;
|
|
221
257
|
/** {@inheritDoc ICalcGrid.addListeners} */
|
|
@@ -61,6 +61,10 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
61
61
|
readonly _shadowOf: string | null;
|
|
62
62
|
/** @see CalcGridBackend.ConstructorOptions.arrayFirstCell */
|
|
63
63
|
readonly _arrayFirstCell: boolean;
|
|
64
|
+
/** @see CalcGridBackend.ConstructorOptions.paged */
|
|
65
|
+
readonly _paged: boolean;
|
|
66
|
+
/** The tiles of a paged body's blank region its owner reads now: see {@link getDemanded}. */
|
|
67
|
+
protected _demanded: readonly IRange.Coords[];
|
|
64
68
|
_container: IContextContainer;
|
|
65
69
|
_context: IFormulaContext;
|
|
66
70
|
protected _isProcessingJSON: boolean;
|
|
@@ -198,6 +202,18 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
198
202
|
getShadowOf(): string | null;
|
|
199
203
|
/** @inheritdoc ICalcGrid.isArrayFirstCell */
|
|
200
204
|
isArrayFirstCell(): boolean;
|
|
205
|
+
/** Whether this grid's body may evaluate its blank region a tile at a time: see `ConstructorOptions.paged`. */
|
|
206
|
+
isPaged(): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* The tiles of the body's blank region its owner reads now, in this grid's coordinates. A paged
|
|
209
|
+
* body evaluates its blank region only inside them; empty for a grid that is not paged.
|
|
210
|
+
*/
|
|
211
|
+
getDemanded(): readonly IRange.Coords[];
|
|
212
|
+
/**
|
|
213
|
+
* Take the owner's tiles. A tile that is new or released is dirtied: the next pass evaluates a
|
|
214
|
+
* new one and clears what a released one holds.
|
|
215
|
+
*/
|
|
216
|
+
protected _demandNow(rects: readonly IRange.Coords[]): void;
|
|
201
217
|
/** {@inheritDoc ICalcGrid.getEntireCoords} */
|
|
202
218
|
getEntireCoords(): IRange.Coords;
|
|
203
219
|
/**
|
|
@@ -242,6 +258,12 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
242
258
|
* the model's question.
|
|
243
259
|
*/
|
|
244
260
|
getDirectDependentsAt(coords: IRange.Coords): IRange.Coords[];
|
|
261
|
+
/**
|
|
262
|
+
* Pushes `dep` and the landed output of every spill anchored in it. An anchor rewrites its whole
|
|
263
|
+
* spill when it re-evaluates, and this is the hop that lets a transitive walk reach what reads the
|
|
264
|
+
* spill's far end, not just its anchor. A blocked spill landed on its anchor alone, so adds nothing.
|
|
265
|
+
*/
|
|
266
|
+
private _pushWithSpills;
|
|
245
267
|
/**
|
|
246
268
|
* The direct precedents of a range: one hop upstream, as of the last calculation.
|
|
247
269
|
*
|
|
@@ -459,6 +481,14 @@ export declare namespace CalcGridBackend {
|
|
|
459
481
|
* conditional-format body. See {@link ICalcGrid.isArrayFirstCell}.
|
|
460
482
|
*/
|
|
461
483
|
arrayFirstCell?: boolean;
|
|
484
|
+
/**
|
|
485
|
+
* `true` when the body's blank region may be evaluated a tile at a time: once the body's
|
|
486
|
+
* answer there depends on the position (`ISODD(ROW())`), only the tiles its owner asks for
|
|
487
|
+
* ({@link CalcGridBackend.getDemanded}) are evaluated, and the rest of the region holds
|
|
488
|
+
* nothing. For an owner that reads a window of the body at a time - a conditional format,
|
|
489
|
+
* which paints what is on screen.
|
|
490
|
+
*/
|
|
491
|
+
paged?: boolean;
|
|
462
492
|
}
|
|
463
493
|
}
|
|
464
494
|
/** A grid's per-grid maps, as one snapshot of the engine's history holds them. */
|
|
@@ -67,6 +67,8 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
|
|
|
67
67
|
calculate(full?: boolean): Promise<ICalculation.Status>;
|
|
68
68
|
/** {@inheritDoc ICalcGrid.Backend.requestPass} */
|
|
69
69
|
requestPass(): void;
|
|
70
|
+
/** {@inheritDoc ICalcGrid.Backend.demand} */
|
|
71
|
+
demand(rects: readonly IRange.Coords[]): void;
|
|
70
72
|
/** {@inheritDoc ICalcGrid.markDirtyRegions} */
|
|
71
73
|
markDirtyRegions(coords: IRange.Coords[]): void;
|
|
72
74
|
/** {@inheritDoc ICalcGrid.delete} */
|
|
@@ -43,7 +43,14 @@ export declare function errorValueEntriesOf(grid: ISparseGrid<Scalar>): ISpatial
|
|
|
43
43
|
* region leaves the index and its runs are re-read for errors.
|
|
44
44
|
*/
|
|
45
45
|
export declare function indexWrittenRuns(errorSpatial: ISpatialMap<string>, grid: ISparseGrid<Scalar>, bounds: IRange.Coords): void;
|
|
46
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Removes a cleared region from the error index (a spill's old extent, a deleted range).
|
|
48
|
+
*
|
|
49
|
+
* @remarks
|
|
50
|
+
* Exactly the region: the index joins like errors side by side into one entry, so an entry may
|
|
51
|
+
* run past `coords`, and only its part inside them goes. (`ISpatialMap.delete` drops every entry
|
|
52
|
+
* it touches whole, which would forget the errors beside a one-cell write.)
|
|
53
|
+
*/
|
|
47
54
|
export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coords: IRange.Coords): void;
|
|
48
55
|
/**
|
|
49
56
|
* Updates contentful and invalidates spills.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { IRange,
|
|
1
|
+
import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { ISparseGrid } from '../../collections';
|
|
3
3
|
import { ITransaction } from '../../transaction';
|
|
4
|
-
import { IContextContainer } from '../state';
|
|
5
4
|
import { IFormulaBlockView } from '../formula';
|
|
6
5
|
import { ICalcGrid } from './ICalcGrid';
|
|
7
6
|
import { CalcGrid } from './CalcGrid';
|
|
@@ -22,8 +21,7 @@ export declare class FormulaHost {
|
|
|
22
21
|
protected readonly _id: string;
|
|
23
22
|
protected readonly _grid: CalcGrid;
|
|
24
23
|
protected readonly _transactions: ITransaction.IStore | null;
|
|
25
|
-
protected readonly
|
|
26
|
-
protected readonly _context: IFormulaContext;
|
|
24
|
+
protected readonly _runtime: IRuntime;
|
|
27
25
|
/**
|
|
28
26
|
* The body as this side knows it: what was last handed to the grid, refined by what the grid
|
|
29
27
|
* answered. Held here so that the owner of a formula never has to read it back out of the grid -
|
|
@@ -42,9 +40,21 @@ export declare class FormulaHost {
|
|
|
42
40
|
} | null;
|
|
43
41
|
/** The last body written as authored has not been answered: the grid's entry predates it. */
|
|
44
42
|
protected _bodyPending: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* A paged body's tiles the owner has asked for, by index from the body's top row, oldest ask
|
|
45
|
+
* first: what is sent as the demand. Capped (see {@link request}); the oldest go first.
|
|
46
|
+
*/
|
|
47
|
+
protected _wanted: Map<number, true>;
|
|
48
|
+
/** The tiles the last pass evaluated, by index: see {@link ICalcGrid.BlankRegion.evaluated}. */
|
|
49
|
+
protected _evaluated: Set<number>;
|
|
50
|
+
/** A demand is waiting to be sent at the end of the current flush. */
|
|
51
|
+
protected _demandQueued: boolean;
|
|
52
|
+
/** A demand was sent since the last pass's results. */
|
|
53
|
+
protected _demandSent: boolean;
|
|
45
54
|
protected readonly _onDispose: (() => void) | undefined;
|
|
46
55
|
protected readonly _onCalculated: ((results: ICalcGrid.Results) => void) | undefined;
|
|
47
56
|
protected readonly _onResync: (() => void) | undefined;
|
|
57
|
+
protected readonly _waitUntil: ((work: Promise<void>) => void) | undefined;
|
|
48
58
|
constructor(options: FormulaHost.ConstructorOptions);
|
|
49
59
|
/** The grid's id. */
|
|
50
60
|
getId(): string;
|
|
@@ -86,12 +96,39 @@ export declare class FormulaHost {
|
|
|
86
96
|
* rewrite a structural change made since - replaces it when it arrives.
|
|
87
97
|
*/
|
|
88
98
|
getBody(): FormulaHost.Body | null;
|
|
99
|
+
/**
|
|
100
|
+
* Whether a body is written: answered, or sent and not yet answered. `false` when nothing has
|
|
101
|
+
* been written, and again after a restore to a version from before the write (see {@link _resync}).
|
|
102
|
+
*/
|
|
103
|
+
hasBody(): boolean;
|
|
89
104
|
/**
|
|
90
105
|
* What the engine pushed after a pass over the body: a rewrite nobody asked for (a structural
|
|
91
106
|
* change on the sheet the body reads), and the blank region.
|
|
92
107
|
* @internal
|
|
93
108
|
*/
|
|
94
109
|
_onComplete(results: ICalcGrid.Results): void;
|
|
110
|
+
/**
|
|
111
|
+
* Whether the body's value at a cell is its answer, asking for it when it is not.
|
|
112
|
+
*
|
|
113
|
+
* @remarks
|
|
114
|
+
* A body whose blank region is paged (`CalcGridBackend.ConstructorOptions.paged`) evaluates
|
|
115
|
+
* that region only inside the tiles - 256 rows across the body - its owner reads.
|
|
116
|
+
* A cell elsewhere holds nothing yet: this asks for its tile, once per flush however many cells
|
|
117
|
+
* ask, and the pass that evaluates it delivers as any pass does. Every other cell, and every
|
|
118
|
+
* cell of a body that is not paged, already holds its answer.
|
|
119
|
+
*
|
|
120
|
+
* The owner reads a window at a time (what is on screen), so the tiles asked for most recently
|
|
121
|
+
* are the ones kept: past 64 tiles the oldest is released, and what it held is cleared
|
|
122
|
+
* by the next pass.
|
|
123
|
+
*
|
|
124
|
+
* @returns `true` when the value at the cell is the body's answer there.
|
|
125
|
+
*/
|
|
126
|
+
request(row: number, column: number): boolean;
|
|
127
|
+
/** The index of the tile holding `row`, counted from the body's top row. */
|
|
128
|
+
protected _tileOf(row: number, extent: IRange.Coords): number;
|
|
129
|
+
/** Sends the wanted tiles once the current flush is over, and asks for the pass. */
|
|
130
|
+
protected _queueDemand(): void;
|
|
131
|
+
protected _sendDemand(extent: IRange.Coords): void;
|
|
95
132
|
/**
|
|
96
133
|
* Take what the grid reports about the body: the answer to a write, or a rewrite nobody asked
|
|
97
134
|
* for (a structural change on the sheet the body reads).
|
|
@@ -157,6 +194,12 @@ export declare class FormulaHost {
|
|
|
157
194
|
getBlock(): IFormulaBlockView | null;
|
|
158
195
|
/** The model's grid the body lives in. @internal */
|
|
159
196
|
_getCalcGrid(): CalcGrid;
|
|
197
|
+
/**
|
|
198
|
+
* Whether the grid holds state at the current commit: `false` after a restore to a version from
|
|
199
|
+
* before the grid was made, when nothing written here lands anywhere (see `CalcGrid._revive`).
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
202
|
+
_isLive(): boolean;
|
|
160
203
|
/**
|
|
161
204
|
* The body as the model's grid holds it, answered or not: its text is the engine's once the
|
|
162
205
|
* engine has answered, and the text as written until then. `null` when nothing is written.
|
|
@@ -217,14 +260,16 @@ export declare namespace FormulaHost {
|
|
|
217
260
|
grid: CalcGrid;
|
|
218
261
|
/** The store the grid is versioned in: a write made outside an operation amends its current commit. */
|
|
219
262
|
transactions?: ITransaction.IStore | null;
|
|
220
|
-
|
|
221
|
-
|
|
263
|
+
/** The runtime a range over the body's values reads with. */
|
|
264
|
+
runtime: IRuntime;
|
|
222
265
|
/** Called when the host is disposed, for whoever keeps track of live hosts. */
|
|
223
266
|
onDispose?: () => void;
|
|
224
267
|
/** Told after every pass that wrote the grid. */
|
|
225
268
|
onCalculated?: (results: ICalcGrid.Results) => void;
|
|
226
269
|
/** Told after a restore or revert has replaced the body under the host (see {@link FormulaHost._resync}). */
|
|
227
270
|
onResync?: () => void;
|
|
271
|
+
/** Counts work the host starts for its owner as calculation in flight: see `ICalculation.waitUntil`. */
|
|
272
|
+
waitUntil?: (work: Promise<void>) => void;
|
|
228
273
|
}
|
|
229
274
|
/** A body as its host holds it. */
|
|
230
275
|
interface Body {
|
|
@@ -141,6 +141,15 @@ export interface ICalcGrid {
|
|
|
141
141
|
* collapses into a plain read once the executor emits those deltas.
|
|
142
142
|
*/
|
|
143
143
|
getErrorValues(): ISpatialMap<boolean>;
|
|
144
|
+
/**
|
|
145
|
+
* A counter that moves whenever the values change in place, where {@link getValues} keeps its
|
|
146
|
+
* identity (an engine's answers landing, a load).
|
|
147
|
+
*
|
|
148
|
+
* @remarks
|
|
149
|
+
* With the identity of {@link getValues}, the key a view derived from the values is cached
|
|
150
|
+
* against: equal identity and equal epoch mean the values have not moved.
|
|
151
|
+
*/
|
|
152
|
+
getValuesEpoch(): number;
|
|
144
153
|
/**
|
|
145
154
|
* The volatile regions the file listed: what an `Off` save writes back and a seed carries,
|
|
146
155
|
* kept where a formula still sits under them. What the engine knows once it is up it answers
|
|
@@ -287,8 +296,10 @@ export interface ICalcGrid {
|
|
|
287
296
|
*/
|
|
288
297
|
setReferenceModeAt(row: number, column: number, index: number, side?: ICalculation.ReferenceSide, mode?: number): Promise<IFormulaBlockView | null>;
|
|
289
298
|
/**
|
|
290
|
-
* Whether the formula at the cell is volatile:
|
|
291
|
-
*
|
|
299
|
+
* Whether the formula at the cell is volatile: its text, closed over the names it mentions,
|
|
300
|
+
* the computed reads its last evaluation registered, or the node a pass registered volatile —
|
|
301
|
+
* a question answered in order behind the writes sent before it. On a grid at a synthetic
|
|
302
|
+
* anchor (a name's), which no pass evaluates, the text is all there is.
|
|
292
303
|
*
|
|
293
304
|
* @param row The row of the cell to evaluate.
|
|
294
305
|
* @param column The column of the cell to evaluate.
|
|
@@ -399,13 +410,18 @@ export declare namespace ICalcGrid {
|
|
|
399
410
|
* the engine answers, and nothing the model holds for itself. The in-process engine grid is
|
|
400
411
|
* one; a message-passing proxy under a worker is another.
|
|
401
412
|
*/
|
|
402
|
-
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getPending' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getVolatileRegions' | 'getRangeStats'> & {
|
|
413
|
+
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getPending' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
|
|
403
414
|
/** Write a body as authored; the engine anchors it (see {@link ICalcGrid.BodyOptions}). */
|
|
404
415
|
setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
|
|
405
416
|
/** {@link ICalcGrid.evaluateAt} coerced to one scalar, as a defined name's `evaluate()` is. */
|
|
406
417
|
evaluateScalarAt(row: number, column: number, evalIndex?: number): Promise<Scalar>;
|
|
407
418
|
/** Owe a pass seeded from this grid, run once the current flush is over. */
|
|
408
419
|
requestPass(): void;
|
|
420
|
+
/**
|
|
421
|
+
* The tiles of a paged body's blank region the owner reads now - all of them, replacing the
|
|
422
|
+
* last set; see `CalcGridBackend.getDemanded`. Evaluated by the next pass.
|
|
423
|
+
*/
|
|
424
|
+
demand(rects: readonly IRange.Coords[]): void;
|
|
409
425
|
/**
|
|
410
426
|
* The graph around the defined name whose body this grid holds - its precedents or
|
|
411
427
|
* dependents, cells in calc currency and names - as {@link ICalcGrid.getGraphNeighborsAt}
|
|
@@ -575,14 +591,23 @@ export declare namespace ICalcGrid {
|
|
|
575
591
|
/**
|
|
576
592
|
* The cells of a body that a pass shares one answer for rather than writing, and that answer:
|
|
577
593
|
* what every such cell reads as.
|
|
594
|
+
*
|
|
595
|
+
* @remarks
|
|
596
|
+
* A PAGED region shares nothing: the body's answer there depends on the position, and only the
|
|
597
|
+
* tiles its owner asked for are evaluated ({@link evaluated}). Every other cell of
|
|
598
|
+
* {@link rects} holds nothing and has no answer yet.
|
|
578
599
|
*/
|
|
579
600
|
interface BlankRegion {
|
|
580
|
-
/** The shared answer. */
|
|
601
|
+
/** The shared answer; `undefined` for a paged region. */
|
|
581
602
|
readonly value: Scalar | undefined;
|
|
582
603
|
/** The rectangles it covers, in the grid's coordinates. */
|
|
583
604
|
readonly rects: readonly IRange.Coords[];
|
|
584
605
|
/** The body's extent: a read wider than it shares nothing. */
|
|
585
606
|
readonly extent: IRange.Coords;
|
|
607
|
+
/** The region is evaluated a tile at a time rather than shared. */
|
|
608
|
+
readonly paged?: boolean;
|
|
609
|
+
/** For a paged region, the tiles this pass evaluated. */
|
|
610
|
+
readonly evaluated?: readonly IRange.Coords[];
|
|
586
611
|
}
|
|
587
612
|
/**
|
|
588
613
|
* Returns from `ICalcGrid.beginUpdates()`.
|
|
@@ -665,10 +690,14 @@ export declare namespace ICalcGrid {
|
|
|
665
690
|
*/
|
|
666
691
|
range: IRange.Coords | string;
|
|
667
692
|
}
|
|
668
|
-
interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, ICalcGrid.Results
|
|
693
|
+
interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, Promise<ICalcGrid.Results>> {
|
|
669
694
|
/**
|
|
670
695
|
* Copies the snapshot's formulas to the destination grid.
|
|
671
696
|
*
|
|
697
|
+
* @remarks
|
|
698
|
+
* The engine answers when it has the blocks; the destination holds the formulas pending in
|
|
699
|
+
* the meantime, so a paste starts this and does not wait for it.
|
|
700
|
+
*
|
|
672
701
|
* @returns Resolves with the blocks minted at the destination (re-anchored, `#REF!` where a
|
|
673
702
|
* relative reference left the sheet) and, for a cut, the coords vacated at the source. The
|
|
674
703
|
* copied extent is the result's `bounds`.
|
|
@@ -828,7 +857,7 @@ export declare namespace ICalcGrid {
|
|
|
828
857
|
* {@link ITypes.FormulaArrayKind | kinds} of array formula it is.
|
|
829
858
|
*
|
|
830
859
|
* @remarks
|
|
831
|
-
* See {@link
|
|
860
|
+
* See {@link IWorksheet.JSON.formulaArray} for what does and does not earn an entry.
|
|
832
861
|
*/
|
|
833
862
|
formulaArray?: IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[];
|
|
834
863
|
/**
|
|
@@ -107,6 +107,14 @@ export type CalcRequest =
|
|
|
107
107
|
type: 'markDirty';
|
|
108
108
|
coords: readonly IRange.Coords[];
|
|
109
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* The tiles of a paged body's blank region its owner reads now - all of them, replacing the
|
|
112
|
+
* last set. See `CalcGridBackend.ConstructorOptions.paged`.
|
|
113
|
+
*/
|
|
114
|
+
| {
|
|
115
|
+
type: 'demand';
|
|
116
|
+
rects: readonly IRange.Coords[];
|
|
117
|
+
}
|
|
110
118
|
/**
|
|
111
119
|
* The model restored to `options.commitId`: the engine restores its own history there and re-vends
|
|
112
120
|
* what changed. Only a `Running` engine acts on it - see `Calculation._sendRequestNow`.
|
|
@@ -188,7 +196,7 @@ export type CalcRequest =
|
|
|
188
196
|
*/
|
|
189
197
|
| {
|
|
190
198
|
type: 'sheets';
|
|
191
|
-
sheets: readonly (readonly [id: string, name: string | null])[];
|
|
199
|
+
sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[];
|
|
192
200
|
options?: ICalcGrid.RequestOptions;
|
|
193
201
|
}
|
|
194
202
|
/**
|
|
@@ -236,6 +244,8 @@ export interface CalcGridSpec {
|
|
|
236
244
|
unanchored?: boolean;
|
|
237
245
|
/** See `CalcGridBackend.ConstructorOptions.arrayFirstCell`. */
|
|
238
246
|
arrayFirstCell?: boolean;
|
|
247
|
+
/** See `CalcGridBackend.ConstructorOptions.paged`. */
|
|
248
|
+
paged?: boolean;
|
|
239
249
|
/** The grid's size, fixed: a name's. A sheet's is its seed's. */
|
|
240
250
|
entireCoords?: IRange.Coords;
|
|
241
251
|
/** The grid whose size this one has, whatever it is then: a body on a sheet. */
|