@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
|
@@ -2,6 +2,7 @@ import { IRange, IFormulaContext, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
|
2
2
|
import { FunctionProvider } from '@sheetxl/scripting';
|
|
3
3
|
import { AbstractModel, IModel } from '../../model';
|
|
4
4
|
import { ITransaction } from '../../transaction';
|
|
5
|
+
import { IRichDataKind } from '../../richData/IRichDataKind';
|
|
5
6
|
import { ISpatialMap, ISpatialQuery, ISpatialMap3D, ISparseGrid } from '../../collections';
|
|
6
7
|
import { IExternalBookCollection } from '../../externalBook';
|
|
7
8
|
import { ICalculation } from '../ICalculation';
|
|
@@ -11,29 +12,21 @@ import { IFormulaCompiler } from '../compiler';
|
|
|
11
12
|
import { FormulaBlockResolvers, IFormulaBlock, FormulaImager } from '../formula';
|
|
12
13
|
import { CalculationContext } from '../state/CalculationContext';
|
|
13
14
|
import { IContextContainer, CalcNode, CalcScope } from '../state';
|
|
15
|
+
import { DeferredCalls, DeferredCall } from '../state/DeferredCalls';
|
|
16
|
+
import { AsyncValue } from '../../primitives/AsyncValue';
|
|
14
17
|
import { PrecedentSpatialValue, PrecedentKind } from '../spatial';
|
|
15
18
|
import { FormulaSpatialValue } from '../spatial/FormulaSpatialValue';
|
|
16
19
|
import { CalcExecutor } from '../executor/CalcExecutor';
|
|
20
|
+
import { WhatIfTable } from '../executor/_WhatIf';
|
|
17
21
|
import { CalcGridBackend } from '../grid/CalcGridBackend';
|
|
18
22
|
import { ICalcGrid, FormulaHost } from '../grid';
|
|
19
23
|
import { CalcRequest, CalcResponse, CalcGridSpec, TableSymbols, NameSymbols } from '../grid/_CalcRequest';
|
|
20
24
|
import { ExternalBookBindings, ExternalNamedItem } from '../ExternalBookBindings';
|
|
21
25
|
import { ISymbolRegistry } from '../symbol';
|
|
22
|
-
/**
|
|
23
|
-
* The calculation backend: the engine's store and everything kept in it, and the container its
|
|
24
|
-
* grids, formulas and executor work against (DESIGN-CALC-SERVICE §5).
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* Made by the first `start()` from the loaded engine module, and kept across a stop and a restart.
|
|
28
|
-
* Its history is its own (§13.13): every model commit has a mirror here, a request lands under the
|
|
29
|
-
* model's operation or savepoint it was made in, and a revert names a model commit. The model's ids
|
|
30
|
-
* are known to it through one map, landing to engine commit.
|
|
31
|
-
*
|
|
32
|
-
* What it asks of the calculation that made it is {@link CalcBackend.Callbacks}, and nothing else.
|
|
33
|
-
*/
|
|
34
26
|
export declare class CalcBackend extends AbstractModel<CalcBackend.State> implements IContextContainer {
|
|
35
27
|
protected _callbacks: CalcBackend.Callbacks;
|
|
36
28
|
protected _runtime: IRuntime;
|
|
29
|
+
protected _richData: IRichDataKind.Context;
|
|
37
30
|
protected _symbols: ISymbolRegistry;
|
|
38
31
|
protected _resolvers: FormulaBlockResolvers;
|
|
39
32
|
protected _getSheetIndex: ((sheetName?: string) => number) | null;
|
|
@@ -41,6 +34,8 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
41
34
|
protected _gridOptions: Partial<CalcGridBackend.ConstructorOptions>;
|
|
42
35
|
protected _calculation: ICalculation;
|
|
43
36
|
protected _context: CalculationContext & IFormulaContext;
|
|
37
|
+
/** {@link _context} with no cell, for executors (`IDeferContext.getFormulaContext`); made on first ask. */
|
|
38
|
+
protected _cellFreeContext: (CalculationContext & IFormulaContext) | null;
|
|
44
39
|
protected _calcExecutor: CalcExecutor;
|
|
45
40
|
/** The cache as grids and the cached names as virtual grids — see {@link ExternalBookBindings}. */
|
|
46
41
|
protected _externalBindings: ExternalBookBindings;
|
|
@@ -52,6 +47,7 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
52
47
|
protected _epochSeenPrecedents: ISpatialMap3D<PrecedentSpatialValue> | null;
|
|
53
48
|
protected _epochSeenDynamics: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]> | null;
|
|
54
49
|
protected _volatiles: Set<CalcNode>;
|
|
50
|
+
protected _deferred: DeferredCalls;
|
|
55
51
|
protected _calculatedCommitId: string | null;
|
|
56
52
|
protected _calculatedEngineId: string | null;
|
|
57
53
|
/** The engine holds grids: from a start's boot until a stop. */
|
|
@@ -86,6 +82,8 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
86
82
|
* a load wires every name it holds in one batch.
|
|
87
83
|
*/
|
|
88
84
|
private _recompileNamedPending;
|
|
85
|
+
/** {@link _recompileNamedPending} for a name whose definition has not changed. */
|
|
86
|
+
private _recompileLoadedPending;
|
|
89
87
|
private _invalidateNamedPending;
|
|
90
88
|
constructor(options: CalcBackend.ConstructorOptions);
|
|
91
89
|
/** Initializes the context: the function registry the backend calls through. */
|
|
@@ -94,8 +92,26 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
94
92
|
getContext(): CalculationContext & IFormulaContext;
|
|
95
93
|
/** {@inheritDoc IContextContainer.getRuntime} */
|
|
96
94
|
getRuntime(): IRuntime;
|
|
95
|
+
/** {@inheritDoc IContextContainer.getRichDataContext} */
|
|
96
|
+
getRichDataContext(): IRichDataKind.Context;
|
|
97
97
|
/** {@inheritDoc IContextContainer.getScope} */
|
|
98
98
|
getScope(): CalcScope;
|
|
99
|
+
/** {@inheritDoc IContextContainer.getDeferred} */
|
|
100
|
+
getDeferred(): DeferredCalls;
|
|
101
|
+
protected _settle(): void;
|
|
102
|
+
cancelAsync(cover: true | string | IRange.Coords): Promise<ICalculation.Status> | null;
|
|
103
|
+
/**
|
|
104
|
+
* A call's result as a cell can hold it (`DeferredCalls.Normalize`): an array becomes a range
|
|
105
|
+
* as a body's array return does, a one-cell range its scalar, a jagged array `#VALUE!`.
|
|
106
|
+
*/
|
|
107
|
+
protected _normalizeResult(value: unknown, options?: IFormulaContext.DeferredCall.ResolveOptions): unknown;
|
|
108
|
+
/**
|
|
109
|
+
* The holder at a cell: the engine grid's value there, else the entry of the spill anchored
|
|
110
|
+
* there (an anchor cell holds its first element; the spill's entry carries the holder). `null`
|
|
111
|
+
* for a cell with neither.
|
|
112
|
+
*/
|
|
113
|
+
protected _holderAt(gridId: string, row: number, column: number): AsyncValue<DeferredCall> | null;
|
|
114
|
+
protected _settleNow(): void;
|
|
99
115
|
/** {@inheritDoc IContextContainer.createFormulaBlock} */
|
|
100
116
|
createFormulaBlock(gridId: string, context: IFormulaContext, expression: string, rowIndex: number, colIndex: number, editing?: ICalculation.FormulaTarget, legacyIntersect?: boolean): IFormulaBlock;
|
|
101
117
|
/** {@inheritDoc IContextContainer.getSymbols} */
|
|
@@ -129,6 +145,8 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
129
145
|
setDynamics(map: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>): void;
|
|
130
146
|
/** {@inheritDoc IContextContainer.addDynamicPrecedent} */
|
|
131
147
|
addDynamicPrecedent(node: CalcNode, range: IRange.Coords | undefined, kind: PrecedentKind): void;
|
|
148
|
+
/** {@inheritDoc IContextContainer.evaluateWhatIf} */
|
|
149
|
+
evaluateWhatIf(table: WhatIfTable): Scalar[][];
|
|
132
150
|
/** {@inheritDoc IContextContainer.getVolatiles} */
|
|
133
151
|
getVolatiles(): Set<CalcNode>;
|
|
134
152
|
/** {@inheritDoc IContextContainer.isLegacyIntersect} */
|
|
@@ -209,7 +227,7 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
209
227
|
/** {@inheritDoc IContextContainer.isLoading} */
|
|
210
228
|
isLoading(): boolean;
|
|
211
229
|
/** {@inheritDoc IContextContainer.recompileNamed} */
|
|
212
|
-
recompileNamed(nameId: string): void;
|
|
230
|
+
recompileNamed(nameId: string, loaded?: boolean): void;
|
|
213
231
|
/** {@inheritDoc IContextContainer.invalidateNamed} */
|
|
214
232
|
invalidateNamed(nameId: string): void;
|
|
215
233
|
/** {@inheritDoc IContextContainer.getNamedNodeInfo} */
|
|
@@ -234,6 +252,33 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
234
252
|
* second hop) and the diamond guard both.
|
|
235
253
|
*/
|
|
236
254
|
getNamedDependentNames(nameId: string): ReadonlySet<string>;
|
|
255
|
+
/**
|
|
256
|
+
* What a `nameGraph` request answers: a defined name's precedents or dependents, cells scoped by
|
|
257
|
+
* grid and names as nodes - ONE answer, as a cell's is.
|
|
258
|
+
*
|
|
259
|
+
* @remarks
|
|
260
|
+
* The PRECEDENTS: the cell half is the ordinary precedent graph of the name's grid - a body is a
|
|
261
|
+
* real formula there, and its references registered precedent ranges like any cell's. The name
|
|
262
|
+
* half is the body's `getNamedIds`: apply-at-eval means a name the body reads has no precedent
|
|
263
|
+
* edge, so the symbol list is the only carrier - one hop for `direct`, the downward closure
|
|
264
|
+
* (cycle-guarded) for the deep form, each member contributing its own grid's cell walk. The deep
|
|
265
|
+
* form does not take the symbol hop from UPSTREAM CELLS (`X = A1*2`, `A1 = SomeName`: `A1` is
|
|
266
|
+
* listed and `SomeName`'s inputs are not) - that hop is `A1`'s, one step of a tree walk. A name
|
|
267
|
+
* with no grid (it has not compiled) has nothing to walk.
|
|
268
|
+
*
|
|
269
|
+
* The DEPENDENTS: two graphs meet, and the walk changes vehicles between them. The symbol edge -
|
|
270
|
+
* which formulas mention this name - is not in the precedent spatial at all; it is the symbol
|
|
271
|
+
* index ({@link getNamedDependents}), keyed by the name's id, so the name's own grid is never
|
|
272
|
+
* read: a name that has not compiled is answered as one that has. The cell edge is the precedent
|
|
273
|
+
* graph, which carries everything downstream of those blocks: `direct` is one hop of the first;
|
|
274
|
+
* the deep form takes it, then hands each landing block to its grid. A block on a watch's grid
|
|
275
|
+
* (a conditional format, a validation, a chart) is the cells it is attached to, on the sheet the
|
|
276
|
+
* watch shadows. A block on any other grid that is no sheet is another NAME reading this one: a
|
|
277
|
+
* node, and the deep walk passes THROUGH it on the symbol closure (`getNamedDependentNames`), or
|
|
278
|
+
* `Base`'s dependents would stop at `Plus1`. This name is listed only when a true cycle leads
|
|
279
|
+
* back to it.
|
|
280
|
+
*/
|
|
281
|
+
protected _nameGraphNow(nameId: string, kind: 'precedents' | 'dependents', direct: boolean): ICalcGrid.GraphNeighbors;
|
|
237
282
|
/** A grid of the backend's, registered. */
|
|
238
283
|
createBackendGrid(options?: CalcGridBackend.ConstructorOptions): CalcGridBackend;
|
|
239
284
|
/**
|
|
@@ -267,7 +312,7 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
267
312
|
getExternalNameByScope(name: string, scopeId: string): ExternalNamedItem | null;
|
|
268
313
|
/**
|
|
269
314
|
* Applies one request from the channel: the service's own (`sheets`, `tables`, `names`,
|
|
270
|
-
* `rollback`, `create`) here, a grid's on its grid. A request for a grid the engine does not hold
|
|
315
|
+
* `nameGraph`, `rollback`, `create`) here, a grid's on its grid. A request for a grid the engine does not hold
|
|
271
316
|
* is answered with nothing.
|
|
272
317
|
*
|
|
273
318
|
* @param held The request was held while the engine came up: it lands under the engine's
|
|
@@ -275,28 +320,6 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
275
320
|
* @throws What the grid throws applying it.
|
|
276
321
|
*/
|
|
277
322
|
apply(gridId: string, landingId: string | undefined, request: CalcRequest, held?: boolean): CalcResponse | PromiseLike<CalcResponse>;
|
|
278
|
-
/**
|
|
279
|
-
* Applies what the channel held while the engine came up (DESIGN-CALC-SERVICE §6.3): every
|
|
280
|
-
* grid made first, then a defined name's body, in its own order (`ICalcGrid.BodyOptions.priority`),
|
|
281
|
-
* then the rest in send order. A name must be bound before any formula that mentions it is
|
|
282
|
-
* examined, and each is held behind the create of its own grid.
|
|
283
|
-
*
|
|
284
|
-
* @remarks
|
|
285
|
-
* Every sheet a held `sheets` message adds enters the replica at its end first, under the name it
|
|
286
|
-
* was first listed by: a defined name's body is applied ahead of the seeds and may name a sheet
|
|
287
|
-
* listed while starting. Every table a held `tables` message adds enters the same way, under the
|
|
288
|
-
* name and columns it was first told by: a seed sent ahead of a later sheet's tables compiles a
|
|
289
|
-
* reference to one, and a reference to a table the replica does not hold is refused. The messages
|
|
290
|
-
* themselves still apply in send order, so a seed sent before a rename binds the name it was sent
|
|
291
|
-
* under.
|
|
292
|
-
*
|
|
293
|
-
* A request whose snapshot the model has undone since (`dead`) is answered and not applied,
|
|
294
|
-
* except a grid's `create`.
|
|
295
|
-
*
|
|
296
|
-
* @param wroteWhileOff Something was written while the engine was `Off`: a seed asking for a
|
|
297
|
-
* full pass keeps it. Otherwise its values are the engine's own, or a file's.
|
|
298
|
-
* @returns What each request answered, in the order they were applied.
|
|
299
|
-
*/
|
|
300
323
|
applyHeld(batch: readonly CalcBackend.Held[], wroteWhileOff: boolean): CalcBackend.Applied[];
|
|
301
324
|
/** {@inheritDoc IContextContainer.getHeldCloneKey} */
|
|
302
325
|
getHeldCloneKey(): string | null;
|
|
@@ -407,51 +430,12 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
407
430
|
* {@link _namedTargets} expansion: a name whose body cites the symbol reaches its own readers.
|
|
408
431
|
*
|
|
409
432
|
* Run at a safe point only — it writes inputs.
|
|
410
|
-
*/
|
|
411
|
-
recompileReferencing(changedIds: ReadonlySet<string>): void;
|
|
412
|
-
/**
|
|
413
|
-
* A table's body has changed rows: re-fit the A1 references that spanned it.
|
|
414
|
-
*
|
|
415
|
-
* @remarks
|
|
416
|
-
* Excel treats a reference whose ROWS are exactly a table's body - or run from its header to the
|
|
417
|
-
* body's end - as naming the body, whatever columns of the table it covers, and keeps it on the
|
|
418
|
-
* body however the body's rows change (probed, `probe-table-refit.ps1`): `SUM(B2:B5)` over body
|
|
419
|
-
* rows 2-5 reads `SUM(B2:B6)` after a row is appended, and `SUM(B2:B3)` after a resize gives two
|
|
420
|
-
* up. Relative, absolute or mixed alike, from any sheet, and in anything that holds a reference -
|
|
421
|
-
* a defined name, a table's held totals formula and a condition's formula are blocks too. A
|
|
422
|
-
* reference that only starts or only ends with the body is an ordinary one, and a change of
|
|
423
|
-
* COLUMNS re-fits nothing. A name's relative rows are read from its body's origin, A1, as Excel
|
|
424
|
-
* reads them (`probe-table-refit-relative.ps1`); a shift never moves them, so a row at the top
|
|
425
|
-
* leaves such a name alone.
|
|
426
|
-
*
|
|
427
|
-
* An insert or delete inside the body already leaves such a reference right, so this is asked
|
|
428
|
-
* only for what a shift gets wrong: rows taken or given up at the body's end, and a row inserted
|
|
429
|
-
* at its first row (which pushes the whole reference down).
|
|
430
433
|
*
|
|
431
|
-
*
|
|
432
|
-
*
|
|
433
|
-
*
|
|
434
|
-
*
|
|
435
|
-
* A block is re-fitted cell by cell: only the cells whose reference spans the body are rewritten,
|
|
436
|
-
* which splits them out of the block. An array-entered block is one formula, read at its top-left,
|
|
437
|
-
* and is never split.
|
|
438
|
-
*
|
|
439
|
-
* **A DELIBERATE DIVERGENCE lives here** (Michael, 2026-09-22). Excel asks how the cell was
|
|
440
|
-
* authored, not what it reads: a fully relative reference is left where it is when the cell
|
|
441
|
-
* belongs to a shared-formula group, and re-fitted when it stands alone - so `SUM(B2:B5)` follows
|
|
442
|
-
* the body when it was typed and does not when the same three formulas were filled, and the file
|
|
443
|
-
* carries the difference as `<f t="shared">` (`probe-table-refit-fillhandle.ps1`,
|
|
444
|
-
* `probe-table-refit-roundtrip.ps1`). Here a run is a data-model fact, not an authoring one -
|
|
445
|
-
* cells holding the same formula are conflated whatever made them - so honoring that rule would
|
|
446
|
-
* make a formula follow the body or not depending on what a NEIGHBOR happens to hold, which a
|
|
447
|
-
* user cannot see. Every reference that spans the body is re-fitted, however it was written.
|
|
448
|
-
*
|
|
449
|
-
* @param sheet The sheet the table is on, by id or name.
|
|
450
|
-
* @param columns The table's columns. A reference reaching outside them is an ordinary one.
|
|
451
|
-
* @param match The rows a reference has to span to be one of the body's, as they read NOW.
|
|
452
|
-
* @param headerRow The header's row when a reference from it to `match.rowEnd` also counts.
|
|
453
|
-
* @param to The body's rows now.
|
|
434
|
+
* @param loaded The definitions have not changed (see {@link recompileNamed}). What was loaded
|
|
435
|
+
* with them, and the bodies of other names, only re-derive their precedents: opening a file
|
|
436
|
+
* evaluates what the file marks dirty, and mentioning a name is not a mark.
|
|
454
437
|
*/
|
|
438
|
+
recompileReferencing(changedIds: ReadonlySet<string>, loaded?: boolean): void;
|
|
455
439
|
refitTableRows(sheet: string, columns: {
|
|
456
440
|
colStart: number;
|
|
457
441
|
colEnd: number;
|
|
@@ -475,38 +459,6 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
475
459
|
protected _writeBlockText(fsv: FormulaSpatialValue, text: string, coords?: IRange.Coords): void;
|
|
476
460
|
/** Whether any cell is out of date. */
|
|
477
461
|
hasDirty(): boolean;
|
|
478
|
-
/**
|
|
479
|
-
* Runs one pass over the dirty set (or all of it, or a range of it), and writes what it found
|
|
480
|
-
* into the state.
|
|
481
|
-
*
|
|
482
|
-
* @remarks
|
|
483
|
-
* One recalculation per COMMIT, not per notification of one.
|
|
484
|
-
*
|
|
485
|
-
* `gridId` marks the engine's own reactive pass — `ICalcGrid.calculate()`, which is what an
|
|
486
|
-
* edit schedules (`Sheet.onAfterStateChange`) and what `ready()` runs per dirty grid. An
|
|
487
|
-
* explicit `calculate()` from the API (F9, Shift+F9, a resolved async result) has no `gridId`
|
|
488
|
-
* and is always honored.
|
|
489
|
-
*
|
|
490
|
-
* The reactive pass is skipped only when BOTH halves say there is nothing to do:
|
|
491
|
-
*
|
|
492
|
-
* - the current commit has already had its recalculation. Commits notify their listeners on
|
|
493
|
-
* `setTimeout(0)`, so a script that writes N cells without awaiting queues N dispatchers,
|
|
494
|
-
* none of which run until it yields. By then the store is at the LAST commit and every one
|
|
495
|
-
* of those dispatchers asks for a pass over the same final state — N-1 of them describing
|
|
496
|
-
* work another pass has already done.
|
|
497
|
-
* - nothing is dirty. The dirty set is cumulative and whichever pass runs first consumes all
|
|
498
|
-
* of it, but a seed (`CalcGridBackend._seedNow`) marks dirty without producing a commit of its
|
|
499
|
-
* own, so the commit id alone would strand it.
|
|
500
|
-
*
|
|
501
|
-
* Neither half alone is enough, and the second is emphatically not sufficient: an edit that
|
|
502
|
-
* marks nothing dirty is still a recalculation in Excel, and it is the only thing that re-rolls
|
|
503
|
-
* `RAND`/`NOW` — see the "unrelated edit" case in `graph/volatile.test.ts`.
|
|
504
|
-
*
|
|
505
|
-
* Together they were the whole cost of the round-trip workbook build (`functions-to-xlsx.ts`):
|
|
506
|
-
* 2,594 redundant passes, each re-evaluating every volatile in the workbook and everything
|
|
507
|
-
* downstream of it, for 49,289 of 52,917 total evaluations — 93% of the engine's work, still
|
|
508
|
-
* running six seconds after `ready()` had resolved. See DESIGN-CALC-PASS-GATING.md.
|
|
509
|
-
*/
|
|
510
462
|
runPass(options: ICalculation.CalculateOptions | undefined, pass: CalcBackend.PassOptions): void;
|
|
511
463
|
/** Each grid with cells out of date runs its pass - every grid, when `full`. */
|
|
512
464
|
calculateGrids(full: boolean): Promise<void>;
|
|
@@ -649,9 +601,6 @@ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implem
|
|
|
649
601
|
get [Symbol.toStringTag](): string;
|
|
650
602
|
toString(): string;
|
|
651
603
|
}
|
|
652
|
-
/**
|
|
653
|
-
* Interfaces for creating a {@link CalcBackend}.
|
|
654
|
-
*/
|
|
655
604
|
export declare namespace CalcBackend {
|
|
656
605
|
/**
|
|
657
606
|
* What the backend asks of the calculation that made it: the in-process half of the backend's
|
|
@@ -672,14 +621,15 @@ export declare namespace CalcBackend {
|
|
|
672
621
|
onRestored(): void;
|
|
673
622
|
/** Something was marked out of date: the calculation state may have changed. */
|
|
674
623
|
onDirty(): void;
|
|
624
|
+
/** The count of async calls pending may have changed. */
|
|
625
|
+
onPendingChange(): void;
|
|
675
626
|
/** A replica of tables or names changed: what its symbols resolve to now is reconciled. */
|
|
676
627
|
onSymbolsChanged(kind: 'tables' | 'names'): void;
|
|
677
628
|
/** Runs an action at the calculation's next safe point; a `priority` one ahead of the rest. */
|
|
678
629
|
whenSafe(action: () => Promise<unknown>, priority: boolean): void;
|
|
679
630
|
/** Whether the calculation is loading: draining, or starting. */
|
|
680
631
|
isLoading(): boolean;
|
|
681
|
-
|
|
682
|
-
calculate(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
632
|
+
calculate(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
|
|
683
633
|
/** Owes a reactive pass for `gridId`, run once the current flush is over. */
|
|
684
634
|
owePass(gridId: string): void;
|
|
685
635
|
/** Whether a grid id is a defined name's: its virtual grid's id is the name's. */
|
|
@@ -733,6 +683,8 @@ export declare namespace CalcBackend {
|
|
|
733
683
|
gridId: string;
|
|
734
684
|
/** Evaluates `block` - this one, or a repair of it - at the formula's cell. */
|
|
735
685
|
evaluate(block: IFormulaBlock, evalIndex: number | undefined, alwaysReturnRange: boolean): Scalar | IRange;
|
|
686
|
+
/** The calls the last evaluation made or was served; none when it did not defer. */
|
|
687
|
+
getCalls(): readonly DeferredCall[];
|
|
736
688
|
}
|
|
737
689
|
/** The three replicas, as a start seeds them. */
|
|
738
690
|
interface Replica {
|
|
@@ -750,6 +702,14 @@ export declare namespace CalcBackend {
|
|
|
750
702
|
calcCoords?: IRange.Coords;
|
|
751
703
|
/** The grid whose reactive pass this is; absent for an explicit one. */
|
|
752
704
|
gridId?: string;
|
|
705
|
+
settle?: boolean;
|
|
706
|
+
/**
|
|
707
|
+
* `ICalculation.CalculateOptions.external`: the calls the pass makes fetch past the workbook's
|
|
708
|
+
* cache, to the source.
|
|
709
|
+
*/
|
|
710
|
+
external?: boolean;
|
|
711
|
+
/** The pass a load owes: see `CalcExecutor.ExecuteOptions.load`. */
|
|
712
|
+
load?: boolean;
|
|
753
713
|
/** Iterative calculation's limits, or `null` when it is off. */
|
|
754
714
|
iterate: {
|
|
755
715
|
maxIteration: number;
|
|
@@ -757,6 +717,7 @@ export declare namespace CalcBackend {
|
|
|
757
717
|
} | null;
|
|
758
718
|
/** The model operation open now: what the pass's results are realized under. */
|
|
759
719
|
openOperationId: string | null;
|
|
720
|
+
exceptTables?: boolean;
|
|
760
721
|
}
|
|
761
722
|
interface ConstructorOptions {
|
|
762
723
|
callbacks: Callbacks;
|
|
@@ -778,6 +739,12 @@ export declare namespace CalcBackend {
|
|
|
778
739
|
calculation: ICalculation;
|
|
779
740
|
/** The external books the bindings mirror. */
|
|
780
741
|
books: IExternalBookCollection;
|
|
742
|
+
/** What rich values a formula makes are made for; omitted, made outside any workbook. */
|
|
743
|
+
richData?: IRichDataKind.Context;
|
|
744
|
+
/** What async functions fetch through (`IDeferContext.fetch`); omitted, the global `fetch`. */
|
|
745
|
+
fetch?: (input: string, init?: RequestInit) => Promise<Response>;
|
|
746
|
+
/** How async functions read delimited text (`IDeferContext.parseText`); omitted, it rejects. */
|
|
747
|
+
parseText?: (text: string, options?: IFormulaContext.IDeferContext.ParseTextOptions) => Promise<Scalar[][]>;
|
|
781
748
|
/** The replicas as the owner holds them when the start was asked for. */
|
|
782
749
|
replica?: Replica;
|
|
783
750
|
/** The model's current commit, mirrored first. */
|
|
@@ -822,23 +789,12 @@ export declare namespace CalcBackend {
|
|
|
822
789
|
* All registered grids.
|
|
823
790
|
*/
|
|
824
791
|
gridsAll: Map<string, CalcGridBackend>;
|
|
825
|
-
/**
|
|
826
|
-
* The engine's replica of the model's sheet list (DESIGN-CALC-SERVICE §8): grid id to name, in
|
|
827
|
-
* tab order. What every symbol lookup, span and sheet-position function reads. Fed by the
|
|
828
|
-
* `sheets` message and by grid registration; versioned here so a revert restores it with the
|
|
829
|
-
* formulas that bound through it.
|
|
830
|
-
*/
|
|
831
792
|
sheets: ReadonlyMap<string, string | null>;
|
|
832
793
|
/**
|
|
833
794
|
* The sheets in {@link sheets} that have no grid: chart, macro and dialog sheets. They count in
|
|
834
795
|
* tab order (`SHEETS`, `SHEET`, a span's members) and hold no cells.
|
|
835
796
|
*/
|
|
836
797
|
gridless: ReadonlySet<string>;
|
|
837
|
-
/**
|
|
838
|
-
* The engine's replica of the model's tables (DESIGN-CALC-SERVICE §8): table id to its name and
|
|
839
|
-
* its columns' ids and names. What a structured reference binds and images through. Fed by the
|
|
840
|
-
* `tables` message, seeded at a start, versioned here as {@link sheets} is.
|
|
841
|
-
*/
|
|
842
798
|
tables: ReadonlyMap<string, TableSymbols>;
|
|
843
799
|
/**
|
|
844
800
|
* The engine's replica of the defined names: name id to its spelling and the sheet it is scoped
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The calculation backend's code: what a started engine builds and runs.
|
|
3
|
-
*
|
|
4
|
-
* @remarks
|
|
5
|
-
* `Calculation` reaches every value here through this one module and nothing else, so the facade a
|
|
6
|
-
* workbook constructs carries none of it (DESIGN-CALC-SERVICE §5, §13.25). Types are imported
|
|
7
|
-
* directly; only values belong on this list.
|
|
8
|
-
*/
|
|
9
1
|
export { CalcBackend } from './CalcBackend';
|
|
10
2
|
//# sourceMappingURL=index.d.ts.map
|