@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/browser/esm/{CYyv6uGjo10ig5FP.mjs → -Jx-jNHmtIQQfLvK.mjs} +1 -1
- package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → 2WuhYrIpYmOR5H73.mjs} +110 -261
- package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → 2mIwPy2D2JUX-9wx.mjs} +2 -2
- package/browser/esm/B3wf5vZCsWfWsDbj.mjs +12 -0
- package/browser/esm/{BzLfNyc6OOShIErH.mjs → BIHrHjRGWVlJglcp.mjs} +2 -2
- package/browser/esm/{C9B0djuUarfNdoj0.mjs → BTFBedJMRWGvZyCE.mjs} +1 -1
- package/browser/esm/{Btg43M1Bf-ENDreu.mjs → BdCJNawfifyPupCP.mjs} +1 -1
- package/browser/esm/{ClB5ix51roQOpZEr.mjs → Bg5Di9GLNAkbqQ1P.mjs} +2877 -2067
- package/browser/esm/BnC4-27Igwb8oDf2.mjs +1552 -0
- package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → Bt8_m94tBdks209L.mjs} +1 -1
- package/browser/esm/{zqJOaweiXE9D8RY1.mjs → BudSIfXBAsTxvu-K.mjs} +31835 -40812
- package/browser/esm/C9u8FUewte5ugUjH.mjs +5132 -0
- package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → CBYMTDzMf1Vh7pkw.mjs} +1 -1
- package/browser/esm/CNdjyofiRu6CYOrr.mjs +12835 -0
- package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → CRkYR-siY2C994KV.mjs} +1 -1
- package/browser/esm/CTe2qfmIUEad6FJv.mjs +199 -0
- package/browser/esm/CUzYuYTTGsChC_kZ.mjs +8422 -0
- package/browser/esm/CdEO8CEee6lEhabA.mjs +117 -0
- package/browser/esm/CfRqiPDg6RBTg1EN.mjs +367 -0
- package/browser/esm/CndRBvVfQUJIYRRj.mjs +193 -0
- package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → CwOPLXU3-9ZHGyOT.mjs} +1 -1
- package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → Cxjxk0ncRKx80I-w.mjs} +1 -1
- package/browser/esm/D2RZh0O9neOsyLAE.mjs +281 -0
- package/browser/esm/{De175LygU7ot4nQm.mjs → D64dM68B1pKYFzdP.mjs} +2 -2
- package/browser/esm/{o8MFgcVXns987D6_.mjs → D9xNz46kAfXMZzp4.mjs} +6 -6
- package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → DK899HhWX1HINMC1.mjs} +55 -55
- package/browser/esm/DPhGQLNGmDZwODwJ.mjs +395 -0
- package/browser/esm/DVroRnhi-5IDXNgM.mjs +210 -0
- package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → DZiivy0NmO1Vnyzk.mjs} +2 -2
- package/browser/esm/{CZ5oa92wZEAXebgk.mjs → DgrAuRD2qr2DvFeJ.mjs} +78 -68
- package/browser/esm/{D4uVlrG0xEFctsSM.mjs → DobHLF6VjHr7Xi40.mjs} +285 -67
- package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → DwZCT7DZiiXoTweg.mjs} +2 -2
- package/browser/esm/DwwR3O2sEZApPSTF.mjs +86 -0
- package/browser/esm/Tah7cnFb_HNZdLtj.mjs +128 -0
- package/browser/esm/{BEAY9XgKNx-bakXW.mjs → fXWUMDhZ5yMSO629.mjs} +1 -1
- package/browser/esm/{BqskM7wA8oPfFQue.mjs → hCQJcmIzPDxDEv2q.mjs} +2 -2
- package/browser/esm/index.mjs +1294 -1008
- package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → qO-ujUrgq6H3TQix.mjs} +1 -1
- package/browser/esm/w6Jea0TiclPrYZ2M.mjs +1703 -0
- package/browser/esm/yuhcOYw6SHQ-RCm3.mjs +114 -0
- package/licenses/dependencies.txt +75 -75
- package/node/esm/-TA0MneBDKdGhsib.mjs +8668 -0
- package/node/esm/B-HUPAcqvK0eeeCz.mjs +134 -0
- package/node/esm/BL2iiEoqxDEV2Xrg.mjs +8320 -0
- package/node/esm/{C6ZXsNyLXI6zA63X.mjs → BNXLOEddJ6O9gYws.mjs} +9 -9
- package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BSvOluusoDM4z_dx.mjs} +151 -302
- package/node/esm/{CD9wbvufChVYYkrI.mjs → BskP3b8vUoIOGLY6.mjs} +2 -2
- package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → Btw4148Ot8ifhNc1.mjs} +285 -64
- package/node/esm/{B6D7sSetrcOWLsKj.mjs → C14-R6tifRh7pc0p.mjs} +1 -1
- package/node/esm/C99zzq8DImQXi4BQ.mjs +133 -0
- package/node/esm/{BtuY37FumvLE7EBo.mjs → CBuEu5Jk-LfaDy-H.mjs} +176 -166
- package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → CG-qBU5BAaVz7e-P.mjs} +1 -1
- package/node/esm/CPI58duc0j0a-HpJ.mjs +115 -0
- package/node/esm/CRt3vXe6YmXzqk3H.mjs +406 -0
- package/node/esm/{CUUoseJmFsCf82bb.mjs → C_aL7CGS1lrNn1Ng.mjs} +1 -1
- package/node/esm/{D7MfcID2Wf6l6VpC.mjs → C_xf5Bz30VqiJjXn.mjs} +1 -1
- package/node/esm/CiIymQN6aJCul62g.mjs +610 -0
- package/node/esm/{B9ljpEIZg6wOTzRE.mjs → Ci_zLYmCD7e-C79O.mjs} +1 -1
- package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CkRYLed8Mmn3giNg.mjs} +2 -2
- package/node/esm/D3ptRKzASqBut1DE.mjs +117 -0
- package/node/esm/{DefYISWfdZJFx57m.mjs → D4ROK9UwDpS6jO3Z.mjs} +1 -1
- package/node/esm/D8hO07ToAibIuniw.mjs +13014 -0
- package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → DUTmDHbFbhLDT4F3.mjs} +1 -1
- package/node/esm/{DCplLG93GfTs1vNw.mjs → DV5CU37aEbFbWFL0.mjs} +1 -1
- package/node/esm/{CUQi5ZtMO02nhG0W.mjs → DdoiuKg9BKubtF1V.mjs} +1 -1
- package/node/esm/DggQ23jKMpwhENfa.mjs +372 -0
- package/node/esm/DhS6yWjrrSNIJMsn.mjs +1033 -0
- package/node/esm/{DMD12JUh7HJw2-jl.mjs → DhTya_mhmN53vskv.mjs} +1 -1
- package/node/esm/Dn1M7YWi25DeeYUb.mjs +210 -0
- package/node/esm/DrCf6ITcBhVOFpRj.mjs +86 -0
- package/node/esm/{BN9j8V9gCExMjVtJ.mjs → DxazKtROyaI51dWl.mjs} +1 -1
- package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → Q_S1g46ZOTrdhTae.mjs} +1 -1
- package/node/esm/Vocy-I9dKzZMr0Ct.mjs +59323 -0
- package/node/esm/ZXPFcsT2zrALCZux.mjs +289 -0
- package/node/esm/eimUGjiIP-b8HiM6.mjs +199 -0
- package/node/esm/icn2nX5Z8e_3mNAv.mjs +12 -0
- package/node/esm/index.mjs +2808 -65678
- package/node/esm/lGJ42sHqg5if2bba.mjs +1770 -0
- package/node/esm/{Bsx9uijd4X_SKV3L.mjs → pYtP7wPyS96NQyXS.mjs} +51 -51
- package/package.json +6 -7
- package/resources/contents.json +120 -0
- package/resources/fonts/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/arial-bold-italic.metrics.json +13 -13
- package/resources/fonts/arial-bold-italic.rows.json +9 -0
- package/resources/fonts/arial-bold.hinted.json +125 -0
- package/resources/fonts/arial-bold.metrics.json +12 -12
- package/resources/fonts/arial-bold.rows.json +9 -0
- package/resources/fonts/arial-italic.hinted.json +125 -0
- package/resources/fonts/arial-italic.metrics.json +13 -13
- package/resources/fonts/arial-italic.rows.json +9 -0
- package/resources/fonts/arial-regular.hinted.json +125 -0
- package/resources/fonts/arial-regular.metrics.json +12 -12
- package/resources/fonts/arial-regular.rows.json +9 -0
- package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
- package/resources/fonts/calibri-bold-italic.rows.json +9 -0
- package/resources/fonts/calibri-bold.hinted.json +122 -0
- package/resources/fonts/calibri-bold.metrics.json +1 -1
- package/resources/fonts/calibri-bold.rows.json +9 -0
- package/resources/fonts/calibri-italic.hinted.json +121 -0
- package/resources/fonts/calibri-italic.metrics.json +2 -2
- package/resources/fonts/calibri-italic.rows.json +9 -0
- package/resources/fonts/calibri-regular.hinted.json +121 -0
- package/resources/fonts/calibri-regular.metrics.json +1 -1
- package/resources/fonts/calibri-regular.rows.json +9 -0
- package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
- package/resources/fonts/cambria-bold-italic.rows.json +9 -0
- package/resources/fonts/cambria-bold.hinted.json +108 -0
- package/resources/fonts/cambria-bold.metrics.json +19 -19
- package/resources/fonts/cambria-bold.rows.json +9 -0
- package/resources/fonts/cambria-italic.hinted.json +102 -0
- package/resources/fonts/cambria-italic.metrics.json +23 -23
- package/resources/fonts/cambria-italic.rows.json +9 -0
- package/resources/fonts/cambria-regular.hinted.json +110 -0
- package/resources/fonts/cambria-regular.metrics.json +18 -18
- package/resources/fonts/cambria-regular.rows.json +9 -0
- package/resources/fonts/contents.json +280 -0
- package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
- package/resources/fonts/courier-new-bold.hinted.json +11 -0
- package/resources/fonts/courier-new-bold.metrics.json +12 -12
- package/resources/fonts/courier-new-bold.rows.json +9 -0
- package/resources/fonts/courier-new-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-italic.rows.json +9 -0
- package/resources/fonts/courier-new-regular.hinted.json +11 -0
- package/resources/fonts/courier-new-regular.metrics.json +12 -12
- package/resources/fonts/courier-new-regular.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
- package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
- package/resources/fonts/times-new-roman-bold.rows.json +9 -0
- package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
- package/resources/fonts/times-new-roman-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
- package/resources/fonts/times-new-roman-regular.rows.json +9 -0
- package/resources/locales/de/model.msg.json +93 -9
- package/resources/locales/en/model.msg.json +95 -10
- package/types/scripting-api.json +10809 -8021
- package/types/scripting-enums.json +201 -44
- package/types/scripting.d.ts +17030 -8666
- package/types/src/.generated/wasm/fonts.d.ts +161 -0
- package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
- package/types/src/.generated/wasm/sdk.d.ts +122 -0
- package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
- package/types/src/address/AddressUtils.d.ts +10 -1
- package/types/src/address/_StructuredAddress.d.ts +58 -0
- package/types/src/anomalies/_Anomalies.d.ts +109 -0
- package/types/src/anomalies/_FocusTable.d.ts +11 -0
- package/types/src/anomalies/_FormulaChecks.d.ts +133 -0
- package/types/src/anomalies/_LabelChecks.d.ts +21 -0
- package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
- package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
- package/types/src/border/IBorders.d.ts +16 -0
- package/types/src/calculation/Calculation.d.ts +139 -371
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -3
- package/types/src/calculation/FormulaLiterals.d.ts +2 -1
- package/types/src/calculation/FormulaText.d.ts +18 -2
- package/types/src/calculation/ICalculation.d.ts +133 -18
- package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +293 -22
- package/types/src/calculation/_CloneBoundary.d.ts +1 -1
- package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
- package/types/src/calculation/_TableExtent.d.ts +60 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -2
- package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
- package/types/src/calculation/compiler/Types.d.ts +9 -1
- package/types/src/calculation/engine/CalcBackend.d.ts +953 -0
- package/types/src/calculation/engine/index.d.ts +10 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +94 -24
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +23 -1
- package/types/src/calculation/executor/_WhatIf.d.ts +50 -0
- package/types/src/calculation/formula/Formula.d.ts +9 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +10 -3
- package/types/src/calculation/formula/IFormulaBlock.d.ts +21 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
- package/types/src/calculation/grid/CalcGrid.d.ts +44 -10
- package/types/src/calculation/grid/CalcGridBackend.d.ts +35 -27
- package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -2
- package/types/src/calculation/grid/CalcGridUtils.d.ts +12 -3
- package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
- package/types/src/calculation/grid/ICalcGrid.d.ts +48 -15
- package/types/src/calculation/grid/_CalcRequest.d.ts +28 -6
- package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +29 -2
- package/types/src/calculation/spatial/SpillEntry.d.ts +16 -2
- package/types/src/calculation/state/CalcNode.d.ts +0 -1
- package/types/src/calculation/state/CalcScope.d.ts +44 -6
- package/types/src/calculation/state/CalcState.d.ts +36 -4
- package/types/src/calculation/state/CalculationContext.d.ts +30 -3
- package/types/src/calculation/state/DeferredCalls.d.ts +260 -0
- package/types/src/calculation/state/IContextContainer.d.ts +32 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +6 -0
- package/types/src/calculation/state/_WhatIfLayer.d.ts +91 -0
- package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
- package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
- package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
- package/types/src/calculation/toolkit/index.d.ts +12 -0
- package/types/src/cell/ICell.d.ts +302 -34
- package/types/src/cell/ICellHeader.d.ts +7 -6
- package/types/src/cell/ICellProtection.d.ts +1 -1
- package/types/src/cellControl/CellControl.d.ts +67 -0
- package/types/src/cellControl/CellControlCollection.d.ts +29 -0
- package/types/src/cellControl/CellControlRegistry.d.ts +47 -0
- package/types/src/cellControl/ICellControl.d.ts +99 -0
- package/types/src/cellControl/ICellControlCollection.d.ts +67 -0
- package/types/src/cellControl/index.d.ts +4 -0
- package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
- package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
- package/types/src/cellRange/ICellRange.d.ts +525 -110
- package/types/src/cellRange/ICellRanges.d.ts +12 -6
- package/types/src/chart/Chart.d.ts +217 -15
- package/types/src/chart/ChartCollection.d.ts +7 -2
- package/types/src/chart/IChart.d.ts +1921 -35
- package/types/src/chart/IChartCollection.d.ts +27 -2
- package/types/src/chart/_ChartParts.d.ts +1066 -0
- package/types/src/chart/_ChartSource.d.ts +47 -0
- package/types/src/chart/createChart.d.ts +26 -0
- package/types/src/chart/index.d.ts +4 -0
- package/types/src/chart/kinds/ChartKind.d.ts +252 -0
- package/types/src/chart/kinds/_Area.d.ts +3 -0
- package/types/src/chart/kinds/_Bar.d.ts +4 -0
- package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
- package/types/src/chart/kinds/_Bubble.d.ts +3 -0
- package/types/src/chart/kinds/_Funnel.d.ts +4 -0
- package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
- package/types/src/chart/kinds/_Histogram.d.ts +4 -0
- package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
- package/types/src/chart/kinds/_Line.d.ts +4 -0
- package/types/src/chart/kinds/_OfPie.d.ts +4 -0
- package/types/src/chart/kinds/_Pie.d.ts +4 -0
- package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
- package/types/src/chart/kinds/_Radar.d.ts +4 -0
- package/types/src/chart/kinds/_Scatter.d.ts +8 -0
- package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
- package/types/src/chart/kinds/_Surface.d.ts +4 -0
- package/types/src/chart/kinds/_Treemap.d.ts +4 -0
- package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
- package/types/src/chart/kinds/_builtIns.d.ts +11 -0
- package/types/src/chart/layout/ChartLayout.d.ts +829 -0
- package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
- package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
- package/types/src/chart/layout/_HitTest.d.ts +36 -0
- package/types/src/chart/layout/_Layout.d.ts +25 -0
- package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
- package/types/src/chart/math/BoxStats.d.ts +35 -0
- package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
- package/types/src/chart/math/DisplayUnits.d.ts +53 -0
- package/types/src/chart/math/Histogram.d.ts +48 -0
- package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
- package/types/src/chart/math/Treemap.d.ts +28 -0
- package/types/src/chart/math/Trendlines.d.ts +71 -0
- package/types/src/chart/math/UnitCalcs.d.ts +98 -0
- package/types/src/chart/model/ChartModel.d.ts +681 -0
- package/types/src/chart/model/_ChartType.d.ts +14 -0
- package/types/src/chart/model/_Edits.d.ts +489 -0
- package/types/src/chart/model/_Grouping.d.ts +83 -0
- package/types/src/chart/model/_Inference.d.ts +52 -0
- package/types/src/chart/model/_ModelFacts.d.ts +112 -0
- package/types/src/chart/model/_NewChart.d.ts +208 -0
- package/types/src/chart/model/_OfPie.d.ts +18 -0
- package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
- package/types/src/chart/resolve/_Resolve.d.ts +61 -0
- package/types/src/chart/resolve/_ResolvedChart.d.ts +447 -0
- package/types/src/collections/ISparseGrid.d.ts +11 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
- package/types/src/collections/RTree.d.ts +116 -36
- package/types/src/collections/SparseGrid.d.ts +9 -11
- package/types/src/collections/SpatialMap.d.ts +2 -8
- package/types/src/collections/SpatialMap3D.d.ts +2 -0
- package/types/src/collections/index.d.ts +1 -1
- package/types/src/comment/Comment.d.ts +32 -9
- package/types/src/comment/IComment.d.ts +41 -4
- package/types/src/comment/_NoteBox.d.ts +19 -2
- package/types/src/condition/AnchoredConditional.d.ts +30 -4
- package/types/src/condition/ICondition.d.ts +3 -2
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
- package/types/src/dataValidation/DataValidation.d.ts +1 -1
- package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
- package/types/src/dataValidation/IDataValidation.d.ts +1 -1
- package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
- package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
- package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
- package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
- package/types/src/documentProperties/index.d.ts +3 -0
- package/types/src/externalBook/IExternalBook.d.ts +3 -4
- package/types/src/fetch/Fetcher.d.ts +15 -0
- package/types/src/fetch/IFetcher.d.ts +47 -0
- package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
- package/types/src/fetch/index.d.ts +3 -0
- package/types/src/fill/IFill.d.ts +7 -0
- package/types/src/fill/IFillable.d.ts +47 -0
- package/types/src/fill/IStroke.d.ts +15 -1
- package/types/src/fill/PaintUtils.d.ts +24 -0
- package/types/src/fill/index.d.ts +2 -0
- package/types/src/font/AdvanceBuilder.d.ts +34 -0
- package/types/src/font/AdvanceTable.d.ts +128 -14
- package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
- package/types/src/font/FontCapture.d.ts +4 -0
- package/types/src/font/FontCollection.d.ts +53 -2
- package/types/src/font/FontPlatform.d.ts +20 -0
- package/types/src/font/FontUtils.d.ts +5 -0
- package/types/src/font/IFont.d.ts +191 -61
- package/types/src/font/IFontCollection.d.ts +20 -14
- package/types/src/font/IFontStyle.d.ts +207 -0
- package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
- package/types/src/font/_FontUtils.d.ts +11 -4
- package/types/src/font/_FontsVersion.d.ts +7 -0
- package/types/src/font/index.d.ts +1 -3
- package/types/src/font/platform.browser.d.ts +15 -0
- package/types/src/font/platform.node.d.ts +5 -0
- package/types/src/group/Group.d.ts +5 -0
- package/types/src/group/GroupMovableCollection.d.ts +4 -0
- package/types/src/history/IHistory.d.ts +19 -2
- package/types/src/hyperlink/IHyperlink.d.ts +17 -1
- package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
- package/types/src/index.d.ts +4 -0
- package/types/src/license/LicenseManager.d.ts +21 -0
- package/types/src/license/_Utils.d.ts +18 -1
- package/types/src/license/runtime.browser.d.ts +5 -0
- package/types/src/license/runtime.node.d.ts +10 -0
- package/types/src/listener/IListener.d.ts +14 -2
- package/types/src/listener/ListenerEmitter.d.ts +11 -3
- package/types/src/movable/IMovable.d.ts +28 -15
- package/types/src/movable/IMovableCollection.d.ts +1 -1
- package/types/src/movable/Movable.d.ts +12 -1
- package/types/src/movable/MovableCollection.d.ts +7 -3
- package/types/src/movable/_InsertableCollection.d.ts +16 -5
- package/types/src/named/INamed.d.ts +30 -0
- package/types/src/named/INamedCollection.d.ts +38 -2
- package/types/src/named/NamedCollection.d.ts +34 -4
- package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
- package/types/src/outline/IOutline.d.ts +1 -1
- package/types/src/outline/Outline.d.ts +2 -2
- package/types/src/picture/IPicture.d.ts +98 -1
- package/types/src/picture/Picture.d.ts +15 -7
- package/types/src/pivot/IPivotTable.d.ts +2 -2
- package/types/src/pivot/PivotTable.d.ts +5 -5
- package/types/src/primitives/AsyncValue.d.ts +58 -0
- package/types/src/primitives/ReferenceRange.d.ts +2 -2
- package/types/src/print/IPageLayout.d.ts +635 -0
- package/types/src/print/PageLayout.d.ts +258 -0
- package/types/src/print/index.d.ts +1 -1
- package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
- package/types/src/protection/IProtection.d.ts +6 -0
- package/types/src/protection/PasswordHasher.d.ts +13 -0
- package/types/src/resource/IResource.d.ts +9 -0
- package/types/src/resource/IResourceCollection.d.ts +4 -0
- package/types/src/resource/Resource.d.ts +2 -0
- package/types/src/resource/_AddResource.d.ts +13 -0
- package/types/src/richData/CellImage.d.ts +95 -0
- package/types/src/richData/Hyperlink.d.ts +49 -0
- package/types/src/richData/IRichDataCollection.d.ts +76 -0
- package/types/src/richData/IRichDataKind.d.ts +66 -0
- package/types/src/richData/RichArray.d.ts +42 -0
- package/types/src/richData/RichDataCollection.d.ts +23 -0
- package/types/src/richData/RichDataRegistry.d.ts +89 -0
- package/types/src/richData/RichDataValues.d.ts +20 -0
- package/types/src/richData/RichRecord.d.ts +68 -0
- package/types/src/richData/RichText.d.ts +59 -0
- package/types/src/richData/index.d.ts +9 -0
- package/types/src/scripting/FunctionArguments.d.ts +17 -1
- package/types/src/scripting/FunctionCollection.d.ts +8 -0
- package/types/src/scripting/IModule.d.ts +3 -3
- package/types/src/scripting/IScript.d.ts +2 -2
- package/types/src/scripting/ITypedFunction.d.ts +1 -1
- package/types/src/scripting/Scripts.d.ts +10 -0
- package/types/src/scripting/TypedFunction.d.ts +2 -0
- package/types/src/scripting/declarations.d.ts +3 -0
- package/types/src/selection/ChartElementSelection.d.ts +39 -0
- package/types/src/selection/IChartElementSelection.d.ts +103 -0
- package/types/src/selection/IItemSelection.d.ts +131 -0
- package/types/src/selection/IMovableSelection.d.ts +6 -34
- package/types/src/selection/IRangeSelection.d.ts +4 -4
- package/types/src/selection/ItemSelection.d.ts +49 -0
- package/types/src/selection/MovableSelection.d.ts +11 -30
- package/types/src/selection/RangeSelection.d.ts +4 -4
- package/types/src/selection/index.d.ts +3 -0
- package/types/src/shape/IShape.d.ts +2 -1
- package/types/src/shape/IShapeStyle.d.ts +5 -31
- package/types/src/shape/ITextBoxStyle.d.ts +85 -0
- package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
- package/types/src/shape/_Connectors.d.ts +9 -9
- package/types/src/shape/_ShapeStyle.d.ts +9 -0
- package/types/src/shape/index.d.ts +1 -0
- package/types/src/sheet/CellRegion.d.ts +37 -3
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
- package/types/src/sheet/ISheet.d.ts +81 -1078
- package/types/src/sheet/IWorksheet.d.ts +1521 -0
- package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
- package/types/src/sheet/NamedCellRange.d.ts +2 -2
- package/types/src/sheet/NamedRange.d.ts +2 -2
- package/types/src/sheet/OpaqueSheet.d.ts +114 -0
- package/types/src/sheet/SheetCell.d.ts +40 -27
- package/types/src/sheet/SheetRange.d.ts +50 -13
- package/types/src/sheet/SheetRanges.d.ts +14 -12
- package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +591 -171
- package/types/src/sheet/WorksheetCollection.d.ts +39 -0
- package/types/src/sheet/_CellBuffer.d.ts +11 -1
- package/types/src/sheet/_CopyUtils.d.ts +13 -6
- package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
- package/types/src/sheet/_Kinds.d.ts +34 -0
- package/types/src/sheet/_Labels.d.ts +38 -0
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
- package/types/src/sheet/_ScalarListFactory.d.ts +55 -7
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
- package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
- package/types/src/sheet/_SheetCoords.d.ts +3 -3
- package/types/src/sheet/_SheetEvents.d.ts +1 -1
- package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
- package/types/src/sheet/_SheetIntents.d.ts +32 -14
- package/types/src/sheet/_SheetMessages.d.ts +1 -1
- package/types/src/sheet/_SheetMutations.d.ts +11 -9
- package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
- package/types/src/sheet/_SheetStateReader.d.ts +18 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +80 -9
- package/types/src/sheet/_SheetUtils.d.ts +20 -19
- package/types/src/sheet/_WatchAnchor.d.ts +15 -2
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
- package/types/src/sheet/index.d.ts +5 -2
- package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
- package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
- package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
- package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
- package/types/src/sheet/style/_Resolvers.d.ts +3 -2
- package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
- package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
- package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
- package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
- package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
- package/types/src/sheetProtection/index.d.ts +1 -1
- package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
- package/types/src/sheetView/WorksheetView.d.ts +139 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
- package/types/src/sheetView/index.d.ts +1 -1
- package/types/src/slicer/ISlicer.d.ts +2 -2
- package/types/src/sort/ISort.d.ts +35 -5
- package/types/src/style/ICellStyle.d.ts +56 -44
- package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
- package/types/src/table/AnchoredTable.d.ts +23 -7
- package/types/src/table/AutoTable.d.ts +1 -1
- package/types/src/table/ITable.d.ts +32 -19
- package/types/src/table/_NamedTable.d.ts +3 -3
- package/types/src/table/_NamedTableSource.d.ts +2 -2
- package/types/src/text/IText.d.ts +4 -51
- package/types/src/text/TextEngine.d.ts +34 -0
- package/types/src/text/TextFrame.d.ts +4 -2
- package/types/src/text/TextRun.d.ts +3 -2
- package/types/src/text/TextWrapper.d.ts +32 -26
- package/types/src/text/_TextUtils.d.ts +5 -5
- package/types/src/text/_TextWrapperFallback.d.ts +49 -0
- package/types/src/text/impl/TabStrategy.d.ts +3 -1
- package/types/src/text/richtext/IRichText.d.ts +16 -2
- package/types/src/text/richtext/index.d.ts +0 -1
- package/types/src/theme/ITheme.d.ts +108 -7
- package/types/src/theme/ThemeCollection.d.ts +5 -0
- package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
- package/types/src/transaction/ITransaction.d.ts +20 -1
- package/types/src/transaction/Transaction.d.ts +8 -1
- package/types/src/transaction/_BatchHandle.d.ts +118 -0
- package/types/src/type/AbstractCollection.d.ts +4 -13
- package/types/src/type/ICollection.d.ts +17 -4
- package/types/src/type/IProperties.d.ts +1 -1
- package/types/src/utils/_CSSUtils.d.ts +1 -1
- package/types/src/wasm/_fontsWasm.d.ts +7 -0
- package/types/src/wasm/_sdkWasm.d.ts +1 -1
- package/types/src/wasm/fontsWasm.d.ts +32 -0
- package/types/src/wasm/index.d.ts +1 -0
- package/types/src/wasm/loader.browser.d.ts +9 -0
- package/types/src/wasm/loader.node.d.ts +9 -0
- package/types/src/wasm/sdkWasm.d.ts +6 -3
- package/types/src/workbook/IWorkbook.d.ts +269 -39
- package/types/src/workbook/Workbook.d.ts +102 -25
- package/types/src/workbook/WorkbookRange.d.ts +2 -2
- package/types/src/workbook/WorkbookRanges.d.ts +3 -3
- package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
- package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
- package/types/src/workbookView/IWorkbookView.d.ts +82 -0
- package/types/src/workbookView/WorkbookView.d.ts +21 -0
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
- package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
- package/node/esm/CImNvdz1iP-lUlro.mjs +0 -610
- package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
- package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
- package/types/src/chart/_ChartXml.d.ts +0 -70
- package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
- package/types/src/collections/_RangeSweep.d.ts +0 -97
- package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
- package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
- package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
- package/types/src/print/IPrint.d.ts +0 -212
- package/types/src/sheet/SheetCollection.d.ts +0 -29
- package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
- package/types/src/sheetView/SheetView.d.ts +0 -122
- package/types/src/text/richtext/IStyledFont.d.ts +0 -330
|
@@ -20,7 +20,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
20
20
|
_values: ISparseGrid<Scalar>;
|
|
21
21
|
_spillSpatial: ISpatialMap<SpillEntry>;
|
|
22
22
|
_errorSpatial: ISpatialMap<string>;
|
|
23
|
-
|
|
23
|
+
_calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
24
24
|
_circularSpatial: ISpatialMap<CircularEntry>;
|
|
25
25
|
_contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
26
26
|
_notifyValues: ISpatialMap;
|
|
@@ -29,7 +29,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
29
29
|
_notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
|
|
30
30
|
_notifySpillsRemove: IRange.Coords[];
|
|
31
31
|
_notifyFormats: ISpatialMap;
|
|
32
|
-
|
|
32
|
+
_notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
|
|
33
33
|
_notifyCircular: ISpatialMap<CircularEntry | false>;
|
|
34
34
|
/**
|
|
35
35
|
* Regions of this grid whose formula blocks were minted, re-imaged or removed since the last
|
|
@@ -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;
|
|
@@ -73,7 +77,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
73
77
|
protected _snapshots: Map<string, CalcGridSnapshot> | null;
|
|
74
78
|
/**
|
|
75
79
|
* The owner's callback for a record the engine pushed - a pass's results, a seed's. The one
|
|
76
|
-
* place the response half of the boundary is crossed on the way out (
|
|
80
|
+
* place the response half of the boundary is crossed on the way out (DESIGN-CALC-SERVICE §11); every site
|
|
77
81
|
* that pushes calls this rather than `_options.onCalculated`.
|
|
78
82
|
*/
|
|
79
83
|
protected _onCalculated: (response: CalcResponse) => void;
|
|
@@ -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
|
*
|
|
@@ -285,29 +307,6 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
285
307
|
* inspected; a name mentioned upstream is that cell's precedent. Engine primitive.
|
|
286
308
|
*/
|
|
287
309
|
getNamedReferencesAt(coords: IRange.Coords): string[];
|
|
288
|
-
/**
|
|
289
|
-
* What a `graph` request asking about this grid's defined name answers: the name's precedents
|
|
290
|
-
* or dependents, cells scoped by grid and names as nodes - ONE answer, as a cell's is.
|
|
291
|
-
*
|
|
292
|
-
* @remarks
|
|
293
|
-
* The PRECEDENTS: the cell half is the ordinary precedent graph - a body is a real formula here,
|
|
294
|
-
* and its references registered precedent ranges like any cell's. The name half is the body's
|
|
295
|
-
* `getNamedIds`: apply-at-eval means a name the body reads has no precedent edge, so the symbol
|
|
296
|
-
* list is the only carrier - one hop for `direct`, the downward closure (cycle-guarded) for the
|
|
297
|
-
* deep form, each member contributing its own grid's cell walk. The deep form does not take the
|
|
298
|
-
* symbol hop from UPSTREAM CELLS (`X = A1*2`, `A1 = SomeName`: `A1` is listed and `SomeName`'s
|
|
299
|
-
* inputs are not) - that hop is `A1`'s, one step of a tree walk.
|
|
300
|
-
*
|
|
301
|
-
* The DEPENDENTS: two graphs meet, and the walk changes vehicles between them. The symbol edge -
|
|
302
|
-
* which formulas mention this name - is not in the precedent spatial at all; it is the nameId
|
|
303
|
-
* list each compiled block carries (`container.getNamedDependents`). The cell edge is the
|
|
304
|
-
* precedent graph, which carries everything downstream of those blocks: `direct` is one hop of
|
|
305
|
-
* the first; the deep form takes it, then hands each landing block to its grid. A block on a
|
|
306
|
-
* grid that is no sheet is another NAME reading this one: a node, and the deep walk passes
|
|
307
|
-
* THROUGH it on the symbol closure (`getNamedDependentNames`), or `Base`'s dependents would stop
|
|
308
|
-
* at `Plus1`. This name is listed only when a true cycle leads back to it.
|
|
309
|
-
*/
|
|
310
|
-
protected _nameGraphNow(kind: 'precedents' | 'dependents', direct: boolean): ICalcGrid.GraphNeighbors;
|
|
311
310
|
/** The blank region of the body this grid holds, as data: see {@link ICalcGrid.Results.blankRegion}. */
|
|
312
311
|
protected _blankRegion(): ICalcGrid.BlankRegion | null;
|
|
313
312
|
/** The compiled block at a cell, or `null`. Engine-side: the model reads the vended view. */
|
|
@@ -316,6 +315,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
316
315
|
getReferencesAt(row: number, column: number): ReferenceCoords[];
|
|
317
316
|
/** What an `evaluate` request answers: the formula at the cell, evaluated now; `null` where there is none. */
|
|
318
317
|
protected _evaluateNow(row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
|
|
318
|
+
protected _evaluateBlockNow(block: IFormulaBlock, row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
|
|
319
319
|
/** What a `setReference` request does: the rewrite, and the write of the formula it makes. */
|
|
320
320
|
protected _setReferenceNow(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): CalcResponse;
|
|
321
321
|
/** What a `setReferenceMode` request does: refused for a reference that is not to cells. */
|
|
@@ -459,6 +459,14 @@ export declare namespace CalcGridBackend {
|
|
|
459
459
|
* conditional-format body. See {@link ICalcGrid.isArrayFirstCell}.
|
|
460
460
|
*/
|
|
461
461
|
arrayFirstCell?: boolean;
|
|
462
|
+
/**
|
|
463
|
+
* `true` when the body's blank region may be evaluated a tile at a time: once the body's
|
|
464
|
+
* answer there depends on the position (`ISODD(ROW())`), only the tiles its owner asks for
|
|
465
|
+
* ({@link CalcGridBackend.getDemanded}) are evaluated, and the rest of the region holds
|
|
466
|
+
* nothing. For an owner that reads a window of the body at a time - a conditional format,
|
|
467
|
+
* which paints what is on screen.
|
|
468
|
+
*/
|
|
469
|
+
paged?: boolean;
|
|
462
470
|
}
|
|
463
471
|
}
|
|
464
472
|
/** A grid's per-grid maps, as one snapshot of the engine's history holds them. */
|
|
@@ -467,7 +475,7 @@ export interface CalcGridMaps {
|
|
|
467
475
|
contentful: ISpatialMap<ContentfulSpatialValue>;
|
|
468
476
|
spills: ISpatialMap<SpillEntry>;
|
|
469
477
|
errors: ISpatialMap<string>;
|
|
470
|
-
|
|
478
|
+
calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
471
479
|
circular: ISpatialMap<CircularEntry>;
|
|
472
480
|
/** The size a `resize` gave, or `null` for the one the grid was made with. */
|
|
473
481
|
entireCoords?: IRange.Coords | null;
|
|
@@ -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} */
|
|
@@ -94,8 +96,6 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
|
|
|
94
96
|
* A question: an engine that holds no grid (`Off`) answers with nothing.
|
|
95
97
|
*/
|
|
96
98
|
getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
97
|
-
/** {@inheritDoc ICalcGrid.Backend.getNameGraph} */
|
|
98
|
-
getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
99
99
|
/**
|
|
100
100
|
* {@inheritDoc ICalcGrid.isVolatileAt}
|
|
101
101
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { Tuple, ISparseGrid, ISpatialMap, ISpatialMap3D } from '../../collections';
|
|
3
3
|
import { CalcNode } from '../state';
|
|
4
|
+
import { ICalcGrid } from './ICalcGrid';
|
|
4
5
|
import { ContentfulSpatialValue, FormulaSpatialValue, SpillEntry, PrecedentSpatialValue, CircularEntry, PrecedentKind } from '../spatial';
|
|
5
6
|
import { ReferenceCoords } from '../Types';
|
|
6
7
|
export declare function anchorCompareValues(a: ISpatialMap.Entry<FormulaSpatialValue>, removing: ISpatialMap.Entry<FormulaSpatialValue>): boolean;
|
|
@@ -43,7 +44,14 @@ export declare function errorValueEntriesOf(grid: ISparseGrid<Scalar>): ISpatial
|
|
|
43
44
|
* region leaves the index and its runs are re-read for errors.
|
|
44
45
|
*/
|
|
45
46
|
export declare function indexWrittenRuns(errorSpatial: ISpatialMap<string>, grid: ISparseGrid<Scalar>, bounds: IRange.Coords): void;
|
|
46
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Removes a cleared region from the error index (a spill's old extent, a deleted range).
|
|
49
|
+
*
|
|
50
|
+
* @remarks
|
|
51
|
+
* Exactly the region: the index joins like errors side by side into one entry, so an entry may
|
|
52
|
+
* run past `coords`, and only its part inside them goes. (`ISpatialMap.delete` drops every entry
|
|
53
|
+
* it touches whole, which would forget the errors beside a one-cell write.)
|
|
54
|
+
*/
|
|
47
55
|
export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coords: IRange.Coords): void;
|
|
48
56
|
/**
|
|
49
57
|
* Updates contentful and invalidates spills.
|
|
@@ -51,9 +59,10 @@ export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coord
|
|
|
51
59
|
* @remarks
|
|
52
60
|
* This code will inline spill errors but spill results are handled in calculations.
|
|
53
61
|
*/
|
|
54
|
-
export declare function applyContentful(cycleId: number, removes: readonly IRange.Coords[] | null | undefined, inserts: ISpatialMap.Entry[] | null | undefined, contentfulSpatial: ISpatialMap<ContentfulSpatialValue>, spillSpatial: ISpatialMap<SpillEntry>, values: ISparseGrid<Scalar>, addDirty?: (colStart: number, rowStart: number, colEnd: number, rowEnd: number) => void, notifyValuesSpatial?: ISpatialMap, notifySpills?: (insert: ISpatialMap.Entry<SpillEntry>, remove: ISpatialMap.Entry<SpillEntry>) => void,
|
|
62
|
+
export declare function applyContentful(cycleId: number, removes: readonly IRange.Coords[] | null | undefined, inserts: ISpatialMap.Entry[] | null | undefined, contentfulSpatial: ISpatialMap<ContentfulSpatialValue>, spillSpatial: ISpatialMap<SpillEntry>, values: ISparseGrid<Scalar>, addDirty?: (colStart: number, rowStart: number, colEnd: number, rowEnd: number) => void, notifyValuesSpatial?: ISpatialMap, notifySpills?: (insert: ISpatialMap.Entry<SpillEntry>, remove: ISpatialMap.Entry<SpillEntry>) => void, notifyCalcStatus?: ISpatialMap<ICalcGrid.CalcStatus | false>, errorSpatial?: ISpatialMap<string>, // notifyErrorSpatial,
|
|
55
63
|
isColumn?: boolean, notifyCalc?: boolean, // should notify. this is to differentiate between user set values and calc set values
|
|
56
|
-
circularSpatial?: ISpatialMap<CircularEntry
|
|
64
|
+
circularSpatial?: ISpatialMap<CircularEntry>, // the circular index: a written cell leaves it, like errorSpatial
|
|
65
|
+
calcStatusSpatial?: ISpatialMap<ICalcGrid.CalcStatus>): IRange.Coords | null;
|
|
57
66
|
/**
|
|
58
67
|
* Creates a map from tuples
|
|
59
68
|
*
|
|
@@ -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 {
|
|
@@ -116,7 +116,7 @@ export interface ICalcGrid {
|
|
|
116
116
|
* @param transaction Read the record as this transaction sees it, its held writes not yet
|
|
117
117
|
* made; the current record when omitted.
|
|
118
118
|
*/
|
|
119
|
-
|
|
119
|
+
getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
|
|
120
120
|
/**
|
|
121
121
|
* Engine FAILURES by cell (a formula that could not be evaluated), as a message. Not error
|
|
122
122
|
* VALUES - those are {@link getErrorValues}.
|
|
@@ -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,7 +410,7 @@ 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' | '
|
|
413
|
+
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getCalcStatus' | '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. */
|
|
@@ -407,11 +418,10 @@ export declare namespace ICalcGrid {
|
|
|
407
418
|
/** Owe a pass seeded from this grid, run once the current flush is over. */
|
|
408
419
|
requestPass(): void;
|
|
409
420
|
/**
|
|
410
|
-
* The
|
|
411
|
-
*
|
|
412
|
-
* answers for cells.
|
|
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.
|
|
413
423
|
*/
|
|
414
|
-
|
|
424
|
+
demand(rects: readonly IRange.Coords[]): void;
|
|
415
425
|
};
|
|
416
426
|
/**
|
|
417
427
|
* A body written as it was authored, for a grid that holds one (a name's, a watch's): the engine
|
|
@@ -540,7 +550,7 @@ export declare namespace ICalcGrid {
|
|
|
540
550
|
* @remarks
|
|
541
551
|
* These are guaranteed to not overlap.
|
|
542
552
|
*/
|
|
543
|
-
|
|
553
|
+
calcStatusUpdates?: ISpatialMap.Entry<ICalcGrid.CalcStatus | false>[];
|
|
544
554
|
/**
|
|
545
555
|
* Cells that entered or left a reference cycle (or the set downstream of one). A `null`
|
|
546
556
|
* value is a removal.
|
|
@@ -575,15 +585,34 @@ export declare namespace ICalcGrid {
|
|
|
575
585
|
/**
|
|
576
586
|
* The cells of a body that a pass shares one answer for rather than writing, and that answer:
|
|
577
587
|
* what every such cell reads as.
|
|
588
|
+
*
|
|
589
|
+
* @remarks
|
|
590
|
+
* A PAGED region shares nothing: the body's answer there depends on the position, and only the
|
|
591
|
+
* tiles its owner asked for are evaluated ({@link evaluated}). Every other cell of
|
|
592
|
+
* {@link rects} holds nothing and has no answer yet.
|
|
578
593
|
*/
|
|
579
594
|
interface BlankRegion {
|
|
580
|
-
/** The shared answer. */
|
|
595
|
+
/** The shared answer; `undefined` for a paged region. */
|
|
581
596
|
readonly value: Scalar | undefined;
|
|
582
597
|
/** The rectangles it covers, in the grid's coordinates. */
|
|
583
598
|
readonly rects: readonly IRange.Coords[];
|
|
584
599
|
/** The body's extent: a read wider than it shares nothing. */
|
|
585
600
|
readonly extent: IRange.Coords;
|
|
601
|
+
/** The region is evaluated a tile at a time rather than shared. */
|
|
602
|
+
readonly paged?: boolean;
|
|
603
|
+
/** For a paged region, the tiles this pass evaluated. */
|
|
604
|
+
readonly evaluated?: readonly IRange.Coords[];
|
|
586
605
|
}
|
|
606
|
+
/**
|
|
607
|
+
* Why a cell is in the calc-status index: its own function asked for a result that has not
|
|
608
|
+
* arrived (`Working`), or it was calculated from such a value and is calculated again when it
|
|
609
|
+
* arrives (`Waiting`). A removal travels as `false` in a delta.
|
|
610
|
+
*/
|
|
611
|
+
const CalcStatus: {
|
|
612
|
+
readonly Working: 1;
|
|
613
|
+
readonly Waiting: 2;
|
|
614
|
+
};
|
|
615
|
+
type CalcStatus = typeof CalcStatus[keyof typeof CalcStatus];
|
|
587
616
|
/**
|
|
588
617
|
* Returns from `ICalcGrid.beginUpdates()`.
|
|
589
618
|
*
|
|
@@ -595,7 +624,7 @@ export declare namespace ICalcGrid {
|
|
|
595
624
|
values: ISparseGrid<Scalar>;
|
|
596
625
|
spillSpatial: ISpatialMap<SpillEntry>;
|
|
597
626
|
errorSpatial: ISpatialMap<string>;
|
|
598
|
-
|
|
627
|
+
calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
599
628
|
circularSpatial: ISpatialMap<CircularEntry>;
|
|
600
629
|
contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
601
630
|
notifyValues: ISpatialMap;
|
|
@@ -614,9 +643,9 @@ export declare namespace ICalcGrid {
|
|
|
614
643
|
notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
|
|
615
644
|
notifySpillsRemove: IRange.Coords[];
|
|
616
645
|
notifyFormats: ISpatialMap;
|
|
617
|
-
|
|
646
|
+
notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
|
|
618
647
|
notifyCircular: ISpatialMap<CircularEntry | false>;
|
|
619
|
-
|
|
648
|
+
calcStatusConflating: ISpatialMap.IConflatingEntries<ICalcGrid.CalcStatus | false> | null;
|
|
620
649
|
circularConflating: ISpatialMap.IConflatingEntries<CircularEntry | false> | null;
|
|
621
650
|
errorRemovesConflating: ISpatialMap.IConflatingEntries<null> | null;
|
|
622
651
|
errorInsertsConflating: ISpatialMap.IConflatingEntries<string> | null;
|
|
@@ -665,10 +694,14 @@ export declare namespace ICalcGrid {
|
|
|
665
694
|
*/
|
|
666
695
|
range: IRange.Coords | string;
|
|
667
696
|
}
|
|
668
|
-
interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, ICalcGrid.Results
|
|
697
|
+
interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, Promise<ICalcGrid.Results>> {
|
|
669
698
|
/**
|
|
670
699
|
* Copies the snapshot's formulas to the destination grid.
|
|
671
700
|
*
|
|
701
|
+
* @remarks
|
|
702
|
+
* The engine answers when it has the blocks; the destination holds the formulas pending in
|
|
703
|
+
* the meantime, so a paste starts this and does not wait for it.
|
|
704
|
+
*
|
|
672
705
|
* @returns Resolves with the blocks minted at the destination (re-anchored, `#REF!` where a
|
|
673
706
|
* relative reference left the sheet) and, for a cut, the coords vacated at the source. The
|
|
674
707
|
* copied extent is the result's `bounds`.
|
|
@@ -828,7 +861,7 @@ export declare namespace ICalcGrid {
|
|
|
828
861
|
* {@link ITypes.FormulaArrayKind | kinds} of array formula it is.
|
|
829
862
|
*
|
|
830
863
|
* @remarks
|
|
831
|
-
* See {@link
|
|
864
|
+
* See {@link IWorksheet.JSON.formulaArray} for what does and does not earn an entry.
|
|
832
865
|
*/
|
|
833
866
|
formulaArray?: IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[];
|
|
834
867
|
/**
|
|
@@ -13,7 +13,7 @@ import { ICalcGrid } from './ICalcGrid';
|
|
|
13
13
|
* @remarks
|
|
14
14
|
* Not part of {@link ICalcGrid}: a caller sees the verbs and their promises. This is what the
|
|
15
15
|
* in-process channel holds in place of a worker port's queue, and what the clone boundary audits
|
|
16
|
-
* (
|
|
16
|
+
* (DESIGN-CALC-SERVICE §11): a held call carries what the verb's arguments carry, which is what a proxy
|
|
17
17
|
* would post.
|
|
18
18
|
*
|
|
19
19
|
* @internal Deliberately not exported from the barrel.
|
|
@@ -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`.
|
|
@@ -158,15 +166,13 @@ export type CalcRequest =
|
|
|
158
166
|
}
|
|
159
167
|
/**
|
|
160
168
|
* The graph around cells of this grid, answered in the response (`ICalcGrid.GraphNeighbors`,
|
|
161
|
-
* cells in calc currency). A question.
|
|
162
|
-
* of instead: its own precedents or dependents, cells and names.
|
|
169
|
+
* cells in calc currency). A question.
|
|
163
170
|
*/
|
|
164
171
|
| {
|
|
165
172
|
type: 'graph';
|
|
166
173
|
kind: 'precedents' | 'dependents';
|
|
167
174
|
direct: boolean;
|
|
168
|
-
coords
|
|
169
|
-
asName?: boolean;
|
|
175
|
+
coords: IRange.Coords;
|
|
170
176
|
}
|
|
171
177
|
/** Whether the formula at a cell is volatile, answered in the response. A question. */
|
|
172
178
|
| {
|
|
@@ -188,7 +194,7 @@ export type CalcRequest =
|
|
|
188
194
|
*/
|
|
189
195
|
| {
|
|
190
196
|
type: 'sheets';
|
|
191
|
-
sheets: readonly (readonly [id: string, name: string | null])[];
|
|
197
|
+
sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[];
|
|
192
198
|
options?: ICalcGrid.RequestOptions;
|
|
193
199
|
}
|
|
194
200
|
/**
|
|
@@ -207,6 +213,18 @@ export type CalcRequest =
|
|
|
207
213
|
changes: readonly (readonly [id: string, name: NameSymbols | null])[];
|
|
208
214
|
options?: ICalcGrid.RequestOptions;
|
|
209
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* The graph around a defined name - its precedents or dependents, cells in calc currency and
|
|
218
|
+
* names - answered in the response (`ICalcGrid.GraphNeighbors`). A question of the service, not
|
|
219
|
+
* of the name's grid: its readers are found by its id, so a name that has not compiled is asked
|
|
220
|
+
* without making it a grid.
|
|
221
|
+
*/
|
|
222
|
+
| {
|
|
223
|
+
type: 'nameGraph';
|
|
224
|
+
nameId: string;
|
|
225
|
+
kind: 'precedents' | 'dependents';
|
|
226
|
+
direct: boolean;
|
|
227
|
+
}
|
|
210
228
|
/**
|
|
211
229
|
* A nested savepoint of the model rolled back inside an operation that goes on: what the requests
|
|
212
230
|
* made under it did goes with it. After them in the channel, so it undoes exactly those.
|
|
@@ -236,6 +254,8 @@ export interface CalcGridSpec {
|
|
|
236
254
|
unanchored?: boolean;
|
|
237
255
|
/** See `CalcGridBackend.ConstructorOptions.arrayFirstCell`. */
|
|
238
256
|
arrayFirstCell?: boolean;
|
|
257
|
+
/** See `CalcGridBackend.ConstructorOptions.paged`. */
|
|
258
|
+
paged?: boolean;
|
|
239
259
|
/** The grid's size, fixed: a name's. A sheet's is its seed's. */
|
|
240
260
|
entireCoords?: IRange.Coords;
|
|
241
261
|
/** The grid whose size this one has, whatever it is then: a body on a sheet. */
|
|
@@ -277,6 +297,8 @@ export type GridRequest = Exclude<CalcRequest, {
|
|
|
277
297
|
type: 'tables';
|
|
278
298
|
} | {
|
|
279
299
|
type: 'names';
|
|
300
|
+
} | {
|
|
301
|
+
type: 'nameGraph';
|
|
280
302
|
} | {
|
|
281
303
|
type: 'rollback';
|
|
282
304
|
} | {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Scalar } from '@sheetxl/primitives';
|
|
2
|
+
import { IListLike, IReadableList } from '../../collections';
|
|
3
|
+
/**
|
|
4
|
+
* The run a result is stored as in a grid of CELL values: the engine's value grid, and the range
|
|
5
|
+
* an `evaluate()` call answers with.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* A cell holds a scalar: a number, text, a boolean, a blank, an error or rich data. Anything else
|
|
9
|
+
* an evaluation can produce, such as a function value (`=HSTACK(SUM,A1:A2)`, a `LAMBDA` left
|
|
10
|
+
* unconsumed), is calculation-private, and the cell's verdict on it is `#CALC!`, the one a
|
|
11
|
+
* top-level result gets (`FormulaBlock.finalizeValue`). Applying it where the run is MADE means
|
|
12
|
+
* every reader of the grid (the sheet, a spill, a saved file, the renderer) sees `#CALC!` without
|
|
13
|
+
* knowing what it stood for, and nothing private leaves the engine.
|
|
14
|
+
*
|
|
15
|
+
* A typed run never holds an object and is wrapped as it is; a repeating run is looked at once per
|
|
16
|
+
* period; a run made of other runs (a referenced column: its cells, then a blank stretch to the
|
|
17
|
+
* sheet's end) is looked at per leaf by the same rules; any other run is classified once, which is
|
|
18
|
+
* what storing it typed costs anyway.
|
|
19
|
+
*/
|
|
20
|
+
export declare const createCellValueRun: (values: IListLike<Scalar> | Scalar[]) => IReadableList<Scalar>;
|
|
21
|
+
//# sourceMappingURL=_CellValueRun.d.ts.map
|
|
@@ -89,6 +89,11 @@ export declare class FormulaSpatialValue implements IFormulaBlock, ISpatialMap.I
|
|
|
89
89
|
* Deliberately NOT "is a named body". Anything holding a formula at a synthetic anchor wants the
|
|
90
90
|
* same treatment, and the shift code should not have to know what a name is.
|
|
91
91
|
*
|
|
92
|
+
* A calculation pass never evaluates such a block: its anchor is no cell, so there is nothing
|
|
93
|
+
* to write an answer to, and whatever reads the body runs it inline at its own position. It is
|
|
94
|
+
* evaluated on demand only (`ICalcGrid.evaluateAt`), and `isVolatileAt` answers for it from the
|
|
95
|
+
* formula text alone, there being nothing a pass registered (`CalcGridBackend._isVolatileNow`).
|
|
96
|
+
*
|
|
92
97
|
* Required at construction rather than defaulted: the block is immutable and re-minted on every
|
|
93
98
|
* reference rewrite, so an unthreaded copy would silently revert to `false` on the first
|
|
94
99
|
* `setReferenceAt` — which is exactly what a shift performs.
|
|
@@ -175,11 +180,20 @@ export declare class FormulaSpatialValue implements IFormulaBlock, ISpatialMap.I
|
|
|
175
180
|
setBlankShared(blank: readonly IRange.Coords[] | null): void;
|
|
176
181
|
/**
|
|
177
182
|
* The pass refused to share the representative's answer for a reason the text hides — a
|
|
178
|
-
* position read, a draw, a computed reference
|
|
183
|
+
* position read the formula's variants cannot rule out, a draw, a computed reference
|
|
184
|
+
* (`CalcScope.perCellRead`, `CalcScope.positionRead`). Those are facts of the
|
|
179
185
|
* formula, so the block keeps per-cell evaluation for good rather than paying one wasted
|
|
180
186
|
* representative evaluation and a second plan iteration every pass.
|
|
181
187
|
*/
|
|
182
188
|
blankRefused: boolean;
|
|
189
|
+
/**
|
|
190
|
+
* The representative's answer depends on the position and the block's grid is paged
|
|
191
|
+
* (`CalcGridBackend.ConstructorOptions.paged`): the blank region is not shared but evaluated
|
|
192
|
+
* inside the tiles the grid's owner asks for ({@link getDemandedBlank}), and holds nothing
|
|
193
|
+
* elsewhere. A fact of the formula like {@link blankRefused}, so it is kept; the block stays
|
|
194
|
+
* sparse and has no representative.
|
|
195
|
+
*/
|
|
196
|
+
blankPaged: boolean;
|
|
183
197
|
/**
|
|
184
198
|
* The cycle whose representative could not stand for the region for a reason that may not
|
|
185
199
|
* recur — a range result, a cycle role, a promise: the block is evaluated per cell for the rest
|
|
@@ -292,6 +306,11 @@ export declare class FormulaSpatialValue implements IFormulaBlock, ISpatialMap.I
|
|
|
292
306
|
* ahead of this — so the region only ever answers for cells nothing was written to.
|
|
293
307
|
*/
|
|
294
308
|
getBlankRegion(): FormulaSpatialValue.BlankRegion | null;
|
|
309
|
+
/**
|
|
310
|
+
* The cells of the last collection's blank region inside the tiles the grid's owner reads now
|
|
311
|
+
* (`CalcGridBackend.getDemanded`): what a paged block evaluates beyond its touched cells.
|
|
312
|
+
*/
|
|
313
|
+
getDemandedBlank(): IRange.Coords[];
|
|
295
314
|
/**
|
|
296
315
|
* What a cell of `coords` that the grid does not store reads as: the blank region's shared
|
|
297
316
|
* value when a region is shared and `coords` lie inside the block, `null` otherwise.
|
|
@@ -409,10 +428,16 @@ export declare class FormulaSpatialValue implements IFormulaBlock, ISpatialMap.I
|
|
|
409
428
|
getReferencedSymbolIds(): string[];
|
|
410
429
|
/** {@inheritDoc IFormulaBlock.hasTotals} */
|
|
411
430
|
hasTotals(): boolean;
|
|
431
|
+
/** {@inheritDoc IFormulaBlock.hasDataTable} */
|
|
432
|
+
hasDataTable(): boolean;
|
|
433
|
+
/** {@inheritDoc IFormulaBlock.hasVolatile} */
|
|
434
|
+
hasVolatile(): boolean;
|
|
412
435
|
/** {@inheritDoc IFormulaBlock.isBlankCacheable} */
|
|
413
436
|
isBlankCacheable(arrayMode?: boolean): boolean;
|
|
414
437
|
/** {@inheritDoc IFormulaBlock.demandFirstCell} */
|
|
415
438
|
demandFirstCell(): void;
|
|
439
|
+
/** {@inheritDoc IFormulaBlock.getPositionVariants} */
|
|
440
|
+
getPositionVariants(): IFormulaBlock[] | null;
|
|
416
441
|
/** @inheritdoc IFormulaBlock.isReferenceOnly */
|
|
417
442
|
isReferenceOnly(): boolean;
|
|
418
443
|
/** {@inheritDoc IFormulaBlock.isEquals} */
|
|
@@ -439,10 +464,12 @@ export declare namespace FormulaSpatialValue {
|
|
|
439
464
|
}
|
|
440
465
|
/** See {@link FormulaSpatialValue.getBlankRegion}. */
|
|
441
466
|
interface BlankRegion {
|
|
442
|
-
/** The representative's finalized scalar. */
|
|
467
|
+
/** The representative's finalized scalar; `undefined` for a paged region. */
|
|
443
468
|
readonly value: Scalar | undefined;
|
|
444
469
|
/** The blank rectangles, in the block's own grid coordinates. */
|
|
445
470
|
readonly rects: readonly IRange.Coords[];
|
|
471
|
+
/** See {@link FormulaSpatialValue.blankPaged}. */
|
|
472
|
+
readonly paged?: boolean;
|
|
446
473
|
}
|
|
447
474
|
}
|
|
448
475
|
//# sourceMappingURL=FormulaSpatialValue.d.ts.map
|