@sheetxl/sdk 0.8.0-beta.12 → 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/{DwwR3O2sEZApPSTF.mjs → -GEhXGMfNcWmHPby.mjs} +3 -3
- package/browser/esm/{DPhGQLNGmDZwODwJ.mjs → 9WXf_BTKjW1cQisZ.mjs} +94 -94
- package/browser/esm/{CRkYR-siY2C994KV.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
- package/browser/esm/{CBYMTDzMf1Vh7pkw.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
- package/browser/esm/{-Jx-jNHmtIQQfLvK.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
- package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
- package/browser/esm/{D64dM68B1pKYFzdP.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
- package/browser/esm/{DobHLF6VjHr7Xi40.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
- package/browser/esm/{CNdjyofiRu6CYOrr.mjs → BVshV1iY3bcUH9_E.mjs} +50 -48
- package/browser/esm/{qO-ujUrgq6H3TQix.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
- package/browser/esm/{C9u8FUewte5ugUjH.mjs → Bax5aOzQkbHKXW_X.mjs} +725 -716
- package/browser/esm/{Tah7cnFb_HNZdLtj.mjs → BiDGKhtzV6yIy66o.mjs} +3 -3
- package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
- package/browser/esm/{DgrAuRD2qr2DvFeJ.mjs → BoAlHgjPQ6mxb_oO.mjs} +44 -44
- package/browser/esm/{CUzYuYTTGsChC_kZ.mjs → C0mjTq8lhrX3HiPa.mjs} +2052 -1583
- package/browser/esm/{w6Jea0TiclPrYZ2M.mjs → C5j0IdwtYkWlOftv.mjs} +509 -509
- package/browser/esm/{hCQJcmIzPDxDEv2q.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
- package/browser/esm/{2mIwPy2D2JUX-9wx.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
- package/browser/esm/{DZiivy0NmO1Vnyzk.mjs → CPzfhTPX2Y4dHX2p.mjs} +2 -2
- package/browser/esm/{fXWUMDhZ5yMSO629.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
- package/browser/esm/{BIHrHjRGWVlJglcp.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
- package/browser/esm/{yuhcOYw6SHQ-RCm3.mjs → Ced5uyofOWHuL_Jy.mjs} +30 -30
- package/browser/esm/{B3wf5vZCsWfWsDbj.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
- package/browser/esm/{DK899HhWX1HINMC1.mjs → CwygVKP_RXmne5Ot.mjs} +25 -25
- package/browser/esm/{BdCJNawfifyPupCP.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
- package/browser/esm/{CwOPLXU3-9ZHGyOT.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
- package/browser/esm/{D9xNz46kAfXMZzp4.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
- package/browser/esm/{D2RZh0O9neOsyLAE.mjs → DW-MmlgMH87l-_cw.mjs} +69 -48
- package/browser/esm/{DwZCT7DZiiXoTweg.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
- package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
- package/browser/esm/{Cxjxk0ncRKx80I-w.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
- package/browser/esm/{BnC4-27Igwb8oDf2.mjs → DkloMquaR1pbZCER.mjs} +44 -43
- package/browser/esm/{BudSIfXBAsTxvu-K.mjs → Dz86-De57bv2VYIi.mjs} +10111 -9269
- package/browser/esm/{BTFBedJMRWGvZyCE.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
- package/browser/esm/{Bt8_m94tBdks209L.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
- package/browser/esm/index.mjs +482 -440
- package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
- package/browser/esm/{CdEO8CEee6lEhabA.mjs → pm00uZZu_H3gxHFx.mjs} +2 -2
- package/browser/esm/{Bg5Di9GLNAkbqQ1P.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
- package/browser/esm/{CndRBvVfQUJIYRRj.mjs → zZngLMg6mg6nnNGX.mjs} +50 -50
- package/licenses/dependencies.txt +71 -1
- package/node/esm/{C14-R6tifRh7pc0p.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
- package/node/esm/{D3ptRKzASqBut1DE.mjs → -b8yNV4v9qiq8EMY.mjs} +2 -2
- package/node/esm/{CBuEu5Jk-LfaDy-H.mjs → 1V-m67YHbxmg3xk2.mjs} +44 -44
- package/node/esm/{DhTya_mhmN53vskv.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
- package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
- package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
- package/node/esm/{Vocy-I9dKzZMr0Ct.mjs → BQ2XqExomMceAjfe.mjs} +10977 -10744
- package/node/esm/{Btw4148Ot8ifhNc1.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
- package/node/esm/{BNXLOEddJ6O9gYws.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
- package/node/esm/{Q_S1g46ZOTrdhTae.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
- package/node/esm/{Ci_zLYmCD7e-C79O.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
- package/node/esm/{DdoiuKg9BKubtF1V.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
- package/node/esm/{C_aL7CGS1lrNn1Ng.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
- package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
- package/node/esm/{C99zzq8DImQXi4BQ.mjs → CWBS90g3Hz-kQDkY.mjs} +10 -10
- package/node/esm/{BskP3b8vUoIOGLY6.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
- package/node/esm/{DhS6yWjrrSNIJMsn.mjs → CzrLqStvrcPE2-hb.mjs} +234 -225
- package/node/esm/{CRt3vXe6YmXzqk3H.mjs → D16EdlZG1hX5WUUK.mjs} +102 -102
- package/node/esm/{DUTmDHbFbhLDT4F3.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
- package/node/esm/{D4ROK9UwDpS6jO3Z.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
- package/node/esm/{icn2nX5Z8e_3mNAv.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
- package/node/esm/{CG-qBU5BAaVz7e-P.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
- package/node/esm/{DrCf6ITcBhVOFpRj.mjs → DF0nL7s01dp7n0Bx.mjs} +7 -7
- package/node/esm/{BL2iiEoqxDEV2Xrg.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
- package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
- package/node/esm/{CiIymQN6aJCul62g.mjs → DR2OQTKqqyIkZnse.mjs} +9 -9
- package/node/esm/{eimUGjiIP-b8HiM6.mjs → DSTLPBgpsGW6qP9e.mjs} +52 -52
- package/node/esm/{DV5CU37aEbFbWFL0.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
- package/node/esm/{C_xf5Bz30VqiJjXn.mjs → DwvXHsycOQR219c7.mjs} +1 -1
- package/node/esm/{B-HUPAcqvK0eeeCz.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
- package/node/esm/{lGJ42sHqg5if2bba.mjs → NkPNHsq2T3DXg76x.mjs} +458 -458
- package/node/esm/{-TA0MneBDKdGhsib.mjs → Nl_IIkO1jbk0s9i-.mjs} +3329 -2852
- package/node/esm/{DxazKtROyaI51dWl.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
- package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
- package/node/esm/{pYtP7wPyS96NQyXS.mjs → Z1elC_roIu7LhceZ.mjs} +25 -25
- package/node/esm/{CkRYLed8Mmn3giNg.mjs → e3F3OVXCxLJrSukW.mjs} +2 -2
- package/node/esm/index.mjs +584 -540
- package/node/esm/{D8hO07ToAibIuniw.mjs → suOBVUz-pca6ilJH.mjs} +138 -136
- 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 +4 -0
- package/resources/locales/en/model.msg.json +4 -0
- package/types/scripting-api.json +9339 -9320
- package/types/scripting.d.ts +322 -200
- 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/anomalies/_FocusTable.d.ts +0 -6
- package/types/src/calculation/Calculation.d.ts +20 -95
- package/types/src/calculation/ExternalBookBindings.d.ts +0 -26
- package/types/src/calculation/NamedFormulaCollection.d.ts +6 -2
- 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 +0 -13
- 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 +0 -52
- package/types/src/calculation/engine/CalcBackend.d.ts +15 -157
- package/types/src/calculation/engine/index.d.ts +0 -8
- package/types/src/calculation/executor/CalcExecutor.d.ts +13 -130
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +30 -11
- 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 +0 -19
- package/types/src/calculation/formula/FormulaBlock.d.ts +0 -28
- package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
- package/types/src/calculation/formula/IFormulaBlock.d.ts +0 -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/grid/CalcGrid.d.ts +5 -59
- package/types/src/calculation/grid/CalcGridBackend.d.ts +8 -9
- package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -13
- package/types/src/calculation/grid/CalcGridUtils.d.ts +18 -22
- package/types/src/calculation/grid/ICalcGrid.d.ts +13 -98
- package/types/src/calculation/grid/_CalcRequest.d.ts +1 -29
- package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +52 -82
- package/types/src/calculation/spatial/SpillEntry.d.ts +10 -7
- package/types/src/calculation/state/CalcScope.d.ts +0 -9
- package/types/src/calculation/state/CalcState.d.ts +0 -12
- package/types/src/calculation/state/CalculationContext.d.ts +4 -37
- package/types/src/calculation/state/DeferredCalls.d.ts +11 -64
- package/types/src/calculation/state/IContextContainer.d.ts +4 -60
- package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +46 -33
- package/types/src/calculation/state/_WhatIfLayer.d.ts +0 -14
- 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 +14 -28
- package/types/src/cellRange/ICellRange.d.ts +22 -11
- 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/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 +0 -19
- package/types/src/chart/resolve/_ResolvedChart.d.ts +0 -6
- 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 +1 -23
- 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 +13 -14
- package/types/src/fetch/IFetcher.d.ts +2 -1
- package/types/src/fetch/_WorkbookFetch.d.ts +1 -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/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/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 +0 -12
- 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/richData/RichDataRegistry.d.ts +6 -0
- package/types/src/scripting/TypedFunction.d.ts +0 -109
- package/types/src/sheet/IWorksheet.d.ts +2 -5
- package/types/src/sheet/NamedCellRange.d.ts +0 -21
- package/types/src/sheet/SheetCell.d.ts +8 -2
- package/types/src/sheet/Worksheet.d.ts +7 -48
- package/types/src/sheet/_DelimitedText.d.ts +13 -0
- package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
- package/types/src/sheet/_ScalarListFactory.d.ts +0 -19
- package/types/src/sheet/_SheetCoords.d.ts +0 -7
- package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
- package/types/src/sheet/_SheetStateReader.d.ts +0 -10
- package/types/src/sheet/_SheetStateTypes.d.ts +0 -3
- 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/Workbook.d.ts +0 -10
- package/browser/esm/2WuhYrIpYmOR5H73.mjs +0 -698
- package/browser/esm/CTe2qfmIUEad6FJv.mjs +0 -199
- package/browser/esm/CfRqiPDg6RBTg1EN.mjs +0 -367
- package/browser/esm/DVroRnhi-5IDXNgM.mjs +0 -210
- package/node/esm/BSvOluusoDM4z_dx.mjs +0 -811
- package/node/esm/CPI58duc0j0a-HpJ.mjs +0 -115
- package/node/esm/DggQ23jKMpwhENfa.mjs +0 -372
- package/node/esm/Dn1M7YWi25DeeYUb.mjs +0 -210
- package/node/esm/ZXPFcsT2zrALCZux.mjs +0 -289
|
@@ -139,36 +139,8 @@ export interface IContextContainer {
|
|
|
139
139
|
* Returns the grid for a given gridId. This is used to get other grids when calculating.
|
|
140
140
|
*/
|
|
141
141
|
getGrid(gridId: string): CalcGridBackend | null;
|
|
142
|
-
/**
|
|
143
|
-
* Runs a request against the engine's state, landing what it writes under the snapshot it
|
|
144
|
-
* names (DESIGN-CALC-SERVICE §13.13: the engine keeps its own history keyed by the model's
|
|
145
|
-
* ids).
|
|
146
|
-
*
|
|
147
|
-
* @param landingId The engine commit the request lands in: the model's commit for a root
|
|
148
|
-
* transaction, its savepoint for a nested one, or `undefined` for a request naming no snapshot
|
|
149
|
-
* (a caller with no model), which is applied as it is.
|
|
150
|
-
* @param action The request; its writes land together.
|
|
151
|
-
*/
|
|
152
142
|
landRequest<R>(landingId: string | undefined, action: () => R): R;
|
|
153
|
-
/**
|
|
154
|
-
* Sends a grid request through the service's channel (DESIGN-CALC-SERVICE §4, §7.2).
|
|
155
|
-
*
|
|
156
|
-
* @param gridId The grid the request is for.
|
|
157
|
-
* @param landingId The engine commit a request applied now lands in - see {@link landRequest}.
|
|
158
|
-
* @param request The request, as data.
|
|
159
|
-
*
|
|
160
|
-
* @remarks
|
|
161
|
-
* On a `Running` engine the request is applied at once and lands under `landingId`. While the
|
|
162
|
-
* engine is `Starting` it is held, in send order, and applied once the engine is up, behind the
|
|
163
|
-
* seeds; one whose snapshot the model has undone by then is dropped. On an `Off` engine nothing
|
|
164
|
-
* is recorded and the request resolves with nothing: a later start is seeded from the model.
|
|
165
|
-
*/
|
|
166
143
|
sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
|
|
167
|
-
/**
|
|
168
|
-
* What images a grid's records for the model (DESIGN-CALC-SERVICE §8): the model's symbol
|
|
169
|
-
* map, the grid as home scope, its bounds, the reader's locale. The facade's, read where a
|
|
170
|
-
* response crosses to the model.
|
|
171
|
-
*/
|
|
172
144
|
getImager(gridId: string): FormulaImager;
|
|
173
145
|
/**
|
|
174
146
|
* Records the regions a request touched on the commit it is landing in, so a revert knows what
|
|
@@ -348,38 +320,7 @@ export interface IContextContainer {
|
|
|
348
320
|
* recover which is which from the coords.
|
|
349
321
|
*/
|
|
350
322
|
addDynamicPrecedent(calcNode: CalcNode, range: IRange.Coords | undefined, kind: PrecedentKind): void;
|
|
351
|
-
/**
|
|
352
|
-
* The results of a what-if data table, for the `TABLE` node being evaluated (the scope's node):
|
|
353
|
-
* its affected cells re-evaluated under each substitution, nothing written
|
|
354
|
-
* (DESIGN-DATA-TABLES §4.3). Only during a pass.
|
|
355
|
-
*/
|
|
356
323
|
evaluateWhatIf(table: WhatIfTable): Scalar[][];
|
|
357
|
-
/**
|
|
358
|
-
* Queues an action to run at the engine's next safe point, and schedules that point.
|
|
359
|
-
*
|
|
360
|
-
* @remarks
|
|
361
|
-
* Safe means two things, and they are why this exists rather than calling inline: the engine can
|
|
362
|
-
* actually do the work (the compiler is loaded, grids are populated), and the synchronous work
|
|
363
|
-
* that queued the action has finished — a `setInputs` run re-entrantly during an active commit is
|
|
364
|
-
* what produced the intermittent `OutOfOrderError` in the value builder.
|
|
365
|
-
*
|
|
366
|
-
* No guard is required. Queuing schedules its own drain, so an action queued here always runs:
|
|
367
|
-
* while `Starting` it is held for `start()`'s drain, inside a drain it joins the pass already
|
|
368
|
-
* running, and on a settled engine a microtask drain is posted for it.
|
|
369
|
-
*
|
|
370
|
-
* It did require one, and was called `whenStarting` for that reason — the queue was pumped only
|
|
371
|
-
* as a side effect of `start`/`ready`/`calculate`, so an action queued on a settled engine waited
|
|
372
|
-
* for a calculation that might never come and was dropped rather than delayed. Callers written
|
|
373
|
-
* against that rule (guarding on {@link isLoading} or a `Starting` status) remain correct; the
|
|
374
|
-
* guard is now redundant, not wrong.
|
|
375
|
-
*
|
|
376
|
-
* What a caller does owe: the action must be safe to run at an arbitrary microtask boundary, not
|
|
377
|
-
* only from inside a calculation.
|
|
378
|
-
*
|
|
379
|
-
* For the engine's own deferrals (wiring a name, recompiling its dependents), which stay
|
|
380
|
-
* backend-side. A grid request is never queued here: it goes through {@link sendRequest}, as
|
|
381
|
-
* data, so the channel can hold it (DESIGN-CALC-SERVICE §6.2).
|
|
382
|
-
*/
|
|
383
324
|
whenSafe(action: () => Promise<unknown>): void;
|
|
384
325
|
/**
|
|
385
326
|
* `true` while the engine is either `Starting` or inside a pending-action drain — at any drain
|
|
@@ -401,8 +342,11 @@ export interface IContextContainer {
|
|
|
401
342
|
* so dependents pick up the change. A recompile, not a dirty-mark, on purpose: a definition
|
|
402
343
|
* change requires dependents to re-derive their precedents (`setInputs`), which `markDirty` does
|
|
403
344
|
* not do. Where a re-evaluation suffices, use {@link invalidateNamed} instead.
|
|
345
|
+
*
|
|
346
|
+
* @param loaded The name's definition has not changed: its body is the one the file holds, only
|
|
347
|
+
* now compiled. A formula still as it was loaded re-derives its precedents and keeps its value.
|
|
404
348
|
*/
|
|
405
|
-
recompileNamed(nameId: string): void;
|
|
349
|
+
recompileNamed(nameId: string, loaded?: boolean): void;
|
|
406
350
|
/**
|
|
407
351
|
* Marks every formula that references `nameId` — directly or through another name — dirty, so it
|
|
408
352
|
* re-evaluates against the name's current definition.
|
|
@@ -3,48 +3,51 @@ import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
|
|
|
3
3
|
import { IGrid, ISparseGrid, Tuple, IListLike } from '../../collections';
|
|
4
4
|
import { ReferenceErrorIndex } from '../../primitives/ReferenceRange';
|
|
5
5
|
/**
|
|
6
|
-
* The
|
|
6
|
+
* The batch's cells: every result of a pass goes in here and most are read straight back out, so
|
|
7
|
+
* this is an open-addressed table on (row, col) rather than a `Map`.
|
|
7
8
|
*
|
|
8
9
|
* @remarks
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* writes into the same long runs. This grid serves those reads from the batch instead, so the
|
|
13
|
-
* executor commits every N results and the writes are few and contiguous.
|
|
14
|
-
*
|
|
15
|
-
* It is a SUBSTITUTION view: iteration walks the committed runs and swaps in the pending value
|
|
16
|
-
* where one exists. That only describes a cell the committed grid already holds; a result for a
|
|
17
|
-
* cell with no committed run under it (a formula's first result — new after load, entry, paste)
|
|
18
|
-
* cannot be shown this way, so such a push marks the overlay `uncovered` and the next ITERATION
|
|
19
|
-
* over the pending box commits first (`_coverFor`), which is exactly the old behavior; a point
|
|
20
|
-
* read is answered by the map and never commits. A steady-state recalc never trips it. Reads
|
|
21
|
-
* outside the batch's bounding box never touch the map.
|
|
22
|
-
*
|
|
23
|
-
* Operations that materialize or write go through a commit first and then the committed grid —
|
|
24
|
-
* the safe fallback for anything a substitution cannot answer (`getValues`, `copyTo`, `clone`,
|
|
25
|
-
* every write). `cloneEmpty` needs no values.
|
|
26
|
-
*
|
|
27
|
-
* It is also the error index of references built over it ({@link ReferenceErrorIndex}): the
|
|
28
|
-
* committed index plus a scan of the pending map, taken only while the batch holds an error.
|
|
29
|
-
*
|
|
30
|
-
* A second layer holds DEMAND results (DESIGN-CIRCULAR-CALC.md §4.6): what demand evaluation and
|
|
31
|
-
* the iteration sweeps compute ahead of the plan. It is not part of the batch — a commit leaves it
|
|
32
|
-
* alone — and an entry lives until the plan takes its node ({@link takeDemand}), which then pushes
|
|
33
|
-
* the same value to the batch. A sweep rewrites its members many times, and every rewrite is a map
|
|
34
|
-
* write, not a persistent one. Substitution still needs a committed run under the cell, so the
|
|
35
|
-
* first result for a cell with nothing under it is written through as well; every later one is
|
|
36
|
-
* substituted.
|
|
10
|
+
* Consecutive rows of a column take consecutive slots, which is the order a filled block runs in,
|
|
11
|
+
* so a chain probes once per cell. A commit empties it, so it is never much larger than a batch. A
|
|
12
|
+
* value of `undefined` means no entry; a blank is held as `null`.
|
|
37
13
|
*/
|
|
14
|
+
declare class PendingCells {
|
|
15
|
+
size: number;
|
|
16
|
+
private _keys;
|
|
17
|
+
private _values;
|
|
18
|
+
/** The occupied slots in the order they were filled. */
|
|
19
|
+
private _order;
|
|
20
|
+
private _mask;
|
|
21
|
+
/** The slot holding the cell, or the empty one it would take. The table is never full. */
|
|
22
|
+
private _slotOf;
|
|
23
|
+
get(row: number, col: number): Scalar | undefined;
|
|
24
|
+
/** @returns What the cell held, or `undefined` for a new one. */
|
|
25
|
+
set(row: number, col: number, value: Scalar): Scalar | undefined;
|
|
26
|
+
clear(): void;
|
|
27
|
+
/** Whether a cell added at or after position `from` of the fill order has nothing in `grid`. */
|
|
28
|
+
anyAbsentFrom(from: number, grid: ISparseGrid<Scalar>): boolean;
|
|
29
|
+
/** Whether an error is held inside the rectangle. */
|
|
30
|
+
hasErrorIn(rowStart: number, colStart: number, rowEnd: number, colEnd: number): boolean;
|
|
31
|
+
private _grow;
|
|
32
|
+
}
|
|
38
33
|
export declare class PendingOverlayGrid implements ISparseGrid<Scalar>, ReferenceErrorIndex {
|
|
39
34
|
protected readonly _inner: ISparseGrid<Scalar>;
|
|
40
35
|
protected readonly _committed: ReferenceErrorIndex;
|
|
41
36
|
protected readonly _flush: () => void;
|
|
42
37
|
protected readonly _isColumn: boolean;
|
|
43
|
-
protected _pending:
|
|
38
|
+
protected _pending: PendingCells;
|
|
39
|
+
/** Results pushed before anything read through here: counted, and not in {@link _pending}. */
|
|
40
|
+
protected _unobserved: number;
|
|
41
|
+
/** A read has landed in the pending box this pass, so results are held in {@link _pending}. */
|
|
42
|
+
observed: boolean;
|
|
44
43
|
/** Pending values that are errors — the pending scan in {@link hasErrorIn} runs only while > 0. */
|
|
45
44
|
protected _errors: number;
|
|
46
45
|
/** A pending cell has no committed run under it; substitution cannot show it. */
|
|
47
46
|
protected _uncovered: boolean;
|
|
47
|
+
/** The pending cells {@link _uncovered} has answered for. Only an iteration asks, so a push does not look. */
|
|
48
|
+
protected _coverChecked: number;
|
|
49
|
+
/** Where the copy {@link _substituteRun} last made starts. */
|
|
50
|
+
protected _substitutedFrom: number;
|
|
48
51
|
protected _rowStart: number;
|
|
49
52
|
protected _rowEnd: number;
|
|
50
53
|
protected _colStart: number;
|
|
@@ -89,6 +92,8 @@ export declare class PendingOverlayGrid implements ISparseGrid<Scalar>, Referenc
|
|
|
89
92
|
protected _growAny(row: number, col: number): void;
|
|
90
93
|
/** Rebuilds the union box from the two layers' own. */
|
|
91
94
|
protected _resetAny(): void;
|
|
95
|
+
/** From here on results are held in the map; what was pushed before it is committed now. */
|
|
96
|
+
observe(): void;
|
|
92
97
|
/** Does a rectangle overlap the bounding box of the cells either layer holds? */
|
|
93
98
|
intersects(rowStart: number, colStart: number, rowEnd: number, colEnd: number): boolean;
|
|
94
99
|
/** Does a rectangle overlap the pending (batch) cells' bounding box? */
|
|
@@ -104,7 +109,7 @@ export declare class PendingOverlayGrid implements ISparseGrid<Scalar>, Referenc
|
|
|
104
109
|
*/
|
|
105
110
|
protected _writeDemandIn(bounds: Partial<RangeCoords> | null | undefined): void;
|
|
106
111
|
/** The cell's value in either layer (they never share a cell), or `undefined`. */
|
|
107
|
-
protected _layered(
|
|
112
|
+
protected _layered(row: number, col: number): Scalar | undefined;
|
|
108
113
|
/**
|
|
109
114
|
* Before an ITERATION over `bounds`: commits when a pending cell substitution cannot show
|
|
110
115
|
* (`uncovered`) lies inside them. A point read never needs this — the map answers it — and
|
|
@@ -118,8 +123,15 @@ export declare class PendingOverlayGrid implements ISparseGrid<Scalar>, Referenc
|
|
|
118
123
|
protected _inBounds(row: number, col: number): boolean;
|
|
119
124
|
/** Nothing in either layer: every read is the committed grid's. */
|
|
120
125
|
protected _isEmpty(): boolean;
|
|
121
|
-
/**
|
|
122
|
-
|
|
126
|
+
/**
|
|
127
|
+
* The part of a run a read asked for with pending values swapped in, or the run itself when none
|
|
128
|
+
* fall inside that part. A copy starts at {@link _substitutedFrom}.
|
|
129
|
+
*
|
|
130
|
+
* @remarks
|
|
131
|
+
* A stored run can be a whole column, so a copy is never wider than the read: a short range over
|
|
132
|
+
* a long run costs what the range costs.
|
|
133
|
+
*/
|
|
134
|
+
protected _substituteRun(major: number, minorFrom: number, run: IListLike<Scalar>, readFrom: number, readTo: number): IListLike<Scalar>;
|
|
123
135
|
/** {@inheritDoc IGrid.getValueAt} */
|
|
124
136
|
getValueAt(row: number, column: number): Scalar;
|
|
125
137
|
/** {@inheritDoc ISparseGrid.getRuns} */
|
|
@@ -166,4 +178,5 @@ export declare class PendingOverlayGrid implements ISparseGrid<Scalar>, Referenc
|
|
|
166
178
|
* @internal
|
|
167
179
|
*/
|
|
168
180
|
export declare function _scanHasError(grid: ISparseGrid<Scalar>, coords: IRange.Coords): boolean;
|
|
181
|
+
export {};
|
|
169
182
|
//# sourceMappingURL=_PendingOverlayGrid.d.ts.map
|
|
@@ -2,20 +2,6 @@ import { IRange, Scalar } from '@sheetxl/primitives';
|
|
|
2
2
|
import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
|
|
3
3
|
import { Tuple, IGrid, ISparseGrid, IListLike } from '../../collections';
|
|
4
4
|
import { ReferenceErrorIndex } from '../../primitives/ReferenceRange';
|
|
5
|
-
/**
|
|
6
|
-
* A grid's values with a what-if substitution laid over them (DESIGN-DATA-TABLES §4.3): the input
|
|
7
|
-
* cells a `TABLE` puts axis values into, and the results of the cells it re-evaluates under them.
|
|
8
|
-
* A point read and an iteration answer from the map first and the grid underneath otherwise (the
|
|
9
|
-
* pass's pending overlay during a pass), as `PendingOverlayGrid` does; nothing here is ever written
|
|
10
|
-
* through, so the committed values, the formula blocks and the model are untouched and there is
|
|
11
|
-
* nothing to restore. Dropped when the table is done.
|
|
12
|
-
*
|
|
13
|
-
* @remarks
|
|
14
|
-
* Also the error index of the references built over it ({@link ReferenceErrorIndex}): the
|
|
15
|
-
* underlying index plus a scan of the map, taken only while the map holds an error.
|
|
16
|
-
*
|
|
17
|
-
* Every write of the grid interface is refused: a what-if evaluation reads.
|
|
18
|
-
*/
|
|
19
5
|
export declare class WhatIfLayer implements ISparseGrid<Scalar>, ReferenceErrorIndex {
|
|
20
6
|
protected readonly _inner: ISparseGrid<Scalar>;
|
|
21
7
|
protected readonly _committed: ReferenceErrorIndex;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { IExternalBookCollection, ExternalScopeParts } from '../../externalBook';
|
|
2
2
|
import { ExternalBookCollection } from '../../externalBook/ExternalBookCollection';
|
|
3
3
|
import { SheetSymbolHandle } from './SheetSymbolProvider';
|
|
4
|
-
/**
|
|
5
|
-
* The stable-id prefix that marks a sheet symbol as living in an external book.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* `ext:<bookId>` is the book-scoped form (`[1]!Name`); `ext:<bookId>:<sheetIndex>` adds a sheet, and
|
|
9
|
-
* `ext:<bookId>:<first>:<last>` is a 3-D span across the book's sheets (`[1]Alpha:Data Sheet`). The
|
|
10
|
-
* prefix is the test every consumer uses — "is this scope external" is a `startsWith`, which is why
|
|
11
|
-
* external books needed no new {@link SymbolType} and no new branch in the twenty-odd places that
|
|
12
|
-
* ask the Sheet provider (DESIGN-EXTERNAL-LINKS §4B).
|
|
13
|
-
*/
|
|
14
4
|
export declare const EXTERNAL_ID_PREFIX = "ext:";
|
|
15
5
|
/** Is this stable id an external sheet or book? */
|
|
16
6
|
export declare const isExternalSymbolId: (stableId: string | null | undefined) => boolean;
|
|
@@ -41,39 +31,7 @@ export interface ExternalBookMinter {
|
|
|
41
31
|
/** Records `sheetName` on an existing book — answers the sheet's index. */
|
|
42
32
|
addSheet(bookId: string, sheetName: string): number;
|
|
43
33
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Binds a sheet scope that names an external book, or `null` if it names none of this workbook's.
|
|
46
|
-
*
|
|
47
|
-
* @remarks
|
|
48
|
-
* Every spelling a book answers to binds to the SAME id, so the storage form (`[1]Sheet1`), the
|
|
49
|
-
* closed display form (`C:\dir\[Book.xlsx]Sheet1`) and the open one (`[Book.xlsx]Sheet1`) are three
|
|
50
|
-
* ways of writing one symbol — which is the invariant that lets a handle's `toString()` be fed
|
|
51
|
-
* straight back to `bind` (see {@link SheetSymbolProvider}).
|
|
52
|
-
*
|
|
53
|
-
* A position that does not exist (`[7]` of three books) answers `null`: the typed image is kept
|
|
54
|
-
* verbatim, the reference is `#REF!`, and the writer warns. A file name matching more than one book
|
|
55
|
-
* answers `null` too — the citation is genuinely ambiguous and `[n]` is the only spelling that is
|
|
56
|
-
* not — unless the typed directory picks one of them out.
|
|
57
|
-
*
|
|
58
|
-
* A 3-D span (`[1]Alpha:Data Sheet`) binds to one id with its sheets in the book's own order, so
|
|
59
|
-
* `[1]Data Sheet:Alpha` is the same symbol; both sheets must be listed.
|
|
60
|
-
*
|
|
61
|
-
* With a `minter`, a file name no book carries MINTS one (DESIGN-EXTERNAL-LINKS §4C): typing
|
|
62
|
-
* `'C:\dir\[Book.xlsx]Sheet1'!A1` creates the link, cache empty, exactly as Excel does when it cannot
|
|
63
|
-
* see the source. A sheet a known book does not list is recorded on it the same way. A `[n]` is never
|
|
64
|
-
* minted — a position is a citation of something that exists, and a directory that differs from a
|
|
65
|
-
* same-named book's is a different book, not a respelling of it. A span never mints either.
|
|
66
|
-
*/
|
|
67
34
|
export declare function bindExternalScope(books: ExternalBookCollection | null | undefined, displayName: string, minter?: ExternalBookMinter | null, withinBook?: string | null): string | null;
|
|
68
|
-
/**
|
|
69
|
-
* Resolves an `ext:` stable id to a sheet handle, or `null` if the book has since been removed.
|
|
70
|
-
*
|
|
71
|
-
* @remarks
|
|
72
|
-
* `toString()` is the projection DESIGN-EXTERNAL-LINKS §4B describes: `[n]Sheet1` by default — the
|
|
73
|
-
* form a formula is STORED as, read off the book's current position — and the book's display name
|
|
74
|
-
* when the caller asks for one. Both bind back. A span spells both sheets after one book prefix
|
|
75
|
-
* (`[1]Alpha:Data Sheet`), as Excel writes it.
|
|
76
|
-
*/
|
|
77
35
|
export declare function resolveExternalSymbol(books: ExternalBookCollection | null | undefined, stableId: string, display: boolean): SheetSymbolHandle | null;
|
|
78
36
|
/** The `AddOptions` a minted book starts from: the typed directory and file, the typed sheet. */
|
|
79
37
|
export declare function mintedBookOptions(parts: ExternalScopeParts): IExternalBookCollection.AddOptions;
|
|
@@ -19,12 +19,6 @@ export interface SheetCtx {
|
|
|
19
19
|
* (`'C:\dir\[Book.xlsx]Sheet1'`). A local sheet has one name and ignores this.
|
|
20
20
|
*/
|
|
21
21
|
display?: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Bind is AUTHORING: a scope that names an external book this workbook has none of may create
|
|
24
|
-
* one (`'C:\dir\[Book.xlsx]Sheet1'` typed into a cell is how a link is made — DESIGN-EXTERNAL-LINKS
|
|
25
|
-
* §5 step 13). Off by default, and off for an editing compile, so a keystroke mints nothing; a
|
|
26
|
-
* local sheet is never minted.
|
|
27
|
-
*/
|
|
28
22
|
mint?: boolean;
|
|
29
23
|
/**
|
|
30
24
|
* The formula being linked belongs to an external BOOK — a cached defined name's body — so a
|
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
import { IRange } from '@sheetxl/primitives';
|
|
2
2
|
import { ISymbolProvider, SymbolHandle } from './ISymbolRegistry';
|
|
3
|
-
/**
|
|
4
|
-
* Strict provider for sheet symbols.
|
|
5
|
-
*
|
|
6
|
-
* @remarks
|
|
7
|
-
* An EXTERNAL sheet is a sheet symbol too. A scope this workbook has no sheet for, and which names
|
|
8
|
-
* a book (`[1]Sheet1`, `C:\dir\[Book.xlsx]Sheet1`), falls through to `_getExternal` rather than to a
|
|
9
|
-
* `SymbolType` of its own — the twenty-odd consumers of a scope all ask this provider, and teaching
|
|
10
|
-
* one provider a second spelling touches none of them (DESIGN-EXTERNAL-LINKS §4B).
|
|
11
|
-
*
|
|
12
|
-
* So is a 3-D span (`Alpha:Gamma`, PLAN-3D-REFS §2.1): one symbol naming its two endpoint sheets,
|
|
13
|
-
* `<firstId>:<lastId>`, with the endpoints in tab order.
|
|
14
|
-
*/
|
|
15
3
|
export declare class SheetSymbolProvider implements ISymbolProvider {
|
|
16
4
|
private readonly _getId;
|
|
17
5
|
private readonly _getById;
|
|
@@ -16,15 +16,6 @@ export declare class SymbolRegistry implements ISymbolRegistry {
|
|
|
16
16
|
/** @inheritdoc ISymbolRegistry.resolve */
|
|
17
17
|
resolve(type: SymbolType, stableId: string, ctx?: Record<string, unknown>): SymbolHandle | null;
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
* A registry that answers some symbol types from providers of its own and every other from a base.
|
|
21
|
-
*
|
|
22
|
-
* @remarks
|
|
23
|
-
* The model's symbol map (DESIGN-CALC-SERVICE §8) is this over the engine's: the types the engine
|
|
24
|
-
* keeps a copy of resolve through the model's live items here, while the rest resolve through the
|
|
25
|
-
* engine's providers. Registering a provider registers it on the base, so a provider that arrives
|
|
26
|
-
* late (the functions, once their module loads) is seen by both.
|
|
27
|
-
*/
|
|
28
19
|
export declare class OverlaidSymbolRegistry implements ISymbolRegistry {
|
|
29
20
|
private readonly _base;
|
|
30
21
|
private readonly _overrides;
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The formula toolkit's code: the parser, the printer, the literal reader and the built-in
|
|
3
|
-
* declarations, behind `FormulaText`, `parseFormulaLiteral` and `FunctionDeclarations`.
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* Loaded by `FormulaText.load()` and by a calculation's start, never carried from import
|
|
7
|
-
* (DESIGN-CALC-SERVICE §13.25). Only `_FormulaToolkit` imports it.
|
|
8
|
-
*/
|
|
9
1
|
export { parse, transform, imager } from './FormulaTextParser';
|
|
10
2
|
export { readFormulaLiteral } from './FormulaLiteralReader';
|
|
11
3
|
export { getFunctionDeclaration } from './FunctionDeclarationTable';
|
|
@@ -298,6 +298,11 @@ export interface ICell {
|
|
|
298
298
|
isTopLeft(): boolean;
|
|
299
299
|
/**
|
|
300
300
|
* Returns the range of the cell if it is a spill cell.
|
|
301
|
+
*
|
|
302
|
+
* @remarks
|
|
303
|
+
* For a blocked spill (a {@link getSpillKind | kind} of `error`, the anchor shows `#SPILL!`) this
|
|
304
|
+
* is the range it would take. It holds none of those cells: their values are whatever is in the
|
|
305
|
+
* way. Spills can overlap, and one that is not blocked is returned ahead of one that is.
|
|
301
306
|
*/
|
|
302
307
|
getSpill(): ICellRange | null;
|
|
303
308
|
/**
|
|
@@ -976,26 +981,11 @@ export declare namespace ICell {
|
|
|
976
981
|
* cell with none authored has the Normal style's. `majority` and `of` are evidence, not a
|
|
977
982
|
* gate: a convention held by 3 of 5 cells is reported as such.
|
|
978
983
|
*
|
|
979
|
-
* **Rank** says which finding to read first. It is not a confidence
|
|
980
|
-
*
|
|
981
|
-
*
|
|
982
|
-
*
|
|
983
|
-
*
|
|
984
|
-
* alignment `0.05`. Every other check ranks at a fixed weight: `repeatedReference` and
|
|
985
|
-
* `lookupShape` `1`, `approximateMatch` and `externalReference` `0.9`, `formulaRange` and
|
|
986
|
-
* `degenerateCall` `0.8`, `emptyCellReference` and `sumIncludesSubtotal` `0.6`,
|
|
987
|
-
* `keyLabelMismatch` and `linkLabelMismatch` `0.4`, `unlockedFormula` and `signVsSiblings` `0.1`,
|
|
988
|
-
* `numberStoredAsText` `0.05`. A `styleRole` finding ranks at the role's weight (`link` `0.6`,
|
|
989
|
-
* `reference` `0.4`, `input` `0.3`, `computed` `0.2`) times `majority / of`. A
|
|
990
|
-
* `misalignedReference` finding ranks at `0.8` times its target's share: `lineItem` `1`,
|
|
991
|
-
* `outsideBlocks` `0.5`, `closingRow` and `absolute` `0.25`.
|
|
992
|
-
*
|
|
993
|
-
* A run or `styleRole` finding's rank is then divided by the number of times the same finding
|
|
994
|
-
* (the same check and evidence) occurs in the workbook: a finding repeated across a model is the
|
|
995
|
-
* author's style, and the one that occurs once is the exception to read first. So a finding's
|
|
996
|
-
* rank can change when another sheet changes. The weights are measured on the SpreadsheetBench
|
|
997
|
-
* v2 Debugging goldens and move as other measurements arrive. Regions of the `anomalies` feature
|
|
998
|
-
* list highest rank first, and so do a cell's findings, in check order within an equal rank.
|
|
984
|
+
* **Rank** says which finding to read first. It is not a confidence, and it is relative to the
|
|
985
|
+
* workbook: a finding repeated across a model is the author's style, and the one that occurs
|
|
986
|
+
* once is the exception to read first. So a finding's rank can change when another sheet
|
|
987
|
+
* changes. Regions of the `anomalies` feature list highest rank first, and so do a cell's
|
|
988
|
+
* findings, in check order within an equal rank.
|
|
999
989
|
*
|
|
1000
990
|
* **Literals and twins.** `literalMatchesInput` reads the numbers typed into a formula against
|
|
1001
991
|
* the typed numbers no formula reads: a reference replaced by its value is what left the input
|
|
@@ -1005,16 +995,12 @@ export declare namespace ICell {
|
|
|
1005
995
|
* when both are a calendar period, a power of ten or a small count. Every side of a divergence is
|
|
1006
996
|
* listed, since two wrong rows can outvote the right one.
|
|
1007
997
|
*
|
|
1008
|
-
*
|
|
1009
|
-
*
|
|
1010
|
-
* for a sign: signs differ between line items by design, so a sign divergence is read when asked
|
|
1011
|
-
* for by check. `scaleOutlier` ranks at `0.8`.
|
|
998
|
+
* A sign divergence ranks low: signs differ between line items by design, so it is read when
|
|
999
|
+
* asked for by check.
|
|
1012
1000
|
*
|
|
1013
1001
|
* `constantFrequency` reports every constant a formula types, the common ones too, with how many
|
|
1014
|
-
* places in the workbook type it (`uses`) and of how many constant uses (`of`).
|
|
1015
|
-
*
|
|
1016
|
-
* that types few has little to be rare against. A finding's `uses` and `of` change when another
|
|
1017
|
-
* sheet changes.
|
|
1002
|
+
* places in the workbook type it (`uses`) and of how many constant uses (`of`). The rarer the
|
|
1003
|
+
* constant, the higher it ranks. A finding's `uses` and `of` change when another sheet changes.
|
|
1018
1004
|
*
|
|
1019
1005
|
* A label's position is absolute (`R12C3`), since it stays put whichever cell of a region reads
|
|
1020
1006
|
* it; its text is the one read at the region's first cell.
|
|
@@ -811,7 +811,7 @@ export interface ICellRange {
|
|
|
811
811
|
* // Hunting an embedded hardcode: read its checks' findings first, 25 regions at a time.
|
|
812
812
|
* sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25 });
|
|
813
813
|
* sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25, offset: 25 });
|
|
814
|
-
* // Or name the kind of defect and let the
|
|
814
|
+
* // Or name the kind of defect and let the ranking decide.
|
|
815
815
|
* sheet.getAnomalies({ focus: 'unitMismatch', limit: 25 });
|
|
816
816
|
* ```
|
|
817
817
|
*
|
|
@@ -1417,10 +1417,13 @@ export interface ICellRange {
|
|
|
1417
1417
|
*
|
|
1418
1418
|
* This method is a more scalable alternative to `getValues` or `getCells` for large or sparse ranges,
|
|
1419
1419
|
* as it:
|
|
1420
|
-
* 1. Skips empty values by default.
|
|
1420
|
+
* 1. Skips empty values by default, however much of the range is styled.
|
|
1421
1421
|
* 2. Avoids creating large arrays.
|
|
1422
1422
|
* 3. Allows for early termination.
|
|
1423
|
-
|
|
1423
|
+
*
|
|
1424
|
+
* To reach blank cells that have a feature, such as a fill or a hyperlink, name it in
|
|
1425
|
+
* {@link ICellRange.IteratorOptions.features}.
|
|
1426
|
+
*
|
|
1424
1427
|
* @param callback A function that will be called for each non-empty cell in the range. The callback receives:
|
|
1425
1428
|
* - `value`: The `Scalar` at the current cell.
|
|
1426
1429
|
* - `context`: A `IteratorContext` object providing additional information and utilities for the cell.
|
|
@@ -2209,8 +2212,8 @@ export declare namespace ICellRange {
|
|
|
2209
2212
|
*
|
|
2210
2213
|
* @remarks
|
|
2211
2214
|
* The same lens {@link ICellRange.getCounts} and {@link ICellRange.getRegions} take, and it
|
|
2212
|
-
* costs no extra scan: the range is split at the hidden runs first
|
|
2213
|
-
*
|
|
2215
|
+
* costs no extra scan: the range is split at the hidden runs first and the resulting pieces
|
|
2216
|
+
* are measured as ONE population.
|
|
2214
2217
|
*
|
|
2215
2218
|
* Optionally an {@link IRange.Axis} to skip on one axis only.
|
|
2216
2219
|
*/
|
|
@@ -2750,7 +2753,8 @@ export declare namespace ICellRange {
|
|
|
2750
2753
|
*/
|
|
2751
2754
|
readonly Role: "role";
|
|
2752
2755
|
/**
|
|
2753
|
-
*
|
|
2756
|
+
* A date-category number format, given directly or by a named style — `yyyy-mm-dd`,
|
|
2757
|
+
* `mm/dd/yyyy`, and the like.
|
|
2754
2758
|
*
|
|
2755
2759
|
* @remarks
|
|
2756
2760
|
* A formatting predicate, not a value kind: a blank cell or a text cell formatted this way
|
|
@@ -2794,7 +2798,11 @@ export declare namespace ICellRange {
|
|
|
2794
2798
|
readonly Fill: "fill";
|
|
2795
2799
|
/** Direct borders. */
|
|
2796
2800
|
readonly Borders: "borders";
|
|
2797
|
-
/**
|
|
2801
|
+
/**
|
|
2802
|
+
* A number format given directly or by a named style, not one left at Normal's. Region payloads
|
|
2803
|
+
* carry the format string and its category, so a block with `0%` set directly and one with the
|
|
2804
|
+
* `Percent` style are one region.
|
|
2805
|
+
*/
|
|
2798
2806
|
readonly NumberFormat: "numberFormat";
|
|
2799
2807
|
/** Direct alignment. */
|
|
2800
2808
|
readonly Alignment: "alignment";
|
|
@@ -2811,7 +2819,7 @@ export declare namespace ICellRange {
|
|
|
2811
2819
|
readonly Table: "table";
|
|
2812
2820
|
/** Auto-table membership. */
|
|
2813
2821
|
readonly AutoTable: "autoTable";
|
|
2814
|
-
/** Has a hyperlink. */
|
|
2822
|
+
/** Has a hyperlink. Regions group by what the link says, so the same link set twice is one region. */
|
|
2815
2823
|
readonly Hyperlink: "hyperlink";
|
|
2816
2824
|
/**
|
|
2817
2825
|
* Ignores one or more of Excel's error checks. Regions group by the set of checks ignored.
|
|
@@ -2965,8 +2973,8 @@ export declare namespace ICellRange {
|
|
|
2965
2973
|
checks?: readonly ICell.ErrorCheck[];
|
|
2966
2974
|
/**
|
|
2967
2975
|
* The kind of defect being looked for, or several: regions are ordered by how often findings
|
|
2968
|
-
* like theirs have been that kind of defect
|
|
2969
|
-
*
|
|
2976
|
+
* like theirs have been that kind of defect in audited models, and by rank where that is
|
|
2977
|
+
* equal. With `checks` too, the named checks still list first and `focus` orders
|
|
2970
2978
|
* within each. An unknown name throws.
|
|
2971
2979
|
*
|
|
2972
2980
|
* @defaultValue none — by rank
|
|
@@ -3062,9 +3070,12 @@ export declare namespace ICellRange {
|
|
|
3062
3070
|
/**
|
|
3063
3071
|
* The features the iteration resolves and visits.
|
|
3064
3072
|
*
|
|
3065
|
-
* @defaultValue all features
|
|
3073
|
+
* @defaultValue all features are resolved, and only the cells with values are visited
|
|
3066
3074
|
*
|
|
3067
3075
|
* @remarks
|
|
3076
|
+
* Naming a feature also visits the blank cells that have it: `features: 'hyperlink'` reaches a
|
|
3077
|
+
* link on an empty cell, and `features: 'fill'` every cell of a filled column.
|
|
3078
|
+
*
|
|
3068
3079
|
* Two effects, both wins for a caller that does not need everything:
|
|
3069
3080
|
* - The iterator only materializes the requested features' state onto the context — an
|
|
3070
3081
|
* excluded feature is never even looked up.
|
|
@@ -194,12 +194,6 @@ export declare class Chart extends AbstractMovableContent<State, IChart.JSON, IC
|
|
|
194
194
|
private _readCells;
|
|
195
195
|
/** A cell as its text: a number formatted by its own cell's format, the rest as Excel shows it. */
|
|
196
196
|
private _cellText;
|
|
197
|
-
/**
|
|
198
|
-
* What the chart's cells hold now, for resolve (DESIGN-CHART §3.3): values, categories, names
|
|
199
|
-
* and the first cell's number format are read from the cells the engine's formulas name, in the
|
|
200
|
-
* order Excel reads a range (column by column, {@link inReadOrder}). Where the cells cannot be
|
|
201
|
-
* read, the model's cache answers.
|
|
202
|
-
*/
|
|
203
197
|
private _dataReader;
|
|
204
198
|
/** How many listeners want `onLayoutChange`. */
|
|
205
199
|
private _layoutListeners;
|
|
@@ -232,10 +226,6 @@ export declare class Chart extends AbstractMovableContent<State, IChart.JSON, IC
|
|
|
232
226
|
private _syncDataListeners;
|
|
233
227
|
/** {@inheritDoc ITransaction.ITransactional.close} */
|
|
234
228
|
close(): void;
|
|
235
|
-
/**
|
|
236
|
-
* The cache `reference` holds when read now, as Excel writes it (DESIGN-CHART §3.3, measured
|
|
237
|
-
* 2026-10-16), or `null` where its cells cannot be read and the cache it has stands.
|
|
238
|
-
*/
|
|
239
229
|
private _cacheOf;
|
|
240
230
|
/**
|
|
241
231
|
* A multi-level category cache: one level per column, the innermost (the last) first, each
|
|
@@ -250,12 +240,6 @@ export declare class Chart extends AbstractMovableContent<State, IChart.JSON, IC
|
|
|
250
240
|
/** {@inheritDoc IChart.isIChart} */
|
|
251
241
|
get isIChart(): true;
|
|
252
242
|
}
|
|
253
|
-
/**
|
|
254
|
-
* A number as Excel writes it into a chart cache (measured 2026-10-16, `probe-chart-values.ps1`
|
|
255
|
-
* W3): its shortest digits when 15 or fewer say it, else 17; in exponent form (`1E-3`, `1E+16`)
|
|
256
|
-
* below 0.01 and from 10^16 up. Excel sometimes writes 17 digits where fewer say the same number
|
|
257
|
-
* (`1.0000000000000001E-5`); either reads back as the same number.
|
|
258
|
-
*/
|
|
259
243
|
export declare const cacheNumberText: (value: number) => string;
|
|
260
244
|
/**
|
|
261
245
|
* Interfaces for creating `Chart` items.
|