@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
|
@@ -23,11 +23,6 @@ export class MetricsTable {
|
|
|
23
23
|
* characters measured on demand after [`Self::fill`].
|
|
24
24
|
*/
|
|
25
25
|
fill_per_em(codepoints: Uint32Array, per_em: Float32Array): void;
|
|
26
|
-
/**
|
|
27
|
-
* Records Excel's row pitch at every integer ppem from `first_ppem`, from a `.rows.json`;
|
|
28
|
-
* `line_pitch` and `wrap` size lines by it from then on. `false` with fewer than two sizes.
|
|
29
|
-
*/
|
|
30
|
-
fill_rows(first_ppem: number, pitches: Uint16Array): boolean;
|
|
31
26
|
/**
|
|
32
27
|
* Whether nothing has been recorded.
|
|
33
28
|
*/
|
|
@@ -36,10 +31,6 @@ export class MetricsTable {
|
|
|
36
31
|
* The number of characters recorded.
|
|
37
32
|
*/
|
|
38
33
|
len(): number;
|
|
39
|
-
/**
|
|
40
|
-
* Excel's row height for this face at `px` pixels per em.
|
|
41
|
-
*/
|
|
42
|
-
line_pitch(px: number): number;
|
|
43
34
|
/**
|
|
44
35
|
* An empty table for a face with these vertical metrics per em (`usWinAscent / unitsPerEm`,
|
|
45
36
|
* `usWinDescent / unitsPerEm`): what the host's own table keeps, whether it came from a
|
|
@@ -51,48 +42,35 @@ export class MetricsTable {
|
|
|
51
42
|
*/
|
|
52
43
|
text_width(text: string, px: number, letter_spacing: number, super_sub: boolean): number;
|
|
53
44
|
/**
|
|
54
|
-
* Wraps `text
|
|
55
|
-
* flat, eight numbers each
|
|
45
|
+
* Wraps `text` in lines `line_height` px tall, the font's box centered in each; `max_width`
|
|
46
|
+
* and `max_height` of zero or less mean none. Returns the lines flat, eight numbers each
|
|
47
|
+
* (`sheetxl_text::wrap::Wrapped::flatten`).
|
|
56
48
|
*
|
|
57
49
|
* Scalars rather than an options object, deliberately: each crosses for free, an object
|
|
58
50
|
* would be marshalled.
|
|
59
51
|
*/
|
|
60
|
-
wrap(text: string, px: number, max_width: number, max_height: number, indent: number, letter_spacing: number, super_sub: boolean): Float32Array;
|
|
52
|
+
wrap(text: string, px: number, line_height: number, max_width: number, max_height: number, indent: number, letter_spacing: number, super_sub: boolean): Float32Array;
|
|
61
53
|
}
|
|
62
54
|
|
|
63
|
-
/**
|
|
64
|
-
* The alphabetic baseline's offset from the top of a line box of [`line_pitch`] height.
|
|
65
|
-
*/
|
|
66
|
-
export function baseline(ascent: number, descent: number): number;
|
|
67
|
-
|
|
68
55
|
/**
|
|
69
56
|
* The number of Unicode scalar values in `text` (not `text.length`, which counts UTF-16 units).
|
|
70
57
|
*/
|
|
71
58
|
export function char_count(text: string): number;
|
|
72
59
|
|
|
73
|
-
/**
|
|
74
|
-
* Excel's line pitch for a font: `ascent + descent + 2`, in whole pixels.
|
|
75
|
-
*/
|
|
76
|
-
export function line_pitch(ascent: number, descent: number): number;
|
|
77
|
-
|
|
78
60
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
79
61
|
|
|
80
62
|
export interface InitOutput {
|
|
81
63
|
readonly memory: WebAssembly.Memory;
|
|
82
64
|
readonly __wbg_metricstable_free: (a: number, b: number) => void;
|
|
83
|
-
readonly baseline: (a: number, b: number) => number;
|
|
84
65
|
readonly char_count: (a: number, b: number) => number;
|
|
85
|
-
readonly line_pitch: (a: number, b: number) => number;
|
|
86
66
|
readonly metricstable_fill: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
87
67
|
readonly metricstable_fill_hinting: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
88
68
|
readonly metricstable_fill_per_em: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
89
|
-
readonly metricstable_fill_rows: (a: number, b: number, c: number, d: number) => number;
|
|
90
69
|
readonly metricstable_is_empty: (a: number) => number;
|
|
91
70
|
readonly metricstable_len: (a: number) => number;
|
|
92
|
-
readonly metricstable_line_pitch: (a: number, b: number) => number;
|
|
93
71
|
readonly metricstable_new: (a: number, b: number) => number;
|
|
94
72
|
readonly metricstable_text_width: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
95
|
-
readonly metricstable_wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
73
|
+
readonly metricstable_wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
96
74
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
97
75
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
98
76
|
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
@@ -94,6 +94,14 @@ export declare function stringToCoordsArray(str: string, defaultRange: Readonly<
|
|
|
94
94
|
export declare function coordsArrayToStringArray(coords: readonly (Partial<IRange.Coords | IRange.CellCoords> | string)[], defaultRange?: Readonly<IRange.Coords>, toStringRange?: RangeToString, //fixableRangeToString,
|
|
95
95
|
toStringCell?: CellToString, r1c1?: boolean): string[] | null;
|
|
96
96
|
export declare function coordsArrayToString(coords: readonly (Partial<IRange.Coords | IRange.CellCoords> | string)[], defaultRange?: Readonly<IRange.Coords>, toStringRange?: RangeToString, toStringCell?: CellToString, r1c1?: boolean): string;
|
|
97
|
+
/**
|
|
98
|
+
* Reads the arguments of `getRange(rowStart, colStart, rowEnd, colEnd)`: zero-based, ends inclusive.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* Left out of the declarations on purpose. There is one documented way to say this, the coords
|
|
102
|
+
* object; this is for scripts that guess, which should get the range they meant, or an error.
|
|
103
|
+
*/
|
|
104
|
+
export declare function indexesToCoords(args: ArrayLike<unknown>): IRange.Coords;
|
|
97
105
|
export declare function rangesAddressToRangesCoords<R extends IRange.Coords = IRange.Coords, C extends IRange.CellCoords = IRange.CellCoords>(address: ICellRanges.Address | ICell.Address, defaultRange: Readonly<R>, toRange?: StringToRange, onNoParse?: (coord: Partial<C | R> | string) => readonly R[], allowR1C1?: boolean): R[];
|
|
98
106
|
/** `Fast` just scans through each character. */
|
|
99
107
|
export declare function fastStringToCell(address: string, reuse?: IRange.CellCoords): IRange.CellCoords | undefined;
|
|
@@ -3,9 +3,9 @@ import { ICell } from '../cell';
|
|
|
3
3
|
import { ISpatialMap, ISpatialQuery } from '../collections';
|
|
4
4
|
import { ICellStyle, IStyleCollection } from '../style';
|
|
5
5
|
import { IProperties } from '../type';
|
|
6
|
-
import { IWorksheet } from '
|
|
7
|
-
import { IgnoredErrors } from '
|
|
8
|
-
import { CellKind } from '
|
|
6
|
+
import { IWorksheet } from '../sheet/IWorksheet';
|
|
7
|
+
import { IgnoredErrors } from '../sheet/_IgnoredErrors';
|
|
8
|
+
import { CellKind } from '../sheet/_Kinds';
|
|
9
9
|
/**
|
|
10
10
|
* The findings at a cell, interned per map: equal findings are one object, in rank order, so a
|
|
11
11
|
* region's payload identity is its content and the fragments of one finding regroup.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IRange } from '@sheetxl/primitives';
|
|
2
2
|
import { ICalculation } from '../calculation';
|
|
3
3
|
import { SpatialMap } from '../collections';
|
|
4
|
-
import { IWorksheet } from '
|
|
4
|
+
import { IWorksheet } from '../sheet/IWorksheet';
|
|
5
5
|
import { AnomalySource, FormulaRegion, RoleSource, _Findings } from './_Anomalies';
|
|
6
6
|
type Node = ICalculation.FormulaNode;
|
|
7
7
|
type Rect = IRange.Coords;
|
|
@@ -53,6 +53,14 @@ export declare function checkLookupShape(source: AnomalySource, regions: readonl
|
|
|
53
53
|
* a converter wrapped as unknown (`_XLUDF.`, `'udf'`).
|
|
54
54
|
*/
|
|
55
55
|
export declare function checkExternalReference(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
|
|
56
|
+
/**
|
|
57
|
+
* `errorConstant`: a formula that is only an error value — `=#DIV/0!`, `=#REF!`. Nobody types
|
|
58
|
+
* one; it is what a converter leaves when it drops the formula that computed the error. When the
|
|
59
|
+
* block sits against a data table (`=TABLE(…)`) that spills less than the block covers,
|
|
60
|
+
* `dataTable` names the table's anchor and `extent` the rectangle the two cover together: the
|
|
61
|
+
* table's results were replaced by constants.
|
|
62
|
+
*/
|
|
63
|
+
export declare function checkErrorConstant(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
|
|
56
64
|
/** One term of a sum: a reference, added (`1`) or taken away (`-1`). */
|
|
57
65
|
export interface Leaf {
|
|
58
66
|
readonly node: Node;
|
|
@@ -122,4 +130,4 @@ export interface Resolved {
|
|
|
122
130
|
/** Where a cell or range reference lands when its formula sits at `at`; `null` for anything else. @internal */
|
|
123
131
|
export declare function resolve(node: Node, at: At, own: string): Resolved | null;
|
|
124
132
|
export {};
|
|
125
|
-
//# sourceMappingURL=
|
|
133
|
+
//# sourceMappingURL=_FormulaChecks.d.ts.map
|
|
@@ -18,4 +18,4 @@ export declare function checkKeyLabelMismatch(source: AnomalySource, regions: re
|
|
|
18
18
|
* other sign — `=-'Debt'!C20` where two other links read `='Debt'!D20`, `='Debt'!E20`.
|
|
19
19
|
*/
|
|
20
20
|
export declare function checkSignVsSiblings(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=_LabelChecks.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AnomalySource, FormulaRegion, _Findings } from './_Anomalies';
|
|
2
|
+
/**
|
|
3
|
+
* `literalMatchesInput`: a number typed into a formula that equals a typed number on the sheet no
|
|
4
|
+
* formula reads — `=(-0.595*J19)` with `0.595` in J52, which nothing reads. The reference the
|
|
5
|
+
* literal replaced is what left the input unread, so an unread input is the signal; a literal
|
|
6
|
+
* matching an input something still reads is the formula's own constant.
|
|
7
|
+
*
|
|
8
|
+
* Small counts, calendar periods and powers of ten never fire (`isConventional`). The nearest
|
|
9
|
+
* occurrence is the evidence, with its label when it has one, and `matches`, the places the value
|
|
10
|
+
* is typed, scales the rank down: a value typed all over a data block is a weak witness.
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkLiteralMatchesInput(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
|
|
13
|
+
/**
|
|
14
|
+
* `constantFrequency`: every constant a formula types — a number, a string, a boolean — as a
|
|
15
|
+
* finding of its own, with how often the workbook types it. A model's conventions are typed many
|
|
16
|
+
* times (`/365` in every days line, `"Total"` in every lookup); a value typed once, or a unit typed
|
|
17
|
+
* in two rows where the workbook types another in twenty, is the exception to read first. The
|
|
18
|
+
* count is the second pass's: it adds `uses` and `of` and divides the rank by `uses`, so nothing is
|
|
19
|
+
* cut and a convention lists last. A number keys without its sign, so `-0.595` and `0.595` are one
|
|
20
|
+
* constant.
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkConstantFrequency(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
|
|
23
|
+
/**
|
|
24
|
+
* `twinBlockDivergence`: twin formulas that differ in a typed number — the formulas on the sheet
|
|
25
|
+
* with the same shape once references, literals and signs are set aside. `($D136/100)` in one
|
|
26
|
+
* tranche where the next has `($D145/10000)`; `*(1/360)` beside `*(1/365)`. Every side of a
|
|
27
|
+
* divergence fires, naming the other side's value and a twin that carries it: two planted rows can
|
|
28
|
+
* outvote the one that is right, and which literal the business meant is the reader's call. The
|
|
29
|
+
* side fewer twins carry ranks higher, by `twins / (twins + its own count)`.
|
|
30
|
+
*
|
|
31
|
+
* Only a unit pair compares (`isUnitPair`). A position whose values are spread with no plurality
|
|
32
|
+
* carries no convention and says nothing.
|
|
33
|
+
*/
|
|
34
|
+
export declare function checkTwinBlockDivergence(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
|
|
35
|
+
//# sourceMappingURL=_LiteralChecks.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AnomalySource, _Findings } from './_Anomalies';
|
|
2
|
+
/**
|
|
3
|
+
* `scaleOutlier`: a typed percent a hundred times or more off the typical value of the sheet's
|
|
4
|
+
* typed percents — `30` in a percent cell where the others are around `0.4`: a 30% rate typed as a
|
|
5
|
+
* whole number, which shows as 3000%. The typical value is the median of the sheet's typed
|
|
6
|
+
* percents; `times`, the power of ten the value is off by, is the evidence, with the median and
|
|
7
|
+
* how many numbers it is taken over.
|
|
8
|
+
*
|
|
9
|
+
* Read for percents only today: a percent has a scale the format states, so a value off it is a
|
|
10
|
+
* unit fact rather than a large line item.
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkScaleOutlier(source: AnomalySource, findings: _Findings): void;
|
|
13
|
+
//# sourceMappingURL=_SeriesChecks.d.ts.map
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
1
|
+
import { IRange, IFormulaContext, IFunction, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { IListener } from '../listener';
|
|
3
3
|
import { FunctionProvider } from '@sheetxl/scripting';
|
|
4
4
|
import { AbstractModel, IModel } from '../model';
|
|
5
5
|
import { ITransaction } from '../transaction';
|
|
6
6
|
import { IStringCollection } from '../string';
|
|
7
|
+
import { IResourceCollection } from '../resource';
|
|
7
8
|
import { IFunctionCollection } from '../scripting';
|
|
8
9
|
import { INamed, INamedCollection } from '../named';
|
|
9
10
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
@@ -26,7 +27,6 @@ import { INamedFormulasCollection } from './INamedFormulasCollection';
|
|
|
26
27
|
export declare class Calculation extends AbstractModel<AbstractModel.State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
|
|
27
28
|
protected _backend: CalcBackend | null;
|
|
28
29
|
protected _startReplica: CalcBackend.Replica | null;
|
|
29
|
-
/** The symbols formulas bind through (DESIGN-CALC-SERVICE §8): the model's, handed to the backend. */
|
|
30
30
|
protected _symbols: ISymbolRegistry;
|
|
31
31
|
protected _status: ICalculation.Status;
|
|
32
32
|
protected _statusTransition: Promise<void> | null;
|
|
@@ -44,12 +44,12 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
44
44
|
protected _engineModule: typeof import('./engine') | null;
|
|
45
45
|
protected _planCache: 'off' | 'assert' | 'on' | null;
|
|
46
46
|
protected _getActiveCell: () => IRange.CellCoords | null;
|
|
47
|
+
protected _startFunctions: (() => Promise<readonly IFunction[]>) | null;
|
|
47
48
|
protected _getRange: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
|
|
48
49
|
protected _getRanges: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
|
|
49
50
|
/** The current handle of every formula host's grid, by grid id. */
|
|
50
51
|
protected _formulaHosts: Map<string, FormulaHost>;
|
|
51
52
|
protected _modelStore: ITransaction.IStore | null;
|
|
52
|
-
/** The model-side grids, by grid id (DESIGN-CALC-SERVICE §13.23): what a copy lands on, what a start seeds from. */
|
|
53
53
|
protected readonly _fronts: Map<string, CalcGrid>;
|
|
54
54
|
/** What each model grid is, for the `create` a start sends for it (its size is read then). */
|
|
55
55
|
protected readonly _gridSpecs: Map<string, CalcGridSpec>;
|
|
@@ -80,6 +80,12 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
80
80
|
/** `ready()` calls waiting for work in flight to end: woken on every check. */
|
|
81
81
|
protected _calculationStateWaiters: (() => void)[] | null;
|
|
82
82
|
protected _bootFull: boolean;
|
|
83
|
+
/** The full boot pass is the load's own, not one a caller asked for: see {@link _calculateForLoad}. */
|
|
84
|
+
protected _bootFullForLoad: boolean;
|
|
85
|
+
/** Something was edited ahead of the boot pass, so what a cell was saved with may be out of date. */
|
|
86
|
+
protected _bootEdited: boolean;
|
|
87
|
+
/** The next pass is the one a load owes: see `CalcExecutor.ExecuteOptions.load`. */
|
|
88
|
+
protected _passForLoad: boolean;
|
|
83
89
|
/** Consumer work not yet settled: see {@link waitUntil}. */
|
|
84
90
|
protected _consumerWork: number;
|
|
85
91
|
protected _bootExplicit: boolean;
|
|
@@ -211,11 +217,6 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
211
217
|
* only inside a calculation. The drain is a safe point, not a synchronization point.
|
|
212
218
|
*/
|
|
213
219
|
_whenSafe(action: () => Promise<unknown>, priority?: boolean): void;
|
|
214
|
-
/**
|
|
215
|
-
* Sends a grid request through the channel (DESIGN-CALC-SERVICE §4): applied now on a `Running`
|
|
216
|
-
* engine, held in send order while `Starting`, and neither recorded nor sent on an `Off` one -
|
|
217
|
-
* the caller's own view is the truth there, and a start is seeded from it.
|
|
218
|
-
*/
|
|
219
220
|
protected _sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
|
|
220
221
|
protected _sendRequestNow(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<CalcResponse>;
|
|
221
222
|
/** Re-judges every held request: `dead` is what `isDead` answers for it now. */
|
|
@@ -241,41 +242,7 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
241
242
|
* batch is the engine's answer to what the model already holds.
|
|
242
243
|
*/
|
|
243
244
|
protected _underOneModelOperation<R>(batch: () => R): R;
|
|
244
|
-
/**
|
|
245
|
-
* @internal
|
|
246
|
-
* Resolves once the engine can compile: at once when `Running`; when the batch has applied the
|
|
247
|
-
* seeds, ahead of the boot pass, while `Starting`; and, when `Off`, once something else starts
|
|
248
|
-
* it. It never starts the engine itself.
|
|
249
|
-
*
|
|
250
|
-
* @remarks
|
|
251
|
-
* What an owner that registers a formula asynchronously waits on (a condition formula's
|
|
252
|
-
* evaluation). Waiting on {@link ready} instead resolves after the boot pass, and the
|
|
253
|
-
* registration then costs a pass of its own (design §6.5: a boot owes one).
|
|
254
|
-
*
|
|
255
|
-
* An `Off` engine stays off (DESIGN-CALC-ON-LOAD: under `calcOnLoad: 'none'` a read starts
|
|
256
|
-
* nothing, and a conditional format or data validation evaluating on load is a read). Starting it
|
|
257
|
-
* here ran the boot pass, and the pass moved cached values — every volatile, every iterating
|
|
258
|
-
* cycle — in a workbook that was only being opened and saved. The waiter is released by the
|
|
259
|
-
* start the first mutation (or an explicit calculation) makes, and by {@link close}.
|
|
260
|
-
*/
|
|
261
245
|
_whenCanCompile(): Promise<void>;
|
|
262
|
-
/**
|
|
263
|
-
* The start batch (DESIGN-CALC-SERVICE §6.3), in the order the service owns: service-level
|
|
264
|
-
* content first (the names, wired from the priority queue), then the channel in send order
|
|
265
|
-
* (every seed and every request made while the engine was coming up), then the owners that
|
|
266
|
-
* hold a formula of their own (a host whose grid lost its body writes it again; a watch held for
|
|
267
|
-
* the engine registers inside `onReady`), then the one pass the boot owes.
|
|
268
|
-
*
|
|
269
|
-
* @remarks
|
|
270
|
-
* `isLoading()` holds for the whole batch, so a grid seeded here owes its pass rather than
|
|
271
|
-
* running one against siblings not yet seeded. The pass itself runs on a task of its own
|
|
272
|
-
* ({@link _runBoot}): a consumer whose registration chains through promises resolved here (a
|
|
273
|
-
* data validation's, a conditional format's) lands ahead of it, and N of them cost one pass.
|
|
274
|
-
*
|
|
275
|
-
* A held request lands under the engine's current commit: the snapshot it named has been
|
|
276
|
-
* mirrored already, so its writes belong to the tip, and the maps are versioned under that key.
|
|
277
|
-
* One whose snapshot the model has undone since is skipped.
|
|
278
|
-
*/
|
|
279
246
|
protected _boot(): Promise<void>;
|
|
280
247
|
/**
|
|
281
248
|
* Posts the boot pass on a task of its own, and answers the promise `start()`, `ready()` and a
|
|
@@ -284,6 +251,13 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
284
251
|
protected _scheduleBoot(): Promise<void>;
|
|
285
252
|
/** The boot pass: what the batch, and the consumers that registered since, owe - once. */
|
|
286
253
|
protected _runBoot(): Promise<void>;
|
|
254
|
+
/**
|
|
255
|
+
* The full pass a load owes: a file that asks for one, or one whose `calcId` says it needs one.
|
|
256
|
+
* It evaluates what the file holds without reaching for anything outside the workbook, where a
|
|
257
|
+
* full calculation a caller asks for does.
|
|
258
|
+
* @internal
|
|
259
|
+
*/
|
|
260
|
+
_calculateForLoad(): Promise<ICalculation.Status>;
|
|
287
261
|
/**
|
|
288
262
|
* Posts a microtask drain, if one is not already coming.
|
|
289
263
|
*
|
|
@@ -363,6 +337,14 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
363
337
|
* read returns the raw text instead (`use-signs.test.ts`).
|
|
364
338
|
*/
|
|
365
339
|
protected _drainPending(priorityOnly?: boolean): Promise<void>;
|
|
340
|
+
/** @inheritdoc ICalculation.getPendingCount */
|
|
341
|
+
getPendingCount(): number;
|
|
342
|
+
/** @inheritdoc ICalculation.whenPendingDone */
|
|
343
|
+
whenPendingDone(options?: {
|
|
344
|
+
timeout?: number;
|
|
345
|
+
}): Promise<boolean>;
|
|
346
|
+
/** @inheritdoc ICalculation.cancelAsync */
|
|
347
|
+
cancelAsync(options?: ICalculation.CancelOptions): Promise<ICalculation.Status>;
|
|
366
348
|
/** @inheritdoc ICalculation.calculate */
|
|
367
349
|
calculate(options?: ICalculation.CalculateOptions | boolean): Promise<ICalculation.Status>;
|
|
368
350
|
/**
|
|
@@ -372,10 +354,10 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
372
354
|
* successful one (the tail simply fell off the end), and two call sites cast the result
|
|
373
355
|
* to `Status` to satisfy {@link ICalculation.calculate}.
|
|
374
356
|
*/
|
|
375
|
-
protected _calculate(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
357
|
+
protected _calculate(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
|
|
376
358
|
/** A pass, counted while it runs: what the calculation state reads as a pass in flight. */
|
|
377
|
-
protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
378
|
-
protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
|
|
359
|
+
protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
|
|
360
|
+
protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
|
|
379
361
|
/**
|
|
380
362
|
* The model commit the last pass recalculated for, `null` before the first: what a sheet
|
|
381
363
|
* realizing the pass's results amends them into.
|
|
@@ -434,14 +416,6 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
434
416
|
* @internal
|
|
435
417
|
*/
|
|
436
418
|
protected _evaluateOver(options: Calculation.EvaluateOverOptions): Promise<IRange>;
|
|
437
|
-
/**
|
|
438
|
-
* A grid for a model to hold (DESIGN-CALC-SERVICE §13.23): the synchronous half, versioned in
|
|
439
|
-
* the model's store, forwarding every verb as a request. The engine's grid is made by the
|
|
440
|
-
* grid's first request, `create`, which an `Off` engine drops: a start makes it then, from this
|
|
441
|
-
* one. What the engine pushes reaches the owner through the grid's events. It opens empty: the
|
|
442
|
-
* owner attaches its listeners, then seeds it.
|
|
443
|
-
* @internal
|
|
444
|
-
*/
|
|
445
419
|
_createCalcGrid(options: Calculation.CalcGridOptions): CalcGrid;
|
|
446
420
|
/** What a `create` for a model grid carries: its description. */
|
|
447
421
|
protected _specOf(front: CalcGrid): CalcGridSpec;
|
|
@@ -480,20 +454,6 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
480
454
|
protected _heldSheets(): Calculation.SheetList['sheets'];
|
|
481
455
|
/** One sheet of {@link _heldSheets} by its grid id, or `undefined` for a grid that is no sheet. */
|
|
482
456
|
protected _heldSheetAt(id: string): Calculation.SheetList['sheets'][number] | undefined;
|
|
483
|
-
/**
|
|
484
|
-
* The owner's sheet list as it is now: every sheet's grid id and name, in tab order, hidden ones
|
|
485
|
-
* included (DESIGN-CALC-SERVICE §8). The owner calls this whenever its list changes - a sheet
|
|
486
|
-
* added, deleted, moved, copied or renamed - and before any grid that names a sheet in it
|
|
487
|
-
* seeds. Not on a restore: this record is restored with the owner's own, and the engine's
|
|
488
|
-
* replica with the engine's store.
|
|
489
|
-
*
|
|
490
|
-
* @remarks
|
|
491
|
-
* Held in the caller's operation (folded into the current commit when none is open) and sent
|
|
492
|
-
* to the engine as one `sheets` message: applied at once on a `Running` engine, held in order
|
|
493
|
-
* while `Starting`. An `Off` engine is told nothing; its next start seeds the replica from this
|
|
494
|
-
* record, and owes a full pass only when a sheet already listed was renamed, moved or removed.
|
|
495
|
-
* @internal
|
|
496
|
-
*/
|
|
497
457
|
_setSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
|
|
498
458
|
/**
|
|
499
459
|
* Compiles every loaded name whose text mentions the sheet, ahead of a change a compiled body
|
|
@@ -520,13 +480,17 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
520
480
|
* @internal
|
|
521
481
|
*/
|
|
522
482
|
_tableChanged(table: ITable, removed: boolean): void;
|
|
523
|
-
/**
|
|
524
|
-
protected _nameWritten(written: NamedFormulaCollection.NamesWritten): void;
|
|
483
|
+
/** Names written, as {@link _tableChanged} tells a table: one message for a batch. */
|
|
484
|
+
protected _nameWritten(written: readonly NamedFormulaCollection.NamesWritten[]): void;
|
|
485
|
+
/** {@link _sendSymbolChanges} for one change. */
|
|
486
|
+
protected _sendSymbolChange<T>(kind: 'tables' | 'names', id: string, entry: T | null, same: (a: T | null | undefined, b: T | null) => boolean): void;
|
|
525
487
|
/**
|
|
526
|
-
*
|
|
527
|
-
*
|
|
488
|
+
* Changes to a replica, as messages: sent to a `Starting` engine as they are (the channel holds
|
|
489
|
+
* them in order), and to a `Running` one only where the replica does not already say so, as ONE
|
|
490
|
+
* message - the replica is rebuilt and reconciled once per message, over every symbol, so a batch
|
|
491
|
+
* told a symbol at a time costs the square of its size.
|
|
528
492
|
*/
|
|
529
|
-
protected
|
|
493
|
+
protected _sendSymbolChanges<T>(kind: 'tables' | 'names', changes: readonly (readonly [string, T | null])[], same: (a: T | null | undefined, b: T | null) => boolean): void;
|
|
530
494
|
/**
|
|
531
495
|
* While `Starting`: per kind, the held symbol message a new symbol of that kind joins, and the
|
|
532
496
|
* ids every message of the start has told. Dropped with the channel - see {@link _sendSymbolChange}.
|
|
@@ -561,18 +525,7 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
|
|
|
561
525
|
_replicaNameId(name: string, scope: string | null | undefined): string | undefined;
|
|
562
526
|
/** See {@link _modelSymbols}. */
|
|
563
527
|
protected _modelSymbolRegistry: ISymbolRegistry;
|
|
564
|
-
/**
|
|
565
|
-
* The model's symbol map (DESIGN-CALC-SERVICE §8): what the facade images the engine's records
|
|
566
|
-
* against. Sheets answer from the model's live list; the rest from the engine's providers.
|
|
567
|
-
* @internal
|
|
568
|
-
*/
|
|
569
528
|
_modelSymbols(): ISymbolRegistry;
|
|
570
|
-
/**
|
|
571
|
-
* What images a grid's records for the model (DESIGN-CALC-SERVICE §8): the model's symbol map,
|
|
572
|
-
* the grid as home scope, its bounds and the reader's locale, both read live so a rename or a
|
|
573
|
-
* locale switch shows without a recompile.
|
|
574
|
-
* @internal
|
|
575
|
-
*/
|
|
576
529
|
_imagerFor(gridId: string): FormulaImager;
|
|
577
530
|
/** Every sheet's grid id in tab order, from the replica. */
|
|
578
531
|
protected _sheetIds(): readonly string[];
|
|
@@ -729,6 +682,8 @@ export declare namespace Calculation {
|
|
|
729
682
|
authoredAt: IRange.CellCoords;
|
|
730
683
|
/** Each cell of the block is its own 1x1 array-entered formula. See {@link ICalculation.EvaluateOptions.arrayFirstCell}. */
|
|
731
684
|
arrayFirstCell?: boolean;
|
|
685
|
+
/** How long to wait for the cells' async calls. See {@link ICalculation.EvaluateOptions.timeout}. */
|
|
686
|
+
timeout?: number;
|
|
732
687
|
}
|
|
733
688
|
/** See {@link Calculation._createFormulaHost}. */
|
|
734
689
|
interface FormulaHostOptions {
|
|
@@ -789,6 +744,15 @@ export declare namespace Calculation {
|
|
|
789
744
|
* @see {@link FunctionProvider}
|
|
790
745
|
*/
|
|
791
746
|
functions?: readonly FunctionProvider[];
|
|
747
|
+
/**
|
|
748
|
+
* Custom functions to register at every start, ahead of the first pass: a workbook's script
|
|
749
|
+
* functions, so a formula calling one calculates on load rather than answering `#NAME?`.
|
|
750
|
+
*
|
|
751
|
+
* @remarks
|
|
752
|
+
* Asked once per start, alongside loading the engine. A function the registry refuses (a
|
|
753
|
+
* built-in's name) is reported and skipped; the start goes on with the rest.
|
|
754
|
+
*/
|
|
755
|
+
startFunctions?: () => Promise<readonly IFunction[]>;
|
|
792
756
|
/**
|
|
793
757
|
* Returns the active cell — the current selection anchor — with its sheet id as `scope`.
|
|
794
758
|
* Supplies the default scope for temporary / named-formula resolution, and the default
|
|
@@ -831,21 +795,24 @@ export declare namespace Calculation {
|
|
|
831
795
|
names?: INamed.JSON[];
|
|
832
796
|
getRanges?: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
|
|
833
797
|
getRange?: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
|
|
834
|
-
/**
|
|
835
|
-
* Builds ONE `ICellRanges` graph answer out of cell coords plus defined-name nodes.
|
|
836
|
-
*
|
|
837
|
-
* @internal
|
|
838
|
-
*
|
|
839
|
-
* @remarks
|
|
840
|
-
* The seam that keeps the layers apart: the calculation layer knows WHICH names belong in a
|
|
841
|
-
* precedents/dependents answer, the range layer knows how a name rides in one (an anchored
|
|
842
|
-
* `INamedRange` — see DESIGN-NAMED-FORMULAS.md §4). Structural like `getRange`/`getRanges`,
|
|
843
|
-
* and like them supplied by the workbook. Without it, graph answers fall back to cells only.
|
|
844
|
-
*/
|
|
845
798
|
createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly NamedNodeInfo[]) => ICellRanges | null;
|
|
846
799
|
getSheetIndex?: (sheetName?: string) => number;
|
|
847
800
|
getSheetCount?: () => number;
|
|
848
801
|
strings?: IStringCollection;
|
|
802
|
+
/**
|
|
803
|
+
* The workbook's binary resources (image bytes), for rich values a formula makes.
|
|
804
|
+
*/
|
|
805
|
+
resources?: IResourceCollection;
|
|
806
|
+
/**
|
|
807
|
+
* The workbook's fetch, for async functions (`IFormulaContext.IDeferContext.fetch`). Omitted,
|
|
808
|
+
* the global `fetch`.
|
|
809
|
+
*/
|
|
810
|
+
fetch?: (input: string, init?: RequestInit) => Promise<Response>;
|
|
811
|
+
/**
|
|
812
|
+
* How async functions read delimited text (`IFormulaContext.IDeferContext.parseText`), as the
|
|
813
|
+
* workbook reads typed entry. Omitted, it rejects.
|
|
814
|
+
*/
|
|
815
|
+
parseText?: (text: string, options?: IFormulaContext.IDeferContext.ParseTextOptions) => Promise<Scalar[][]>;
|
|
849
816
|
/**
|
|
850
817
|
* Whether to perform iterative calculations when there are circular dependencies.
|
|
851
818
|
*
|
|
@@ -869,10 +836,6 @@ export declare namespace Calculation {
|
|
|
869
836
|
/**
|
|
870
837
|
* Transaction State for Calculation
|
|
871
838
|
*/
|
|
872
|
-
/**
|
|
873
|
-
* A grid request the channel holds while the engine is `Starting` (DESIGN-CALC-SERVICE §4): the
|
|
874
|
-
* request as data, the snapshot it names, and the caller's continuation.
|
|
875
|
-
*/
|
|
876
839
|
interface HeldRequest {
|
|
877
840
|
gridId: string;
|
|
878
841
|
request: CalcRequest;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Scalar } from '@sheetxl/primitives';
|
|
2
|
-
import { ICell } from '../cell';
|
|
3
2
|
import { Tuple } from '../collections';
|
|
4
3
|
import { IExternalBookCollection } from '../externalBook';
|
|
5
4
|
import { CalcGridBackend, FormulaHost } from './grid';
|
|
@@ -20,32 +19,6 @@ export interface ExternalNamedItem {
|
|
|
20
19
|
/** The cached body as written; replaced in place when a refresh changes it. */
|
|
21
20
|
refersTo: string;
|
|
22
21
|
}
|
|
23
|
-
/**
|
|
24
|
-
* What an external book's cache is to the engine: one read-only grid per sheet, and one virtual
|
|
25
|
-
* grid per cached defined name — reconciled against the collection on every change.
|
|
26
|
-
*
|
|
27
|
-
* @remarks
|
|
28
|
-
* DESIGN-EXTERNAL-LINKS §5 steps 15 and 16. The measured rule (§6 items 1 and 2) is that an
|
|
29
|
-
* external cell the cache does not hold is a BLANK CELL, so a sheet's grid is simply the sparse
|
|
30
|
-
* cache loaded at its real coordinates with the ordinary sheet extent: every cell it does not hold
|
|
31
|
-
* is already empty, and a whole-column citation walks the cache's used cells like any sheet's.
|
|
32
|
-
* A sheet with no cache at all gets an empty grid for the same reason — Excel answers blank there
|
|
33
|
-
* too, and the alternative (`#REF!`) is the value damage this phase exists to remove.
|
|
34
|
-
*
|
|
35
|
-
* Grids are keyed by the `ext:` stable id the sheet symbol binds to, so `container.getGrid(scope)`
|
|
36
|
-
* finds them with no change to the executor. A book's removal unregisters its grids WITHOUT the
|
|
37
|
-
* `delete()` a dropped sheet gets: a citation keeps the slot's id and computes `#REF!`, and an undo,
|
|
38
|
-
* which restores the slot with its id, rebuilds the grids and heals it (see
|
|
39
|
-
* `IExternalBook.delete`).
|
|
40
|
-
*
|
|
41
|
-
* A cached name's body is compiled INSIDE the book (`SheetCtx.book`), so `'Alpha'!$A$1` names the
|
|
42
|
-
* book's sheet; a bare reference anchors to the scoping sheet, else the book's first. A name is
|
|
43
|
-
* found under exactly the scope it was cached with — Excel flattens a sheet-scoped source name
|
|
44
|
-
* into the book's namespace on caching and then answers `#NAME?` to the sheet-qualified citation
|
|
45
|
-
* of it (measured 2026-09-11, `externalLinksNames.xlsx` + `probe-external-names-recalc.ps1`:
|
|
46
|
-
* `'Data Sheet'!Local` is cached with no `sheetId`, and `'[1]Data Sheet'!Local` rebuilds to
|
|
47
|
-
* `#NAME?` with the source absent), so there is no sheet-to-book fallback here.
|
|
48
|
-
*/
|
|
49
22
|
export declare class ExternalBookBindings {
|
|
50
23
|
private readonly _options;
|
|
51
24
|
/** Every registered name, by the provider's key: `<scopeId>::<lowercase name>`. */
|
|
@@ -87,11 +60,11 @@ export declare class ExternalBookBindings {
|
|
|
87
60
|
* column-major scalar tuples a `CalcGridBackend` loads.
|
|
88
61
|
*
|
|
89
62
|
* @remarks
|
|
90
|
-
* `
|
|
63
|
+
* `Scalar.JSON`'s untyped arm is a bare primitive, and the cache's strings are LITERAL (never a
|
|
91
64
|
* string-table index — the part inlines them, design doc §1). The typed arm carries an error by
|
|
92
65
|
* code. `null` when the cache holds nothing.
|
|
93
66
|
*/
|
|
94
|
-
export declare function cacheToGridTuples(data: Tuple.GridTuple<
|
|
67
|
+
export declare function cacheToGridTuples(data: Tuple.GridTuple<Scalar.JSON> | null | undefined): Tuple.GridTuple<Scalar> | null;
|
|
95
68
|
export declare namespace ExternalBookBindings {
|
|
96
69
|
interface ConstructorOptions {
|
|
97
70
|
/** The collection to mirror — read fresh on every {@link ExternalBookBindings.sync}. */
|