@sheetxl/sdk 0.8.0-beta.11 → 0.8.0-beta.13
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/THIRD-PARTY-NOTICES.md +172 -0
- package/browser/esm/{BMyDRQ716j79h_bH.mjs → -GEhXGMfNcWmHPby.mjs} +6 -6
- package/browser/esm/{B7aUIvgUjncMMD_i.mjs → 9WXf_BTKjW1cQisZ.mjs} +95 -94
- package/browser/esm/{PcHFjNzQsE54POri.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
- package/browser/esm/{DEiPS3Dr-s4fPbVZ.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
- package/browser/esm/{BpgskG1Er_lGQ_yS.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
- package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
- package/browser/esm/{BkBhLS0l6z8sxI6D.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
- package/browser/esm/{CU3DmJ-YnVVrC1_k.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
- package/browser/esm/{Dyq_ivuHvlXLwPCl.mjs → BVshV1iY3bcUH9_E.mjs} +1135 -1129
- package/browser/esm/{BFagR2JeWs74iAG3.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
- package/browser/esm/{DvAaxH6z_tGvrRzl.mjs → Bax5aOzQkbHKXW_X.mjs} +239 -230
- package/browser/esm/{DLLE0FZNsKxbBzRn.mjs → BiDGKhtzV6yIy66o.mjs} +45 -45
- package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
- package/browser/esm/{ClPfI4lODvCece29.mjs → BoAlHgjPQ6mxb_oO.mjs} +74 -74
- package/browser/esm/{BoV6zPBnfqCBCqZ7.mjs → C0mjTq8lhrX3HiPa.mjs} +4328 -3166
- package/browser/esm/{nvU0ClAbf0g94YBK.mjs → C5j0IdwtYkWlOftv.mjs} +604 -596
- package/browser/esm/{DWNzqw7DUKwoxjri.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
- package/browser/esm/{Ctjb0SsxV4K4MMqG.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
- package/{node/esm/CZICGK_ss0HoGHCP.mjs → browser/esm/CPzfhTPX2Y4dHX2p.mjs} +2 -2
- package/browser/esm/{Dlmig06rIo7cInRk.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
- package/browser/esm/{BjkCiv5Jz6WYKZeu.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
- package/browser/esm/Ced5uyofOWHuL_Jy.mjs +114 -0
- package/browser/esm/{CkxWugaJFjDGZNZ-.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
- package/browser/esm/{zlLuW405RSguy4Kn.mjs → CwygVKP_RXmne5Ot.mjs} +47 -47
- package/browser/esm/{C4MqfLn9Dm-l3OIk.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
- package/browser/esm/{BnG31I6Oj_HEtSPS.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
- package/browser/esm/{BVDiOXGMc5_FMGfy.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
- package/browser/esm/DW-MmlgMH87l-_cw.mjs +302 -0
- package/browser/esm/{CaB7J-xgfKO2uAkG.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
- package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
- package/browser/esm/{CHU6iu_WGlm7fLET.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
- package/browser/esm/{C2VbEI_XVAoseAwa.mjs → DkloMquaR1pbZCER.mjs} +44 -43
- package/browser/esm/{C16ycKja6zG0crV_.mjs → Dz86-De57bv2VYIi.mjs} +19447 -16481
- package/browser/esm/{BtvLTTfSBdAKplVG.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
- package/browser/esm/{CQYjO777cmAznUzK.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
- package/browser/esm/index.mjs +823 -644
- package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
- package/browser/esm/pm00uZZu_H3gxHFx.mjs +117 -0
- package/browser/esm/{CV5EGEjG5_-CPpP0.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
- package/browser/esm/{ClbvFbFzFzXLBKNN.mjs → zZngLMg6mg6nnNGX.mjs} +66 -66
- package/licenses/dependencies.txt +71 -1
- package/node/esm/{BqiexuA89caYnAPz.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
- package/node/esm/-b8yNV4v9qiq8EMY.mjs +117 -0
- package/node/esm/{D8zEN-6ZdDqDvTxM.mjs → 1V-m67YHbxmg3xk2.mjs} +74 -74
- package/node/esm/{D_t5AUxSm7_icjzq.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
- package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
- package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
- package/node/esm/{OVfaSb506tNSIvbv.mjs → BQ2XqExomMceAjfe.mjs} +20822 -18373
- package/node/esm/{2Kihw_-5lVTEnwMa.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
- package/node/esm/{D1TKBVmoKGAXf37B.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
- package/node/esm/{D6e2z7eZpxOJXHc7.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
- package/node/esm/{CNCNJNg890KdgkWh.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
- package/node/esm/{De2IONBxQhz-Qbyh.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
- package/node/esm/{CzXT00vrQa1_gvW9.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
- package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
- package/node/esm/{DUTskXCXref-IJnI.mjs → CWBS90g3Hz-kQDkY.mjs} +46 -46
- package/node/esm/{BIwObuhTJYf0jpUa.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
- package/node/esm/{CwePQwTILHHjGDkZ.mjs → CzrLqStvrcPE2-hb.mjs} +194 -185
- package/node/esm/{CCN5vD410obwdz38.mjs → D16EdlZG1hX5WUUK.mjs} +96 -95
- package/node/esm/{CDHdgJXH2vS71WMc.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
- package/node/esm/{cGwrLA1RCE-WhJ7w.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
- package/node/esm/{Bbf1Pm9Gk7YpLTvg.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
- package/node/esm/{yavzZOiZW_EjG9lE.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
- package/node/esm/{DkwIPzKc3UwdUIfM.mjs → DF0nL7s01dp7n0Bx.mjs} +10 -10
- package/node/esm/{DNRhGK-8Tr9xcRyc.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
- package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
- package/node/esm/{BIRq1kT7lLRzns9t.mjs → DR2OQTKqqyIkZnse.mjs} +2 -2
- package/node/esm/{857CIBgQgGpnqrXk.mjs → DSTLPBgpsGW6qP9e.mjs} +73 -73
- package/node/esm/{CGp6VZL-gZa9Uezx.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
- package/node/esm/{CZiqiay42tFTrLI4.mjs → DwvXHsycOQR219c7.mjs} +1 -1
- package/node/esm/{B21JjOLghRoDOrkx.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
- package/node/esm/{Ct3h15sCus4Tgt6M.mjs → NkPNHsq2T3DXg76x.mjs} +561 -553
- package/node/esm/{B084DssTcdBheTp_.mjs → Nl_IIkO1jbk0s9i-.mjs} +4552 -3373
- package/node/esm/{D2KBymQJd1XhpeQD.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
- package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
- package/node/esm/{CdJHUJSBRHZoryPe.mjs → Z1elC_roIu7LhceZ.mjs} +53 -53
- package/{browser/esm/D5np__Jb1euAyaLw.mjs → node/esm/e3F3OVXCxLJrSukW.mjs} +2 -2
- package/node/esm/index.mjs +806 -625
- package/node/esm/{mFiBSM7XgBHV9AY7.mjs → suOBVUz-pca6ilJH.mjs} +1607 -1601
- package/package.json +8 -6
- package/resources/contents.json +108 -0
- package/resources/fonts/aptos-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-bold.hinted.json +125 -0
- package/resources/fonts/aptos-bold.metrics.json +221 -0
- package/resources/fonts/aptos-bold.rows.json +8 -0
- package/resources/fonts/aptos-display-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-display-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-display-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-display-bold.hinted.json +125 -0
- package/resources/fonts/aptos-display-bold.metrics.json +221 -0
- package/resources/fonts/aptos-display-bold.rows.json +8 -0
- package/resources/fonts/aptos-display-italic.hinted.json +124 -0
- package/resources/fonts/aptos-display-italic.metrics.json +221 -0
- package/resources/fonts/aptos-display-italic.rows.json +8 -0
- package/resources/fonts/aptos-display-regular.hinted.json +125 -0
- package/resources/fonts/aptos-display-regular.metrics.json +221 -0
- package/resources/fonts/aptos-display-regular.rows.json +8 -0
- package/resources/fonts/aptos-italic.hinted.json +125 -0
- package/resources/fonts/aptos-italic.metrics.json +221 -0
- package/resources/fonts/aptos-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-bold.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-bold.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-bold.rows.json +8 -0
- package/resources/fonts/aptos-narrow-italic.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-italic.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-regular.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-regular.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-regular.rows.json +8 -0
- package/resources/fonts/aptos-regular.hinted.json +125 -0
- package/resources/fonts/aptos-regular.metrics.json +221 -0
- package/resources/fonts/aptos-regular.rows.json +8 -0
- package/resources/fonts/arial-bold-italic.rows.json +0 -1
- package/resources/fonts/arial-bold.rows.json +0 -1
- package/resources/fonts/arial-italic.rows.json +0 -1
- package/resources/fonts/arial-regular.rows.json +0 -1
- package/resources/fonts/calibri-bold-italic.rows.json +0 -1
- package/resources/fonts/calibri-bold.rows.json +0 -1
- package/resources/fonts/calibri-italic.rows.json +0 -1
- package/resources/fonts/calibri-regular.rows.json +0 -1
- package/resources/fonts/cambria-bold-italic.rows.json +0 -1
- package/resources/fonts/cambria-bold.rows.json +0 -1
- package/resources/fonts/cambria-italic.rows.json +0 -1
- package/resources/fonts/cambria-regular.rows.json +0 -1
- package/resources/fonts/contents.json +240 -0
- package/resources/fonts/courier-new-bold-italic.rows.json +0 -1
- package/resources/fonts/courier-new-bold.rows.json +0 -1
- package/resources/fonts/courier-new-italic.rows.json +0 -1
- package/resources/fonts/courier-new-regular.rows.json +0 -1
- package/resources/fonts/times-new-roman-bold-italic.rows.json +0 -1
- package/resources/fonts/times-new-roman-bold.rows.json +0 -1
- package/resources/fonts/times-new-roman-italic.rows.json +0 -1
- package/resources/fonts/times-new-roman-regular.rows.json +0 -1
- package/resources/locales/de/model.msg.json +12 -2
- package/resources/locales/en/model.msg.json +13 -2
- package/types/scripting-api.json +10638 -10446
- package/types/scripting-enums.json +20 -1
- package/types/scripting.d.ts +1536 -477
- package/types/src/.generated/wasm/sdk.d.ts +5 -27
- package/types/src/address/AddressUtils.d.ts +8 -0
- package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
- package/types/src/{sheet → anomalies}/_Anomalies.d.ts +3 -3
- package/types/src/anomalies/_FocusTable.d.ts +5 -0
- package/types/src/{sheet/_AnomalyFormulaChecks.d.ts → anomalies/_FormulaChecks.d.ts} +10 -2
- package/types/src/{sheet/_AnomalyLabelChecks.d.ts → anomalies/_LabelChecks.d.ts} +1 -1
- package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
- package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
- package/types/src/calculation/Calculation.d.ts +61 -98
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -29
- package/types/src/calculation/ICalculation.d.ts +96 -9
- package/types/src/calculation/NamedFormulaCollection.d.ts +110 -10
- package/types/src/calculation/TokenType.d.ts +0 -10
- package/types/src/calculation/_CloneBoundary.d.ts +0 -24
- package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -15
- package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
- package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
- package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
- package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
- package/types/src/calculation/compiler/Types.d.ts +1 -45
- package/types/src/calculation/engine/CalcBackend.d.ts +83 -127
- package/types/src/calculation/engine/index.d.ts +0 -8
- package/types/src/calculation/executor/CalcExecutor.d.ts +50 -116
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +47 -12
- package/types/src/calculation/executor/CircularReference.d.ts +0 -17
- package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
- package/types/src/calculation/executor/_WhatIf.d.ts +31 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +4 -31
- package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
- package/types/src/calculation/formula/IFormulaBlock.d.ts +5 -12
- package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
- package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/grid/CalcGrid.d.ts +8 -64
- package/types/src/calculation/grid/CalcGridBackend.d.ts +12 -35
- package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -15
- package/types/src/calculation/grid/CalcGridUtils.d.ts +21 -23
- package/types/src/calculation/grid/ICalcGrid.d.ts +28 -109
- package/types/src/calculation/grid/_CalcRequest.d.ts +17 -33
- package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +54 -82
- package/types/src/calculation/spatial/SpillEntry.d.ts +20 -3
- package/types/src/calculation/state/CalcNode.d.ts +0 -1
- package/types/src/calculation/state/CalcScope.d.ts +29 -9
- package/types/src/calculation/state/CalcState.d.ts +19 -9
- package/types/src/calculation/state/CalculationContext.d.ts +32 -38
- package/types/src/calculation/state/DeferredCalls.d.ts +207 -0
- package/types/src/calculation/state/IContextContainer.d.ts +19 -55
- package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +52 -33
- package/types/src/calculation/state/_WhatIfLayer.d.ts +77 -0
- package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
- package/types/src/calculation/toolkit/index.d.ts +0 -8
- package/types/src/cell/ICell.d.ts +59 -54
- 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/ICellRange.d.ts +226 -67
- package/types/src/cellRange/ICellRanges.d.ts +4 -3
- package/types/src/chart/Chart.d.ts +0 -16
- package/types/src/chart/_ChartParts.d.ts +0 -39
- package/types/src/chart/_ChartSource.d.ts +0 -14
- package/types/src/chart/createChart.d.ts +1 -1
- package/types/src/chart/kinds/ChartKind.d.ts +4 -4
- package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
- package/types/src/chart/layout/ChartLayout.d.ts +5 -1
- package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
- package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
- package/types/src/chart/math/BoxStats.d.ts +0 -8
- package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
- package/types/src/chart/math/Histogram.d.ts +0 -17
- package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
- package/types/src/chart/math/Treemap.d.ts +0 -15
- package/types/src/chart/math/Trendlines.d.ts +0 -8
- package/types/src/chart/math/UnitCalcs.d.ts +0 -22
- package/types/src/chart/model/_Edits.d.ts +0 -33
- package/types/src/chart/model/_Grouping.d.ts +0 -25
- package/types/src/chart/model/_Inference.d.ts +0 -18
- package/types/src/chart/model/_NewChart.d.ts +0 -41
- package/types/src/chart/model/_OfPie.d.ts +0 -7
- package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
- package/types/src/chart/resolve/_Resolve.d.ts +3 -12
- package/types/src/chart/resolve/_ResolvedChart.d.ts +5 -8
- package/types/src/collections/ISparseGrid.d.ts +11 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
- package/types/src/collections/SparseGrid.d.ts +3 -8
- package/types/src/collections/_GridUtils.d.ts +0 -10
- package/types/src/comment/_NoteBox.d.ts +0 -15
- package/types/src/condition/AnchoredConditional.d.ts +3 -25
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
- package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
- package/types/src/condition/ICondition.d.ts +2 -2
- package/types/src/condition/_ConditionUtils.d.ts +0 -38
- package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
- package/types/src/externalBook/ExternalBookName.d.ts +2 -3
- package/types/src/externalBook/IExternalBook.d.ts +16 -18
- package/types/src/fetch/Fetcher.d.ts +15 -0
- package/types/src/fetch/IFetcher.d.ts +48 -0
- package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
- package/types/src/fetch/index.d.ts +3 -0
- package/types/src/fill/PaintUtils.d.ts +3 -1
- package/types/src/font/AdvanceTable.d.ts +16 -42
- package/types/src/font/IFont.d.ts +32 -9
- package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
- package/types/src/font/_FontUtils.d.ts +0 -8
- package/types/src/font/_StandIns.d.ts +33 -0
- package/types/src/hyperlink/IHyperlink.d.ts +10 -0
- package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
- package/types/src/index.d.ts +2 -1
- package/types/src/io/IWorkbookIO.d.ts +3 -3
- package/types/src/io/WorkbookOrigin.d.ts +2 -2
- package/types/src/license/LicenseManager.d.ts +2 -1
- package/types/src/license/_Utils.d.ts +4 -3
- package/types/src/license/details.d.ts +3 -1
- package/types/src/license/keys.d.ts +6 -0
- package/types/src/license/license-key.d.ts +15 -33
- package/types/src/license/token.d.ts +55 -0
- package/types/src/named/INamedCollection.d.ts +36 -0
- package/types/src/named/NamedCollection.d.ts +18 -0
- package/types/src/picture/IPicture.d.ts +45 -0
- package/types/src/picture/Picture.d.ts +12 -0
- package/types/src/pivot/PivotTable.d.ts +0 -7
- package/types/src/primitives/AsyncValue.d.ts +46 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
- package/types/src/primitives/Range.d.ts +0 -60
- package/types/src/primitives/ScalarCollation.d.ts +0 -106
- package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
- package/types/src/print/PageLayout.d.ts +0 -6
- package/types/src/reference/ReferenceUtils.d.ts +4 -2
- 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 +55 -11
- 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 +52 -14
- 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 +5 -5
- package/types/src/richData/index.d.ts +6 -0
- package/types/src/scripting/FunctionArguments.d.ts +17 -1
- package/types/src/scripting/FunctionCollection.d.ts +8 -0
- package/types/src/scripting/Scripts.d.ts +10 -0
- package/types/src/scripting/TypedFunction.d.ts +2 -109
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IWorksheet.d.ts +26 -22
- package/types/src/sheet/NamedCellRange.d.ts +0 -21
- package/types/src/sheet/SheetCell.d.ts +25 -3
- package/types/src/sheet/SheetRange.d.ts +8 -2
- package/types/src/sheet/SheetRanges.d.ts +2 -2
- package/types/src/sheet/Worksheet.d.ts +117 -104
- package/types/src/sheet/_DelimitedText.d.ts +13 -0
- package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_ScalarListFactory.d.ts +46 -17
- package/types/src/sheet/_SheetCoords.d.ts +0 -7
- package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
- package/types/src/sheet/_SheetMutations.d.ts +4 -1
- package/types/src/sheet/_SheetStateReader.d.ts +0 -10
- package/types/src/sheet/_SheetStateTypes.d.ts +23 -14
- package/types/src/sheet/_SheetUtils.d.ts +1 -1
- package/types/src/sheet/style/_RowLine.d.ts +32 -0
- package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
- package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
- package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
- package/types/src/style/ICellStyle.d.ts +4 -0
- package/types/src/table/AnchoredTable.d.ts +0 -147
- package/types/src/text/TextFrame.d.ts +4 -1
- package/types/src/text/TextStacked.d.ts +0 -24
- package/types/src/text/TextWrapper.d.ts +3 -5
- package/types/src/text/_LineBox.d.ts +24 -0
- package/types/src/text/_TextUtils.d.ts +5 -2
- package/types/src/text/_TextWrapperFallback.d.ts +2 -1
- package/types/src/wasm/sdkWasm.d.ts +1 -1
- package/types/src/workbook/IWorkbook.d.ts +40 -1
- package/types/src/workbook/Workbook.d.ts +25 -13
- package/types/src/workbook/WorkbookRanges.d.ts +1 -1
- package/browser/esm/BGOFfpxr2jPIdqmV.mjs +0 -40
- package/browser/esm/BLoUBId2xZpXAK_H.mjs +0 -698
- package/browser/esm/C5E6zSGAALWf61n4.mjs +0 -199
- package/browser/esm/S2dNNx1a5ydRnARM.mjs +0 -367
- package/browser/esm/f1IoRb7tEb0QmCSt.mjs +0 -110
- package/browser/esm/gssVX_FH1XFN-twD.mjs +0 -210
- package/node/esm/BrCKGFRsX_ezFJ4B.mjs +0 -811
- package/node/esm/DOU54VsOjG-m-NyQ.mjs +0 -210
- package/node/esm/Db0v7zXNnyjBIjjI.mjs +0 -372
- package/node/esm/Df1bL6VFvrqIdSLB.mjs +0 -40
- package/node/esm/DrTZbfemSLq2mseG.mjs +0 -111
- package/types/src/dataTable/DataTable.d.ts +0 -67
- package/types/src/dataTable/DataTableCollection.d.ts +0 -19
- package/types/src/dataTable/IDataTable.d.ts +0 -99
- package/types/src/dataTable/IDataTableCollection.d.ts +0 -18
- package/types/src/dataTable/index.d.ts +0 -6
|
@@ -12,27 +12,6 @@ import { NamedReference } from '../Types';
|
|
|
12
12
|
import { ContentfulSpatialValue, SpillEntry, CircularEntry } from '../spatial';
|
|
13
13
|
import { ICalcGrid } from './ICalcGrid';
|
|
14
14
|
import { FormulaEntry } from './FormulaEntry';
|
|
15
|
-
/**
|
|
16
|
-
* The grid as the model holds it (DESIGN-CALC-SERVICE §13.23, §13.24): the synchronous half of
|
|
17
|
-
* every implementation, in front of a backend that answers late or not at all.
|
|
18
|
-
*
|
|
19
|
-
* @remarks
|
|
20
|
-
* Owns what a cell holds - the formulas as the model wrote them, text per run; the values, both
|
|
21
|
-
* the literals it entered and the answers the engine vended; and the indexes over them (the
|
|
22
|
-
* contentful summary, the array extents, the error values, the calc status) - versioned in the
|
|
23
|
-
* model's own transaction store, so an undo restores them with everything else the operation
|
|
24
|
-
* wrote. Each formula entry carries the view of the compiled block the backend vends for it.
|
|
25
|
-
* Every write lands here first, in the caller's transaction, and is then forwarded to the backend
|
|
26
|
-
* as the same verb; what the backend answers with is folded into the snapshot the request named
|
|
27
|
-
* and every later one, where what the request was made against is still there, and dropped where
|
|
28
|
-
* something newer wrote ({@link _adopt}, {@link _applyValueVend}). So an undo lands on maps that
|
|
29
|
-
* already carry the engine's answer for them, with no round trip.
|
|
30
|
-
*
|
|
31
|
-
* The backend is an {@link ICalcGrid.Backend}: the in-process engine grid, a message-passing
|
|
32
|
-
* proxy under a worker, and nothing at all is what an `Off` engine amounts to (the channel
|
|
33
|
-
* records nothing, so the text here is the whole truth until a start seeds the engine from it).
|
|
34
|
-
* The same code in every case; only the delegate differs.
|
|
35
|
-
*/
|
|
36
15
|
export declare class CalcGrid implements ICalcGrid {
|
|
37
16
|
protected readonly _backend: ICalcGrid.Backend;
|
|
38
17
|
protected readonly _calculation: ICalculation | null;
|
|
@@ -134,8 +113,10 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
134
113
|
getContentful(transaction?: ITransaction | null): ISpatialMap<ContentfulSpatialValue>;
|
|
135
114
|
/** {@inheritDoc ICalcGrid.getSpills} */
|
|
136
115
|
getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
|
|
116
|
+
/** {@inheritDoc ICalcGrid.getBlockedSpills} */
|
|
117
|
+
getBlockedSpills(): ISpatialQuery<SpillEntry>;
|
|
137
118
|
/** {@inheritDoc ICalcGrid.getPending} */
|
|
138
|
-
|
|
119
|
+
getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
|
|
139
120
|
/** {@inheritDoc ICalcGrid.getCalcErrors} */
|
|
140
121
|
getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
|
|
141
122
|
/** {@inheritDoc ICalcGrid.getCirculars} */
|
|
@@ -233,8 +214,6 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
233
214
|
_demand(rects: readonly IRange.Coords[]): void;
|
|
234
215
|
/** {@inheritDoc ICalcGrid.getGraphNeighborsAt} */
|
|
235
216
|
getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
236
|
-
/** {@inheritDoc ICalcGrid.Backend.getNameGraph} @internal */
|
|
237
|
-
_getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
238
217
|
/** {@inheritDoc ICalcGrid.evaluateAt} */
|
|
239
218
|
evaluateAt(row: number, column: number, options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
|
|
240
219
|
/** `true` once closed: its state is gone. @internal */
|
|
@@ -281,15 +260,6 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
281
260
|
* @internal
|
|
282
261
|
*/
|
|
283
262
|
_seedContent(): ICalcGrid.JSON | null;
|
|
284
|
-
/**
|
|
285
|
-
* This grid's content as its calc JSON (DESIGN-CALC-SERVICE §6.6): the same record a save
|
|
286
|
-
* writes, and what a start opens the backend from. The formulas, the array extents, the
|
|
287
|
-
* volatile regions, the rows and columns the owner hides and - with `includeData` - the values
|
|
288
|
-
* are all this grid's own; a volatile region is kept only where a formula still sits.
|
|
289
|
-
*
|
|
290
|
-
* A pending entry is written as its own text; a compiled one images its block where it sits.
|
|
291
|
-
* @internal
|
|
292
|
-
*/
|
|
293
263
|
_content(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
|
|
294
264
|
/** The array extents a load carries, as spill entries. */
|
|
295
265
|
protected _spillsFromJSON(formulaArray: readonly IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[]): ISpatialMap.Entry<SpillEntry>[];
|
|
@@ -349,37 +319,12 @@ export declare class CalcGrid implements ICalcGrid {
|
|
|
349
319
|
* first; the record lists every block.
|
|
350
320
|
*/
|
|
351
321
|
protected _adopt(results: ICalcGrid.Results, vended?: readonly VendSnapshot[]): void;
|
|
352
|
-
/**
|
|
353
|
-
* Land the value half of a record - values, spills, errors, pending and circular marks - in the
|
|
354
|
-
* snapshots it answers for, by ownership (DESIGN-CALC-SERVICE §13.18).
|
|
355
|
-
*
|
|
356
|
-
* @remarks
|
|
357
|
-
* Every item has one owner, and a snapshot's formula map says which: a cell holding a formula
|
|
358
|
-
* entry is the engine's, one holding none is the model's, a spill cell is the engine's through
|
|
359
|
-
* its anchor. So an item lands in a snapshot where that snapshot's map holds, over the item,
|
|
360
|
-
* what the requested snapshot's map held: the requested snapshot itself everywhere, a later one
|
|
361
|
-
* wherever nothing newer wrote. An item that a later write cut into is split at the ownership
|
|
362
|
-
* boundary when its payload is per cell (a value run, a pending or error mark, which the maps
|
|
363
|
-
* merge across neighbors) and left whole when it is one thing (a spill extent, a cycle). A full
|
|
364
|
-
* record clears an engine-owned map, keeping what a later snapshot owns.
|
|
365
|
-
*
|
|
366
|
-
* The maps are the snapshots' own instances, shared by reference until a write clones them, so
|
|
367
|
-
* each distinct instance is written once, settled for every snapshot that holds it. In-process
|
|
368
|
-
* the list is the requested snapshot alone and this is one write, as it always was. Nothing
|
|
369
|
-
* here goes through the caller's transaction: these are the backend's answers, regenerated by
|
|
370
|
-
* any pass.
|
|
371
|
-
*/
|
|
372
322
|
protected _applyValueVend(results: ICalcGrid.Results, snapshots: readonly VendSnapshot[]): void;
|
|
373
323
|
/** {@inheritDoc ICalcGrid.close} */
|
|
374
324
|
close(): void;
|
|
375
325
|
get [Symbol.toStringTag](): string;
|
|
376
326
|
}
|
|
377
327
|
export declare namespace CalcGrid {
|
|
378
|
-
/**
|
|
379
|
-
* Everything the grid holds for the model, versioned in the model's own store
|
|
380
|
-
* (DESIGN-CALC-SERVICE §13.23, §13.24): what the model wrote and what the backend answered
|
|
381
|
-
* with, one record per commit, so an undo restores them with the operation that wrote them.
|
|
382
|
-
*/
|
|
383
328
|
interface State {
|
|
384
329
|
/** The formulas as the model wrote them, one entry per run, with the backend's view where it has vended one. */
|
|
385
330
|
formulaSpatial: ISpatialMap<FormulaEntry>;
|
|
@@ -389,6 +334,8 @@ export declare namespace CalcGrid {
|
|
|
389
334
|
contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
390
335
|
/** The array extents: what the file said, what an array entry wrote, what the engine vended. */
|
|
391
336
|
spillSpatial: ISpatialMap<SpillEntry>;
|
|
337
|
+
/** See {@link ICalcGrid.getBlockedSpills}. */
|
|
338
|
+
blockedSpillSpatial: ISpatialMap<SpillEntry>;
|
|
392
339
|
/**
|
|
393
340
|
* The volatile regions the file listed: what an `Off` save writes back and a seed carries,
|
|
394
341
|
* kept where a formula still sits under them. What the engine knows once it is up it answers
|
|
@@ -396,13 +343,9 @@ export declare namespace CalcGrid {
|
|
|
396
343
|
*/
|
|
397
344
|
volatile: IRange.Address[] | null;
|
|
398
345
|
/** Cells the engine has not answered for yet. */
|
|
399
|
-
|
|
346
|
+
calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
400
347
|
/** Engine FAILURES by cell, as a message. Not error values - those are in the values. */
|
|
401
348
|
calcErrorsSpatial: ISpatialMap<string>;
|
|
402
|
-
/**
|
|
403
|
-
* Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
|
|
404
|
-
* Maintained from the executor's deltas, like {@link pendingSpatial}.
|
|
405
|
-
*/
|
|
406
349
|
circularSpatial: ISpatialMap<CircularEntry>;
|
|
407
350
|
/**
|
|
408
351
|
* Error VALUES by cell, as the WRITE path knows them: fresh for what the model entered and
|
|
@@ -437,7 +380,8 @@ export declare namespace CalcGrid {
|
|
|
437
380
|
values: ISparseGrid<Scalar>;
|
|
438
381
|
contentful: ISpatialMap<ContentfulSpatialValue>;
|
|
439
382
|
spills: ISpatialMap<SpillEntry>;
|
|
440
|
-
|
|
383
|
+
blockedSpills: ISpatialMap<SpillEntry>;
|
|
384
|
+
calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
441
385
|
calcErrors: ISpatialMap<string>;
|
|
442
386
|
circulars: ISpatialMap<CircularEntry>;
|
|
443
387
|
errorValues: ISpatialMap<boolean>;
|
|
@@ -9,9 +9,6 @@ import { ICalculation } from '../ICalculation';
|
|
|
9
9
|
import { ICalcGrid } from './ICalcGrid';
|
|
10
10
|
import { GridRequest, CalcResponse } from './_CalcRequest';
|
|
11
11
|
import { CalcGridProxy } from './CalcGridProxy';
|
|
12
|
-
/**
|
|
13
|
-
* ICalcGrid implementation
|
|
14
|
-
*/
|
|
15
12
|
export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.Backend {
|
|
16
13
|
/**
|
|
17
14
|
* This is MOSTLY set by the user but spills also contribute.
|
|
@@ -20,7 +17,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
20
17
|
_values: ISparseGrid<Scalar>;
|
|
21
18
|
_spillSpatial: ISpatialMap<SpillEntry>;
|
|
22
19
|
_errorSpatial: ISpatialMap<string>;
|
|
23
|
-
|
|
20
|
+
_calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
24
21
|
_circularSpatial: ISpatialMap<CircularEntry>;
|
|
25
22
|
_contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
26
23
|
_notifyValues: ISpatialMap;
|
|
@@ -29,7 +26,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
29
26
|
_notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
|
|
30
27
|
_notifySpillsRemove: IRange.Coords[];
|
|
31
28
|
_notifyFormats: ISpatialMap;
|
|
32
|
-
|
|
29
|
+
_notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
|
|
33
30
|
_notifyCircular: ISpatialMap<CircularEntry | false>;
|
|
34
31
|
/**
|
|
35
32
|
* Regions of this grid whose formula blocks were minted, re-imaged or removed since the last
|
|
@@ -75,11 +72,6 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
75
72
|
* time, so the oldest are dropped past a few.
|
|
76
73
|
*/
|
|
77
74
|
protected _snapshots: Map<string, CalcGridSnapshot> | null;
|
|
78
|
-
/**
|
|
79
|
-
* The owner's callback for a record the engine pushed - a pass's results, a seed's. The one
|
|
80
|
-
* place the response half of the boundary is crossed on the way out (plan step 6); every site
|
|
81
|
-
* that pushes calls this rather than `_options.onCalculated`.
|
|
82
|
-
*/
|
|
83
75
|
protected _onCalculated: (response: CalcResponse) => void;
|
|
84
76
|
constructor(options?: CalcGridBackend.ConstructorOptions);
|
|
85
77
|
/**
|
|
@@ -307,29 +299,6 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
307
299
|
* inspected; a name mentioned upstream is that cell's precedent. Engine primitive.
|
|
308
300
|
*/
|
|
309
301
|
getNamedReferencesAt(coords: IRange.Coords): string[];
|
|
310
|
-
/**
|
|
311
|
-
* What a `graph` request asking about this grid's defined name answers: the name's precedents
|
|
312
|
-
* or dependents, cells scoped by grid and names as nodes - ONE answer, as a cell's is.
|
|
313
|
-
*
|
|
314
|
-
* @remarks
|
|
315
|
-
* The PRECEDENTS: the cell half is the ordinary precedent graph - a body is a real formula here,
|
|
316
|
-
* and its references registered precedent ranges like any cell's. The name half is the body's
|
|
317
|
-
* `getNamedIds`: apply-at-eval means a name the body reads has no precedent edge, so the symbol
|
|
318
|
-
* list is the only carrier - one hop for `direct`, the downward closure (cycle-guarded) for the
|
|
319
|
-
* deep form, each member contributing its own grid's cell walk. The deep form does not take the
|
|
320
|
-
* symbol hop from UPSTREAM CELLS (`X = A1*2`, `A1 = SomeName`: `A1` is listed and `SomeName`'s
|
|
321
|
-
* inputs are not) - that hop is `A1`'s, one step of a tree walk.
|
|
322
|
-
*
|
|
323
|
-
* The DEPENDENTS: two graphs meet, and the walk changes vehicles between them. The symbol edge -
|
|
324
|
-
* which formulas mention this name - is not in the precedent spatial at all; it is the nameId
|
|
325
|
-
* list each compiled block carries (`container.getNamedDependents`). The cell edge is the
|
|
326
|
-
* precedent graph, which carries everything downstream of those blocks: `direct` is one hop of
|
|
327
|
-
* the first; the deep form takes it, then hands each landing block to its grid. A block on a
|
|
328
|
-
* grid that is no sheet is another NAME reading this one: a node, and the deep walk passes
|
|
329
|
-
* THROUGH it on the symbol closure (`getNamedDependentNames`), or `Base`'s dependents would stop
|
|
330
|
-
* at `Plus1`. This name is listed only when a true cycle leads back to it.
|
|
331
|
-
*/
|
|
332
|
-
protected _nameGraphNow(kind: 'precedents' | 'dependents', direct: boolean): ICalcGrid.GraphNeighbors;
|
|
333
302
|
/** The blank region of the body this grid holds, as data: see {@link ICalcGrid.Results.blankRegion}. */
|
|
334
303
|
protected _blankRegion(): ICalcGrid.BlankRegion | null;
|
|
335
304
|
/** The compiled block at a cell, or `null`. Engine-side: the model reads the vended view. */
|
|
@@ -338,12 +307,13 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
338
307
|
getReferencesAt(row: number, column: number): ReferenceCoords[];
|
|
339
308
|
/** What an `evaluate` request answers: the formula at the cell, evaluated now; `null` where there is none. */
|
|
340
309
|
protected _evaluateNow(row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
|
|
310
|
+
protected _evaluateBlockNow(block: IFormulaBlock, row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
|
|
341
311
|
/** What a `setReference` request does: the rewrite, and the write of the formula it makes. */
|
|
342
312
|
protected _setReferenceNow(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): CalcResponse;
|
|
343
313
|
/** What a `setReferenceMode` request does: refused for a reference that is not to cells. */
|
|
344
314
|
protected _setReferenceModeNow(row: number, column: number, index: number, side: ICalculation.ReferenceSide, mode?: number): CalcResponse;
|
|
345
315
|
/** What an `isVolatile` request answers. */
|
|
346
|
-
|
|
316
|
+
_isVolatileNow(row: number, column: number): boolean;
|
|
347
317
|
protected _formulaAt(row: number, column: number): ISpatialMap.Entry<FormulaSpatialValue> | null;
|
|
348
318
|
/**
|
|
349
319
|
* Create non error spill entries for move/copy.
|
|
@@ -379,6 +349,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
379
349
|
* vend for the pass that follows.
|
|
380
350
|
*/
|
|
381
351
|
_setInputsNow(values: Tuple.Region<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null, deleteRange?: IRange.Coords, options?: ICalcGrid.SetInputsOptions): IRange.Coords[];
|
|
352
|
+
_rederivePrecedentsNow(blocks: ISpatialMap.Entry<FormulaSpatialValue>[]): void;
|
|
382
353
|
/**
|
|
383
354
|
* Joins each block just written with an equal block beside it, so a formula written under a run
|
|
384
355
|
* of it, or between two runs, extends the run rather than starting a block of its own.
|
|
@@ -421,6 +392,12 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
421
392
|
* external book's cached values) is loaded this way; a model's goes through {@link seed}.
|
|
422
393
|
*/
|
|
423
394
|
_seedNow(json: ICalcGrid.JSON, options?: ICalcGrid.SeedOptions): CalcResponse;
|
|
395
|
+
/**
|
|
396
|
+
* Whether `coords` is the anchor of a spill saved with its result: a result's first cell can be
|
|
397
|
+
* blank, which leaves no value at the anchor, and the spill's other cells are what say it ran. An
|
|
398
|
+
* extent with nothing in it is a writer that does not calculate, and is still owed its evaluation.
|
|
399
|
+
*/
|
|
400
|
+
protected _isSavedSpill(coords: IRange.Coords): boolean;
|
|
424
401
|
/** What a `toJSON` request answers: the grid's content as the engine holds it now. */
|
|
425
402
|
protected _toJSONNow(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
|
|
426
403
|
}
|
|
@@ -497,7 +474,7 @@ export interface CalcGridMaps {
|
|
|
497
474
|
contentful: ISpatialMap<ContentfulSpatialValue>;
|
|
498
475
|
spills: ISpatialMap<SpillEntry>;
|
|
499
476
|
errors: ISpatialMap<string>;
|
|
500
|
-
|
|
477
|
+
calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
501
478
|
circular: ISpatialMap<CircularEntry>;
|
|
502
479
|
/** The size a `resize` gave, or `null` for the one the grid was made with. */
|
|
503
480
|
entireCoords?: IRange.Coords | null;
|
|
@@ -8,15 +8,6 @@ import { NamedReference } from '../Types';
|
|
|
8
8
|
import { ICalculation } from '../ICalculation';
|
|
9
9
|
import { ICalcGrid } from './ICalcGrid';
|
|
10
10
|
import { CalcRequest } from './_CalcRequest';
|
|
11
|
-
/**
|
|
12
|
-
* A grid's verbs as requests (DESIGN-CALC-SERVICE §4, §13.23): each one a message through the
|
|
13
|
-
* service's channel, addressed by the grid's id. What the model's grid forwards to - it never
|
|
14
|
-
* holds the engine's grid, which an `Off` engine does not have.
|
|
15
|
-
*
|
|
16
|
-
* @remarks
|
|
17
|
-
* The engine's own grid answers the same verbs through the same channel, so its engine-side
|
|
18
|
-
* tests can drive it directly; it adds what only the engine holds.
|
|
19
|
-
*/
|
|
20
11
|
export declare class CalcGridProxy implements ICalcGrid.Backend {
|
|
21
12
|
protected readonly _gridId: string;
|
|
22
13
|
protected readonly _sendRequest: CalcGridProxy.ConstructorOptions['send'];
|
|
@@ -29,10 +20,6 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
|
|
|
29
20
|
* engine lands at the root's close). `undefined` for a request naming no snapshot.
|
|
30
21
|
*/
|
|
31
22
|
protected _landingId(options: ICalcGrid.RequestOptions | undefined): string | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Sends a request through the service's channel (DESIGN-CALC-SERVICE §4): applied now on a
|
|
34
|
-
* `Running` engine, held in order while it is `Starting`, not recorded on an `Off` one.
|
|
35
|
-
*/
|
|
36
23
|
protected _send(landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
|
|
37
24
|
/** @inheritdoc ICalcGrid.getId */
|
|
38
25
|
getId(): string;
|
|
@@ -96,8 +83,6 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
|
|
|
96
83
|
* A question: an engine that holds no grid (`Off`) answers with nothing.
|
|
97
84
|
*/
|
|
98
85
|
getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
99
|
-
/** {@inheritDoc ICalcGrid.Backend.getNameGraph} */
|
|
100
|
-
getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
101
86
|
/**
|
|
102
87
|
* {@inheritDoc ICalcGrid.isVolatileAt}
|
|
103
88
|
*
|
|
@@ -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;
|
|
@@ -58,9 +59,11 @@ export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coord
|
|
|
58
59
|
* @remarks
|
|
59
60
|
* This code will inline spill errors but spill results are handled in calculations.
|
|
60
61
|
*/
|
|
61
|
-
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,
|
|
62
63
|
isColumn?: boolean, notifyCalc?: boolean, // should notify. this is to differentiate between user set values and calc set values
|
|
63
|
-
circularSpatial?: ISpatialMap<CircularEntry
|
|
64
|
+
circularSpatial?: ISpatialMap<CircularEntry>, // the circular index: a written cell leaves it, like errorSpatial
|
|
65
|
+
calcStatusSpatial?: ISpatialMap<ICalcGrid.CalcStatus>, // the pending index: a written cell leaves it now, not at the next pass's end
|
|
66
|
+
blockedSpillSpatial?: ISpatialMap<SpillEntry>): IRange.Coords | null;
|
|
64
67
|
/**
|
|
65
68
|
* Creates a map from tuples
|
|
66
69
|
*
|
|
@@ -120,6 +123,12 @@ export interface PrecedentFormulaUpdates {
|
|
|
120
123
|
* evaluate, but until then no precedent leads the dirty sweep to them.
|
|
121
124
|
*/
|
|
122
125
|
dynamicDependents?: ISpatialMap.Entry<FormulaSpatialValue>[];
|
|
126
|
+
/**
|
|
127
|
+
* {@link movePrecedents}: the replacement formulas a cut changed only by moving an EDGE of their
|
|
128
|
+
* reference. They still read only the cut's own sheet, and a contracted one may no longer reach
|
|
129
|
+
* anything the cut touched, so the caller marks them dirty itself.
|
|
130
|
+
*/
|
|
131
|
+
edged?: ISpatialMap.Entry<FormulaSpatialValue>[];
|
|
123
132
|
}
|
|
124
133
|
/**
|
|
125
134
|
* Splits precedents at the insertion boundary.
|
|
@@ -154,23 +163,7 @@ export declare function splitPrecedentsInsert(precedents: ISpatialMap3D<Preceden
|
|
|
154
163
|
* INVARIANT: All resulting formula entries must have logically identical formulas.
|
|
155
164
|
*/
|
|
156
165
|
export declare function splitPrecedentsDelete(precedents: ISpatialMap3D<PrecedentSpatialValue>, coords: IRange.Coords): PrecedentFormulaUpdates | null;
|
|
157
|
-
|
|
158
|
-
* Splits precedents at the cut boundary to isolate the moveable sub-block.
|
|
159
|
-
*
|
|
160
|
-
* @remarks
|
|
161
|
-
* For move operations: isolates the sub-block of formula cells whose natural bounds
|
|
162
|
-
* are fully enclosed by the move coords. The inner piece will be moved; outer pieces stay.
|
|
163
|
-
*
|
|
164
|
-
* Natural bounds = the precedent size for a single formula cell.
|
|
165
|
-
* A formula cell at block-relative offset `r` has natural row range:
|
|
166
|
-
* `[P.rowStart + r, P.rowStart + r + nh - 1]`
|
|
167
|
-
* where `nh = (P.rowEnd - P.rowStart) - (F.rowEnd - F.rowStart) + 1`.
|
|
168
|
-
*
|
|
169
|
-
* Excel rule: only move if the natural bounds fit entirely within the cut rect.
|
|
170
|
-
*
|
|
171
|
-
* INVARIANT: All resulting formula entries must have logically identical formulas.
|
|
172
|
-
*/
|
|
173
|
-
export declare function splitPrecedentsMove(precedents: ISpatialMap3D<PrecedentSpatialValue>, coords: IRange.Coords): PrecedentFormulaUpdates | null;
|
|
166
|
+
export declare function splitPrecedentsMove(precedents: ISpatialMap3D<PrecedentSpatialValue>, from: IRange.Coords, to: IRange.Coords): PrecedentFormulaUpdates | null;
|
|
174
167
|
/**
|
|
175
168
|
* This shifts precedents that cross an intersection boundary.
|
|
176
169
|
*
|
|
@@ -192,13 +185,18 @@ export declare function shiftPrecedents(getPrecedentSpatial: () => ISpatialMap3D
|
|
|
192
185
|
* whose precedent points INTO the moved region.
|
|
193
186
|
*
|
|
194
187
|
* @remarks
|
|
195
|
-
* Pre-condition:
|
|
196
|
-
* After split, each precedent is either fully inside or fully outside the `from` region
|
|
188
|
+
* Pre-condition: {@link splitPrecedentsMove} has already been applied so no precedent straddles the
|
|
189
|
+
* boundary. After split, each precedent is either fully inside or fully outside the `from` region,
|
|
190
|
+
* or takes one EDGE cut the same way in every cell.
|
|
197
191
|
*
|
|
198
192
|
* For a move (cut+paste), the data moves rigidly from `from` to `to`.
|
|
199
|
-
* Both edges of
|
|
193
|
+
* Both edges of an enclosed precedent shift by the same delta — a uniform translation. A precedent
|
|
194
|
+
* whose edge the cut took has that edge moved first ({@link edgeMoveReferenceAxis}); those formulas
|
|
195
|
+
* are also answered in `edged` when nothing of theirs translated, because they still read only
|
|
196
|
+
* the cut's own sheet.
|
|
200
197
|
*
|
|
201
|
-
* Formulas inside the move range are skipped (they move with their data)
|
|
198
|
+
* Formulas inside the move range are skipped (they move with their data), and so are those inside
|
|
199
|
+
* `to`, which are the moved ones.
|
|
202
200
|
*/
|
|
203
201
|
export declare function movePrecedents(precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>, getDynamicPrecedents: () => Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>, from: IRange.Coords, to: IRange.Coords): PrecedentFormulaUpdates | null;
|
|
204
202
|
/**
|
|
@@ -11,28 +11,6 @@ import { FormulaEntry } from './FormulaEntry';
|
|
|
11
11
|
import { ContentfulSpatialValue, SpillEntry, CircularEntry } from '../spatial';
|
|
12
12
|
import { NamedReference, NamedNodeInfo } from '../Types';
|
|
13
13
|
import { ICalculation } from '../ICalculation';
|
|
14
|
-
/**
|
|
15
|
-
* The CalcGridBackend holds input and outputs of in a 2D space to a scope (usually a sheet).
|
|
16
|
-
*
|
|
17
|
-
* @remarks
|
|
18
|
-
* If inputValues are externally managed then formulas update must also be provided.
|
|
19
|
-
*
|
|
20
|
-
* Every mutation is ASYNCHRONOUS and resolves with an {@link ICalcGrid.Results}: the blocks the
|
|
21
|
-
* engine compiled or re-imaged for the write ({@link ICalcGrid.Results.formulaInserts}) and the
|
|
22
|
-
* coords it removed ({@link ICalcGrid.Results.formulaRemoves}). Nothing about the grid is readable
|
|
23
|
-
* synchronously after a write; a caller keeps its own formula text and patches it from the
|
|
24
|
-
* resolution. A request names the snapshot it was made at ({@link ICalcGrid.RequestOptions.commitId})
|
|
25
|
-
* and the resolution echoes it ({@link ICalcGrid.Results.commitId}): its coords mean addresses in
|
|
26
|
-
* THAT snapshot, whatever the caller has done since. A rewrite the engine makes to a grid nobody
|
|
27
|
-
* called - a cross-sheet reference turned `#REF!` by a delete on another sheet - reaches that grid
|
|
28
|
-
* through its own `onCalculated`, the way values do, naming the last snapshot the engine applied.
|
|
29
|
-
*
|
|
30
|
-
* Every request goes through the service's channel (DESIGN-CALC-SERVICE §4, §7.2). On a `Running`
|
|
31
|
-
* engine it is applied at once; while the engine is `Starting` it is held, as data, and applied
|
|
32
|
-
* in send order once the engine is up, behind the seed the grid was opened from; on an `Off`
|
|
33
|
-
* engine it is not recorded at all and resolves with nothing: the caller's own view is the truth
|
|
34
|
-
* there, and a later start is seeded from it. An `Off` engine is never started by a request.
|
|
35
|
-
*/
|
|
36
14
|
export interface ICalcGrid {
|
|
37
15
|
/**
|
|
38
16
|
* Set a group of cells and formula ranges.
|
|
@@ -74,28 +52,7 @@ export interface ICalcGrid {
|
|
|
74
52
|
* This allows for incremental dirty updates.
|
|
75
53
|
*/
|
|
76
54
|
markDirtyRegions(coords: IRange.Coords[]): void;
|
|
77
|
-
/**
|
|
78
|
-
* The key of this grid's record in the model's store (DESIGN-CALC-SERVICE §13.23): what the
|
|
79
|
-
* grid holds, versioned beside the sheet's own record so that an undo restores both together.
|
|
80
|
-
*
|
|
81
|
-
* @remarks
|
|
82
|
-
* For a cell buffer to name among the records its held writes go to, so that a read of the
|
|
83
|
-
* grid through the store makes those writes first. The reads themselves take the transaction
|
|
84
|
-
* to answer for; nothing reads the record by this key.
|
|
85
|
-
*/
|
|
86
55
|
getStateId(): string;
|
|
87
|
-
/**
|
|
88
|
-
* The values as the model holds them: the literals it entered and the answers the engine
|
|
89
|
-
* vended, one map (DESIGN-CALC-SERVICE §13.24).
|
|
90
|
-
*
|
|
91
|
-
* @remarks
|
|
92
|
-
* The whole grid, not a narrowed read surface: the sheet reads values on its hottest paths and
|
|
93
|
-
* sparse grids are heading for buffer-backed runs, which closes the boundary a narrower type
|
|
94
|
-
* would have bought. Answered from the grid's own store record - never the backend's working
|
|
95
|
-
* copy, which is on the far side of the boundary and can be behind.
|
|
96
|
-
* @param transaction Read the record as this transaction sees it, its held writes not yet
|
|
97
|
-
* made; the current record when omitted.
|
|
98
|
-
*/
|
|
99
56
|
getValues(transaction?: ITransaction | null): ISparseGrid<Scalar>;
|
|
100
57
|
/**
|
|
101
58
|
* The contentful index: which cells hold a value, summarized per run. Derived from
|
|
@@ -110,13 +67,18 @@ export interface ICalcGrid {
|
|
|
110
67
|
* made; the current record when omitted.
|
|
111
68
|
*/
|
|
112
69
|
getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
|
|
70
|
+
/**
|
|
71
|
+
* The blocked spills, each at the extent it would take, for showing that region. A blocked spill
|
|
72
|
+
* occupies none of it: its anchor holds the `#SPILL!`, so nothing that reads cells needs this.
|
|
73
|
+
*/
|
|
74
|
+
getBlockedSpills(): ISpatialQuery<SpillEntry>;
|
|
113
75
|
/**
|
|
114
76
|
* The cells the engine has not answered for yet - an async function in flight, a pass still
|
|
115
77
|
* running.
|
|
116
78
|
* @param transaction Read the record as this transaction sees it, its held writes not yet
|
|
117
79
|
* made; the current record when omitted.
|
|
118
80
|
*/
|
|
119
|
-
|
|
81
|
+
getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
|
|
120
82
|
/**
|
|
121
83
|
* Engine FAILURES by cell (a formula that could not be evaluated), as a message. Not error
|
|
122
84
|
* VALUES - those are {@link getErrorValues}.
|
|
@@ -124,11 +86,6 @@ export interface ICalcGrid {
|
|
|
124
86
|
* made; the current record when omitted.
|
|
125
87
|
*/
|
|
126
88
|
getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
|
|
127
|
-
/**
|
|
128
|
-
* Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
|
|
129
|
-
* @param transaction Read the record as this transaction sees it, its held writes not yet
|
|
130
|
-
* made; the current record when omitted.
|
|
131
|
-
*/
|
|
132
89
|
getCirculars(transaction?: ITransaction | null): ISpatialMap<CircularEntry>;
|
|
133
90
|
/**
|
|
134
91
|
* Error VALUES (`#DIV/0!`, `#N/A`, ...) by cell: the `Error` scalar kind, entered or computed.
|
|
@@ -351,24 +308,6 @@ export interface ICalcGrid {
|
|
|
351
308
|
* @param options See {@link ICalcGrid.RequestOptions}.
|
|
352
309
|
*/
|
|
353
310
|
setFiltered(filtered: boolean, options?: ICalcGrid.RequestOptions): void;
|
|
354
|
-
/**
|
|
355
|
-
* Opens the grid from a seed: a statement of its whole content (DESIGN-CALC-SERVICE §6).
|
|
356
|
-
*
|
|
357
|
-
* @param json The content, the same record a save writes.
|
|
358
|
-
* @param options {@link ICalcGrid.SeedOptions}
|
|
359
|
-
*
|
|
360
|
-
* @remarks
|
|
361
|
-
* Replaces everything the grid held, so opening twice equals opening once. A seed is a request
|
|
362
|
-
* like any other: applied at once on a `Running` engine, held in order while the engine is
|
|
363
|
-
* `Starting`, not recorded on an `Off` one (the owner keeps the content and hands it over again
|
|
364
|
-
* when the service is started). Its results are a full pass's - `isFull`, every block it
|
|
365
|
-
* compiled and every array extent it read - and reach the owner through `onCalculated` as it is
|
|
366
|
-
* applied, in order with every other record the grid pushes; the promise resolves after that.
|
|
367
|
-
*
|
|
368
|
-
* A seed trusts the values it carries as a load does. One handed over at `start()` by an owner
|
|
369
|
-
* the engine has not been following - a sheet written to while `Off` - asks for a full pass
|
|
370
|
-
* instead ({@link ICalcGrid.SeedOptions.full}).
|
|
371
|
-
*/
|
|
372
311
|
seed(json: ICalcGrid.JSON, options?: ICalcGrid.SeedOptions): Promise<ICalcGrid.Results>;
|
|
373
312
|
/**
|
|
374
313
|
* Returns a JSON representation of the calcGrid.
|
|
@@ -405,12 +344,7 @@ export interface ICalcGrid {
|
|
|
405
344
|
* {@link ICalcGrid}
|
|
406
345
|
*/
|
|
407
346
|
export declare namespace ICalcGrid {
|
|
408
|
-
|
|
409
|
-
* What the model's grid forwards to (DESIGN-CALC-SERVICE §13.23): every verb and every read
|
|
410
|
-
* the engine answers, and nothing the model holds for itself. The in-process engine grid is
|
|
411
|
-
* one; a message-passing proxy under a worker is another.
|
|
412
|
-
*/
|
|
413
|
-
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getPending' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
|
|
347
|
+
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getBlockedSpills' | 'getCalcStatus' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
|
|
414
348
|
/** Write a body as authored; the engine anchors it (see {@link ICalcGrid.BodyOptions}). */
|
|
415
349
|
setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
|
|
416
350
|
/** {@link ICalcGrid.evaluateAt} coerced to one scalar, as a defined name's `evaluate()` is. */
|
|
@@ -422,12 +356,6 @@ export declare namespace ICalcGrid {
|
|
|
422
356
|
* last set; see `CalcGridBackend.getDemanded`. Evaluated by the next pass.
|
|
423
357
|
*/
|
|
424
358
|
demand(rects: readonly IRange.Coords[]): void;
|
|
425
|
-
/**
|
|
426
|
-
* The graph around the defined name whose body this grid holds - its precedents or
|
|
427
|
-
* dependents, cells in calc currency and names - as {@link ICalcGrid.getGraphNeighborsAt}
|
|
428
|
-
* answers for cells.
|
|
429
|
-
*/
|
|
430
|
-
getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
431
359
|
};
|
|
432
360
|
/**
|
|
433
361
|
* A body written as it was authored, for a grid that holds one (a name's, a watch's): the engine
|
|
@@ -443,8 +371,11 @@ export declare namespace ICalcGrid {
|
|
|
443
371
|
authoredAt: IRange.CellCoords;
|
|
444
372
|
/** The sheet grid a bare reference in the expression resolves against. */
|
|
445
373
|
scopeGridId: string;
|
|
446
|
-
/**
|
|
447
|
-
|
|
374
|
+
/**
|
|
375
|
+
* Re-derive the formulas that mention this grid's name once the body is in: a defined name's.
|
|
376
|
+
* `'load'` when the body is the one the file holds, so a formula loaded with it keeps its value.
|
|
377
|
+
*/
|
|
378
|
+
recompile?: boolean | 'load';
|
|
448
379
|
/**
|
|
449
380
|
* Applied ahead of the other requests a start holds: a defined name must be bound before any
|
|
450
381
|
* formula that mentions it is examined.
|
|
@@ -522,7 +453,8 @@ export declare namespace ICalcGrid {
|
|
|
522
453
|
valueRemoves?: IRange.Coords[];
|
|
523
454
|
/**
|
|
524
455
|
* Contains any spills that were inserted. The value is the
|
|
525
|
-
* {@link ITypes.FormulaArrayKind | kind} of the block that produced it.
|
|
456
|
+
* {@link ITypes.FormulaArrayKind | kind} of the block that produced it. An `error` is at the
|
|
457
|
+
* extent it would take, as it is in {@link spillRemoves}.
|
|
526
458
|
*/
|
|
527
459
|
spillInserts?: ISpatialMap.Entry<ITypes.FormulaArrayKind>[];
|
|
528
460
|
/**
|
|
@@ -556,7 +488,7 @@ export declare namespace ICalcGrid {
|
|
|
556
488
|
* @remarks
|
|
557
489
|
* These are guaranteed to not overlap.
|
|
558
490
|
*/
|
|
559
|
-
|
|
491
|
+
calcStatusUpdates?: ISpatialMap.Entry<ICalcGrid.CalcStatus | false>[];
|
|
560
492
|
/**
|
|
561
493
|
* Cells that entered or left a reference cycle (or the set downstream of one). A `null`
|
|
562
494
|
* value is a removal.
|
|
@@ -565,18 +497,6 @@ export declare namespace ICalcGrid {
|
|
|
565
497
|
* These are guaranteed to not overlap.
|
|
566
498
|
*/
|
|
567
499
|
circularUpdates?: ISpatialMap.Entry<CircularEntry | null>[];
|
|
568
|
-
/**
|
|
569
|
-
* Blocks the engine compiled or re-imaged, at the coords they cover, as the read views the
|
|
570
|
-
* model holds: the vend of the formula half. Every site that mints a block reports it here -
|
|
571
|
-
* a write, a value splitting a block, a shift, a cross-sheet `#REF!`, a copy, a fill, a
|
|
572
|
-
* reference edit, the legacy `@` wrap on load.
|
|
573
|
-
*
|
|
574
|
-
* @remarks
|
|
575
|
-
* Applied in order after {@link formulaRemoves}. On {@link isFull} every block on the grid is
|
|
576
|
-
* listed, so a caller that dropped its blocks on the full pass has them all back. What
|
|
577
|
-
* crosses is the block as data; the view is imaged from it on the model's side of the
|
|
578
|
-
* channel, against the model's own symbols (DESIGN-CALC-SERVICE §8).
|
|
579
|
-
*/
|
|
580
500
|
formulaInserts?: ISpatialMap.Entry<IFormulaBlockView>[];
|
|
581
501
|
/**
|
|
582
502
|
* Coords whose formulas the engine removed: cleared, replaced, or moved away by a shift.
|
|
@@ -609,6 +529,16 @@ export declare namespace ICalcGrid {
|
|
|
609
529
|
/** For a paged region, the tiles this pass evaluated. */
|
|
610
530
|
readonly evaluated?: readonly IRange.Coords[];
|
|
611
531
|
}
|
|
532
|
+
/**
|
|
533
|
+
* Why a cell is in the calc-status index: its own function asked for a result that has not
|
|
534
|
+
* arrived (`Working`), or it was calculated from such a value and is calculated again when it
|
|
535
|
+
* arrives (`Waiting`). A removal travels as `false` in a delta.
|
|
536
|
+
*/
|
|
537
|
+
const CalcStatus: {
|
|
538
|
+
readonly Working: 1;
|
|
539
|
+
readonly Waiting: 2;
|
|
540
|
+
};
|
|
541
|
+
type CalcStatus = typeof CalcStatus[keyof typeof CalcStatus];
|
|
612
542
|
/**
|
|
613
543
|
* Returns from `ICalcGrid.beginUpdates()`.
|
|
614
544
|
*
|
|
@@ -620,28 +550,17 @@ export declare namespace ICalcGrid {
|
|
|
620
550
|
values: ISparseGrid<Scalar>;
|
|
621
551
|
spillSpatial: ISpatialMap<SpillEntry>;
|
|
622
552
|
errorSpatial: ISpatialMap<string>;
|
|
623
|
-
|
|
553
|
+
calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
624
554
|
circularSpatial: ISpatialMap<CircularEntry>;
|
|
625
555
|
contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
626
556
|
notifyValues: ISpatialMap;
|
|
627
|
-
/**
|
|
628
|
-
* Reports a region whose answer changed without a write to the grid: a blank region the pass
|
|
629
|
-
* shares one answer for on the block instead of writing (PLAN-WATCHES-BLANK-AWARE §4c).
|
|
630
|
-
*
|
|
631
|
-
* @remarks
|
|
632
|
-
* Accumulated as bounds, not as a region index. Only `Results.bounds` learns of this - there
|
|
633
|
-
* are no values to vend - and that is one rectangle over every notify source, so the union is
|
|
634
|
-
* the whole of what a caller can observe.
|
|
635
|
-
*
|
|
636
|
-
* `coords` is read, never kept, and its scope is ignored.
|
|
637
|
-
*/
|
|
638
557
|
notifyBlank(coords: IRange.Coords): void;
|
|
639
558
|
notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
|
|
640
559
|
notifySpillsRemove: IRange.Coords[];
|
|
641
560
|
notifyFormats: ISpatialMap;
|
|
642
|
-
|
|
561
|
+
notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
|
|
643
562
|
notifyCircular: ISpatialMap<CircularEntry | false>;
|
|
644
|
-
|
|
563
|
+
calcStatusConflating: ISpatialMap.IConflatingEntries<ICalcGrid.CalcStatus | false> | null;
|
|
645
564
|
circularConflating: ISpatialMap.IConflatingEntries<CircularEntry | false> | null;
|
|
646
565
|
errorRemovesConflating: ISpatialMap.IConflatingEntries<null> | null;
|
|
647
566
|
errorInsertsConflating: ISpatialMap.IConflatingEntries<string> | null;
|