@sheetxl/sdk 0.8.0-beta.11 → 0.8.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +172 -0
- package/browser/esm/{BMyDRQ716j79h_bH.mjs → -GEhXGMfNcWmHPby.mjs} +6 -6
- package/browser/esm/{B7aUIvgUjncMMD_i.mjs → 9WXf_BTKjW1cQisZ.mjs} +95 -94
- package/browser/esm/{PcHFjNzQsE54POri.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
- package/browser/esm/{DEiPS3Dr-s4fPbVZ.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
- package/browser/esm/{BpgskG1Er_lGQ_yS.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
- package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
- package/browser/esm/{BkBhLS0l6z8sxI6D.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
- package/browser/esm/{CU3DmJ-YnVVrC1_k.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
- package/browser/esm/{Dyq_ivuHvlXLwPCl.mjs → BVshV1iY3bcUH9_E.mjs} +1135 -1129
- package/browser/esm/{BFagR2JeWs74iAG3.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
- package/browser/esm/{DvAaxH6z_tGvrRzl.mjs → Bax5aOzQkbHKXW_X.mjs} +239 -230
- package/browser/esm/{DLLE0FZNsKxbBzRn.mjs → BiDGKhtzV6yIy66o.mjs} +45 -45
- package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
- package/browser/esm/{ClPfI4lODvCece29.mjs → BoAlHgjPQ6mxb_oO.mjs} +74 -74
- package/browser/esm/{BoV6zPBnfqCBCqZ7.mjs → C0mjTq8lhrX3HiPa.mjs} +4328 -3166
- package/browser/esm/{nvU0ClAbf0g94YBK.mjs → C5j0IdwtYkWlOftv.mjs} +604 -596
- package/browser/esm/{DWNzqw7DUKwoxjri.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
- package/browser/esm/{Ctjb0SsxV4K4MMqG.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
- package/{node/esm/CZICGK_ss0HoGHCP.mjs → browser/esm/CPzfhTPX2Y4dHX2p.mjs} +2 -2
- package/browser/esm/{Dlmig06rIo7cInRk.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
- package/browser/esm/{BjkCiv5Jz6WYKZeu.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
- package/browser/esm/Ced5uyofOWHuL_Jy.mjs +114 -0
- package/browser/esm/{CkxWugaJFjDGZNZ-.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
- package/browser/esm/{zlLuW405RSguy4Kn.mjs → CwygVKP_RXmne5Ot.mjs} +47 -47
- package/browser/esm/{C4MqfLn9Dm-l3OIk.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
- package/browser/esm/{BnG31I6Oj_HEtSPS.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
- package/browser/esm/{BVDiOXGMc5_FMGfy.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
- package/browser/esm/DW-MmlgMH87l-_cw.mjs +302 -0
- package/browser/esm/{CaB7J-xgfKO2uAkG.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
- package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
- package/browser/esm/{CHU6iu_WGlm7fLET.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
- package/browser/esm/{C2VbEI_XVAoseAwa.mjs → DkloMquaR1pbZCER.mjs} +44 -43
- package/browser/esm/{C16ycKja6zG0crV_.mjs → Dz86-De57bv2VYIi.mjs} +19447 -16481
- package/browser/esm/{BtvLTTfSBdAKplVG.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
- package/browser/esm/{CQYjO777cmAznUzK.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
- package/browser/esm/index.mjs +823 -644
- package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
- package/browser/esm/pm00uZZu_H3gxHFx.mjs +117 -0
- package/browser/esm/{CV5EGEjG5_-CPpP0.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
- package/browser/esm/{ClbvFbFzFzXLBKNN.mjs → zZngLMg6mg6nnNGX.mjs} +66 -66
- package/licenses/dependencies.txt +71 -1
- package/node/esm/{BqiexuA89caYnAPz.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
- package/node/esm/-b8yNV4v9qiq8EMY.mjs +117 -0
- package/node/esm/{D8zEN-6ZdDqDvTxM.mjs → 1V-m67YHbxmg3xk2.mjs} +74 -74
- package/node/esm/{D_t5AUxSm7_icjzq.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
- package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
- package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
- package/node/esm/{OVfaSb506tNSIvbv.mjs → BQ2XqExomMceAjfe.mjs} +20822 -18373
- package/node/esm/{2Kihw_-5lVTEnwMa.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
- package/node/esm/{D1TKBVmoKGAXf37B.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
- package/node/esm/{D6e2z7eZpxOJXHc7.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
- package/node/esm/{CNCNJNg890KdgkWh.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
- package/node/esm/{De2IONBxQhz-Qbyh.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
- package/node/esm/{CzXT00vrQa1_gvW9.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
- package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
- package/node/esm/{DUTskXCXref-IJnI.mjs → CWBS90g3Hz-kQDkY.mjs} +46 -46
- package/node/esm/{BIwObuhTJYf0jpUa.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
- package/node/esm/{CwePQwTILHHjGDkZ.mjs → CzrLqStvrcPE2-hb.mjs} +194 -185
- package/node/esm/{CCN5vD410obwdz38.mjs → D16EdlZG1hX5WUUK.mjs} +96 -95
- package/node/esm/{CDHdgJXH2vS71WMc.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
- package/node/esm/{cGwrLA1RCE-WhJ7w.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
- package/node/esm/{Bbf1Pm9Gk7YpLTvg.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
- package/node/esm/{yavzZOiZW_EjG9lE.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
- package/node/esm/{DkwIPzKc3UwdUIfM.mjs → DF0nL7s01dp7n0Bx.mjs} +10 -10
- package/node/esm/{DNRhGK-8Tr9xcRyc.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
- package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
- package/node/esm/{BIRq1kT7lLRzns9t.mjs → DR2OQTKqqyIkZnse.mjs} +2 -2
- package/node/esm/{857CIBgQgGpnqrXk.mjs → DSTLPBgpsGW6qP9e.mjs} +73 -73
- package/node/esm/{CGp6VZL-gZa9Uezx.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
- package/node/esm/{CZiqiay42tFTrLI4.mjs → DwvXHsycOQR219c7.mjs} +1 -1
- package/node/esm/{B21JjOLghRoDOrkx.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
- package/node/esm/{Ct3h15sCus4Tgt6M.mjs → NkPNHsq2T3DXg76x.mjs} +561 -553
- package/node/esm/{B084DssTcdBheTp_.mjs → Nl_IIkO1jbk0s9i-.mjs} +4552 -3373
- package/node/esm/{D2KBymQJd1XhpeQD.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
- package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
- package/node/esm/{CdJHUJSBRHZoryPe.mjs → Z1elC_roIu7LhceZ.mjs} +53 -53
- package/{browser/esm/D5np__Jb1euAyaLw.mjs → node/esm/e3F3OVXCxLJrSukW.mjs} +2 -2
- package/node/esm/index.mjs +806 -625
- package/node/esm/{mFiBSM7XgBHV9AY7.mjs → suOBVUz-pca6ilJH.mjs} +1607 -1601
- package/package.json +8 -6
- package/resources/contents.json +108 -0
- package/resources/fonts/aptos-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-bold.hinted.json +125 -0
- package/resources/fonts/aptos-bold.metrics.json +221 -0
- package/resources/fonts/aptos-bold.rows.json +8 -0
- package/resources/fonts/aptos-display-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-display-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-display-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-display-bold.hinted.json +125 -0
- package/resources/fonts/aptos-display-bold.metrics.json +221 -0
- package/resources/fonts/aptos-display-bold.rows.json +8 -0
- package/resources/fonts/aptos-display-italic.hinted.json +124 -0
- package/resources/fonts/aptos-display-italic.metrics.json +221 -0
- package/resources/fonts/aptos-display-italic.rows.json +8 -0
- package/resources/fonts/aptos-display-regular.hinted.json +125 -0
- package/resources/fonts/aptos-display-regular.metrics.json +221 -0
- package/resources/fonts/aptos-display-regular.rows.json +8 -0
- package/resources/fonts/aptos-italic.hinted.json +125 -0
- package/resources/fonts/aptos-italic.metrics.json +221 -0
- package/resources/fonts/aptos-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-bold.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-bold.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-bold.rows.json +8 -0
- package/resources/fonts/aptos-narrow-italic.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-italic.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-regular.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-regular.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-regular.rows.json +8 -0
- package/resources/fonts/aptos-regular.hinted.json +125 -0
- package/resources/fonts/aptos-regular.metrics.json +221 -0
- package/resources/fonts/aptos-regular.rows.json +8 -0
- package/resources/fonts/arial-bold-italic.rows.json +0 -1
- package/resources/fonts/arial-bold.rows.json +0 -1
- package/resources/fonts/arial-italic.rows.json +0 -1
- package/resources/fonts/arial-regular.rows.json +0 -1
- package/resources/fonts/calibri-bold-italic.rows.json +0 -1
- package/resources/fonts/calibri-bold.rows.json +0 -1
- package/resources/fonts/calibri-italic.rows.json +0 -1
- package/resources/fonts/calibri-regular.rows.json +0 -1
- package/resources/fonts/cambria-bold-italic.rows.json +0 -1
- package/resources/fonts/cambria-bold.rows.json +0 -1
- package/resources/fonts/cambria-italic.rows.json +0 -1
- package/resources/fonts/cambria-regular.rows.json +0 -1
- package/resources/fonts/contents.json +240 -0
- package/resources/fonts/courier-new-bold-italic.rows.json +0 -1
- package/resources/fonts/courier-new-bold.rows.json +0 -1
- package/resources/fonts/courier-new-italic.rows.json +0 -1
- package/resources/fonts/courier-new-regular.rows.json +0 -1
- package/resources/fonts/times-new-roman-bold-italic.rows.json +0 -1
- package/resources/fonts/times-new-roman-bold.rows.json +0 -1
- package/resources/fonts/times-new-roman-italic.rows.json +0 -1
- package/resources/fonts/times-new-roman-regular.rows.json +0 -1
- package/resources/locales/de/model.msg.json +12 -2
- package/resources/locales/en/model.msg.json +13 -2
- package/types/scripting-api.json +10638 -10446
- package/types/scripting-enums.json +20 -1
- package/types/scripting.d.ts +1536 -477
- package/types/src/.generated/wasm/sdk.d.ts +5 -27
- package/types/src/address/AddressUtils.d.ts +8 -0
- package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
- package/types/src/{sheet → anomalies}/_Anomalies.d.ts +3 -3
- package/types/src/anomalies/_FocusTable.d.ts +5 -0
- package/types/src/{sheet/_AnomalyFormulaChecks.d.ts → anomalies/_FormulaChecks.d.ts} +10 -2
- package/types/src/{sheet/_AnomalyLabelChecks.d.ts → anomalies/_LabelChecks.d.ts} +1 -1
- package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
- package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
- package/types/src/calculation/Calculation.d.ts +61 -98
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -29
- package/types/src/calculation/ICalculation.d.ts +96 -9
- package/types/src/calculation/NamedFormulaCollection.d.ts +110 -10
- package/types/src/calculation/TokenType.d.ts +0 -10
- package/types/src/calculation/_CloneBoundary.d.ts +0 -24
- package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -15
- package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
- package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
- package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
- package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
- package/types/src/calculation/compiler/Types.d.ts +1 -45
- package/types/src/calculation/engine/CalcBackend.d.ts +83 -127
- package/types/src/calculation/engine/index.d.ts +0 -8
- package/types/src/calculation/executor/CalcExecutor.d.ts +50 -116
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +47 -12
- package/types/src/calculation/executor/CircularReference.d.ts +0 -17
- package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
- package/types/src/calculation/executor/_WhatIf.d.ts +31 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +4 -31
- package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
- package/types/src/calculation/formula/IFormulaBlock.d.ts +5 -12
- package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
- package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/grid/CalcGrid.d.ts +8 -64
- package/types/src/calculation/grid/CalcGridBackend.d.ts +12 -35
- package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -15
- package/types/src/calculation/grid/CalcGridUtils.d.ts +21 -23
- package/types/src/calculation/grid/ICalcGrid.d.ts +28 -109
- package/types/src/calculation/grid/_CalcRequest.d.ts +17 -33
- package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +54 -82
- package/types/src/calculation/spatial/SpillEntry.d.ts +20 -3
- package/types/src/calculation/state/CalcNode.d.ts +0 -1
- package/types/src/calculation/state/CalcScope.d.ts +29 -9
- package/types/src/calculation/state/CalcState.d.ts +19 -9
- package/types/src/calculation/state/CalculationContext.d.ts +32 -38
- package/types/src/calculation/state/DeferredCalls.d.ts +207 -0
- package/types/src/calculation/state/IContextContainer.d.ts +19 -55
- package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +52 -33
- package/types/src/calculation/state/_WhatIfLayer.d.ts +77 -0
- package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
- package/types/src/calculation/toolkit/index.d.ts +0 -8
- package/types/src/cell/ICell.d.ts +59 -54
- package/types/src/cellControl/CellControl.d.ts +67 -0
- package/types/src/cellControl/CellControlCollection.d.ts +29 -0
- package/types/src/cellControl/CellControlRegistry.d.ts +47 -0
- package/types/src/cellControl/ICellControl.d.ts +99 -0
- package/types/src/cellControl/ICellControlCollection.d.ts +67 -0
- package/types/src/cellControl/index.d.ts +4 -0
- package/types/src/cellRange/ICellRange.d.ts +226 -67
- package/types/src/cellRange/ICellRanges.d.ts +4 -3
- package/types/src/chart/Chart.d.ts +0 -16
- package/types/src/chart/_ChartParts.d.ts +0 -39
- package/types/src/chart/_ChartSource.d.ts +0 -14
- package/types/src/chart/createChart.d.ts +1 -1
- package/types/src/chart/kinds/ChartKind.d.ts +4 -4
- package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
- package/types/src/chart/layout/ChartLayout.d.ts +5 -1
- package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
- package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
- package/types/src/chart/math/BoxStats.d.ts +0 -8
- package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
- package/types/src/chart/math/Histogram.d.ts +0 -17
- package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
- package/types/src/chart/math/Treemap.d.ts +0 -15
- package/types/src/chart/math/Trendlines.d.ts +0 -8
- package/types/src/chart/math/UnitCalcs.d.ts +0 -22
- package/types/src/chart/model/_Edits.d.ts +0 -33
- package/types/src/chart/model/_Grouping.d.ts +0 -25
- package/types/src/chart/model/_Inference.d.ts +0 -18
- package/types/src/chart/model/_NewChart.d.ts +0 -41
- package/types/src/chart/model/_OfPie.d.ts +0 -7
- package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
- package/types/src/chart/resolve/_Resolve.d.ts +3 -12
- package/types/src/chart/resolve/_ResolvedChart.d.ts +5 -8
- package/types/src/collections/ISparseGrid.d.ts +11 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
- package/types/src/collections/SparseGrid.d.ts +3 -8
- package/types/src/collections/_GridUtils.d.ts +0 -10
- package/types/src/comment/_NoteBox.d.ts +0 -15
- package/types/src/condition/AnchoredConditional.d.ts +3 -25
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
- package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
- package/types/src/condition/ICondition.d.ts +2 -2
- package/types/src/condition/_ConditionUtils.d.ts +0 -38
- package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
- package/types/src/externalBook/ExternalBookName.d.ts +2 -3
- package/types/src/externalBook/IExternalBook.d.ts +16 -18
- package/types/src/fetch/Fetcher.d.ts +15 -0
- package/types/src/fetch/IFetcher.d.ts +48 -0
- package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
- package/types/src/fetch/index.d.ts +3 -0
- package/types/src/fill/PaintUtils.d.ts +3 -1
- package/types/src/font/AdvanceTable.d.ts +16 -42
- package/types/src/font/IFont.d.ts +32 -9
- package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
- package/types/src/font/_FontUtils.d.ts +0 -8
- package/types/src/font/_StandIns.d.ts +33 -0
- package/types/src/hyperlink/IHyperlink.d.ts +10 -0
- package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
- package/types/src/index.d.ts +2 -1
- package/types/src/io/IWorkbookIO.d.ts +3 -3
- package/types/src/io/WorkbookOrigin.d.ts +2 -2
- package/types/src/license/LicenseManager.d.ts +2 -1
- package/types/src/license/_Utils.d.ts +4 -3
- package/types/src/license/details.d.ts +3 -1
- package/types/src/license/keys.d.ts +6 -0
- package/types/src/license/license-key.d.ts +15 -33
- package/types/src/license/token.d.ts +55 -0
- package/types/src/named/INamedCollection.d.ts +36 -0
- package/types/src/named/NamedCollection.d.ts +18 -0
- package/types/src/picture/IPicture.d.ts +45 -0
- package/types/src/picture/Picture.d.ts +12 -0
- package/types/src/pivot/PivotTable.d.ts +0 -7
- package/types/src/primitives/AsyncValue.d.ts +46 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
- package/types/src/primitives/Range.d.ts +0 -60
- package/types/src/primitives/ScalarCollation.d.ts +0 -106
- package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
- package/types/src/print/PageLayout.d.ts +0 -6
- package/types/src/reference/ReferenceUtils.d.ts +4 -2
- package/types/src/resource/IResource.d.ts +9 -0
- package/types/src/resource/IResourceCollection.d.ts +4 -0
- package/types/src/resource/Resource.d.ts +2 -0
- package/types/src/resource/_AddResource.d.ts +13 -0
- package/types/src/richData/CellImage.d.ts +95 -0
- package/types/src/richData/Hyperlink.d.ts +49 -0
- package/types/src/richData/IRichDataCollection.d.ts +76 -0
- package/types/src/richData/IRichDataKind.d.ts +55 -11
- package/types/src/richData/RichArray.d.ts +42 -0
- package/types/src/richData/RichDataCollection.d.ts +23 -0
- package/types/src/richData/RichDataRegistry.d.ts +52 -14
- package/types/src/richData/RichDataValues.d.ts +20 -0
- package/types/src/richData/RichRecord.d.ts +68 -0
- package/types/src/richData/RichText.d.ts +5 -5
- package/types/src/richData/index.d.ts +6 -0
- package/types/src/scripting/FunctionArguments.d.ts +17 -1
- package/types/src/scripting/FunctionCollection.d.ts +8 -0
- package/types/src/scripting/Scripts.d.ts +10 -0
- package/types/src/scripting/TypedFunction.d.ts +2 -109
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IWorksheet.d.ts +26 -22
- package/types/src/sheet/NamedCellRange.d.ts +0 -21
- package/types/src/sheet/SheetCell.d.ts +25 -3
- package/types/src/sheet/SheetRange.d.ts +8 -2
- package/types/src/sheet/SheetRanges.d.ts +2 -2
- package/types/src/sheet/Worksheet.d.ts +117 -104
- package/types/src/sheet/_DelimitedText.d.ts +13 -0
- package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_ScalarListFactory.d.ts +46 -17
- package/types/src/sheet/_SheetCoords.d.ts +0 -7
- package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
- package/types/src/sheet/_SheetMutations.d.ts +4 -1
- package/types/src/sheet/_SheetStateReader.d.ts +0 -10
- package/types/src/sheet/_SheetStateTypes.d.ts +23 -14
- package/types/src/sheet/_SheetUtils.d.ts +1 -1
- package/types/src/sheet/style/_RowLine.d.ts +32 -0
- package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
- package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
- package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
- package/types/src/style/ICellStyle.d.ts +4 -0
- package/types/src/table/AnchoredTable.d.ts +0 -147
- package/types/src/text/TextFrame.d.ts +4 -1
- package/types/src/text/TextStacked.d.ts +0 -24
- package/types/src/text/TextWrapper.d.ts +3 -5
- package/types/src/text/_LineBox.d.ts +24 -0
- package/types/src/text/_TextUtils.d.ts +5 -2
- package/types/src/text/_TextWrapperFallback.d.ts +2 -1
- package/types/src/wasm/sdkWasm.d.ts +1 -1
- package/types/src/workbook/IWorkbook.d.ts +40 -1
- package/types/src/workbook/Workbook.d.ts +25 -13
- package/types/src/workbook/WorkbookRanges.d.ts +1 -1
- package/browser/esm/BGOFfpxr2jPIdqmV.mjs +0 -40
- package/browser/esm/BLoUBId2xZpXAK_H.mjs +0 -698
- package/browser/esm/C5E6zSGAALWf61n4.mjs +0 -199
- package/browser/esm/S2dNNx1a5ydRnARM.mjs +0 -367
- package/browser/esm/f1IoRb7tEb0QmCSt.mjs +0 -110
- package/browser/esm/gssVX_FH1XFN-twD.mjs +0 -210
- package/node/esm/BrCKGFRsX_ezFJ4B.mjs +0 -811
- package/node/esm/DOU54VsOjG-m-NyQ.mjs +0 -210
- package/node/esm/Db0v7zXNnyjBIjjI.mjs +0 -372
- package/node/esm/Df1bL6VFvrqIdSLB.mjs +0 -40
- package/node/esm/DrTZbfemSLq2mseG.mjs +0 -111
- package/types/src/dataTable/DataTable.d.ts +0 -67
- package/types/src/dataTable/DataTableCollection.d.ts +0 -19
- package/types/src/dataTable/IDataTable.d.ts +0 -99
- package/types/src/dataTable/IDataTableCollection.d.ts +0 -18
- package/types/src/dataTable/index.d.ts +0 -6
|
@@ -60,6 +60,51 @@ export interface IPicture extends IModel, IMovable.IContent {
|
|
|
60
60
|
* ```
|
|
61
61
|
*/
|
|
62
62
|
setShapeType(shapeType: IGeometry.Preset | string, options?: ITransaction.OperationOptions): this;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the shape's outline at a size, for drawing the picture cropped to its shape.
|
|
65
|
+
*
|
|
66
|
+
* @param width The frame's width in pixels. Defaults to the movable's.
|
|
67
|
+
* @param height The frame's height in pixels. Defaults to the movable's.
|
|
68
|
+
* @returns `null` for a preset this SDK does not know, or for a picture with no movable and no size.
|
|
69
|
+
*/
|
|
70
|
+
getGeometry(width?: number, height?: number): Promise<IGeometry | null>;
|
|
71
|
+
/**
|
|
72
|
+
* Returns the part of the image shown, as percentages of the image's size inset from each edge.
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* An edge not cropped is absent, so an uncropped picture answers `{}`. A negative inset shows empty
|
|
76
|
+
* space beyond that edge of the image, which is how a picture fits inside a frame of another shape.
|
|
77
|
+
*/
|
|
78
|
+
getCrop(): IFill.RectInsets;
|
|
79
|
+
/**
|
|
80
|
+
* Sets the part of the image shown. The frame stays as it is, so the part shown is stretched over
|
|
81
|
+
* it; to keep the image's scale, change the frame with {@link IMovable.setBounds} as well.
|
|
82
|
+
*
|
|
83
|
+
* @param crop Percentages of the image's size, inset from each edge; `null` shows the whole image.
|
|
84
|
+
* @throws ExpectedError when the insets leave nothing to show.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* picture.setCrop({ left: 10, right: 10 });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
setCrop(crop: IFill.RectInsets | null, options?: ITransaction.OperationOptions): this;
|
|
92
|
+
/**
|
|
93
|
+
* Returns the hyperlink a click on the picture follows, or `null` for none.
|
|
94
|
+
*/
|
|
95
|
+
getHyperlink(): IHyperlink | null;
|
|
96
|
+
/**
|
|
97
|
+
* Sets the hyperlink a click on the picture follows.
|
|
98
|
+
*
|
|
99
|
+
* @param hyperlink An address, the link's properties, or `null` to remove it. An address takes the
|
|
100
|
+
* form a cell's does: a url, or `#Sheet1!A1` for a location in this workbook.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* picture.setHyperlink('https://www.sheetxl.com');
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
|
|
63
108
|
/**
|
|
64
109
|
* What the picture's frame draws with: the fill behind the image and the border around it.
|
|
65
110
|
* A picture has no theme style, so each is only what the picture states; by default neither
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ITransaction } from '../transaction';
|
|
2
2
|
import { IResource, IResourceCollection } from '../resource';
|
|
3
3
|
import { IAnchored } from '../anchored';
|
|
4
|
+
import { IFill } from '../fill';
|
|
5
|
+
import { IHyperlink } from '../hyperlink';
|
|
4
6
|
import { IMovable } from '../movable/IMovable';
|
|
5
7
|
import { AbstractMovableContent } from '../movable/AbstractMovableContent';
|
|
6
8
|
import { IGeometry, IShapeStyle } from '../shape';
|
|
@@ -32,6 +34,16 @@ export declare class Picture extends AbstractMovableContent<State, IPicture.JSON
|
|
|
32
34
|
getShapeType(): string;
|
|
33
35
|
/** {@inheritDoc IPicture.setShapeType} */
|
|
34
36
|
setShapeType(shapeType: IGeometry.Preset | string, options?: ITransaction.OperationOptions): this;
|
|
37
|
+
/** {@inheritDoc IPicture.getGeometry} */
|
|
38
|
+
getGeometry(width?: number, height?: number): Promise<IGeometry | null>;
|
|
39
|
+
/** {@inheritDoc IPicture.getCrop} */
|
|
40
|
+
getCrop(): IFill.RectInsets;
|
|
41
|
+
/** {@inheritDoc IPicture.setCrop} */
|
|
42
|
+
setCrop(crop: IFill.RectInsets | null, options?: ITransaction.OperationOptions): this;
|
|
43
|
+
/** {@inheritDoc IPicture.getHyperlink} */
|
|
44
|
+
getHyperlink(): IHyperlink | null;
|
|
45
|
+
/** {@inheritDoc IPicture.setHyperlink} */
|
|
46
|
+
setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
|
|
35
47
|
/** {@inheritDoc IPicture.getStyle} */
|
|
36
48
|
getStyle(): IShapeStyle;
|
|
37
49
|
/** Writes what the picture states of its fill and border: a key `undefined` is removed. */
|
|
@@ -38,13 +38,6 @@ export declare class PivotTable extends AbstractAnchored<State, IPivotTable.Even
|
|
|
38
38
|
getCacheId(): number;
|
|
39
39
|
/** {@inheritDoc IPivotTable.toJSON} */
|
|
40
40
|
toJSON(toResourceId?: (resource: IResource) => number | null): IPivotTable.JSON | null;
|
|
41
|
-
/**
|
|
42
|
-
* Excel's rule, from `pivot-probes/probe-pivot-structural.ps1` (2026-10-15): the table moves
|
|
43
|
-
* whole or goes whole. A shift that would split it or change its extent - a row or column cut
|
|
44
|
-
* through it, an insert inside it, a shift of some of its columns - is refused with Excel's own
|
|
45
|
-
* refusal, as a user error, before anything of the edit commits.
|
|
46
|
-
* @internal
|
|
47
|
-
*/
|
|
48
41
|
protected _processContainerShift(options: Anchored.ShiftOptions): IRange.Coords | null | void;
|
|
49
42
|
/** @internal */
|
|
50
43
|
protected _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
|
+
/**
|
|
3
|
+
* Whether any holder has been made in this process: what gates the value layer's reads (a range,
|
|
4
|
+
* the stats walks), which cannot ask a backend. Until the first `defer`, they pay nothing.
|
|
5
|
+
*/
|
|
6
|
+
export declare const holdersMade: () => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* How many times a call's latest has moved in this process. A settle writes nothing into a grid,
|
|
9
|
+
* so a cache keyed on a run that holds holders is stamped with this and stands only while it holds.
|
|
10
|
+
*/
|
|
11
|
+
export declare const settleCount: () => number;
|
|
12
|
+
/** Records that a call's latest moved. */
|
|
13
|
+
export declare const noteSettle: () => void;
|
|
14
|
+
export declare class AsyncValue<C extends AsyncValue.Call = AsyncValue.Call> {
|
|
15
|
+
/**
|
|
16
|
+
* What the formula calculated, from its calls' initials. A range for an evaluation that
|
|
17
|
+
* spilled: that holder rides the spill's entry, never a cell, and no cell reads it.
|
|
18
|
+
*/
|
|
19
|
+
readonly value: Scalar | IRange;
|
|
20
|
+
/** The calls the formula made, by ordinal. */
|
|
21
|
+
readonly calls: readonly C[];
|
|
22
|
+
/** The formula's root is its only call: the cell reads as that call's latest once it has one. */
|
|
23
|
+
readonly direct: boolean;
|
|
24
|
+
constructor(value: Scalar | IRange, calls: readonly C[], direct: boolean);
|
|
25
|
+
/** The brand every recognizing site reads. */
|
|
26
|
+
get isAsyncValue(): true;
|
|
27
|
+
}
|
|
28
|
+
export declare namespace AsyncValue {
|
|
29
|
+
/** What a holder reads of a call. */
|
|
30
|
+
interface Call {
|
|
31
|
+
/** The most recent result; `undefined` until one arrives. */
|
|
32
|
+
readonly latest: unknown;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Whether `value` is an {@link AsyncValue}. */
|
|
36
|
+
export declare const isAsyncValue: (value: unknown) => value is AsyncValue;
|
|
37
|
+
/**
|
|
38
|
+
* `value` as a reader sees it: a holder reads as its root call's latest when `direct` and the call
|
|
39
|
+
* has one, else as what the formula calculated. Anything else is itself.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* A blank latest reads as `0`, as a formula's blank result is stored (`finalizeValue`): the
|
|
43
|
+
* latest is the cell's value and was never finalized.
|
|
44
|
+
*/
|
|
45
|
+
export declare const readAsync: <T = Scalar>(value: T) => T | Scalar | IRange;
|
|
46
|
+
//# sourceMappingURL=AsyncValue.d.ts.map
|
|
@@ -36,46 +36,9 @@ export declare function maxGetEntireCoords(): IRange.Coords;
|
|
|
36
36
|
*/
|
|
37
37
|
export declare const typeFromJsValue: (jsV: InteropScalar, checkDate?: boolean) => ScalarType;
|
|
38
38
|
export declare function valueTypeToString(type: IFunction.ValueTypeJSON): string;
|
|
39
|
-
/**
|
|
40
|
-
* The largest magnitude Excel will PARSE from text or a formula literal — the biggest
|
|
41
|
-
* 15-significant-digit value below 1E+308. Measured (formula-tests/probe-boundaries.ps1):
|
|
42
|
-
* `=9.99999999999999E+307` commits, `=1.00000000000000E+308` is refused outright.
|
|
43
|
-
*
|
|
44
|
-
* An ENTRY rule only. Computed results are bounded by the double, not by this — `8.9E+307*2`
|
|
45
|
-
* = 1.78E+308 is far past it and Excel keeps, compares and round-trips the value happily.
|
|
46
|
-
*/
|
|
47
39
|
export declare const EXCEL_MAX_NUMBER = 9.99999999999999e+307;
|
|
48
|
-
/**
|
|
49
|
-
* Renders a number the way Excel coerces one to TEXT (`&`, CONCAT, `LEFT(1/3,5)`, ...).
|
|
50
|
-
*
|
|
51
|
-
* This is NOT display "General" (that one is column-width-aware and caps at ~11 digits —
|
|
52
|
-
* `numfmt` implements it). Coercion General, measured against Excel 16.0
|
|
53
|
-
* (`spreadsheetbench/formula-tests/probe-general-coercion.ps1`):
|
|
54
|
-
*
|
|
55
|
-
* 1. round to 15 significant digits, trim trailing fraction zeros (`0.1+0.2` → `0.3`,
|
|
56
|
-
* `2^0.5` → `1.4142135623731`);
|
|
57
|
-
* 2. write the plain decimal expansion if it fits in 20 characters, sign excluded
|
|
58
|
-
* (`1/3*1E-3` → `0.000333333333333333` at exactly 20; `2^60` → `1152921504606850000`,
|
|
59
|
-
* integers pad with zeros);
|
|
60
|
-
* 3. otherwise scientific with a two-digit-minimum exponent (`1E+20`, `3.33333333333333E-05` —
|
|
61
|
-
* note `-99999999999999900000` is still decimal, but `1E+20` is not);
|
|
62
|
-
* 4. the DECIMAL SEPARATOR is the workbook locale's (`probe-general-locale.ps1`: `="" & 1.5`
|
|
63
|
-
* is `1,5` once Excel's decimal separator is `,`). Only that one separator moves —
|
|
64
|
-
* coercion never groups, so `1234.5` is `1234,5` and never `1.234,5`.
|
|
65
|
-
*
|
|
66
|
-
* This cannot route to `numfmt`: its `General` is the display one, its 11-character budget is
|
|
67
|
-
* not configurable (there is no precision option on `FormatOptions`), and "15 significant
|
|
68
|
-
* digits capped at 20 characters" is not expressible as an ECMA-376 pattern either —
|
|
69
|
-
* `0.##############` counts decimal PLACES, not significant digits.
|
|
70
|
-
*
|
|
71
|
-
* Formula modules reach this as `IFormulaContext.toText`, which is the only entry point that
|
|
72
|
-
* also handles non-numbers; this is the number-only form the coercion paths use.
|
|
73
|
-
*
|
|
74
|
-
* @param value The number to render.
|
|
75
|
-
* @param runtime Supplies the locale profile. `IRuntime.getLocaleProfile` is the single
|
|
76
|
-
* authority for separators — never derive one independently.
|
|
77
|
-
*/
|
|
78
40
|
export declare function formatNumberGeneral(value: number, runtime: IRuntime): string;
|
|
41
|
+
export declare function formatNumberLiteral(value: number, decimal?: string): string;
|
|
79
42
|
/**
|
|
80
43
|
* Renders any scalar the way Excel coerces one to TEXT — the full
|
|
81
44
|
* {@link IFormulaContext.toText} rule, of which {@link formatNumberGeneral} is the number
|
|
@@ -135,38 +98,6 @@ noMemberFilter?: boolean): void | FormulaError.Known;
|
|
|
135
98
|
export declare function convertTo2D(context: IFormulaContext, currentArg: any, // IRange or coords
|
|
136
99
|
rangeType: string | null, scalarType: ScalarType | null, // the scalar preference. If not specified no coercion will occur.
|
|
137
100
|
isDirect: boolean, errors?: 'reject' | 'accept' | null): IRange | any[][] | FormulaError.Known;
|
|
138
|
-
/**
|
|
139
|
-
* This will coerce a value and add it to the coercedArr. This is used in the argument coercion of typed functions.
|
|
140
|
-
*
|
|
141
|
-
* CoercedValues behave in special ways
|
|
142
|
-
*
|
|
143
|
-
* 1. If a value is *direct* (a scalar, whether typed or computed) it always coerces to the type.
|
|
144
|
-
* 2. If a value is a MEMBER of an array or a reference
|
|
145
|
-
* a. It ignores everything except like values and errors
|
|
146
|
-
* 3. We then coerce to Ranges.
|
|
147
|
-
*
|
|
148
|
-
* `isDirect` is Excel's "the argument itself" vs "a member of a container" distinction —
|
|
149
|
-
* `SUM(1,TRUE)` is `2` but `SUM({1,TRUE})` is `1`. Callers derive it from the runtime shape of the
|
|
150
|
-
* evaluated argument; see `isDirectArg` in `TypedFunction`.
|
|
151
|
-
*
|
|
152
|
-
* Two things it is NOT, both measured (`probe-direct-vs-literal.ps1`, pinned in
|
|
153
|
-
* `__tests__/functions/coercion/DIRECT-VS-MEMBER.json`):
|
|
154
|
-
*
|
|
155
|
-
* - **Not literalness.** `{1,TRUE}` and `A1:A2` behave IDENTICALLY (members of both are filtered),
|
|
156
|
-
* and the COMPUTED `A2>0` behaves like a typed `TRUE`. A container being a literal or a
|
|
157
|
-
* reference changes nothing anywhere in the matrix.
|
|
158
|
-
* - **Not a property of the argument alone.** Membership requires a slot that CONSUMES members:
|
|
159
|
-
* a scalar parameter takes one value, so a single-cell reference reaching it is dereferenced and
|
|
160
|
-
* IS the argument (`ABS(A1)` and `MONTH(A1)` are 1 with A1=TRUE, while `SUM(A1)` is 0). Hence
|
|
161
|
-
* `isMember` below is `!isDirect && flatten`, not `!isDirect`.
|
|
162
|
-
*
|
|
163
|
-
* The two halves at an aggregating slot: DIRECT arguments are COERCED (and a bad one errors —
|
|
164
|
-
* `SUM(1,"7e")` is `#VALUE!`), MEMBERS are TYPE-FILTERED (skipped silently, never coerced —
|
|
165
|
-
* `SUM({1,"7","7e","TRUE",TRUE})` is `1`).
|
|
166
|
-
*
|
|
167
|
-
* Some Built-in excel functions behave differently. When this occurs
|
|
168
|
-
* the use an argument type of Scalar (no coerce) and manage themselves
|
|
169
|
-
*/
|
|
170
101
|
export declare function addCoercedValue(context: IFormulaContext, coercedArr: FixedPackedArray | Scalar[], currentArg: any, isDirect: boolean, rangeType: 'p' | 'r' | 'm' | null, scalarType: ScalarType | null, // the scalar preference. If not specified then no coercion will occur.
|
|
171
102
|
allowError: boolean, flatten: boolean, // indicates we should flatten
|
|
172
103
|
errors?: 'reject' | 'accept' | null, // effective error policy (TypedFunction resolves the default)
|
|
@@ -187,39 +118,7 @@ export declare function addCoercedScalar(context: IFormulaContext, coercedArr: F
|
|
|
187
118
|
/**
|
|
188
119
|
* Minimal validation used from the return value of functions.
|
|
189
120
|
*/
|
|
190
|
-
/**
|
|
191
|
-
* Makes a raw JS double look like an Excel one: ANY non-finite value is #NUM! — NaN and
|
|
192
|
-
* ±Infinity alike. `9E+307*2`, `9E+307+9E+307` and `9E+307/0.1` all report `ERROR.TYPE` 6, and a
|
|
193
|
-
* raw NaN or ±Infinity written through the Value2 API lands as #NUM! too. Infinity does NOT mean
|
|
194
|
-
* #DIV/0!: Excel never derives that error from a float, it raises it deliberately before
|
|
195
|
-
* dividing. Functions say so themselves by returning `FormulaError.BuiltIn.Div0`.
|
|
196
|
-
*
|
|
197
|
-
* Measured against Excel 16.0 (formula-tests: probe-num-overflow.ps1, probe-boundaries.ps1,
|
|
198
|
-
* probe-api-nonfinite.ps1). This rule applies at every boundary; the SUBNORMAL rule does not —
|
|
199
|
-
* see {@link flushSubnormal}.
|
|
200
|
-
*/
|
|
201
121
|
export declare function normalizeNumber(value: number): number | FormulaError.Known;
|
|
202
|
-
/**
|
|
203
|
-
* Zeroes a magnitude below the smallest NORMAL double, which also folds -0 to 0.
|
|
204
|
-
*
|
|
205
|
-
* "Excel has no subnormals" is true of its ARITHMETIC and of its write path, and false of its
|
|
206
|
-
* function results — so this is a rule three callers apply deliberately rather than one the
|
|
207
|
-
* boundary applies to everything (measured 2026-08-30,
|
|
208
|
-
* `fn-battery/mathTrig/adhoc-subnormal-store`):
|
|
209
|
-
*
|
|
210
|
-
* * MULTIPLICATION, DIVISION and EXPONENTIATION flush. `1E-300*2.224E-8` is 0 while
|
|
211
|
-
* `1E-300*2.226E-8` survives, `2^-1022/2` is 0, and the flush lands before the next operator
|
|
212
|
-
* reads it — `=1/(1E-300*1E-100)` is #DIV/0!, not a huge number.
|
|
213
|
-
* * ADDITION and SUBTRACTION do NOT. With `Z1` holding 5E-324, `Z1+0`, `-Z1` and `Z1+Z1` all
|
|
214
|
-
* keep the value, and `Z1*1` is 0.
|
|
215
|
-
* * A FUNCTION RESULT does not either, and it survives the cell it is stored in: `EXP(-745)` is
|
|
216
|
-
* 5E-324 and `EXP(-745)*1E300` is 4.94E-24. SUM, MIN, ABS, IF, INDEX and ROUND all pass it
|
|
217
|
-
* through. EXP reaches zero only below -745.1332, the true IEEE underflow.
|
|
218
|
-
* * The API WRITE path flushes: `Double.Epsilon` set through `Value2` reads back 0.
|
|
219
|
-
* * The BOOLEAN reading flushes, and so does `SWITCH`'s comparison — both are tests against zero
|
|
220
|
-
* (`IF(EXP(-745),…)` takes the false branch and `SWITCH(EXP(-745),0,…)` matches), which the
|
|
221
|
-
* comparison OPERATORS do not do: `EXP(-745)=0` is FALSE.
|
|
222
|
-
*/
|
|
223
122
|
export declare function flushSubnormal(value: number): number;
|
|
224
123
|
export declare function minCoerce(value: any, context?: IFormulaContext | null, type?: string): any;
|
|
225
124
|
/**
|
|
@@ -281,14 +180,6 @@ export declare const BooleanCoerceTypes: readonly InteropScalarType[];
|
|
|
281
180
|
* `date` has to coerce from number, or every date function over a range matches nothing at all.
|
|
282
181
|
*/
|
|
283
182
|
export declare const DateCoerceTypes: readonly InteropScalarType[];
|
|
284
|
-
/**
|
|
285
|
-
* What a `null` read accepts. Coercing TO `null` asks for each value's empty equivalent — `0`,
|
|
286
|
-
* `''`, `false` — which is exactly what the branch in {@link createCoerceScalarFn} already
|
|
287
|
-
* implemented, and which was unreachable for the same reason `date`'s was (CALC-ISSUES §14 H2).
|
|
288
|
-
*
|
|
289
|
-
* Not reachable from a declaration — `TypedFunction` normalizes a `null` scalar param to "no
|
|
290
|
-
* type" — so this serves a direct `toType(ScalarType.Null)` caller.
|
|
291
|
-
*/
|
|
292
183
|
export declare const NullCoerceTypes: readonly InteropScalarType[];
|
|
293
184
|
export declare const AllScalarTypes: readonly InteropScalarType[];
|
|
294
185
|
//# sourceMappingURL=PrimitiveUtils.d.ts.map
|
|
@@ -18,29 +18,6 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
|
|
|
18
18
|
protected _localRangeStats: IRangeStats | null;
|
|
19
19
|
/** The `options` {@link _localRangeStats} was built for — the memo's key. See `getStats`. */
|
|
20
20
|
protected _localRangeStatsOptions: IRange.IteratorOptions | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* What a cell the grid does not store reads as - `null` for an ordinary range.
|
|
23
|
-
*
|
|
24
|
-
* @remarks
|
|
25
|
-
* A grid can hold only part of its range's answer: a watch body's blank region shares one value
|
|
26
|
-
* that the engine keeps on the block rather than writing per cell (PLAN-WATCHES-BLANK-AWARE
|
|
27
|
-
* §4c), so within that body "absent" means "the shared answer", never "empty". A range with a
|
|
28
|
-
* non-null empty value is therefore DENSE: `getValueAt` answers it for every absent cell, and
|
|
29
|
-
* the iterators visit those cells whether or not `includeEmpty` was asked, since they are
|
|
30
|
-
* content. A STORED empty (`null`) is still empty.
|
|
31
|
-
*
|
|
32
|
-
* It is also how an elementwise operation carries its answer for the blank cells: `map`,
|
|
33
|
-
* `broadcast` and `zip` walk what their operands STORE, answer the absent region once, and
|
|
34
|
-
* hand that answer to the result here rather than writing it as a run per line — so the next
|
|
35
|
-
* operator finds the blank region again and a whole-column chain stays O(stored + runs)
|
|
36
|
-
* (CALC-PERFORMANCE §5). `fillEmpty` over the whole range sets it the same way.
|
|
37
|
-
*
|
|
38
|
-
* Every reader agrees on it: the iterators and `getValueAt` above; a transform over the same
|
|
39
|
-
* grid carries it (`slice`, `toType`, `clone`); one that derives a grid either writes every
|
|
40
|
-
* position or writes it out first (`_materializeEmpty` — `resize`, `tile`, a partial `fill`);
|
|
41
|
-
* and a reader that goes to the grid rather than through the range (the stats walk, the calc
|
|
42
|
-
* grid's write of a result, a sheet write) reads the written-out grid.
|
|
43
|
-
*/
|
|
44
21
|
protected _absentValue: Scalar;
|
|
45
22
|
constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean, absentValue?: Scalar);
|
|
46
23
|
/** @inheritdoc IRange.argsort */
|
|
@@ -238,29 +215,6 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
|
|
|
238
215
|
* Returns self but accounts for literal status.
|
|
239
216
|
*/
|
|
240
217
|
protected _self(): this;
|
|
241
|
-
/**
|
|
242
|
-
* Returns this range with its read type dropped, or `this` when there is nothing to drop.
|
|
243
|
-
*
|
|
244
|
-
* @remarks
|
|
245
|
-
* For a range whose values are no longer the ones the type described — see `map`. `coerce` goes
|
|
246
|
-
* with it: it is inert without a `type` (both `_entries` and `_coerceValue` gate on one), and
|
|
247
|
-
* leaving it behind would let the SOURCE's coercion rules apply to a later `toType` on values
|
|
248
|
-
* the source never held.
|
|
249
|
-
*
|
|
250
|
-
* **The contract, so this stays consistent.** A read type is a claim about the values a range
|
|
251
|
-
* HOLDS. It survives exactly as long as those values do:
|
|
252
|
-
*
|
|
253
|
-
* | operation | type | why |
|
|
254
|
-
* | --- | --- | --- |
|
|
255
|
-
* | `map` · `broadcast` · `zip` | **dropped** | a callback produced new values; the range cannot know what they are. A caller that DOES know retypes after — `TypedFunction` does, from the declared return type. |
|
|
256
|
-
* | `filter` · `slice` · `sort` · `resize` | **kept** | selection and rearrangement only. Every surviving member is one the source already held, so the claim is still true — a filtered `number` range is still a `number` range. |
|
|
257
|
-
* | `replace` · `fillEmpty` · `fill` · `mask` | **kept** | substitution with CALLER-supplied values. Kept deliberately (these are overwhelmingly used to write same-typed values), but it is the one row that is a judgement rather than a consequence: a caller that substitutes a differently-typed value re-reads it through the old type. Unaudited; no instance found.
|
|
258
|
-
*
|
|
259
|
-
* Note this is NOT "any operation returning a range drops its type" — only the three that run
|
|
260
|
-
* a callback do. Getting that wrong in either direction is a silent value bug: dropping too
|
|
261
|
-
* eagerly loses `MONTH`'s number-ness, keeping too eagerly is CALC-ISSUES item 36
|
|
262
|
-
* (`SUMPRODUCT(--ISNUMBER(SEARCH(...)))` → 0).
|
|
263
|
-
*/
|
|
264
218
|
protected _untyped(): this;
|
|
265
219
|
/** This range's options without its skips: for a result whose cells are laid out anew. */
|
|
266
220
|
protected _optionsFresh(): Omit<IRange.IteratorOptions, 'axis'> & {
|
|
@@ -308,20 +262,6 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
|
|
|
308
262
|
/** @inheritdoc IRange.isIRange */
|
|
309
263
|
get isIRange(): true;
|
|
310
264
|
}
|
|
311
|
-
/**
|
|
312
|
-
* A `Range` whose `getCoords()`/shape is unchanged, but whose `getStats()` is rescoped to
|
|
313
|
-
* `visibleCoords` — used by `condition/_ConditionUtils.ts` so `AverageOperator`/`TopNOperator`
|
|
314
|
-
* get correct order-dependent Top N / Average semantics under a running filter mask
|
|
315
|
-
* (`condition/DESIGN-FILTER.md` §2), via `RangeStats.toLocalCoords`.
|
|
316
|
-
*
|
|
317
|
-
* Lives here (rather than in `condition/`, where it's used) so `extends Range` is resolved by
|
|
318
|
-
* plain source order within this file, not cross-module import order: `condition/` sits deep in
|
|
319
|
-
* an import cycle that reaches back into `primitives/` through `PrimitiveUtils.ts` →
|
|
320
|
-
* `sheet/_SheetUtils.ts` → … → `condition/Condition.ts`, and a top-level `extends Range` declared
|
|
321
|
-
* in `condition/` can execute before that cycle has finished defining `Range`
|
|
322
|
-
* (`ReferenceError: Cannot access 'Range' before initialization` — reproduced 2026-08-18 by
|
|
323
|
-
* running the actual bundle; see git history).
|
|
324
|
-
*/
|
|
325
265
|
export declare class _VisibleScopedRange extends Range {
|
|
326
266
|
protected _visibleCoords: readonly IRange.Coords[];
|
|
327
267
|
constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords, visibleCoords: readonly IRange.Coords[]);
|
|
@@ -1,110 +1,4 @@
|
|
|
1
1
|
import { Scalar, LocaleProfile } from '@sheetxl/primitives';
|
|
2
|
-
/**
|
|
3
|
-
* Excel's comparison rule for {@link Scalar} values, as one total order.
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* This is the rule behind `=`, `<>`, `<`, `<=`, `>`, `>=`, behind the criteria comparisons in
|
|
7
|
-
* `COUNTIF`/`SUMIF`/`DSUM`, and behind `SORT`/`SORTBY`/`IRange.argsort`.
|
|
8
|
-
*
|
|
9
|
-
* ### Not public API
|
|
10
|
-
*
|
|
11
|
-
* `@sheetxl/primitives` declares the rule as `IFormulaContext.compare` and stubs it with a basic
|
|
12
|
-
* ordering; THIS is the Excel one, and it is deliberately not exported from the package barrel.
|
|
13
|
-
* Callers -- including `@sheetxl/formulas`, which sits BELOW this package and cannot import it at
|
|
14
|
-
* all -- reach it by way of the calculation context they are handed, which is what binds the rule
|
|
15
|
-
* to the workbook's locale. Only `CalculationContext` and the sort collators call in here directly;
|
|
16
|
-
* anything reading the global `FormulaContext` singleton outside an installed scope gets the basic
|
|
17
|
-
* ordering instead, which is a bug at the call site.
|
|
18
|
-
*
|
|
19
|
-
* ### Cross-type: rank, never coerce
|
|
20
|
-
*
|
|
21
|
-
* Excel does not coerce across types to compare; it ranks them, so **every** number is less than
|
|
22
|
-
* **every** text, and every text is less than every logical:
|
|
23
|
-
*
|
|
24
|
-
* > `number` < `text` < `FALSE` < `TRUE`
|
|
25
|
-
*
|
|
26
|
-
* Hence `=1<"0"` is `TRUE` and `="9">TRUE` is `FALSE`. Errors sort last here so the order stays
|
|
27
|
-
* total. The OPERATORS never reach that case -- an error operand propagates before any comparison
|
|
28
|
-
* happens -- but a criteria does: `COUNTIF(A1:A9,">=#N/A")` counts the `#N/A` rows, and the code
|
|
29
|
-
* order below is Excel's, #NULL! < #DIV/0! < #VALUE! < #REF! < #NAME? < #NUM! <
|
|
30
|
-
* #N/A (measured, `formula-tests/probe-criteria-empty-operand2.ps1`).
|
|
31
|
-
*
|
|
32
|
-
* A criteria does NOT rank across types the way an operator does, though: it only considers values
|
|
33
|
-
* of the operand's own type, so `COUNTIF` with `"<TRUE"` counts no number even though `=1<TRUE` is
|
|
34
|
-
* `TRUE`. That partition lives in `Criteria`, not here.
|
|
35
|
-
*
|
|
36
|
-
* ### Blank
|
|
37
|
-
*
|
|
38
|
-
* A blank cell takes the *other* operand's type -- `0`, `""`, or `FALSE` -- so `=A1=0`, `=A1=""`
|
|
39
|
-
* and `=A1=FALSE` are all `TRUE` for an empty `A1`. Blank against blank is equal. (This is why
|
|
40
|
-
* `ISBLANK` exists: no comparison can distinguish a blank from those three values.)
|
|
41
|
-
*
|
|
42
|
-
* ### Numbers
|
|
43
|
-
*
|
|
44
|
-
* Equal when they agree to 15 SIGNIFICANT digits -- the same clamp Excel uses for display, which
|
|
45
|
-
* is what makes `=(0.1+0.2)=0.3` report `TRUE` while `=1E-12=2E-12` reports `FALSE`. Being
|
|
46
|
-
* relative matters at both ends: `=2^60=1152921504606850000` is `TRUE` even though subtracting
|
|
47
|
-
* them gives `-3072`. Excel forgives float noise at the COMPARISON, never in the arithmetic.
|
|
48
|
-
*
|
|
49
|
-
* ### Text
|
|
50
|
-
*
|
|
51
|
-
* Case-INSENSITIVE (`="PM"="pm"` is `TRUE`; `EXACT` is the case-sensitive form) and COLLATED in
|
|
52
|
-
* the workbook locale, so `="a"<"B"` is `TRUE` and `="ä"<"z"` is `TRUE`. Accents and punctuation
|
|
53
|
-
* are real differences: `="a"="ä"` and `="co-op"="coop"` are both `FALSE`.
|
|
54
|
-
*
|
|
55
|
-
* Case is folded OUT of the operands and the collator then runs at FULL strength, rather than the
|
|
56
|
-
* collator being weakened to `sensitivity: 'accent'`. The two are not the same: in ICU, case, WIDTH
|
|
57
|
-
* and KANA are all tertiary differences, so a strength low enough to ignore case also ties
|
|
58
|
-
* fullwidth `A` with `A` -- which Excel does not (`probe-text-equality-nls.ps1`). Folding case
|
|
59
|
-
* separately is the only way to ignore one tertiary difference and keep the others.
|
|
60
|
-
*
|
|
61
|
-
* The case toggle is therefore what a caller's `sensitivity` selects: `accent`/`base` fold, and
|
|
62
|
-
* `variant`/`case` do not. That is the user-facing switch the **sort** feature exposes
|
|
63
|
-
* (`Sort.CaseSensitiveOptions` / `LocaleProfile.collator`); the word sort below, the expansions,
|
|
64
|
-
* and the collation locale are shared either way. Sort does use a different TYPE order (errors and
|
|
65
|
-
* blanks last, blanks last even descending).
|
|
66
|
-
*
|
|
67
|
-
* ### Expansions
|
|
68
|
-
*
|
|
69
|
-
* A closed set of characters compares EQUAL to a letter sequence -- `="straße"="strasse"` and
|
|
70
|
-
* `="æ"="ae"` are both `TRUE`, and so are the ligatures and the LJ/NJ/DZ digraphs. This is Windows
|
|
71
|
-
* NLS behavior that ICU does not reproduce at any strength: at `accent` these are all unequal, and
|
|
72
|
-
* at `base`, where they do fold, accents fold away with them. They are therefore rewritten before
|
|
73
|
-
* collating, by `foldForCompare` in `./TextFold` -- which is also where the measured membership is
|
|
74
|
-
* documented, and which `UNIQUE` shares for the hashing side of the same rule.
|
|
75
|
-
*
|
|
76
|
-
* ### Word sort
|
|
77
|
-
*
|
|
78
|
-
* On top of the collator, Excel applies the "word sort" its Sort dialog documents -- and, measured,
|
|
79
|
-
* the operators apply it too. Dashes and apostrophes do not count when ordering; they only break a
|
|
80
|
-
* tie, where the string carrying them sorts LAST:
|
|
81
|
-
*
|
|
82
|
-
* > `"coop"` < `"co-op"` < `"cop"`
|
|
83
|
-
*
|
|
84
|
-
* A plain collator gives `"co-op" < "coop"` instead (`-` outranks `o`), which is the bug this
|
|
85
|
-
* exists to avoid. Equality is untouched -- the tiebreak never returns 0 for distinct strings, so
|
|
86
|
-
* `="co-op"="coop"` stays `FALSE`. Other punctuation is ordinary and still sorts before letters
|
|
87
|
-
* (`="a_b"<"ab"` is `TRUE`), which is why the collator stays non-ignorable.
|
|
88
|
-
*
|
|
89
|
-
* The ignorable set is the one Excel 16.0 actually uses, not a Unicode category -- notably U+2019
|
|
90
|
-
* (the "smart" apostrophe Word autocorrects to) is NOT in it, while U+02BC is. See
|
|
91
|
-
* `formula-tests/probe-wordsort.ps1`.
|
|
92
|
-
*
|
|
93
|
-
* ### Punctuation
|
|
94
|
-
*
|
|
95
|
-
* Every other mark is ordered by {@link _compareOrdered} rather than by the collator, because ICU
|
|
96
|
-
* and Windows NLS disagree about punctuation almost completely -- 191 of 741 measured pairs invert.
|
|
97
|
-
* `="*"<"?"` is `TRUE` in Excel and `FALSE` from a bare collator. Three classes, code-point order
|
|
98
|
-
* inside each: ordinary punctuation, then `+ < = >`, then digits and letters (where ICU is already
|
|
99
|
-
* right and still decides). See that function for what is measured and what is generalized.
|
|
100
|
-
*
|
|
101
|
-
* ### Determinism
|
|
102
|
-
*
|
|
103
|
-
* Collation is ICU data and varies by host. The locale is always the workbook's persisted tag,
|
|
104
|
-
* never the ambient host locale (passing `undefined` to `localeCompare` is a bug -- it reads the
|
|
105
|
-
* host). Note that a `small-icu` Node build carries `en-US` only and will silently collate a
|
|
106
|
-
* `de-DE` workbook as English; ship `full-icu` for non-English workbooks.
|
|
107
|
-
*/
|
|
108
2
|
export declare const ScalarCollation: {
|
|
109
3
|
/**
|
|
110
4
|
* The fixed `Intl.Collator` options for Excel's text comparison.
|
|
@@ -112,25 +112,6 @@ export declare const EmptyAggregates: Readonly<IRangeStats.Aggregates>;
|
|
|
112
112
|
* Returns `null` when the grid is empty.
|
|
113
113
|
*/
|
|
114
114
|
export declare function iterateAndCollectStats(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords: readonly (IRange.Coords | null)[], optionsIterator: IRange.IteratorOptions | undefined, segmentCache: AggSegmentCache, zoneSizeMinor: number, skipOrigin?: IRange.CellCoords): AggResults | null;
|
|
115
|
-
/**
|
|
116
|
-
* The value Excel added LAST — the final numeric member in ROW-major order, which is the
|
|
117
|
-
* traversal Excel's accumulators use (measured: `probe-sum-cancel-order.ps1`, two mirrored 2-D
|
|
118
|
-
* layouts). Coerces exactly as the aggregate scan does, so `AVERAGEA`'s text-counts-as-zero
|
|
119
|
-
* agrees here and a trailing text cell defeats the cancellation snap just as a trailing `0`
|
|
120
|
-
* does.
|
|
121
|
-
*
|
|
122
|
-
* Returns `undefined` when the query holds no numbers.
|
|
123
|
-
*
|
|
124
|
-
* @remarks
|
|
125
|
-
* Deliberately NOT part of `AggResults` and NOT segment-cached. Row-major "last" is a position
|
|
126
|
-
* comparison, and segments merge in GRID-axis order, so carrying it through the cache would mean
|
|
127
|
-
* tracking `(row, col)` per value in `_doAggregateValue` — a cost on the hottest loop in the
|
|
128
|
-
* engine, paid by every caller, to serve a rule that fires only on catastrophic cancellation.
|
|
129
|
-
* Instead this is a separate scan behind {@link mayCancel}'s gate, which rejects any ordinary
|
|
130
|
-
* total using `min`/`max` the aggregates already carry. A forward scan tracking the maximum
|
|
131
|
-
* `(row, col)` is used rather than reverse iteration because the grid's run iterator has no
|
|
132
|
-
* reverse, and this way the result is independent of the grid's axis.
|
|
133
|
-
*/
|
|
134
115
|
export declare function findLastNumber(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords: readonly (IRange.Coords | null)[], optionsIterator: IRange.IteratorOptions | undefined, skipOrigin?: IRange.CellCoords): number | undefined;
|
|
135
116
|
/**
|
|
136
117
|
* Resolves an iterator's `coerce` option into the callable pair the scans use.
|
|
@@ -165,12 +165,6 @@ export declare class PageLayout implements IPageLayout {
|
|
|
165
165
|
_getBreaks(axis: IRange.Axis): readonly IPageLayout.BreakJSON[];
|
|
166
166
|
/** @internal */
|
|
167
167
|
_setBreaks(axis: IRange.Axis, breaks: IPageLayout.BreakJSON[], options?: ITransaction.OperationOptions): this;
|
|
168
|
-
/**
|
|
169
|
-
* Moves the breaks as rows (or columns) `start` to `end` are inserted or deleted: a break at or
|
|
170
|
-
* after an insert moves with it, a break before a deleted row goes with it, and a break past a
|
|
171
|
-
* delete moves back. Excel's behavior (`scripts/openpy-parity/probe-print-setup.ps1`).
|
|
172
|
-
* @internal
|
|
173
|
-
*/
|
|
174
168
|
_shiftBreaks(axis: IRange.Axis, start: number, end: number, isInsert: boolean): void;
|
|
175
169
|
/** The manual breaks on an axis. */
|
|
176
170
|
protected _getPageBreaks(axis: IRange.Axis): IPageLayout.IPageBreak[];
|
|
@@ -64,14 +64,16 @@ export declare function shiftReferenceAxis(start: number, end: number, shiftStar
|
|
|
64
64
|
* @param immuneEnd `true` if the end endpoint must not move.
|
|
65
65
|
*/
|
|
66
66
|
export declare function moveReferenceAxis(start: number, end: number, moveBy: number, immuneStart?: boolean, immuneEnd?: boolean): [start: number, end: number];
|
|
67
|
+
export declare function edgeMoveReferenceAxis(start: number, end: number, cutStart: number, cutEnd: number, moveBy: number, toOtherSheet: boolean): [start: number, end: number] | null;
|
|
67
68
|
/**
|
|
68
69
|
* Whether a cut of `from` carries `reference` with it.
|
|
69
70
|
*
|
|
70
71
|
* @remarks
|
|
71
72
|
* Excel's test, and the graph's: a reference moves only when the cut rectangle FULLY ENCLOSES it.
|
|
72
73
|
* Cut A1:C3 and `=SUM(A1:B2)` follows to the destination; `=SUM(A1:C5)` reaches outside the cut
|
|
73
|
-
* and so is
|
|
74
|
-
*
|
|
74
|
+
* and so is not carried. A reference that is only half carried would name two different rectangles;
|
|
75
|
+
* the one partial answer is a cut of its EDGE, which moves that edge alone
|
|
76
|
+
* ({@link edgeMoveReferenceAxis}).
|
|
75
77
|
*
|
|
76
78
|
* A formula BLOCK asks a longer version of this question, because each of its cells has a
|
|
77
79
|
* reference of its own and all of them have to be enclosed; see `movePrecedents`.
|
|
@@ -12,6 +12,11 @@ export interface IResource extends JSONSerializableAsync<IResource.JSON> {
|
|
|
12
12
|
* An optional name for the resource.
|
|
13
13
|
*/
|
|
14
14
|
getName(): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* The URL the bytes were fetched from, when the resource is a picture the workbook keeps for it
|
|
17
|
+
* (an `IMAGE` source): a fetch of that URL answers from these bytes. `null` otherwise.
|
|
18
|
+
*/
|
|
19
|
+
getFetchedFrom(): string | null;
|
|
15
20
|
/**
|
|
16
21
|
* For saving to json resources.
|
|
17
22
|
*/
|
|
@@ -113,6 +118,10 @@ export declare namespace IResource {
|
|
|
113
118
|
* This is optional but if provided then resource lookup will use this as a cache key.
|
|
114
119
|
*/
|
|
115
120
|
name?: string;
|
|
121
|
+
/**
|
|
122
|
+
* The URL the embedded bytes were fetched from: the workbook keeps them as that URL's picture.
|
|
123
|
+
*/
|
|
124
|
+
fetchedFrom?: string;
|
|
116
125
|
}
|
|
117
126
|
}
|
|
118
127
|
//# sourceMappingURL=IResource.d.ts.map
|
|
@@ -52,6 +52,10 @@ export declare namespace IResourceCollection {
|
|
|
52
52
|
* This is optional and purely for human consumption and is not used by the system.
|
|
53
53
|
*/
|
|
54
54
|
name?: string;
|
|
55
|
+
/**
|
|
56
|
+
* The URL the bytes were fetched from, for a picture the workbook keeps for it.
|
|
57
|
+
*/
|
|
58
|
+
fetchedFrom?: string;
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
61
|
* A type that represents the various ways to provide a resource source.
|
|
@@ -2,6 +2,7 @@ import { IResource } from './IResource';
|
|
|
2
2
|
import { IResourceCollection } from './IResourceCollection';
|
|
3
3
|
export declare class Resource implements IResource {
|
|
4
4
|
private _name;
|
|
5
|
+
private _fetchedFrom;
|
|
5
6
|
private _refs;
|
|
6
7
|
private _listeners;
|
|
7
8
|
private _isClosed;
|
|
@@ -17,6 +18,7 @@ export declare class Resource implements IResource {
|
|
|
17
18
|
protected _resolveArrayBuffer(): Promise<ArrayBuffer>;
|
|
18
19
|
/** {@inheritDoc IResource.getName} */
|
|
19
20
|
getName(): string | null;
|
|
21
|
+
getFetchedFrom(): string | null;
|
|
20
22
|
/** {@inheritDoc IResource.toJSONAsync} */
|
|
21
23
|
toJSONAsync(): Promise<IResource.JSON>;
|
|
22
24
|
/** {@inheritDoc IResource.toBuffer} */
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IResource } from './IResource';
|
|
2
|
+
import { IResourceCollection } from './IResourceCollection';
|
|
3
|
+
/**
|
|
4
|
+
* Adds bytes to `resources` as a resource. With `fetchedFrom` the resource is the collection's copy
|
|
5
|
+
* of that URL, so adding the URL again answers the one already there. With no collection, a
|
|
6
|
+
* resource of no workbook.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const addResource: (resources: IResourceCollection | null, buffer: ArrayBuffer, options?: {
|
|
11
|
+
fetchedFrom?: string;
|
|
12
|
+
}) => IResource;
|
|
13
|
+
//# sourceMappingURL=_AddResource.d.ts.map
|