@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
package/types/scripting.d.ts
CHANGED
|
@@ -51,11 +51,11 @@ declare global {
|
|
|
51
51
|
* if (range.hasError()) return range.firstError();
|
|
52
52
|
* ```
|
|
53
53
|
*
|
|
54
|
-
* placed before its own validation where
|
|
54
|
+
* placed before its own validation where the member's error outranks it (`LARGE(range-with-#N/A, 0)`
|
|
55
55
|
* is `#N/A`, not `#NUM!`). Aggregators and consumers say it; reshapers and lookups, whose members
|
|
56
56
|
* pass through or are never read, need no line at all. Where a function takes several ranges the
|
|
57
57
|
* lines run in ARGUMENT order — the whole of argument N before N+1, row-major within — which is
|
|
58
|
-
*
|
|
58
|
+
* the which-error-wins order, and a function that pairs its ranges (the paired
|
|
59
59
|
* statistics) orders its own scan the way it pairs.
|
|
60
60
|
*
|
|
61
61
|
* > *A bare error propagates unless your function opts in to seeing it; the members of a range
|
|
@@ -918,8 +918,8 @@ declare global {
|
|
|
918
918
|
* asks each group's kind for the group: where its bars, points, slices or whatever it draws go.
|
|
919
919
|
*
|
|
920
920
|
* @beta The context a kind is given speaks the layout's frame units today: points from the frame's
|
|
921
|
-
* origin, as the layout works in them
|
|
922
|
-
*
|
|
921
|
+
* origin, as the layout works in them, with `at` and `px` to convert. This may change to px, as
|
|
922
|
+
* {@link ChartLayout} uses, while the API is in beta.
|
|
923
923
|
*
|
|
924
924
|
* `coordinates` says what the chrome lays out for the kind: `cartesian`, a pair of axes
|
|
925
925
|
* (category and value, or a scatter's two value axes) whose scales are fit to what
|
|
@@ -1081,7 +1081,7 @@ declare global {
|
|
|
1081
1081
|
xOfValue(scale: ValueScale, axis: ResolvedChart.Axis, value: number): number;
|
|
1082
1082
|
/** The series layout every kind states: id, name, values, slots, fill, stroke and trendlines. */
|
|
1083
1083
|
base(series: ResolvedChart.Series): Omit<ChartLayout.SeriesLayout, 'marker'>;
|
|
1084
|
-
/** A line or area group's up/down bars, high-low lines and drop lines
|
|
1084
|
+
/** A line or area group's up/down bars, high-low lines and drop lines. */
|
|
1085
1085
|
analysisLines(scale: ValueScale, tops: (number | null)[][], baseValue: number): Pick<ChartLayout.LineGroupLayout, 'upDownBars' | 'hiLowLines' | 'dropLines'>;
|
|
1086
1086
|
/** Lines in the frame cut to the plot, in px. */
|
|
1087
1087
|
segments(lines: Pt[][]): ChartLayout.Segment[];
|
|
@@ -1124,7 +1124,7 @@ declare global {
|
|
|
1124
1124
|
* The kinds of chart group, by group type: the built-ins, and any a host registers.
|
|
1125
1125
|
*
|
|
1126
1126
|
* @remarks
|
|
1127
|
-
* The built-in kinds register when the chart module loads (with the first chart
|
|
1127
|
+
* The built-in kinds register when the chart module loads (with the first chart),
|
|
1128
1128
|
* so before that {@link get} answers `undefined` for `'bar'`; a host's kind registered under a
|
|
1129
1129
|
* built-in type keeps its place when they do. A registration is a call, never a side effect of an
|
|
1130
1130
|
* import: the package declares no side effects, so a bundler drops a module imported only for one.
|
|
@@ -2708,30 +2708,6 @@ declare global {
|
|
|
2708
2708
|
}
|
|
2709
2709
|
}
|
|
2710
2710
|
|
|
2711
|
-
/**
|
|
2712
|
-
* Stacked cell-text layout — Excel's "Vertical Text" (`textRotation="255"`).
|
|
2713
|
-
*
|
|
2714
|
-
* Stacked text is not rotated. Every glyph stays upright and occupies one SLOT of the font's line
|
|
2715
|
-
* pitch, glyphs advancing downward in a column. Measured against Excel (hidden-COM probes, see
|
|
2716
|
-
* `VERTICAL-TEXT-PLAN.md`):
|
|
2717
|
-
*
|
|
2718
|
-
* 1. Columns come from explicit line breaks — one column per line, left → right in reading order —
|
|
2719
|
-
* and, when the cell wraps, from breaking a column that would exceed the content height: greedy
|
|
2720
|
-
* at spaces (the space at a break is consumed), per glyph inside a word longer than the capacity.
|
|
2721
|
-
* It is the horizontal wrap rule transposed. An unwrapped cell keeps one column; a line break
|
|
2722
|
-
* there is a blank slot.
|
|
2723
|
-
* 2. Leading and trailing spaces of a column are measured but never painted (see
|
|
2724
|
-
* {@link layoutColumns}); inner spaces are blank slots.
|
|
2725
|
-
* 3. Each column is aligned on its own by the vertical alignment (Top / Center / Bottom; Justify
|
|
2726
|
-
* and Distributed behave as Top and Center — nothing is spread). The horizontal alignment places
|
|
2727
|
-
* the group of columns; the caller resolves General (Excel centers it). Columns are one pitch
|
|
2728
|
-
* wide and glyphs center in them.
|
|
2729
|
-
* 4. Nothing overflows: the footprint clips to the cell on both axes.
|
|
2730
|
-
*
|
|
2731
|
-
* All output is pure geometry, renderer-agnostic: a DOM renderer maps each column to a box of
|
|
2732
|
-
* `pitch` line-height with one glyph per line; a canvas renderer paints each glyph centered in
|
|
2733
|
-
* its slot.
|
|
2734
|
-
*/
|
|
2735
2711
|
/**
|
|
2736
2712
|
* One stacked column.
|
|
2737
2713
|
*/
|
|
@@ -2765,7 +2741,7 @@ declare global {
|
|
|
2765
2741
|
* as `IModule.JSON` in the SDK. Produced by `ScriptCompiler.compile` (Node, which returns
|
|
2766
2742
|
* it inside a {@link CompileResult} alongside diagnostics) and executed compiler-free via
|
|
2767
2743
|
* `loadCompiledModule`. Compile diagnostics are NOT part of this artifact — they live on
|
|
2768
|
-
* {@link CompileResult}.
|
|
2744
|
+
* {@link CompileResult}.
|
|
2769
2745
|
*/
|
|
2770
2746
|
export interface CompiledModule {
|
|
2771
2747
|
/**
|
|
@@ -2985,7 +2961,7 @@ declare global {
|
|
|
2985
2961
|
* of {@link IChart} works, `getLayout` lays it out at a size, and `@sheetxl/react`'s `ChartElement`
|
|
2986
2962
|
* draws it. Its writes are not undoable: it has no transaction store.
|
|
2987
2963
|
*
|
|
2988
|
-
* The chart's code is loaded with the first chart, so this is asynchronous
|
|
2964
|
+
* The chart's code is loaded with the first chart, so this is asynchronous.
|
|
2989
2965
|
*/
|
|
2990
2966
|
export function createChart(json: IChart.JSON, options?: CreateChartOptions): Promise<IChart>;
|
|
2991
2967
|
|
|
@@ -3343,7 +3319,7 @@ declare global {
|
|
|
3343
3319
|
*
|
|
3344
3320
|
* @remarks
|
|
3345
3321
|
* This is the form Excel's own formula bar shows for a book it cannot see, which is the state every
|
|
3346
|
-
* book is in until a resolver opens one
|
|
3322
|
+
* book is in until a resolver opens one. The caller quotes it —
|
|
3347
3323
|
* `sheetNameToString` does, since a path carries separators no sheet name may.
|
|
3348
3324
|
*
|
|
3349
3325
|
* The directory is the first source that carries one: a book Excel recorded by a RELATIVE path
|
|
@@ -3509,8 +3485,8 @@ declare global {
|
|
|
3509
3485
|
* Both are the same mechanism at different granularity — the marshaller picks the unit from the
|
|
3510
3486
|
* element type — and a blank drops out of either. The scalar case is the common one; the range case
|
|
3511
3487
|
* exists because a reference UNION is a single argument holding several areas: a parameter that does
|
|
3512
|
-
* not declare `Flatten` refuses one outright (`#VALUE!` — `TRANSPOSE((A1:A3,C1:C3))`
|
|
3513
|
-
* body that declares it answers for the union itself, in one line, the way
|
|
3488
|
+
* not declare `Flatten` refuses one outright (`#VALUE!` — `TRANSPOSE((A1:A3,C1:C3))`), and a
|
|
3489
|
+
* body that declares it answers for the union itself, in one line, the way the built-ins do:
|
|
3514
3490
|
* `AREAS` counts the areas, `SUM` adds them, `ROWS` answers `#REF!` to more than one, the lookups
|
|
3515
3491
|
* `#N/A`.
|
|
3516
3492
|
*
|
|
@@ -3669,7 +3645,7 @@ declare global {
|
|
|
3669
3645
|
*
|
|
3670
3646
|
* SpillErrorScalarSubType | "Unknown" | "Collision" | "IndeterminateSize" | "WorksheetEdge" | "OutOfMemoryWhileCalc" | "Table" | "MergedCell"
|
|
3671
3647
|
* # Office 2023
|
|
3672
|
-
* 10. #CONNECT! This occurs when a data type is used that is not currently supported
|
|
3648
|
+
* 10. #CONNECT! This occurs when a data type is used that is not currently supported.
|
|
3673
3649
|
* 11. #BLOCKED! Indicates that an action or feature is blocked, possibly due to security settings, protected view, or other restrictions. Often related to online features, external links, or macros.
|
|
3674
3650
|
* 12. #UNKNOWN! May be returned in the case of a protected workbook.
|
|
3675
3651
|
* 13. #FIELD! Invalid field name for a data type.
|
|
@@ -6881,6 +6857,11 @@ declare global {
|
|
|
6881
6857
|
isTopLeft(): boolean;
|
|
6882
6858
|
/**
|
|
6883
6859
|
* Returns the range of the cell if it is a spill cell.
|
|
6860
|
+
*
|
|
6861
|
+
* @remarks
|
|
6862
|
+
* For a blocked spill (a {@link getSpillKind | kind} of `error`, the anchor shows `#SPILL!`) this
|
|
6863
|
+
* is the range it would take. It holds none of those cells: their values are whatever is in the
|
|
6864
|
+
* way. Spills can overlap, and one that is not blocked is returned ahead of one that is.
|
|
6884
6865
|
*/
|
|
6885
6866
|
getSpill(): ICellRange | null;
|
|
6886
6867
|
/**
|
|
@@ -7560,26 +7541,11 @@ declare global {
|
|
|
7560
7541
|
* cell with none authored has the Normal style's. `majority` and `of` are evidence, not a
|
|
7561
7542
|
* gate: a convention held by 3 of 5 cells is reported as such.
|
|
7562
7543
|
*
|
|
7563
|
-
* **Rank** says which finding to read first. It is not a confidence
|
|
7564
|
-
*
|
|
7565
|
-
*
|
|
7566
|
-
*
|
|
7567
|
-
*
|
|
7568
|
-
* alignment `0.05`. Every other check ranks at a fixed weight: `repeatedReference` and
|
|
7569
|
-
* `lookupShape` `1`, `approximateMatch` and `externalReference` `0.9`, `formulaRange` and
|
|
7570
|
-
* `degenerateCall` `0.8`, `emptyCellReference` and `sumIncludesSubtotal` `0.6`,
|
|
7571
|
-
* `keyLabelMismatch` and `linkLabelMismatch` `0.4`, `unlockedFormula` and `signVsSiblings` `0.1`,
|
|
7572
|
-
* `numberStoredAsText` `0.05`. A `styleRole` finding ranks at the role's weight (`link` `0.6`,
|
|
7573
|
-
* `reference` `0.4`, `input` `0.3`, `computed` `0.2`) times `majority / of`. A
|
|
7574
|
-
* `misalignedReference` finding ranks at `0.8` times its target's share: `lineItem` `1`,
|
|
7575
|
-
* `outsideBlocks` `0.5`, `closingRow` and `absolute` `0.25`.
|
|
7576
|
-
*
|
|
7577
|
-
* A run or `styleRole` finding's rank is then divided by the number of times the same finding
|
|
7578
|
-
* (the same check and evidence) occurs in the workbook: a finding repeated across a model is the
|
|
7579
|
-
* author's style, and the one that occurs once is the exception to read first. So a finding's
|
|
7580
|
-
* rank can change when another sheet changes. The weights are measured on the SpreadsheetBench
|
|
7581
|
-
* v2 Debugging goldens and move as other measurements arrive. Regions of the `anomalies` feature
|
|
7582
|
-
* list highest rank first, and so do a cell's findings, in check order within an equal rank.
|
|
7544
|
+
* **Rank** says which finding to read first. It is not a confidence, and it is relative to the
|
|
7545
|
+
* workbook: a finding repeated across a model is the author's style, and the one that occurs
|
|
7546
|
+
* once is the exception to read first. So a finding's rank can change when another sheet
|
|
7547
|
+
* changes. Regions of the `anomalies` feature list highest rank first, and so do a cell's
|
|
7548
|
+
* findings, in check order within an equal rank.
|
|
7583
7549
|
*
|
|
7584
7550
|
* **Literals and twins.** `literalMatchesInput` reads the numbers typed into a formula against
|
|
7585
7551
|
* the typed numbers no formula reads: a reference replaced by its value is what left the input
|
|
@@ -7589,16 +7555,12 @@ declare global {
|
|
|
7589
7555
|
* when both are a calendar period, a power of ten or a small count. Every side of a divergence is
|
|
7590
7556
|
* listed, since two wrong rows can outvote the right one.
|
|
7591
7557
|
*
|
|
7592
|
-
*
|
|
7593
|
-
*
|
|
7594
|
-
* for a sign: signs differ between line items by design, so a sign divergence is read when asked
|
|
7595
|
-
* for by check. `scaleOutlier` ranks at `0.8`.
|
|
7558
|
+
* A sign divergence ranks low: signs differ between line items by design, so it is read when
|
|
7559
|
+
* asked for by check.
|
|
7596
7560
|
*
|
|
7597
7561
|
* `constantFrequency` reports every constant a formula types, the common ones too, with how many
|
|
7598
|
-
* places in the workbook type it (`uses`) and of how many constant uses (`of`).
|
|
7599
|
-
*
|
|
7600
|
-
* that types few has little to be rare against. A finding's `uses` and `of` change when another
|
|
7601
|
-
* sheet changes.
|
|
7562
|
+
* places in the workbook type it (`uses`) and of how many constant uses (`of`). The rarer the
|
|
7563
|
+
* constant, the higher it ranks. A finding's `uses` and `of` change when another sheet changes.
|
|
7602
7564
|
*
|
|
7603
7565
|
* A label's position is absolute (`R12C3`), since it stays put whichever cell of a region reads
|
|
7604
7566
|
* it; its text is the one read at the region's first cell.
|
|
@@ -9377,7 +9339,7 @@ declare global {
|
|
|
9377
9339
|
* // Hunting an embedded hardcode: read its checks' findings first, 25 regions at a time.
|
|
9378
9340
|
* sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25 });
|
|
9379
9341
|
* sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25, offset: 25 });
|
|
9380
|
-
* // Or name the kind of defect and let the
|
|
9342
|
+
* // Or name the kind of defect and let the ranking decide.
|
|
9381
9343
|
* sheet.getAnomalies({ focus: 'unitMismatch', limit: 25 });
|
|
9382
9344
|
* ```
|
|
9383
9345
|
*
|
|
@@ -9983,10 +9945,13 @@ declare global {
|
|
|
9983
9945
|
*
|
|
9984
9946
|
* This method is a more scalable alternative to `getValues` or `getCells` for large or sparse ranges,
|
|
9985
9947
|
* as it:
|
|
9986
|
-
* 1. Skips empty values by default.
|
|
9948
|
+
* 1. Skips empty values by default, however much of the range is styled.
|
|
9987
9949
|
* 2. Avoids creating large arrays.
|
|
9988
9950
|
* 3. Allows for early termination.
|
|
9989
|
-
|
|
9951
|
+
*
|
|
9952
|
+
* To reach blank cells that have a feature, such as a fill or a hyperlink, name it in
|
|
9953
|
+
* {@link ICellRange.IteratorOptions.features}.
|
|
9954
|
+
*
|
|
9990
9955
|
* @param callback A function that will be called for each non-empty cell in the range. The callback receives:
|
|
9991
9956
|
* - `value`: The `Scalar` at the current cell.
|
|
9992
9957
|
* - `context`: A `IteratorContext` object providing additional information and utilities for the cell.
|
|
@@ -10750,8 +10715,8 @@ declare global {
|
|
|
10750
10715
|
*
|
|
10751
10716
|
* @remarks
|
|
10752
10717
|
* The same lens {@link ICellRange.getCounts} and {@link ICellRange.getRegions} take, and it
|
|
10753
|
-
* costs no extra scan: the range is split at the hidden runs first
|
|
10754
|
-
*
|
|
10718
|
+
* costs no extra scan: the range is split at the hidden runs first and the resulting pieces
|
|
10719
|
+
* are measured as ONE population.
|
|
10755
10720
|
*
|
|
10756
10721
|
* Optionally an {@link IRange.Axis} to skip on one axis only.
|
|
10757
10722
|
*/
|
|
@@ -11291,7 +11256,8 @@ declare global {
|
|
|
11291
11256
|
*/
|
|
11292
11257
|
readonly Role: "role";
|
|
11293
11258
|
/**
|
|
11294
|
-
*
|
|
11259
|
+
* A date-category number format, given directly or by a named style — `yyyy-mm-dd`,
|
|
11260
|
+
* `mm/dd/yyyy`, and the like.
|
|
11295
11261
|
*
|
|
11296
11262
|
* @remarks
|
|
11297
11263
|
* A formatting predicate, not a value kind: a blank cell or a text cell formatted this way
|
|
@@ -11335,7 +11301,11 @@ declare global {
|
|
|
11335
11301
|
readonly Fill: "fill";
|
|
11336
11302
|
/** Direct borders. */
|
|
11337
11303
|
readonly Borders: "borders";
|
|
11338
|
-
/**
|
|
11304
|
+
/**
|
|
11305
|
+
* A number format given directly or by a named style, not one left at Normal's. Region payloads
|
|
11306
|
+
* carry the format string and its category, so a block with `0%` set directly and one with the
|
|
11307
|
+
* `Percent` style are one region.
|
|
11308
|
+
*/
|
|
11339
11309
|
readonly NumberFormat: "numberFormat";
|
|
11340
11310
|
/** Direct alignment. */
|
|
11341
11311
|
readonly Alignment: "alignment";
|
|
@@ -11352,7 +11322,7 @@ declare global {
|
|
|
11352
11322
|
readonly Table: "table";
|
|
11353
11323
|
/** Auto-table membership. */
|
|
11354
11324
|
readonly AutoTable: "autoTable";
|
|
11355
|
-
/** Has a hyperlink. */
|
|
11325
|
+
/** Has a hyperlink. Regions group by what the link says, so the same link set twice is one region. */
|
|
11356
11326
|
readonly Hyperlink: "hyperlink";
|
|
11357
11327
|
/**
|
|
11358
11328
|
* Ignores one or more of Excel's error checks. Regions group by the set of checks ignored.
|
|
@@ -11506,8 +11476,8 @@ declare global {
|
|
|
11506
11476
|
checks?: readonly ICell.ErrorCheck[];
|
|
11507
11477
|
/**
|
|
11508
11478
|
* The kind of defect being looked for, or several: regions are ordered by how often findings
|
|
11509
|
-
* like theirs have been that kind of defect
|
|
11510
|
-
*
|
|
11479
|
+
* like theirs have been that kind of defect in audited models, and by rank where that is
|
|
11480
|
+
* equal. With `checks` too, the named checks still list first and `focus` orders
|
|
11511
11481
|
* within each. An unknown name throws.
|
|
11512
11482
|
*
|
|
11513
11483
|
* @defaultValue none — by rank
|
|
@@ -11603,9 +11573,12 @@ declare global {
|
|
|
11603
11573
|
/**
|
|
11604
11574
|
* The features the iteration resolves and visits.
|
|
11605
11575
|
*
|
|
11606
|
-
* @defaultValue all features
|
|
11576
|
+
* @defaultValue all features are resolved, and only the cells with values are visited
|
|
11607
11577
|
*
|
|
11608
11578
|
* @remarks
|
|
11579
|
+
* Naming a feature also visits the blank cells that have it: `features: 'hyperlink'` reaches a
|
|
11580
|
+
* link on an empty cell, and `features: 'fill'` every cell of a filled column.
|
|
11581
|
+
*
|
|
11609
11582
|
* Two effects, both wins for a caller that does not need everything:
|
|
11610
11583
|
* - The iterator only materializes the requested features' state onto the context — an
|
|
11611
11584
|
* excluded feature is never even looked up.
|
|
@@ -12565,6 +12538,10 @@ declare global {
|
|
|
12565
12538
|
/**
|
|
12566
12539
|
* Measure the text using the styling properties
|
|
12567
12540
|
*
|
|
12541
|
+
* @remarks
|
|
12542
|
+
* The vertical metrics are a cell's line: `lineHeight` is the height of a row sized to one
|
|
12543
|
+
* line of this text, which leaves room around the font's ascent and descent as Excel does.
|
|
12544
|
+
*
|
|
12568
12545
|
* @param text The text to measure.
|
|
12569
12546
|
* @param size Size @defaultValue 'to the cell font.size'
|
|
12570
12547
|
* @param family Family @defaultValue 'to the cell font.family'
|
|
@@ -17223,8 +17200,8 @@ declare global {
|
|
|
17223
17200
|
/**
|
|
17224
17201
|
* The text a cell SHOWS: under a filter the displayed text, so `$1` is a cell holding 1 under
|
|
17225
17202
|
* `$0`; under a format or a validation, where nothing is shown at evaluation, the value's own
|
|
17226
|
-
* text. Type text. Excel's filter `equal` and its values list compare this way
|
|
17227
|
-
*
|
|
17203
|
+
* text. Type text. Excel's filter `equal` and its values list compare this way;
|
|
17204
|
+
* `equalTo` under no selector is value equality.
|
|
17228
17205
|
*/
|
|
17229
17206
|
readonly Display: "display";
|
|
17230
17207
|
readonly Number: "number";
|
|
@@ -19997,8 +19974,7 @@ declare global {
|
|
|
19997
19974
|
*
|
|
19998
19975
|
* @remarks
|
|
19999
19976
|
* Excel's external link is not a live reference — it is the cache plus enough to go re-fetch the
|
|
20000
|
-
* source.
|
|
20001
|
-
* `private-assets/design/calc/DESIGN-EXTERNAL-LINKS.md`.
|
|
19977
|
+
* source.
|
|
20002
19978
|
*
|
|
20003
19979
|
* Two members read as "which book is this", and they answer different questions:
|
|
20004
19980
|
*
|
|
@@ -20058,8 +20034,8 @@ declare global {
|
|
|
20058
20034
|
*
|
|
20059
20035
|
* @remarks
|
|
20060
20036
|
* **Sparse.** A cell the cache does not hold — and a sheet it holds nothing for — reads as a
|
|
20061
|
-
* BLANK cell, which is what Excel computes with the source closed
|
|
20062
|
-
*
|
|
20037
|
+
* BLANK cell, which is what Excel computes with the source closed. Values only — no format, no
|
|
20038
|
+
* style, no comment; a cached date is a plain serial.
|
|
20063
20039
|
*
|
|
20064
20040
|
* @param sheetIndex Position in {@link getSheetNames}, matching the XML's `sheetId` (0-based).
|
|
20065
20041
|
*/
|
|
@@ -20081,8 +20057,8 @@ declare global {
|
|
|
20081
20057
|
* (`[Budget.xlsx]Sheet1`) once a resolver holds it.
|
|
20082
20058
|
*
|
|
20083
20059
|
* @remarks
|
|
20084
|
-
* A readout of the book's state, not a preference
|
|
20085
|
-
*
|
|
20060
|
+
* A readout of the book's state, not a preference: without a resolver this is always the closed
|
|
20061
|
+
* form. The caller quotes it.
|
|
20086
20062
|
*
|
|
20087
20063
|
* @param sheetName Omitted for the book-scoped `[1]!Name` form.
|
|
20088
20064
|
*/
|
|
@@ -20127,8 +20103,8 @@ declare global {
|
|
|
20127
20103
|
* @remarks
|
|
20128
20104
|
* Needs a resolver (`ICellContainerOptions.externalBookResolver`, given when the workbook is
|
|
20129
20105
|
* built); without one every book is `'unavailable'` and nothing changes, which is the state a
|
|
20130
|
-
* workbook is in until a host supplies one
|
|
20131
|
-
* citing the book reads the new values. A resolver that throws leaves the cache as it was and
|
|
20106
|
+
* workbook is in until a host supplies one. A replaced cache is one undoable step, and every
|
|
20107
|
+
* formula citing the book reads the new values. A resolver that throws leaves the cache as it was and
|
|
20132
20108
|
* marks each cached sheet `refreshError`, as Excel records a refresh it could not complete.
|
|
20133
20109
|
*/
|
|
20134
20110
|
refresh(): Promise<IExternalBook.RefreshResult>;
|
|
@@ -20158,8 +20134,8 @@ declare global {
|
|
|
20158
20134
|
* the book is opened from, `absoluteUrl` its 2021 cloud-URL companion.
|
|
20159
20135
|
*
|
|
20160
20136
|
* @remarks
|
|
20161
|
-
* Not derivable from {@link type} — the two can carry the SAME relationship type (
|
|
20162
|
-
*
|
|
20137
|
+
* Not derivable from {@link type} — the two can carry the SAME relationship type (a relative
|
|
20138
|
+
* and an absolute `externalLinkPath` can sit on one part). Absent for
|
|
20163
20139
|
* an entry nothing points at, which is a real shape too: an `xlPathMissing` or
|
|
20164
20140
|
* `externalLinkLongPath` rel rides along on the part without being referenced from it.
|
|
20165
20141
|
*/
|
|
@@ -20198,10 +20174,10 @@ declare global {
|
|
|
20198
20174
|
* Opens a book's source and answers its current contents, or declines.
|
|
20199
20175
|
*
|
|
20200
20176
|
* @remarks
|
|
20201
|
-
*
|
|
20177
|
+
* A resolver for a workbook file should read it with `WorkbookIO.read` and
|
|
20202
20178
|
* `calcOnLoad: 'none'`, taking the source's own cached values and never evaluating it — that is
|
|
20203
|
-
* what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl.
|
|
20204
|
-
*
|
|
20179
|
+
* what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl. A source that
|
|
20180
|
+
* is not a workbook file can be resolved too. WHETHER a source may be opened at all — an
|
|
20205
20181
|
* untrusted file naming an arbitrary path or URL — is the host's decision, made before this is
|
|
20206
20182
|
* asked; a resolver never fetches on its own initiative, only on {@link IExternalBook.refresh}.
|
|
20207
20183
|
*/
|
|
@@ -20219,7 +20195,7 @@ declare global {
|
|
|
20219
20195
|
/**
|
|
20220
20196
|
* Sparse cell values — the same encoding `IWorksheet.JSON.data` uses (`Scalar.JSON` is already just
|
|
20221
20197
|
* the value+type pair; style/formula live in sibling fields there, none of which apply to a
|
|
20222
|
-
* values-only cache
|
|
20198
|
+
* values-only cache).
|
|
20223
20199
|
*/
|
|
20224
20200
|
data: Tuple.GridTuple<Scalar.JSON>;
|
|
20225
20201
|
}
|
|
@@ -20361,7 +20337,8 @@ declare global {
|
|
|
20361
20337
|
* the `https` handler.
|
|
20362
20338
|
*
|
|
20363
20339
|
* @returns The response; rejects with a `TypeError` when no handler serves the scheme, as
|
|
20364
|
-
* `fetch` does for a URL it cannot reach.
|
|
20340
|
+
* `fetch` does for a URL it cannot reach. In a browser the default handlers reject with a
|
|
20341
|
+
* `FormulaError.Blocked` when the site responded but does not allow web pages to read it.
|
|
20365
20342
|
*/
|
|
20366
20343
|
fetch(input: string, init?: RequestInit): Promise<Response>;
|
|
20367
20344
|
/**
|
|
@@ -21502,9 +21479,8 @@ declare global {
|
|
|
21502
21479
|
readonly strikeThickness?: number;
|
|
21503
21480
|
readonly italicAngle?: number;
|
|
21504
21481
|
/**
|
|
21505
|
-
* The line pitch in px — what a line of this
|
|
21506
|
-
*
|
|
21507
|
-
* gridline gutter above and below the font box). Includes {@link lineGap}.
|
|
21482
|
+
* The line pitch in px — what a line of this text advances by: {@link ascent} plus
|
|
21483
|
+
* {@link descent} plus {@link lineGap}.
|
|
21508
21484
|
*/
|
|
21509
21485
|
readonly lineHeight: number;
|
|
21510
21486
|
/**
|
|
@@ -21512,6 +21488,7 @@ declare global {
|
|
|
21512
21488
|
* paints the line as a box (a CSS line box) puts the alphabetic baseline.
|
|
21513
21489
|
*/
|
|
21514
21490
|
readonly baseline: number;
|
|
21491
|
+
/** The leading in px: the room in {@link lineHeight} beyond the ascent and descent. */
|
|
21515
21492
|
readonly lineGap: number;
|
|
21516
21493
|
/**
|
|
21517
21494
|
* The font's ascent above the baseline in whole px at the measured size — GDI's `tmAscent`,
|
|
@@ -21527,9 +21504,8 @@ declare global {
|
|
|
21527
21504
|
*
|
|
21528
21505
|
* @remarks
|
|
21529
21506
|
* Advances are per em and vertical metrics follow GDI, so a table measures as Excel does: a
|
|
21530
|
-
* shipped face measures GDI's hinted whole pixels
|
|
21531
|
-
*
|
|
21532
|
-
* made or changed.
|
|
21507
|
+
* shipped face measures GDI's hinted whole pixels. Tables are built by the collection from the
|
|
21508
|
+
* shipped files or the platform; they are read here, never made or changed.
|
|
21533
21509
|
*/
|
|
21534
21510
|
interface AdvanceTable {
|
|
21535
21511
|
/** The family the table measures, as a style names it. */
|
|
@@ -21539,8 +21515,12 @@ declare global {
|
|
|
21539
21515
|
readonly italic: boolean;
|
|
21540
21516
|
/** Whether widths are GDI's hinted whole pixels. */
|
|
21541
21517
|
readonly isHinted: boolean;
|
|
21542
|
-
/**
|
|
21543
|
-
|
|
21518
|
+
/**
|
|
21519
|
+
* The height of a line per em by the font's typo metrics (ascent less descent plus line gap),
|
|
21520
|
+
* for a font that asks for them; `null` otherwise. DirectWrite lays a line out this tall, so
|
|
21521
|
+
* Excel's charts do.
|
|
21522
|
+
*/
|
|
21523
|
+
readonly typoLine: number | null;
|
|
21544
21524
|
/** The number of characters with an advance. */
|
|
21545
21525
|
readonly size: number;
|
|
21546
21526
|
/** The advance of `codepoint` per em, or `undefined` when the table has none. */
|
|
@@ -21552,7 +21532,10 @@ declare global {
|
|
|
21552
21532
|
* super/subscript scale, then `letterSpacing` between characters.
|
|
21553
21533
|
*/
|
|
21554
21534
|
width(text: string, px: number, options?: AdvanceTable.WidthOptions): number;
|
|
21555
|
-
/**
|
|
21535
|
+
/**
|
|
21536
|
+
* The face's whole-px vertical metrics at `px` pixels per em: GDI's ascent and descent, and a
|
|
21537
|
+
* line as tall as the font's own metrics ask.
|
|
21538
|
+
*/
|
|
21556
21539
|
metrics(px: number): Metrics;
|
|
21557
21540
|
/**
|
|
21558
21541
|
* The underline at `px`: its center's offset above the baseline (negative below) and its
|
|
@@ -21681,6 +21664,23 @@ declare global {
|
|
|
21681
21664
|
* ```
|
|
21682
21665
|
*/
|
|
21683
21666
|
function captureTables(bytes: Uint8Array, options?: CaptureOptions): Promise<CapturedFace[]>;
|
|
21667
|
+
/**
|
|
21668
|
+
* The CSS `font-family` value that paints `family`: the family, then the fonts that stand in for
|
|
21669
|
+
* it where it is not installed, then `fallbacks`, each followed by its own stand-ins.
|
|
21670
|
+
*
|
|
21671
|
+
* A stand-in is the family `family` is measured by and that family's open metric-compatible
|
|
21672
|
+
* twins, so text painted on a machine without the original still fits its measurement.
|
|
21673
|
+
*
|
|
21674
|
+
* @param family The family as a style names it.
|
|
21675
|
+
* @param fallbacks Families or CSS generic names to try after it.
|
|
21676
|
+
*
|
|
21677
|
+
* @example
|
|
21678
|
+
* ```ts
|
|
21679
|
+
* IFont.toCSSFontFamily('Calibri', ['sans-serif']); // 'Calibri, Carlito, sans-serif'
|
|
21680
|
+
* IFont.toCSSFontFamily('Aptos Narrow', ['sans-serif']); // '"Aptos Narrow", "Intos Narrow", Calibri, Carlito, sans-serif'
|
|
21681
|
+
* ```
|
|
21682
|
+
*/
|
|
21683
|
+
function toCSSFontFamily(family: string, fallbacks?: readonly string[] | null): string;
|
|
21684
21684
|
/**
|
|
21685
21685
|
* Provides a font-family fallback based on the PANOSE hex string.
|
|
21686
21686
|
*
|
|
@@ -22316,8 +22316,8 @@ declare global {
|
|
|
22316
22316
|
* A union `(A1:A5,B1:B2)` reaches a {@link IFunction.ParameterTypeJSON.reportType} slot as one
|
|
22317
22317
|
* `IRange` per area. Functions that answer over it do so because they walk MEMBERS and a union
|
|
22318
22318
|
* simply has more of them — `LARGE((DA1:DA5,DK1:DK2),2)` is the second largest of all seven
|
|
22319
|
-
* cells. This is that walk, and it is a helper rather than a marshalling step on purpose:
|
|
22320
|
-
*
|
|
22319
|
+
* cells. This is that walk, and it is a helper rather than a marshalling step on purpose:
|
|
22320
|
+
* flattening is a shared reducer the bodies opt into, which is why the
|
|
22321
22321
|
* same union is flattened by `LARGE`, refused by `SUMPRODUCT` and answered `#REF!` by `ROWS`.
|
|
22322
22322
|
*
|
|
22323
22323
|
* The result is a single column in area order, row-major within each area. SHAPE IS NOT
|
|
@@ -22366,7 +22366,7 @@ declare global {
|
|
|
22366
22366
|
*/
|
|
22367
22367
|
getColumn(): number;
|
|
22368
22368
|
/**
|
|
22369
|
-
* Whether the call being evaluated is in
|
|
22369
|
+
* Whether the call being evaluated is in VALUE mode, where a multi-cell reference at a
|
|
22370
22370
|
* slot that reads ONE value is implicitly intersected with the formula's cell (the `@` rule);
|
|
22371
22371
|
* `false` is ARRAY mode, where such a slot reads the reference's first cell.
|
|
22372
22372
|
*
|
|
@@ -22405,7 +22405,7 @@ declare global {
|
|
|
22405
22405
|
* A few arguments honor only their top-left corner and are re-sized to the shape of the range
|
|
22406
22406
|
* that drives them — `SUMIF`'s `sum_range`, `LOOKUP`'s `result_vector`. The window can therefore
|
|
22407
22407
|
* run off the bottom or right of the grid: `SUMIF(A1:A5,">0",A1048574)` asks for five rows
|
|
22408
|
-
* starting three from the end.
|
|
22408
|
+
* starting three from the end. The part that fits is read and the rest is blank, which
|
|
22409
22409
|
* is what this returns; positions past the clamp read as `undefined` from `getValueAt`.
|
|
22410
22410
|
*
|
|
22411
22411
|
* @param anchor The coords of the argument as written; only its top-left corner is honored.
|
|
@@ -22809,12 +22809,11 @@ declare global {
|
|
|
22809
22809
|
* want the raw carry above — `DATEDIF("2020-01-31","2020-03-01","md")` is `-1`
|
|
22810
22810
|
* because Jan 31 rolls into March. `EDATE`/`EOMONTH` want the opposite and CLAMP to
|
|
22811
22811
|
* the target month's length, so they pre-clamp before calling here. One conversion,
|
|
22812
|
-
* two opposite rules
|
|
22812
|
+
* two opposite rules. Baking either one in breaks the other.
|
|
22813
22813
|
* * **Results may legitimately leave the calendar.** `YEARFRAC` basis 1 anchors a year
|
|
22814
22814
|
* length on January 1 of `laterYear + 1`, which at the top of the calendar is
|
|
22815
|
-
* `10000-01-01`;
|
|
22816
|
-
* `
|
|
22817
|
-
* here would break it.
|
|
22815
|
+
* `10000-01-01`; `YEARFRAC(DATE(9998,1,1),DATE(9999,12,31),1)` is
|
|
22816
|
+
* `1.9972602739726026`, not `#NUM!`. A range check here would break it.
|
|
22818
22817
|
* * **The 16-bit argument limits are per-function.** `DATE`'s month errors outside
|
|
22819
22818
|
* `[-32767, 32766]` while its day saturates to `32767`, and `TIME` errors outside
|
|
22820
22819
|
* `[0, 32767]` on every argument — same magic number, three different rules.
|
|
@@ -22822,8 +22821,8 @@ declare global {
|
|
|
22822
22821
|
* Note the asymmetry with {@link getDateParts}, which DOES throw `#NUM!` outside the
|
|
22823
22822
|
* calendar because it answers a user-facing question. An internal intermediate that
|
|
22824
22823
|
* steps one day past the end must therefore not be round-tripped through it; compute
|
|
22825
|
-
* on the fields instead
|
|
22826
|
-
*
|
|
22824
|
+
* on the fields instead, or `YEARFRAC(DATE(9999,1,1),DATE(9999,12,31),0)` becomes `#NUM!`
|
|
22825
|
+
* rather than `1`.
|
|
22827
22826
|
*/
|
|
22828
22827
|
getSerialDate(year: number, month: number, day: number, hour?: number, minute?: number, second?: number, millis?: number): number;
|
|
22829
22828
|
/**
|
|
@@ -22839,8 +22838,8 @@ declare global {
|
|
|
22839
22838
|
*
|
|
22840
22839
|
* @remarks
|
|
22841
22840
|
* Argument REFLECTION, for the one thing a declaration cannot say: what happened at *this* call.
|
|
22842
|
-
* It exists to serve
|
|
22843
|
-
* other
|
|
22841
|
+
* It exists to serve a declared `any`, which means "no contract, the body decides" — every
|
|
22842
|
+
* other declared type maps onto a type we already have and the marshaller handles it.
|
|
22844
22843
|
*
|
|
22845
22844
|
* The returned view is valid ONLY while the body that asked for it is running. Views are pooled
|
|
22846
22845
|
* by dispatch depth, so retaining one across an `await`, a callback, or a nested evaluation hands
|
|
@@ -22859,7 +22858,7 @@ declare global {
|
|
|
22859
22858
|
* recognizes it: while the call is still waiting, a recalculation with
|
|
22860
22859
|
* an equal payload leaves it be rather than asking again. Once it has stopped, a recalculation
|
|
22861
22860
|
* calls the function again; what it fetched is answered from the workbook's cache
|
|
22862
|
-
* (`
|
|
22861
|
+
* (`IDeferContext.fetch`).
|
|
22863
22862
|
* @returns The last answer this call gave for the same question, when the function is being
|
|
22864
22863
|
* called again (a recalculation); `undefined` on a first call or a changed question. Return it
|
|
22865
22864
|
* to keep showing it until the new answer arrives, or return something else to show that the
|
|
@@ -22871,14 +22870,15 @@ declare global {
|
|
|
22871
22870
|
* from meanwhile: return `#BUSY!` when they should wait as an error, or text such as
|
|
22872
22871
|
* `'Fetching…'` when that is what they should show.
|
|
22873
22872
|
*
|
|
22874
|
-
* The executor runs after the recalculation, outside any cell
|
|
22875
|
-
*
|
|
22873
|
+
* The executor runs after the recalculation, outside any cell, so the ambient `FormulaContext`
|
|
22874
|
+
* is not its own: it reads the workbook through `ctx.getFormulaContext()`. Whatever the body
|
|
22875
|
+
* knows about its cell goes in the payload.
|
|
22876
22876
|
*
|
|
22877
22877
|
* @example
|
|
22878
22878
|
* ```typescript
|
|
22879
22879
|
* function fetchAll(
|
|
22880
22880
|
* calls: readonly IFormulaContext.DeferredCall<string>[],
|
|
22881
|
-
* ctx: IFormulaContext.
|
|
22881
|
+
* ctx: IFormulaContext.IDeferContext
|
|
22882
22882
|
* ): void {
|
|
22883
22883
|
* for (const call of calls) {
|
|
22884
22884
|
* ctx.fetch(call.payload as string)
|
|
@@ -22933,7 +22933,7 @@ declare global {
|
|
|
22933
22933
|
* then `range` is returned as it is, hidden rows included.
|
|
22934
22934
|
*
|
|
22935
22935
|
* @remarks
|
|
22936
|
-
* This is `SUBTOTAL` 1-11 (
|
|
22936
|
+
* This is `SUBTOTAL` 1-11 (they include manually hidden rows, which is what an
|
|
22937
22937
|
* unfiltered sheet reads as). `SUBTOTAL` 101-111 and `AGGREGATE` leave it off and skip
|
|
22938
22938
|
* always.
|
|
22939
22939
|
* @defaultValue false
|
|
@@ -23062,7 +23062,7 @@ declare global {
|
|
|
23062
23062
|
* Answers the calls made by {@link IFormulaContext.defer} against it. Invoked once at the end of
|
|
23063
23063
|
* a recalculation with every such call; how many requests that becomes is the executor's choice.
|
|
23064
23064
|
*/
|
|
23065
|
-
type DeferExecutor<T = any> = (calls: readonly DeferredCall<T>[], ctx:
|
|
23065
|
+
type DeferExecutor<T = any> = (calls: readonly DeferredCall<T>[], ctx: IDeferContext) => void | Promise<void>;
|
|
23066
23066
|
/**
|
|
23067
23067
|
* One call made by {@link IFormulaContext.defer}, as its executor receives it.
|
|
23068
23068
|
*
|
|
@@ -23074,7 +23074,7 @@ declare global {
|
|
|
23074
23074
|
/** What the function passed to `defer`. */
|
|
23075
23075
|
readonly payload: unknown;
|
|
23076
23076
|
/** Settles the call with its result. */
|
|
23077
|
-
resolve(value: T): void;
|
|
23077
|
+
resolve(value: T, options?: DeferredCall.ResolveOptions): void;
|
|
23078
23078
|
/** Settles the call with an error: a `FormulaError` as itself, anything else as `#VALUE!`. */
|
|
23079
23079
|
reject(error: unknown): void;
|
|
23080
23080
|
/** Runs `fn` when the result is no longer wanted. */
|
|
@@ -23085,10 +23085,29 @@ declare global {
|
|
|
23085
23085
|
*/
|
|
23086
23086
|
readonly cancelled: boolean;
|
|
23087
23087
|
}
|
|
23088
|
+
namespace DeferredCall {
|
|
23089
|
+
/**
|
|
23090
|
+
* Options for {@link DeferredCall.resolve}.
|
|
23091
|
+
*/
|
|
23092
|
+
interface ResolveOptions {
|
|
23093
|
+
/**
|
|
23094
|
+
* Whether the blanks of an array result stay blank when it spills. Omitted, they read as
|
|
23095
|
+
* `0`, as any spilled array's blanks do.
|
|
23096
|
+
*
|
|
23097
|
+
* @remarks
|
|
23098
|
+
* For data whose empty fields mean "nothing here", such as an imported file. The result
|
|
23099
|
+
* keeps them while a formula passes it on as it is (`IF(c, result, …)`). A function that
|
|
23100
|
+
* answers element by element builds a new array, whose blanks read as `0`
|
|
23101
|
+
* (`IFERROR(result, …)`, `result & ""`).
|
|
23102
|
+
* @defaultValue false
|
|
23103
|
+
*/
|
|
23104
|
+
keepBlanks?: boolean;
|
|
23105
|
+
}
|
|
23106
|
+
}
|
|
23088
23107
|
/**
|
|
23089
23108
|
* What an executor is given beside its calls.
|
|
23090
23109
|
*/
|
|
23091
|
-
interface
|
|
23110
|
+
interface IDeferContext {
|
|
23092
23111
|
/** A random number in `[0, 1)` from the calculation's source, which a test can seed. */
|
|
23093
23112
|
getRandom(): number;
|
|
23094
23113
|
/**
|
|
@@ -23096,6 +23115,35 @@ declare global {
|
|
|
23096
23115
|
* here (maps, numbers, strings, buffers), not connections or sockets.
|
|
23097
23116
|
*/
|
|
23098
23117
|
getState<S>(init: () => S): S;
|
|
23118
|
+
/**
|
|
23119
|
+
* Groups `calls` by payload and runs `answer` once per distinct payload with every call that
|
|
23120
|
+
* asked it: one request per question, however many cells asked.
|
|
23121
|
+
*
|
|
23122
|
+
* @param calls The calls to group, usually every call the executor was handed.
|
|
23123
|
+
* @param answer Settles one group. When it throws, or the promise it returns rejects, the
|
|
23124
|
+
* group's calls it has not settled fail with that error; the other groups are not affected.
|
|
23125
|
+
* @returns Resolves once every group has been answered. It never rejects.
|
|
23126
|
+
*
|
|
23127
|
+
* @remarks
|
|
23128
|
+
* Payloads are equal as `defer` compares them: the same primitive, or plain objects or arrays
|
|
23129
|
+
* whose own values are the same one level deep. Groups are answered concurrently, in the
|
|
23130
|
+
* order their first call appears.
|
|
23131
|
+
*
|
|
23132
|
+
* @example
|
|
23133
|
+
* ```typescript
|
|
23134
|
+
* async function fetchQuotes(
|
|
23135
|
+
* calls: readonly IFormulaContext.DeferredCall<number>[],
|
|
23136
|
+
* ctx: IFormulaContext.IDeferContext
|
|
23137
|
+
* ): Promise<void> {
|
|
23138
|
+
* await ctx.byPayload(calls, async (ticker: string, group) => {
|
|
23139
|
+
* const response = await ctx.fetch(`https://api.example.com/quote/${ticker}`);
|
|
23140
|
+
* const price: number = (await response.json()).price;
|
|
23141
|
+
* for (const call of group) call.resolve(price);
|
|
23142
|
+
* });
|
|
23143
|
+
* }
|
|
23144
|
+
* ```
|
|
23145
|
+
*/
|
|
23146
|
+
byPayload<T = any, P = unknown>(calls: readonly DeferredCall<T>[], answer: (payload: P, group: readonly DeferredCall<T>[]) => void | Promise<void>): Promise<void>;
|
|
23099
23147
|
/**
|
|
23100
23148
|
* A rich value of a registered type, for the workbook being calculated: what
|
|
23101
23149
|
* {@link IFormulaContext.createRichData} makes inside a cell, made here for a call's result.
|
|
@@ -23116,8 +23164,44 @@ declare global {
|
|
|
23116
23164
|
* answer the workbook already has for the URL (a picture it keeps, or anything fetched while
|
|
23117
23165
|
* it is open) answers from the workbook, and two calls for one URL share one request. In an
|
|
23118
23166
|
* external calculation (*Refresh All*) it goes to the source.
|
|
23167
|
+
*
|
|
23168
|
+
* Rejects when the URL cannot be reached, with a `FormulaError.Blocked` when the site responded
|
|
23169
|
+
* but the browser would not let the page read it.
|
|
23119
23170
|
*/
|
|
23120
23171
|
fetch(input: string, init?: RequestInit): Promise<Response>;
|
|
23172
|
+
/**
|
|
23173
|
+
* The formula context of the workbook being calculated, with no cell: its parsing, text,
|
|
23174
|
+
* comparison and dates, read with the workbook's locale and date system.
|
|
23175
|
+
*
|
|
23176
|
+
* @remarks
|
|
23177
|
+
* Valid for as long as the executor runs, across every `await`. The ambient `FormulaContext`
|
|
23178
|
+
* is not: it belongs to the cell being evaluated, and an executor runs after that evaluation
|
|
23179
|
+
* ends. What needs a cell (`getRow`, `getReference`, `getValueAt`, `defer`, `markVolatile`,
|
|
23180
|
+
* `formatResults`, `getRandom`) throws here; {@link getRandom} is the executor's own.
|
|
23181
|
+
*/
|
|
23182
|
+
getFormulaContext(): IFormulaContext;
|
|
23183
|
+
/**
|
|
23184
|
+
* Reads delimited text (CSV, TSV) into rows of values, each field read the way the workbook
|
|
23185
|
+
* reads typed entry: numbers, dates, booleans and error labels become values, anything else
|
|
23186
|
+
* stays text, and an empty field is blank.
|
|
23187
|
+
*
|
|
23188
|
+
* @param text The delimited text.
|
|
23189
|
+
* @param options How the text is split.
|
|
23190
|
+
* @returns The rows, padded with blanks to the widest row.
|
|
23191
|
+
*/
|
|
23192
|
+
parseText(text: string, options?: IDeferContext.ParseTextOptions): Promise<Scalar[][]>;
|
|
23193
|
+
}
|
|
23194
|
+
namespace IDeferContext {
|
|
23195
|
+
/**
|
|
23196
|
+
* Options for {@link IDeferContext.parseText}.
|
|
23197
|
+
*/
|
|
23198
|
+
interface ParseTextOptions {
|
|
23199
|
+
/**
|
|
23200
|
+
* The character between fields.
|
|
23201
|
+
* @defaultValue `','`
|
|
23202
|
+
*/
|
|
23203
|
+
delimiter?: string;
|
|
23204
|
+
}
|
|
23121
23205
|
}
|
|
23122
23206
|
}
|
|
23123
23207
|
|
|
@@ -23425,7 +23509,7 @@ declare global {
|
|
|
23425
23509
|
*
|
|
23426
23510
|
* @remarks
|
|
23427
23511
|
* STATIC, and read from the formula text at compile time: it is true of the call whether or
|
|
23428
|
-
* not the call runs, which is what a lazy argument
|
|
23512
|
+
* not the call runs, which is what a lazy argument requires.
|
|
23429
23513
|
*
|
|
23430
23514
|
* @see {@link ReturnTypeJSON.volatile}
|
|
23431
23515
|
*/
|
|
@@ -23464,7 +23548,7 @@ declare global {
|
|
|
23464
23548
|
* @remarks
|
|
23465
23549
|
* Only meaningful for a VARIADIC function; a fixed parameter list is already its own maximum.
|
|
23466
23550
|
* The number is the whole CALL's argument count, prefix and optional suffix included, and it
|
|
23467
|
-
* is refused
|
|
23551
|
+
* is refused at entry, before evaluation.
|
|
23468
23552
|
*
|
|
23469
23553
|
* @see {@link Repeating}
|
|
23470
23554
|
*/
|
|
@@ -23766,8 +23850,8 @@ declare global {
|
|
|
23766
23850
|
* Generated from the `NoLift<T>` marker.
|
|
23767
23851
|
*
|
|
23768
23852
|
* @remarks
|
|
23769
|
-
* Per parameter, because Excel
|
|
23770
|
-
* and lifts one at `weekend`. An ARRAY at the slot still lifts, a one-cell reference is an
|
|
23853
|
+
* Per parameter, because Excel's built-ins differ by slot: `NETWORKDAYS.INTL` refuses a
|
|
23854
|
+
* reference at its date slots and lifts one at `weekend`. An ARRAY at the slot still lifts, a one-cell reference is an
|
|
23771
23855
|
* ordinary argument, and a repeating slot absorbs a container as members, so the marker only
|
|
23772
23856
|
* ever applies to a non-repeating scalar parameter.
|
|
23773
23857
|
*/
|
|
@@ -23807,7 +23891,7 @@ declare global {
|
|
|
23807
23891
|
* union is the range arm, handed over whole. The slot never lifts.
|
|
23808
23892
|
*
|
|
23809
23893
|
* @remarks
|
|
23810
|
-
*
|
|
23894
|
+
* Some array slots read a one-cell argument as THE ARGUMENT rather than as a
|
|
23811
23895
|
* one-cell container: `SORT(<#N/A cell>,1,1,<#DIV/0! cell>)` is `#N/A` where
|
|
23812
23896
|
* `TAKE(<#N/A cell>,<#DIV/0! cell>)` is `#DIV/0!`. The engine's default
|
|
23813
23897
|
* for a range slot is TAKE's; this flag is SORT's. {@link scalar} and {@link range} each carry
|
|
@@ -23874,7 +23958,7 @@ declare global {
|
|
|
23874
23958
|
*
|
|
23875
23959
|
* @remarks
|
|
23876
23960
|
* Collected at COMPILE time from the formula text (`CompiledFormula.hasVolatile`), because
|
|
23877
|
-
* that is where
|
|
23961
|
+
* that is where volatility is decided: `=IF(TRUE,1,RAND())` recalculates on every idle pass though
|
|
23878
23962
|
* no branch selects the arm, and with lazy arguments the call never happens for the engine to
|
|
23879
23963
|
* observe.
|
|
23880
23964
|
*
|
|
@@ -23897,11 +23981,10 @@ declare global {
|
|
|
23897
23981
|
* parameter. Omitted at the default of 255.
|
|
23898
23982
|
*
|
|
23899
23983
|
* @remarks
|
|
23900
|
-
*
|
|
23901
|
-
*
|
|
23902
|
-
*
|
|
23903
|
-
*
|
|
23904
|
-
* takes 254.
|
|
23984
|
+
* The cap is one number per NAME, compared against the whole call's argument count, so a call
|
|
23985
|
+
* past it is refused AT ENTRY rather than answered — which is why the cap lives on the
|
|
23986
|
+
* declaration and not in a body. It is not derivable from the shape: in Excel `STDEV` takes 255
|
|
23987
|
+
* arguments and `STDEV.S`, the same function under its dotted name, takes 254.
|
|
23905
23988
|
*
|
|
23906
23989
|
* @defaultValue 255
|
|
23907
23990
|
*/
|
|
@@ -24038,9 +24121,8 @@ declare global {
|
|
|
24038
24121
|
* - What was the value BEFORE the parameter's type coerced it?
|
|
24039
24122
|
* - Was that empty slot an omission, or a blank cell the caller pointed at?
|
|
24040
24123
|
*
|
|
24041
|
-
*
|
|
24042
|
-
* parameters
|
|
24043
|
-
* declined to express one. `CUMIPMT` refuses a boolean at every slot while `FV` coerces one at
|
|
24124
|
+
* Some functions have behaviors that turn on exactly those questions, and they cluster at
|
|
24125
|
+
* parameters declared `any` — where there is nothing to express as a type. `CUMIPMT` refuses a boolean at every slot while `FV` coerces one at
|
|
24044
24126
|
* every slot; the difference is not the values, it is that `CUMIPMT`'s slots are `any` and its
|
|
24045
24127
|
* body decides.
|
|
24046
24128
|
*
|
|
@@ -24165,7 +24247,7 @@ declare global {
|
|
|
24165
24247
|
*/
|
|
24166
24248
|
getKindAt(index: number): ValueKind;
|
|
24167
24249
|
/**
|
|
24168
|
-
* True when the argument at `index` is DIRECT —
|
|
24250
|
+
* True when the argument at `index` is DIRECT — typed into the list of arguments:
|
|
24169
24251
|
* the evaluated value IS a value, not a container or a callable.
|
|
24170
24252
|
*
|
|
24171
24253
|
* @param index The PARAMETER index — the position in the body's own signature.
|
|
@@ -29205,6 +29287,51 @@ declare global {
|
|
|
29205
29287
|
* ```
|
|
29206
29288
|
*/
|
|
29207
29289
|
setShapeType(shapeType: IGeometry.Preset | string, options?: ITransaction.OperationOptions): this;
|
|
29290
|
+
/**
|
|
29291
|
+
* Returns the shape's outline at a size, for drawing the picture cropped to its shape.
|
|
29292
|
+
*
|
|
29293
|
+
* @param width The frame's width in pixels. Defaults to the movable's.
|
|
29294
|
+
* @param height The frame's height in pixels. Defaults to the movable's.
|
|
29295
|
+
* @returns `null` for a preset this SDK does not know, or for a picture with no movable and no size.
|
|
29296
|
+
*/
|
|
29297
|
+
getGeometry(width?: number, height?: number): Promise<IGeometry | null>;
|
|
29298
|
+
/**
|
|
29299
|
+
* Returns the part of the image shown, as percentages of the image's size inset from each edge.
|
|
29300
|
+
*
|
|
29301
|
+
* @remarks
|
|
29302
|
+
* An edge not cropped is absent, so an uncropped picture answers `{}`. A negative inset shows empty
|
|
29303
|
+
* space beyond that edge of the image, which is how a picture fits inside a frame of another shape.
|
|
29304
|
+
*/
|
|
29305
|
+
getCrop(): IFill.RectInsets;
|
|
29306
|
+
/**
|
|
29307
|
+
* Sets the part of the image shown. The frame stays as it is, so the part shown is stretched over
|
|
29308
|
+
* it; to keep the image's scale, change the frame with {@link IMovable.setBounds} as well.
|
|
29309
|
+
*
|
|
29310
|
+
* @param crop Percentages of the image's size, inset from each edge; `null` shows the whole image.
|
|
29311
|
+
* @throws ExpectedError when the insets leave nothing to show.
|
|
29312
|
+
*
|
|
29313
|
+
* @example
|
|
29314
|
+
* ```ts
|
|
29315
|
+
* picture.setCrop({ left: 10, right: 10 });
|
|
29316
|
+
* ```
|
|
29317
|
+
*/
|
|
29318
|
+
setCrop(crop: IFill.RectInsets | null, options?: ITransaction.OperationOptions): this;
|
|
29319
|
+
/**
|
|
29320
|
+
* Returns the hyperlink a click on the picture follows, or `null` for none.
|
|
29321
|
+
*/
|
|
29322
|
+
getHyperlink(): IHyperlink | null;
|
|
29323
|
+
/**
|
|
29324
|
+
* Sets the hyperlink a click on the picture follows.
|
|
29325
|
+
*
|
|
29326
|
+
* @param hyperlink An address, the link's properties, or `null` to remove it. An address takes the
|
|
29327
|
+
* form a cell's does: a url, or `#Sheet1!A1` for a location in this workbook.
|
|
29328
|
+
*
|
|
29329
|
+
* @example
|
|
29330
|
+
* ```ts
|
|
29331
|
+
* picture.setHyperlink('https://www.sheetxl.com');
|
|
29332
|
+
* ```
|
|
29333
|
+
*/
|
|
29334
|
+
setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
|
|
29208
29335
|
/**
|
|
29209
29336
|
* What the picture's frame draws with: the fill behind the image and the border around it.
|
|
29210
29337
|
* A picture has no theme style, so each is only what the picture states; by default neither
|
|
@@ -30260,7 +30387,7 @@ declare global {
|
|
|
30260
30387
|
* @remarks
|
|
30261
30388
|
* Errors INSIDE a range are the body's to judge: the engine hands a valid range over whole and
|
|
30262
30389
|
* never looks inside, so a function whose answer depends on every member says so with this
|
|
30263
|
-
* line, placed before its own validation where
|
|
30390
|
+
* line, placed before its own validation where the member's error outranks it. A reshaper or a
|
|
30264
30391
|
* lookup, whose members pass through or are never read, needs no line at all.
|
|
30265
30392
|
*/
|
|
30266
30393
|
firstError(): FormulaError.Known | null;
|
|
@@ -30273,7 +30400,7 @@ declare global {
|
|
|
30273
30400
|
* @remarks
|
|
30274
30401
|
* `options.axis` is the TRAVERSAL order feeding the ordinal, not the orientation of the result:
|
|
30275
30402
|
* the result is always Nx1, and a row is `flatten().transpose()`. The default is row-major,
|
|
30276
|
-
* which is the order
|
|
30403
|
+
* which is the order two range operands pair in.
|
|
30277
30404
|
*
|
|
30278
30405
|
* `options.type` carries a read type onto the result, so a member the type filters out becomes
|
|
30279
30406
|
* a HOLE at its ordinal rather than compacting the column. That is what lets two operands be
|
|
@@ -30922,7 +31049,7 @@ declare global {
|
|
|
30922
31049
|
*
|
|
30923
31050
|
* - By default, `broadcast()` follows strict alignment rules like NumPy and will
|
|
30924
31051
|
* throw an error if the input ranges cannot be broadcasted together.
|
|
30925
|
-
* - When `misalignValue` is provided, `broadcast()` will instead
|
|
31052
|
+
* - When `misalignValue` is provided, `broadcast()` will instead follow Excel's behavior:
|
|
30926
31053
|
* - It finds the **largest valid intersection** of the ranges.
|
|
30927
31054
|
* - It expands the result to the **union of both range sizes**.
|
|
30928
31055
|
* - Any cells that do not have valid corresponding values from the inputs
|
|
@@ -30980,7 +31107,7 @@ declare global {
|
|
|
30980
31107
|
*
|
|
30981
31108
|
* @remarks
|
|
30982
31109
|
* Off, a dimension of 1 is a short dimension like any other and pads `misalignValue` past
|
|
30983
|
-
* its one position:
|
|
31110
|
+
* its one position: the `MAP` rule, where a 1-row array is not stretched.
|
|
30984
31111
|
*/
|
|
30985
31112
|
tile?: boolean;
|
|
30986
31113
|
/**
|
|
@@ -31665,7 +31792,7 @@ declare global {
|
|
|
31665
31792
|
*/
|
|
31666
31793
|
getAggregates(options?: IRange.IteratorOptions): Readonly<IRangeStats.Aggregates>;
|
|
31667
31794
|
/**
|
|
31668
|
-
* Returns the sum as
|
|
31795
|
+
* Returns the sum as `SUM` reports it — {@link getAggregates}'s `sum` with Excel's
|
|
31669
31796
|
* cancellation-to-zero rule applied.
|
|
31670
31797
|
*
|
|
31671
31798
|
* @param total A total the caller accumulated across SEVERAL stats instances. Omit for a
|
|
@@ -31676,7 +31803,7 @@ declare global {
|
|
|
31676
31803
|
* @remarks
|
|
31677
31804
|
* Collapses a total to exactly zero when it lands at least 50 binary exponents below the
|
|
31678
31805
|
* operands that produced it, so `SUM(0.1,0.2,-0.3)` is `0` rather than `5.55111512312578E-17`.
|
|
31679
|
-
* Use this wherever you mean "the number
|
|
31806
|
+
* Use this wherever you mean "the number SUM shows" — a status bar, a report
|
|
31680
31807
|
* total, a formula. Use `getAggregates().sum` where you mean the true total of the data.
|
|
31681
31808
|
*
|
|
31682
31809
|
* The two genuinely differ, and neither is a rounding of the other:
|
|
@@ -31686,12 +31813,12 @@ declare global {
|
|
|
31686
31813
|
* and `PERCENTOF`, and to NOTHING else — `SUMIF`, `SUMPRODUCT`, `SERIESSUM`, `DSUM`, the
|
|
31687
31814
|
* `SUMX2MY2` family and every binary operator all keep the residue over the same values.
|
|
31688
31815
|
* That is why this is a method you call and not a change to `getAggregates`.
|
|
31689
|
-
* - `AVERAGE` divides THIS, not the raw sum: snapping the mean instead is
|
|
31816
|
+
* - `AVERAGE` divides THIS, not the raw sum: snapping the mean instead is wrong.
|
|
31690
31817
|
*
|
|
31691
31818
|
* It is also cheap when it does not fire: a bound derived from `min`/`max` rejects any
|
|
31692
31819
|
* ordinary total without re-reading the range.
|
|
31693
31820
|
*
|
|
31694
|
-
* **Multiple ranges.**
|
|
31821
|
+
* **Multiple ranges.** The rule applies on the *final* accumulation step, so a total
|
|
31695
31822
|
* spanning several ranges must be judged against the range holding the LAST value — pass the
|
|
31696
31823
|
* running total as `total` and call this on that range. (Snapping each range separately gets
|
|
31697
31824
|
* `SUM(A1:A3,0)` and `SUM(A1:A1,A2:A2,A3:A3)` wrong in opposite directions.) A composite
|
|
@@ -31840,7 +31967,7 @@ declare global {
|
|
|
31840
31967
|
* Sorting requires materializing the full numeric population (O(n log n), one allocation).
|
|
31841
31968
|
* Unlike `Aggregates`, sorted views are **not composable across sub-ranges**.
|
|
31842
31969
|
*
|
|
31843
|
-
* Covers the following
|
|
31970
|
+
* Covers the following functions (all share one sort per coords per calc cycle):
|
|
31844
31971
|
* - `LARGE`, `SMALL`
|
|
31845
31972
|
* - `MEDIAN`, `PERCENTILE`, `PERCENTILE.INC`, `PERCENTILE.EXC`
|
|
31846
31973
|
* - `QUARTILE`, `QUARTILE.INC`, `QUARTILE.EXC` (q1 = k=0.25, q3 = k=0.75)
|
|
@@ -31905,7 +32032,7 @@ declare global {
|
|
|
31905
32032
|
* one outside the population is not found.
|
|
31906
32033
|
* @param exclusive If true, uses exclusive formula (0 and 1 are excluded).
|
|
31907
32034
|
* @param significance Number of DECIMAL PLACES to TRUNCATE the result to — despite what
|
|
31908
|
-
* Excel's
|
|
32035
|
+
* Excel's help calls the argument, it is not significant digits and it does not round.
|
|
31909
32036
|
* Truncated toward zero first (1.9 places means 1), and must be at least 1. Omit it for the
|
|
31910
32037
|
* exact untruncated rank, which is also the only form that cannot fail.
|
|
31911
32038
|
* @returns The percent rank of x; `null` if x is not found or there are no numbers in range.
|
|
@@ -41154,7 +41281,7 @@ declare global {
|
|
|
41154
41281
|
* write path both actually ask, use {@link isEncrypted}.
|
|
41155
41282
|
*
|
|
41156
41283
|
* Never the password: origins are rendered into logs and REPL output, and ride events and
|
|
41157
|
-
* progress callbacks, so a secret has no business here
|
|
41284
|
+
* progress callbacks, so a secret has no business here.
|
|
41158
41285
|
*
|
|
41159
41286
|
* Use it to show a lock affordance, and to recognise that writing plaintext over it would be a
|
|
41160
41287
|
* downgrade — {@link IWorkbookIO.WriteOptions.password} makes that refusal explicit.
|
|
@@ -41560,8 +41687,8 @@ declare global {
|
|
|
41560
41687
|
* - `'auto'` — cached values are trusted; the load pass evaluates a formula cell with no
|
|
41561
41688
|
* cached value (a repair — Excel always stores one) and refreshes volatiles. Everything is
|
|
41562
41689
|
* recalculated only when Excel would recalculate on open: the file sets `fullCalcOnLoad`,
|
|
41563
|
-
* or for xlsx its `calcId` is missing or older than the Excel build this library
|
|
41564
|
-
*
|
|
41690
|
+
* or for xlsx its `calcId` is missing or older than the Excel build this library
|
|
41691
|
+
* targets. (What this library writes carries one: the source file's, else that
|
|
41565
41692
|
* build's.) To take the file's values as they are whatever it says — as openpyxl does —
|
|
41566
41693
|
* pass `'none'`; to always recalculate, `'full'`.
|
|
41567
41694
|
* - `'full'` — everything is recalculated, whatever the file says.
|
|
@@ -43230,7 +43357,7 @@ declare global {
|
|
|
43230
43357
|
/**
|
|
43231
43358
|
* The events that carry a {@link ChangeEvent}: what {@link ChangeEvent.getKind} names.
|
|
43232
43359
|
*/
|
|
43233
|
-
type ChangeEventKey = 'onDataChange' | 'onStyleChange' | '
|
|
43360
|
+
type ChangeEventKey = 'onDataChange' | 'onStyleChange' | 'onMergesChange' | 'onSpillsChange';
|
|
43234
43361
|
/**
|
|
43235
43362
|
* What a change event announces: where the change landed and what wrote it.
|
|
43236
43363
|
*
|
|
@@ -43470,11 +43597,8 @@ declare global {
|
|
|
43470
43597
|
* for "cell geometry moved".
|
|
43471
43598
|
* * This can be be due to row/column sizes changes or changing the max rows columns.
|
|
43472
43599
|
* * Zoom and viewport do not change the underlying layout.
|
|
43473
|
-
*
|
|
43474
|
-
* @param source The sheet.
|
|
43475
|
-
* @param event The whole sheet: sizes are announced by the headers, which do not say where.
|
|
43476
43600
|
*/
|
|
43477
|
-
onLayoutChange?(source: IWorksheet
|
|
43601
|
+
onLayoutChange?(source: IWorksheet): void;
|
|
43478
43602
|
/**
|
|
43479
43603
|
* Called when which rows are hidden has changed.
|
|
43480
43604
|
*/
|
|
@@ -45310,7 +45434,8 @@ declare global {
|
|
|
45310
45434
|
*/
|
|
45311
45435
|
setLicenseKey(licenseKey: string, force?: boolean): Promise<LicenseDetails>;
|
|
45312
45436
|
/**
|
|
45313
|
-
* Return the current license details.
|
|
45437
|
+
* Return the current license details. Prints nothing: the license notice is printed when the
|
|
45438
|
+
* engine starts under the license (see {@link assertUsable}).
|
|
45314
45439
|
*/
|
|
45315
45440
|
getDetails(): Promise<LicenseDetails>;
|
|
45316
45441
|
/**
|
|
@@ -46566,14 +46691,6 @@ declare global {
|
|
|
46566
46691
|
constructor(message: string, options?: ErrorOptions);
|
|
46567
46692
|
}
|
|
46568
46693
|
|
|
46569
|
-
/**
|
|
46570
|
-
* The statistics a box and whisker draws for one set of values, as Excel computes them (measured
|
|
46571
|
-
* 2026-10-22, `probe-chart-2016-types.ps1` B01-B13 and `probe-chart-2016-types-reopen.ps1` B05-B07;
|
|
46572
|
-
* DESIGN-CHART §4.17): quartiles by Excel's exclusive (`QUARTILE.EXC`) or inclusive
|
|
46573
|
-
* (`QUARTILE.INC`) method, the median the same either way; whiskers to the furthest values within
|
|
46574
|
-
* 1.5 interquartile ranges of the box, and the values beyond them outliers (B09: 60 beyond a box of
|
|
46575
|
-
* 15..25).
|
|
46576
|
-
*/
|
|
46577
46694
|
export type QuartileMethod = 'inclusive' | 'exclusive';
|
|
46578
46695
|
|
|
46579
46696
|
/**
|
|
@@ -47009,12 +47126,12 @@ declare global {
|
|
|
47009
47126
|
* omitted when there is a single repetition. `SORTBY`'s legal arities are 2 and 1+2n and nothing
|
|
47010
47127
|
* else — `SORTBY(array, by1)` is legal, `SORTBY(array, by1, o1, by2)` is not. It is not a general
|
|
47011
47128
|
* "the final element of the final group may be omitted" rule; that rule would accept a formula
|
|
47012
|
-
*
|
|
47129
|
+
* that must be refused. An optional slot anywhere else in the group is a compiler error.
|
|
47013
47130
|
*
|
|
47014
47131
|
* ### The maximum, `Max`
|
|
47015
47132
|
*
|
|
47016
|
-
* The second type argument is the largest number of arguments the WHOLE CALL accepts
|
|
47017
|
-
*
|
|
47133
|
+
* The second type argument is the largest number of arguments the WHOLE CALL accepts: one
|
|
47134
|
+
* number per NAME, compared against the call's total argument count and
|
|
47018
47135
|
* refused at entry (`Excess_function_arguments`), never a count of this parameter's own share.
|
|
47019
47136
|
* `SWITCH`'s 254 therefore covers its `expression` and its trailing `default` as well as the
|
|
47020
47137
|
* pairs, and `CHOOSEROWS`' covers its `array`.
|
|
@@ -47076,8 +47193,8 @@ declare global {
|
|
|
47076
47193
|
* what can arrive and {@link IFunctionArguments.getAreaCountAt} answers the union question the
|
|
47077
47194
|
* kind cannot — a plain reference is one area, a union is more.
|
|
47078
47195
|
*
|
|
47079
|
-
* Its use is meant to stay countable: a slot earns it with a
|
|
47080
|
-
*
|
|
47196
|
+
* Its use is meant to stay countable: a slot earns it with a concrete behavior that needs it,
|
|
47197
|
+
* never speculatively.
|
|
47081
47198
|
*
|
|
47082
47199
|
* @example
|
|
47083
47200
|
* ```ts
|
|
@@ -47272,7 +47389,6 @@ declare global {
|
|
|
47272
47389
|
/** Box and whisker groups: what of each box is drawn, and the line it is drawn with. */
|
|
47273
47390
|
box?: BoxOptions;
|
|
47274
47391
|
}
|
|
47275
|
-
/** How a box and whisker series draws its boxes (DESIGN-CHART §4.17). */
|
|
47276
47392
|
interface BoxOptions {
|
|
47277
47393
|
quartileMethod: QuartileMethod;
|
|
47278
47394
|
/** An x at each box's mean. */
|
|
@@ -47399,11 +47515,6 @@ declare global {
|
|
|
47399
47515
|
bannerFill: IFill.JSON | null;
|
|
47400
47516
|
};
|
|
47401
47517
|
}
|
|
47402
|
-
/**
|
|
47403
|
-
* How a histogram's values were counted (DESIGN-CHART §4.16): each series' `values` are its
|
|
47404
|
-
* counts by bin and its `categories` the bins' labels; a pareto's are its sums by category,
|
|
47405
|
-
* largest first, with a line of the running share on an axis of its own.
|
|
47406
|
-
*/
|
|
47407
47518
|
interface Histogram {
|
|
47408
47519
|
/** The first series' bins, each with the indexes of its `raw` values. */
|
|
47409
47520
|
bins: HistogramBin[];
|
|
@@ -47707,7 +47818,7 @@ declare global {
|
|
|
47707
47818
|
* This is what makes a miss impossible by construction for a served root: one fetch of this file and
|
|
47708
47819
|
* the resolver knows exactly which packages and files the root holds, so it never has to ask for a
|
|
47709
47820
|
* file that is not there. A root without one (a hand-assembled folder) still works — the resolver
|
|
47710
|
-
* falls back to probing
|
|
47821
|
+
* falls back to probing.
|
|
47711
47822
|
*/
|
|
47712
47823
|
export interface ResourceRootIndex {
|
|
47713
47824
|
/** Every file under the root, `path` relative to it (e.g. `locales/@sheetxl/sdk/de/ui.msg.json`). */
|
|
@@ -47766,6 +47877,12 @@ declare global {
|
|
|
47766
47877
|
* Display only: the value still reads as nothing to calculation.
|
|
47767
47878
|
*/
|
|
47768
47879
|
function toDisplayText(value: IRichData): string | null;
|
|
47880
|
+
/**
|
|
47881
|
+
* The text that stands for `value` as a whole, as in the formula bar: its display text
|
|
47882
|
+
* ({@link toDisplayText}), else the label its kind was given in parentheses, `(Image)`, else
|
|
47883
|
+
* `(Rich Object)`.
|
|
47884
|
+
*/
|
|
47885
|
+
function toPlaceholderText(value: IRichData): string;
|
|
47769
47886
|
/**
|
|
47770
47887
|
* The `ScalarType` `value` lays out as in a cell: its primitive's when it has one (a hyperlink
|
|
47771
47888
|
* named by a number is a number); `String` when it reads as nothing but shows text (an entity's
|
|
@@ -47886,8 +48003,8 @@ declare global {
|
|
|
47886
48003
|
*/
|
|
47887
48004
|
const MAX_SIGNIFICANT_DIGITS = 15;
|
|
47888
48005
|
/**
|
|
47889
|
-
* Applies
|
|
47890
|
-
* 15th becomes `0`, so the text parses to the double
|
|
48006
|
+
* Applies the 15-digit entry rule to numeric text: every significand digit past the
|
|
48007
|
+
* 15th becomes `0`, so the text parses to the double a cell stores.
|
|
47891
48008
|
*
|
|
47892
48009
|
* @param text Numeric text in any accepted form — signed, grouped, percent,
|
|
47893
48010
|
* currency-affixed, or scientific. The scan is locale-blind: only digit
|
|
@@ -47901,6 +48018,30 @@ declare global {
|
|
|
47901
48018
|
* truncation, not rounding: `1234567890.123456789` stores `…345`, never `…346`.
|
|
47902
48019
|
*/
|
|
47903
48020
|
function truncateNumberText(text: string): string;
|
|
48021
|
+
/**
|
|
48022
|
+
* The smallest magnitude a stored number can have: the smallest normal double. A smaller one is
|
|
48023
|
+
* stored as `0`.
|
|
48024
|
+
*/
|
|
48025
|
+
const MIN_NUMBER = 2.2250738585072014e-308;
|
|
48026
|
+
/**
|
|
48027
|
+
* Applies the stored-number floor to a number entering a workbook — typed, parsed from text, written
|
|
48028
|
+
* through the API or loaded from a file: a magnitude below {@link MIN_NUMBER} becomes `0`.
|
|
48029
|
+
*/
|
|
48030
|
+
function flushSubnormal(value: number): number;
|
|
48031
|
+
/**
|
|
48032
|
+
* Whether numeric text is inside the range accepted as a number, judged from the text as
|
|
48033
|
+
* written rather than the double it parses to.
|
|
48034
|
+
*
|
|
48035
|
+
* @param text Numeric text in any accepted form, as {@link truncateNumberText} takes it. Only
|
|
48036
|
+
* digits, `decimal` and an exponent marker are read.
|
|
48037
|
+
* @param decimal The decimal separator `text` is written with.
|
|
48038
|
+
* @returns `false` when the leading significant digit sits outside `1E-309` … `1E+307`
|
|
48039
|
+
* (`1E-310`, `0.00001E-305`, `1E+308`); for a zero mantissa, when its scale — exponent less
|
|
48040
|
+
* fraction digits — is outside ±308 (`0E-309`, `0.0E-308` and `0E+309`, but not `0E-308`,
|
|
48041
|
+
* `000E-308` or `0.0E+309`). Text out of range is not a number: a formula literal will not
|
|
48042
|
+
* commit, `VALUE` is `#VALUE!` and typed entry stays text.
|
|
48043
|
+
*/
|
|
48044
|
+
function isNumberTextInRange(text: string, decimal?: string): boolean;
|
|
47904
48045
|
/**
|
|
47905
48046
|
* Encodings of `ScalarType` for persistence.
|
|
47906
48047
|
*/
|
|
@@ -48162,8 +48303,7 @@ declare global {
|
|
|
48162
48303
|
*
|
|
48163
48304
|
* @remarks
|
|
48164
48305
|
* A Windows path becomes a `file:///` URI with forward slashes and percent-encoding, a UNC path a
|
|
48165
|
-
* `file://server/share/…` one, and a URL or a bare relative name is kept verbatim
|
|
48166
|
-
* target shapes measured in the corpus (DESIGN-EXTERNAL-LINKS §2.2).
|
|
48306
|
+
* `file://server/share/…` one, and a URL or a bare relative name is kept verbatim.
|
|
48167
48307
|
*/
|
|
48168
48308
|
export function sourceEntryFromPath(path: string): IExternalBook.SourceEntry;
|
|
48169
48309
|
|
|
@@ -48356,16 +48496,6 @@ declare global {
|
|
|
48356
48496
|
visitTextFrame?: (frame: ITextFrame) => Partial<ITextFrame> | void;
|
|
48357
48497
|
}
|
|
48358
48498
|
|
|
48359
|
-
/**
|
|
48360
|
-
* Excel's date axis (measured 2026-10-17, `probe-chart-dates.ps1` and `probe-chart-dates-units.ps1`,
|
|
48361
|
-
* DESIGN-CHART §4.2). Dates are serials, in the 1900 or 1904 system; lengths are points.
|
|
48362
|
-
*
|
|
48363
|
-
* @remarks
|
|
48364
|
-
* A date axis has one slot per base unit (a day, a month or a year) from its first date, snapped to
|
|
48365
|
-
* the start of its unit, to its last; each point is drawn in the slot of its date, so a gap in the
|
|
48366
|
-
* dates is a gap on the axis and two points of one date share a slot. Labels are drawn on the
|
|
48367
|
-
* major ticks only, from the first slot on, in the axis's number format.
|
|
48368
|
-
*/
|
|
48369
48499
|
export type TimeUnit = 'days' | 'months' | 'years';
|
|
48370
48500
|
|
|
48371
48501
|
/**
|
|
@@ -48489,14 +48619,6 @@ declare global {
|
|
|
48489
48619
|
superscript?: boolean;
|
|
48490
48620
|
}
|
|
48491
48621
|
|
|
48492
|
-
/**
|
|
48493
|
-
* Excel's trendlines: the fits, their R², the moving average, and the label's equation.
|
|
48494
|
-
*
|
|
48495
|
-
* @remarks
|
|
48496
|
-
* Measured against Excel 16.0 (DESIGN-CHART §4.5, `probe-chart-trendlines.ps1`): every coefficient
|
|
48497
|
-
* of the nine types on a line chart and a scatter, a set intercept, and a sweep of numbers through
|
|
48498
|
-
* the label's General format.
|
|
48499
|
-
*/
|
|
48500
48622
|
export type TrendlineType = 'exp' | 'linear' | 'log' | 'movingAvg' | 'poly' | 'power';
|
|
48501
48623
|
|
|
48502
48624
|
/**
|
|
@@ -49002,7 +49124,7 @@ declare global {
|
|
|
49002
49124
|
*
|
|
49003
49125
|
* @remarks
|
|
49004
49126
|
* A value's kind and its extent are different axes: `{10}`, `A1` and a bare `10` all reach a
|
|
49005
|
-
* range-typed parameter as a 1x1 container, yet
|
|
49127
|
+
* range-typed parameter as a 1x1 container, yet they are distinct:
|
|
49006
49128
|
* `VLOOKUP(10,10,1,TRUE)` is `#N/A` while `VLOOKUP(10,{10},1,TRUE)` is 10, and `TYPE` answers
|
|
49007
49129
|
* 1 vs 64. The kind is what the CALLER supplied; the extent is merely its size.
|
|
49008
49130
|
*
|
|
@@ -49011,7 +49133,7 @@ declare global {
|
|
|
49011
49133
|
* argument can be: a reference, a non-reference array, a callable, and no argument at all. As an
|
|
49012
49134
|
* argument kind, {@link ScalarType.Null} means a BLANK value.
|
|
49013
49135
|
*
|
|
49014
|
-
* The names and values are ours. The numeric codes
|
|
49136
|
+
* The names and values are ours. The numeric codes the `TYPE` function answers are a
|
|
49015
49137
|
* PROJECTION of this kind (see `TYPE`'s implementation), not the kind itself.
|
|
49016
49138
|
*
|
|
49017
49139
|
* @see {@link IFunctionArguments.getKindAt}
|
|
@@ -49103,7 +49225,7 @@ declare global {
|
|
|
49103
49225
|
* Compiles Excel wildcard text into a regex.
|
|
49104
49226
|
*
|
|
49105
49227
|
* @param anchor Where the pattern has to line up: `true` for the WHOLE string, `'start'` for a
|
|
49106
|
-
* PREFIX, `false` for anywhere in it.
|
|
49228
|
+
* PREFIX, `false` for anywhere in it. A criterion matches a whole cell, so every lookup and criteria
|
|
49107
49229
|
* caller anchors; `SEARCH`, which looks for a substring, does not; and a `D` function's criteria
|
|
49108
49230
|
* table is the prefix form — `DSUM` with the criterion `appl` takes the row whose value is
|
|
49109
49231
|
* `Apple`, where `COUNTIF` with the same criterion takes none.
|