@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.12
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/README.md +1 -1
- package/browser/esm/{CYyv6uGjo10ig5FP.mjs → -Jx-jNHmtIQQfLvK.mjs} +1 -1
- package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → 2WuhYrIpYmOR5H73.mjs} +110 -261
- package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → 2mIwPy2D2JUX-9wx.mjs} +2 -2
- package/browser/esm/B3wf5vZCsWfWsDbj.mjs +12 -0
- package/browser/esm/{BzLfNyc6OOShIErH.mjs → BIHrHjRGWVlJglcp.mjs} +2 -2
- package/browser/esm/{C9B0djuUarfNdoj0.mjs → BTFBedJMRWGvZyCE.mjs} +1 -1
- package/browser/esm/{Btg43M1Bf-ENDreu.mjs → BdCJNawfifyPupCP.mjs} +1 -1
- package/browser/esm/{ClB5ix51roQOpZEr.mjs → Bg5Di9GLNAkbqQ1P.mjs} +2877 -2067
- package/browser/esm/BnC4-27Igwb8oDf2.mjs +1552 -0
- package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → Bt8_m94tBdks209L.mjs} +1 -1
- package/browser/esm/{zqJOaweiXE9D8RY1.mjs → BudSIfXBAsTxvu-K.mjs} +31835 -40812
- package/browser/esm/C9u8FUewte5ugUjH.mjs +5132 -0
- package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → CBYMTDzMf1Vh7pkw.mjs} +1 -1
- package/browser/esm/CNdjyofiRu6CYOrr.mjs +12835 -0
- package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → CRkYR-siY2C994KV.mjs} +1 -1
- package/browser/esm/CTe2qfmIUEad6FJv.mjs +199 -0
- package/browser/esm/CUzYuYTTGsChC_kZ.mjs +8422 -0
- package/browser/esm/CdEO8CEee6lEhabA.mjs +117 -0
- package/browser/esm/CfRqiPDg6RBTg1EN.mjs +367 -0
- package/browser/esm/CndRBvVfQUJIYRRj.mjs +193 -0
- package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → CwOPLXU3-9ZHGyOT.mjs} +1 -1
- package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → Cxjxk0ncRKx80I-w.mjs} +1 -1
- package/browser/esm/D2RZh0O9neOsyLAE.mjs +281 -0
- package/browser/esm/{De175LygU7ot4nQm.mjs → D64dM68B1pKYFzdP.mjs} +2 -2
- package/browser/esm/{o8MFgcVXns987D6_.mjs → D9xNz46kAfXMZzp4.mjs} +6 -6
- package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → DK899HhWX1HINMC1.mjs} +55 -55
- package/browser/esm/DPhGQLNGmDZwODwJ.mjs +395 -0
- package/browser/esm/DVroRnhi-5IDXNgM.mjs +210 -0
- package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → DZiivy0NmO1Vnyzk.mjs} +2 -2
- package/browser/esm/{CZ5oa92wZEAXebgk.mjs → DgrAuRD2qr2DvFeJ.mjs} +78 -68
- package/browser/esm/{D4uVlrG0xEFctsSM.mjs → DobHLF6VjHr7Xi40.mjs} +285 -67
- package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → DwZCT7DZiiXoTweg.mjs} +2 -2
- package/browser/esm/DwwR3O2sEZApPSTF.mjs +86 -0
- package/browser/esm/Tah7cnFb_HNZdLtj.mjs +128 -0
- package/browser/esm/{BEAY9XgKNx-bakXW.mjs → fXWUMDhZ5yMSO629.mjs} +1 -1
- package/browser/esm/{BqskM7wA8oPfFQue.mjs → hCQJcmIzPDxDEv2q.mjs} +2 -2
- package/browser/esm/index.mjs +1294 -1008
- package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → qO-ujUrgq6H3TQix.mjs} +1 -1
- package/browser/esm/w6Jea0TiclPrYZ2M.mjs +1703 -0
- package/browser/esm/yuhcOYw6SHQ-RCm3.mjs +114 -0
- package/licenses/dependencies.txt +75 -75
- package/node/esm/-TA0MneBDKdGhsib.mjs +8668 -0
- package/node/esm/B-HUPAcqvK0eeeCz.mjs +134 -0
- package/node/esm/BL2iiEoqxDEV2Xrg.mjs +8320 -0
- package/node/esm/{C6ZXsNyLXI6zA63X.mjs → BNXLOEddJ6O9gYws.mjs} +9 -9
- package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BSvOluusoDM4z_dx.mjs} +151 -302
- package/node/esm/{CD9wbvufChVYYkrI.mjs → BskP3b8vUoIOGLY6.mjs} +2 -2
- package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → Btw4148Ot8ifhNc1.mjs} +285 -64
- package/node/esm/{B6D7sSetrcOWLsKj.mjs → C14-R6tifRh7pc0p.mjs} +1 -1
- package/node/esm/C99zzq8DImQXi4BQ.mjs +133 -0
- package/node/esm/{BtuY37FumvLE7EBo.mjs → CBuEu5Jk-LfaDy-H.mjs} +176 -166
- package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → CG-qBU5BAaVz7e-P.mjs} +1 -1
- package/node/esm/CPI58duc0j0a-HpJ.mjs +115 -0
- package/node/esm/CRt3vXe6YmXzqk3H.mjs +406 -0
- package/node/esm/{CUUoseJmFsCf82bb.mjs → C_aL7CGS1lrNn1Ng.mjs} +1 -1
- package/node/esm/{D7MfcID2Wf6l6VpC.mjs → C_xf5Bz30VqiJjXn.mjs} +1 -1
- package/node/esm/CiIymQN6aJCul62g.mjs +610 -0
- package/node/esm/{B9ljpEIZg6wOTzRE.mjs → Ci_zLYmCD7e-C79O.mjs} +1 -1
- package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CkRYLed8Mmn3giNg.mjs} +2 -2
- package/node/esm/D3ptRKzASqBut1DE.mjs +117 -0
- package/node/esm/{DefYISWfdZJFx57m.mjs → D4ROK9UwDpS6jO3Z.mjs} +1 -1
- package/node/esm/D8hO07ToAibIuniw.mjs +13014 -0
- package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → DUTmDHbFbhLDT4F3.mjs} +1 -1
- package/node/esm/{DCplLG93GfTs1vNw.mjs → DV5CU37aEbFbWFL0.mjs} +1 -1
- package/node/esm/{CUQi5ZtMO02nhG0W.mjs → DdoiuKg9BKubtF1V.mjs} +1 -1
- package/node/esm/DggQ23jKMpwhENfa.mjs +372 -0
- package/node/esm/DhS6yWjrrSNIJMsn.mjs +1033 -0
- package/node/esm/{DMD12JUh7HJw2-jl.mjs → DhTya_mhmN53vskv.mjs} +1 -1
- package/node/esm/Dn1M7YWi25DeeYUb.mjs +210 -0
- package/node/esm/DrCf6ITcBhVOFpRj.mjs +86 -0
- package/node/esm/{BN9j8V9gCExMjVtJ.mjs → DxazKtROyaI51dWl.mjs} +1 -1
- package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → Q_S1g46ZOTrdhTae.mjs} +1 -1
- package/node/esm/Vocy-I9dKzZMr0Ct.mjs +59323 -0
- package/node/esm/ZXPFcsT2zrALCZux.mjs +289 -0
- package/node/esm/eimUGjiIP-b8HiM6.mjs +199 -0
- package/node/esm/icn2nX5Z8e_3mNAv.mjs +12 -0
- package/node/esm/index.mjs +2808 -65678
- package/node/esm/lGJ42sHqg5if2bba.mjs +1770 -0
- package/node/esm/{Bsx9uijd4X_SKV3L.mjs → pYtP7wPyS96NQyXS.mjs} +51 -51
- package/package.json +6 -7
- package/resources/contents.json +120 -0
- package/resources/fonts/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/arial-bold-italic.metrics.json +13 -13
- package/resources/fonts/arial-bold-italic.rows.json +9 -0
- package/resources/fonts/arial-bold.hinted.json +125 -0
- package/resources/fonts/arial-bold.metrics.json +12 -12
- package/resources/fonts/arial-bold.rows.json +9 -0
- package/resources/fonts/arial-italic.hinted.json +125 -0
- package/resources/fonts/arial-italic.metrics.json +13 -13
- package/resources/fonts/arial-italic.rows.json +9 -0
- package/resources/fonts/arial-regular.hinted.json +125 -0
- package/resources/fonts/arial-regular.metrics.json +12 -12
- package/resources/fonts/arial-regular.rows.json +9 -0
- package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
- package/resources/fonts/calibri-bold-italic.rows.json +9 -0
- package/resources/fonts/calibri-bold.hinted.json +122 -0
- package/resources/fonts/calibri-bold.metrics.json +1 -1
- package/resources/fonts/calibri-bold.rows.json +9 -0
- package/resources/fonts/calibri-italic.hinted.json +121 -0
- package/resources/fonts/calibri-italic.metrics.json +2 -2
- package/resources/fonts/calibri-italic.rows.json +9 -0
- package/resources/fonts/calibri-regular.hinted.json +121 -0
- package/resources/fonts/calibri-regular.metrics.json +1 -1
- package/resources/fonts/calibri-regular.rows.json +9 -0
- package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
- package/resources/fonts/cambria-bold-italic.rows.json +9 -0
- package/resources/fonts/cambria-bold.hinted.json +108 -0
- package/resources/fonts/cambria-bold.metrics.json +19 -19
- package/resources/fonts/cambria-bold.rows.json +9 -0
- package/resources/fonts/cambria-italic.hinted.json +102 -0
- package/resources/fonts/cambria-italic.metrics.json +23 -23
- package/resources/fonts/cambria-italic.rows.json +9 -0
- package/resources/fonts/cambria-regular.hinted.json +110 -0
- package/resources/fonts/cambria-regular.metrics.json +18 -18
- package/resources/fonts/cambria-regular.rows.json +9 -0
- package/resources/fonts/contents.json +280 -0
- package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
- package/resources/fonts/courier-new-bold.hinted.json +11 -0
- package/resources/fonts/courier-new-bold.metrics.json +12 -12
- package/resources/fonts/courier-new-bold.rows.json +9 -0
- package/resources/fonts/courier-new-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-italic.rows.json +9 -0
- package/resources/fonts/courier-new-regular.hinted.json +11 -0
- package/resources/fonts/courier-new-regular.metrics.json +12 -12
- package/resources/fonts/courier-new-regular.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
- package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
- package/resources/fonts/times-new-roman-bold.rows.json +9 -0
- package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
- package/resources/fonts/times-new-roman-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
- package/resources/fonts/times-new-roman-regular.rows.json +9 -0
- package/resources/locales/de/model.msg.json +93 -9
- package/resources/locales/en/model.msg.json +95 -10
- package/types/scripting-api.json +10809 -8021
- package/types/scripting-enums.json +201 -44
- package/types/scripting.d.ts +17030 -8666
- package/types/src/.generated/wasm/fonts.d.ts +161 -0
- package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
- package/types/src/.generated/wasm/sdk.d.ts +122 -0
- package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
- package/types/src/address/AddressUtils.d.ts +10 -1
- package/types/src/address/_StructuredAddress.d.ts +58 -0
- package/types/src/anomalies/_Anomalies.d.ts +109 -0
- package/types/src/anomalies/_FocusTable.d.ts +11 -0
- package/types/src/anomalies/_FormulaChecks.d.ts +133 -0
- package/types/src/anomalies/_LabelChecks.d.ts +21 -0
- package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
- package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
- package/types/src/border/IBorders.d.ts +16 -0
- package/types/src/calculation/Calculation.d.ts +139 -371
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -3
- package/types/src/calculation/FormulaLiterals.d.ts +2 -1
- package/types/src/calculation/FormulaText.d.ts +18 -2
- package/types/src/calculation/ICalculation.d.ts +133 -18
- package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +293 -22
- package/types/src/calculation/_CloneBoundary.d.ts +1 -1
- package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
- package/types/src/calculation/_TableExtent.d.ts +60 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -2
- package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
- package/types/src/calculation/compiler/Types.d.ts +9 -1
- package/types/src/calculation/engine/CalcBackend.d.ts +953 -0
- package/types/src/calculation/engine/index.d.ts +10 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +94 -24
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +23 -1
- package/types/src/calculation/executor/_WhatIf.d.ts +50 -0
- package/types/src/calculation/formula/Formula.d.ts +9 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +10 -3
- package/types/src/calculation/formula/IFormulaBlock.d.ts +21 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
- package/types/src/calculation/grid/CalcGrid.d.ts +44 -10
- package/types/src/calculation/grid/CalcGridBackend.d.ts +35 -27
- package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -2
- package/types/src/calculation/grid/CalcGridUtils.d.ts +12 -3
- package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
- package/types/src/calculation/grid/ICalcGrid.d.ts +48 -15
- package/types/src/calculation/grid/_CalcRequest.d.ts +28 -6
- package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +29 -2
- package/types/src/calculation/spatial/SpillEntry.d.ts +16 -2
- package/types/src/calculation/state/CalcNode.d.ts +0 -1
- package/types/src/calculation/state/CalcScope.d.ts +44 -6
- package/types/src/calculation/state/CalcState.d.ts +36 -4
- package/types/src/calculation/state/CalculationContext.d.ts +30 -3
- package/types/src/calculation/state/DeferredCalls.d.ts +260 -0
- package/types/src/calculation/state/IContextContainer.d.ts +32 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +6 -0
- package/types/src/calculation/state/_WhatIfLayer.d.ts +91 -0
- package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
- package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
- package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
- package/types/src/calculation/toolkit/index.d.ts +12 -0
- package/types/src/cell/ICell.d.ts +302 -34
- package/types/src/cell/ICellHeader.d.ts +7 -6
- package/types/src/cell/ICellProtection.d.ts +1 -1
- 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/ICellHeaderRange.d.ts +6 -9
- package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
- package/types/src/cellRange/ICellRange.d.ts +525 -110
- package/types/src/cellRange/ICellRanges.d.ts +12 -6
- package/types/src/chart/Chart.d.ts +217 -15
- package/types/src/chart/ChartCollection.d.ts +7 -2
- package/types/src/chart/IChart.d.ts +1921 -35
- package/types/src/chart/IChartCollection.d.ts +27 -2
- package/types/src/chart/_ChartParts.d.ts +1066 -0
- package/types/src/chart/_ChartSource.d.ts +47 -0
- package/types/src/chart/createChart.d.ts +26 -0
- package/types/src/chart/index.d.ts +4 -0
- package/types/src/chart/kinds/ChartKind.d.ts +252 -0
- package/types/src/chart/kinds/_Area.d.ts +3 -0
- package/types/src/chart/kinds/_Bar.d.ts +4 -0
- package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
- package/types/src/chart/kinds/_Bubble.d.ts +3 -0
- package/types/src/chart/kinds/_Funnel.d.ts +4 -0
- package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
- package/types/src/chart/kinds/_Histogram.d.ts +4 -0
- package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
- package/types/src/chart/kinds/_Line.d.ts +4 -0
- package/types/src/chart/kinds/_OfPie.d.ts +4 -0
- package/types/src/chart/kinds/_Pie.d.ts +4 -0
- package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
- package/types/src/chart/kinds/_Radar.d.ts +4 -0
- package/types/src/chart/kinds/_Scatter.d.ts +8 -0
- package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
- package/types/src/chart/kinds/_Surface.d.ts +4 -0
- package/types/src/chart/kinds/_Treemap.d.ts +4 -0
- package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
- package/types/src/chart/kinds/_builtIns.d.ts +11 -0
- package/types/src/chart/layout/ChartLayout.d.ts +829 -0
- package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
- package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
- package/types/src/chart/layout/_HitTest.d.ts +36 -0
- package/types/src/chart/layout/_Layout.d.ts +25 -0
- package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
- package/types/src/chart/math/BoxStats.d.ts +35 -0
- package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
- package/types/src/chart/math/DisplayUnits.d.ts +53 -0
- package/types/src/chart/math/Histogram.d.ts +48 -0
- package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
- package/types/src/chart/math/Treemap.d.ts +28 -0
- package/types/src/chart/math/Trendlines.d.ts +71 -0
- package/types/src/chart/math/UnitCalcs.d.ts +98 -0
- package/types/src/chart/model/ChartModel.d.ts +681 -0
- package/types/src/chart/model/_ChartType.d.ts +14 -0
- package/types/src/chart/model/_Edits.d.ts +489 -0
- package/types/src/chart/model/_Grouping.d.ts +83 -0
- package/types/src/chart/model/_Inference.d.ts +52 -0
- package/types/src/chart/model/_ModelFacts.d.ts +112 -0
- package/types/src/chart/model/_NewChart.d.ts +208 -0
- package/types/src/chart/model/_OfPie.d.ts +18 -0
- package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
- package/types/src/chart/resolve/_Resolve.d.ts +61 -0
- package/types/src/chart/resolve/_ResolvedChart.d.ts +447 -0
- package/types/src/collections/ISparseGrid.d.ts +11 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
- package/types/src/collections/RTree.d.ts +116 -36
- package/types/src/collections/SparseGrid.d.ts +9 -11
- package/types/src/collections/SpatialMap.d.ts +2 -8
- package/types/src/collections/SpatialMap3D.d.ts +2 -0
- package/types/src/collections/index.d.ts +1 -1
- package/types/src/comment/Comment.d.ts +32 -9
- package/types/src/comment/IComment.d.ts +41 -4
- package/types/src/comment/_NoteBox.d.ts +19 -2
- package/types/src/condition/AnchoredConditional.d.ts +30 -4
- package/types/src/condition/ICondition.d.ts +3 -2
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
- package/types/src/dataValidation/DataValidation.d.ts +1 -1
- package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
- package/types/src/dataValidation/IDataValidation.d.ts +1 -1
- package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
- package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
- package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
- package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
- package/types/src/documentProperties/index.d.ts +3 -0
- package/types/src/externalBook/IExternalBook.d.ts +3 -4
- package/types/src/fetch/Fetcher.d.ts +15 -0
- package/types/src/fetch/IFetcher.d.ts +47 -0
- package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
- package/types/src/fetch/index.d.ts +3 -0
- package/types/src/fill/IFill.d.ts +7 -0
- package/types/src/fill/IFillable.d.ts +47 -0
- package/types/src/fill/IStroke.d.ts +15 -1
- package/types/src/fill/PaintUtils.d.ts +24 -0
- package/types/src/fill/index.d.ts +2 -0
- package/types/src/font/AdvanceBuilder.d.ts +34 -0
- package/types/src/font/AdvanceTable.d.ts +128 -14
- package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
- package/types/src/font/FontCapture.d.ts +4 -0
- package/types/src/font/FontCollection.d.ts +53 -2
- package/types/src/font/FontPlatform.d.ts +20 -0
- package/types/src/font/FontUtils.d.ts +5 -0
- package/types/src/font/IFont.d.ts +191 -61
- package/types/src/font/IFontCollection.d.ts +20 -14
- package/types/src/font/IFontStyle.d.ts +207 -0
- package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
- package/types/src/font/_FontUtils.d.ts +11 -4
- package/types/src/font/_FontsVersion.d.ts +7 -0
- package/types/src/font/index.d.ts +1 -3
- package/types/src/font/platform.browser.d.ts +15 -0
- package/types/src/font/platform.node.d.ts +5 -0
- package/types/src/group/Group.d.ts +5 -0
- package/types/src/group/GroupMovableCollection.d.ts +4 -0
- package/types/src/history/IHistory.d.ts +19 -2
- package/types/src/hyperlink/IHyperlink.d.ts +17 -1
- package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
- package/types/src/index.d.ts +4 -0
- package/types/src/license/LicenseManager.d.ts +21 -0
- package/types/src/license/_Utils.d.ts +18 -1
- package/types/src/license/runtime.browser.d.ts +5 -0
- package/types/src/license/runtime.node.d.ts +10 -0
- package/types/src/listener/IListener.d.ts +14 -2
- package/types/src/listener/ListenerEmitter.d.ts +11 -3
- package/types/src/movable/IMovable.d.ts +28 -15
- package/types/src/movable/IMovableCollection.d.ts +1 -1
- package/types/src/movable/Movable.d.ts +12 -1
- package/types/src/movable/MovableCollection.d.ts +7 -3
- package/types/src/movable/_InsertableCollection.d.ts +16 -5
- package/types/src/named/INamed.d.ts +30 -0
- package/types/src/named/INamedCollection.d.ts +38 -2
- package/types/src/named/NamedCollection.d.ts +34 -4
- package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
- package/types/src/outline/IOutline.d.ts +1 -1
- package/types/src/outline/Outline.d.ts +2 -2
- package/types/src/picture/IPicture.d.ts +98 -1
- package/types/src/picture/Picture.d.ts +15 -7
- package/types/src/pivot/IPivotTable.d.ts +2 -2
- package/types/src/pivot/PivotTable.d.ts +5 -5
- package/types/src/primitives/AsyncValue.d.ts +58 -0
- package/types/src/primitives/ReferenceRange.d.ts +2 -2
- package/types/src/print/IPageLayout.d.ts +635 -0
- package/types/src/print/PageLayout.d.ts +258 -0
- package/types/src/print/index.d.ts +1 -1
- package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
- package/types/src/protection/IProtection.d.ts +6 -0
- package/types/src/protection/PasswordHasher.d.ts +13 -0
- 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 +66 -0
- 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 +89 -0
- 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 +59 -0
- package/types/src/richData/index.d.ts +9 -0
- package/types/src/scripting/FunctionArguments.d.ts +17 -1
- package/types/src/scripting/FunctionCollection.d.ts +8 -0
- package/types/src/scripting/IModule.d.ts +3 -3
- package/types/src/scripting/IScript.d.ts +2 -2
- package/types/src/scripting/ITypedFunction.d.ts +1 -1
- package/types/src/scripting/Scripts.d.ts +10 -0
- package/types/src/scripting/TypedFunction.d.ts +2 -0
- package/types/src/scripting/declarations.d.ts +3 -0
- package/types/src/selection/ChartElementSelection.d.ts +39 -0
- package/types/src/selection/IChartElementSelection.d.ts +103 -0
- package/types/src/selection/IItemSelection.d.ts +131 -0
- package/types/src/selection/IMovableSelection.d.ts +6 -34
- package/types/src/selection/IRangeSelection.d.ts +4 -4
- package/types/src/selection/ItemSelection.d.ts +49 -0
- package/types/src/selection/MovableSelection.d.ts +11 -30
- package/types/src/selection/RangeSelection.d.ts +4 -4
- package/types/src/selection/index.d.ts +3 -0
- package/types/src/shape/IShape.d.ts +2 -1
- package/types/src/shape/IShapeStyle.d.ts +5 -31
- package/types/src/shape/ITextBoxStyle.d.ts +85 -0
- package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
- package/types/src/shape/_Connectors.d.ts +9 -9
- package/types/src/shape/_ShapeStyle.d.ts +9 -0
- package/types/src/shape/index.d.ts +1 -0
- package/types/src/sheet/CellRegion.d.ts +37 -3
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
- package/types/src/sheet/ISheet.d.ts +81 -1078
- package/types/src/sheet/IWorksheet.d.ts +1521 -0
- package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
- package/types/src/sheet/NamedCellRange.d.ts +2 -2
- package/types/src/sheet/NamedRange.d.ts +2 -2
- package/types/src/sheet/OpaqueSheet.d.ts +114 -0
- package/types/src/sheet/SheetCell.d.ts +40 -27
- package/types/src/sheet/SheetRange.d.ts +50 -13
- package/types/src/sheet/SheetRanges.d.ts +14 -12
- package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +591 -171
- package/types/src/sheet/WorksheetCollection.d.ts +39 -0
- package/types/src/sheet/_CellBuffer.d.ts +11 -1
- package/types/src/sheet/_CopyUtils.d.ts +13 -6
- package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
- package/types/src/sheet/_Kinds.d.ts +34 -0
- package/types/src/sheet/_Labels.d.ts +38 -0
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
- package/types/src/sheet/_ScalarListFactory.d.ts +55 -7
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
- package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
- package/types/src/sheet/_SheetCoords.d.ts +3 -3
- package/types/src/sheet/_SheetEvents.d.ts +1 -1
- package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
- package/types/src/sheet/_SheetIntents.d.ts +32 -14
- package/types/src/sheet/_SheetMessages.d.ts +1 -1
- package/types/src/sheet/_SheetMutations.d.ts +11 -9
- package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
- package/types/src/sheet/_SheetStateReader.d.ts +18 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +80 -9
- package/types/src/sheet/_SheetUtils.d.ts +20 -19
- package/types/src/sheet/_WatchAnchor.d.ts +15 -2
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
- package/types/src/sheet/index.d.ts +5 -2
- package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
- package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
- package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
- package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
- package/types/src/sheet/style/_Resolvers.d.ts +3 -2
- package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
- package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
- package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
- package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
- package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
- package/types/src/sheetProtection/index.d.ts +1 -1
- package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
- package/types/src/sheetView/WorksheetView.d.ts +139 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
- package/types/src/sheetView/index.d.ts +1 -1
- package/types/src/slicer/ISlicer.d.ts +2 -2
- package/types/src/sort/ISort.d.ts +35 -5
- package/types/src/style/ICellStyle.d.ts +56 -44
- package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
- package/types/src/table/AnchoredTable.d.ts +23 -7
- package/types/src/table/AutoTable.d.ts +1 -1
- package/types/src/table/ITable.d.ts +32 -19
- package/types/src/table/_NamedTable.d.ts +3 -3
- package/types/src/table/_NamedTableSource.d.ts +2 -2
- package/types/src/text/IText.d.ts +4 -51
- package/types/src/text/TextEngine.d.ts +34 -0
- package/types/src/text/TextFrame.d.ts +4 -2
- package/types/src/text/TextRun.d.ts +3 -2
- package/types/src/text/TextWrapper.d.ts +32 -26
- package/types/src/text/_TextUtils.d.ts +5 -5
- package/types/src/text/_TextWrapperFallback.d.ts +49 -0
- package/types/src/text/impl/TabStrategy.d.ts +3 -1
- package/types/src/text/richtext/IRichText.d.ts +16 -2
- package/types/src/text/richtext/index.d.ts +0 -1
- package/types/src/theme/ITheme.d.ts +108 -7
- package/types/src/theme/ThemeCollection.d.ts +5 -0
- package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
- package/types/src/transaction/ITransaction.d.ts +20 -1
- package/types/src/transaction/Transaction.d.ts +8 -1
- package/types/src/transaction/_BatchHandle.d.ts +118 -0
- package/types/src/type/AbstractCollection.d.ts +4 -13
- package/types/src/type/ICollection.d.ts +17 -4
- package/types/src/type/IProperties.d.ts +1 -1
- package/types/src/utils/_CSSUtils.d.ts +1 -1
- package/types/src/wasm/_fontsWasm.d.ts +7 -0
- package/types/src/wasm/_sdkWasm.d.ts +1 -1
- package/types/src/wasm/fontsWasm.d.ts +32 -0
- package/types/src/wasm/index.d.ts +1 -0
- package/types/src/wasm/loader.browser.d.ts +9 -0
- package/types/src/wasm/loader.node.d.ts +9 -0
- package/types/src/wasm/sdkWasm.d.ts +6 -3
- package/types/src/workbook/IWorkbook.d.ts +269 -39
- package/types/src/workbook/Workbook.d.ts +102 -25
- package/types/src/workbook/WorkbookRange.d.ts +2 -2
- package/types/src/workbook/WorkbookRanges.d.ts +3 -3
- package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
- package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
- package/types/src/workbookView/IWorkbookView.d.ts +82 -0
- package/types/src/workbookView/WorkbookView.d.ts +21 -0
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
- package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
- package/node/esm/CImNvdz1iP-lUlro.mjs +0 -610
- package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
- package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
- package/types/src/chart/_ChartXml.d.ts +0 -70
- package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
- package/types/src/collections/_RangeSweep.d.ts +0 -97
- package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
- package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
- package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
- package/types/src/print/IPrint.d.ts +0 -212
- package/types/src/sheet/SheetCollection.d.ts +0 -29
- package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
- package/types/src/sheetView/SheetView.d.ts +0 -122
- package/types/src/text/richtext/IStyledFont.d.ts +0 -330
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import { FormulaError, IRange, Scalar, InteropScalar, IRangeStats } from '@sheetxl/primitives';
|
|
1
|
+
import { FormulaError, IRange, Scalar, InteropScalar, IRangeStats, IRichData } from '@sheetxl/primitives';
|
|
2
2
|
import { Bounds, Size, ReferenceableClipboard } from '@sheetxl/utils';
|
|
3
3
|
import { ITypes } from '../type';
|
|
4
4
|
import { IListener } from '../listener';
|
|
5
5
|
import { ITransaction } from '../transaction';
|
|
6
|
+
import { IAnchored } from '../anchored/IAnchored';
|
|
6
7
|
import { IHyperlink } from '../hyperlink';
|
|
7
|
-
import {
|
|
8
|
+
import { IRichText } from '../text';
|
|
8
9
|
import { ISort } from '../sort';
|
|
9
10
|
import { ICondition } from '../condition';
|
|
10
11
|
import { IAutoFill } from '../autoFill';
|
|
11
12
|
import { ICellStyle } from '../style';
|
|
12
13
|
import { ICalculation } from '../calculation';
|
|
14
|
+
import { IWorksheet } from '../sheet';
|
|
15
|
+
import { ICell } from '../cell';
|
|
16
|
+
import { IComment, ICommentCollection } from '../comment';
|
|
13
17
|
import { ITable, ITableCollection } from '../table';
|
|
14
18
|
import { IMovable, IMovableCollection } from '../movable';
|
|
15
19
|
import { IDataValidation, IDataValidationCollection } from '../dataValidation';
|
|
16
|
-
import { IConditionalFormat } from '../conditionalFormat
|
|
17
|
-
import { IConditionalFormatCollection } from '../conditionalFormat/IConditionalFormatCollection';
|
|
20
|
+
import { IConditionalFormat, IConditionalFormatCollection } from '../conditionalFormat';
|
|
18
21
|
import { IProtectedRange, IProtectedRangeCollection } from '../protectedRange';
|
|
19
|
-
import {
|
|
20
|
-
import { ICell } from '../cell';
|
|
22
|
+
import { ICellControl, ICellControlCollection } from '../cellControl';
|
|
21
23
|
import { ICellRanges } from './ICellRanges';
|
|
22
24
|
import { ICellRegions } from './ICellRegion';
|
|
23
25
|
import { ICellHeaderRange } from './ICellHeaderRange';
|
|
24
26
|
/**
|
|
25
|
-
* A {@link ICellRange} represents a rectangular collection of {@link ICell} within an {@link
|
|
27
|
+
* A {@link ICellRange} represents a rectangular collection of {@link ICell} within an {@link IWorksheet}.
|
|
26
28
|
*
|
|
27
29
|
* **Naming Conventions:** Methods usually adhere to the following conventions except
|
|
28
30
|
* when adhering to a idiomatic existing conventions of Typescript (for example `size` or 'length'):
|
|
@@ -90,11 +92,44 @@ export interface ICellRange {
|
|
|
90
92
|
* pass `fullyContained` for the stricter question.
|
|
91
93
|
*
|
|
92
94
|
* The items are the sheet's — this is a scoped view of
|
|
93
|
-
* `
|
|
95
|
+
* `getWorksheet().getConditionalFormats()`, not a copy — and each appears **once**, however many of
|
|
94
96
|
* its ranges the query hit. The range only says *which* items; ask an item where it lives with
|
|
95
97
|
* {@link IConditionalFormat.getRanges}.
|
|
96
98
|
*/
|
|
97
99
|
getConditionalFormats(options?: ICellRange.GetItemsOptions<IConditionalFormatCollection.GetItemsOptions>): IConditionalFormat[];
|
|
100
|
+
/**
|
|
101
|
+
* Returns the {@link ICellControl}s on cells within the range, such as checkboxes.
|
|
102
|
+
*
|
|
103
|
+
* @param options The filters of {@link ICellControlCollection.getItems} without `address` —
|
|
104
|
+
* this range is the address.
|
|
105
|
+
*
|
|
106
|
+
* @remarks
|
|
107
|
+
* See {@link getConditionalFormats} for the overlap and one-entry-per-item rules, which are the
|
|
108
|
+
* same for every ranged item lookup. A cell has at most one control; ask a cell for its own with
|
|
109
|
+
* {@link ICell.getControl}.
|
|
110
|
+
*
|
|
111
|
+
* Office Scripts' `Range.getControl()` answers one `CellControl` for the whole range; here
|
|
112
|
+
* `getControls()[0]?.getType()` reads a single cell's, and `toJSON()` gives the
|
|
113
|
+
* `{ type: 'checkbox' }` shape. A control is about the cell, not its value: a checkbox cell
|
|
114
|
+
* holding `2` still has one, though it draws `2` ({@link ICellControl.isAccepted}). A type
|
|
115
|
+
* SheetXL does not know answers with its own name, where Excel answers `unknown`.
|
|
116
|
+
*/
|
|
117
|
+
getControls(options?: ICellRange.GetItemsOptions<ICellControlCollection.GetItemsOptions>): ICellControl[];
|
|
118
|
+
/**
|
|
119
|
+
* Puts `control` on every cell of the range, replacing the control each had; `null` removes
|
|
120
|
+
* them.
|
|
121
|
+
*
|
|
122
|
+
* @param control The control, such as `{ type: 'checkbox' }`, or `null`.
|
|
123
|
+
*
|
|
124
|
+
* @remarks
|
|
125
|
+
* Office Scripts' `Range.setControl`, with `null` for its `{ type: 'empty' }`. A cell has at most
|
|
126
|
+
* one control. The values stay as they are: a checkbox draws `TRUE` as checked and `FALSE` or a
|
|
127
|
+
* blank cell as unchecked, and any other value as text.
|
|
128
|
+
*
|
|
129
|
+
* A control is a format: refused on a protected sheet unless formatting cells is allowed, removed
|
|
130
|
+
* by {@link clear} of formats, and carried by a paste of formats.
|
|
131
|
+
*/
|
|
132
|
+
setControl(control: ICellControl.JSON | null, options?: ITransaction.OperationOptions): this;
|
|
98
133
|
/**
|
|
99
134
|
* Returns the {@link IDataValidation}s that overlap the range.
|
|
100
135
|
*
|
|
@@ -116,7 +151,7 @@ export interface ICellRange {
|
|
|
116
151
|
* range is the address.
|
|
117
152
|
*
|
|
118
153
|
* @remarks
|
|
119
|
-
* The items are the sheet's — a scoped view of `
|
|
154
|
+
* The items are the sheet's — a scoped view of `getWorksheet().getComments()`, not a copy. A
|
|
120
155
|
* comment is on one cell, so each appears once, in reading order.
|
|
121
156
|
*/
|
|
122
157
|
getComments(options?: ICellRange.GetItemsOptions<ICommentCollection.GetItemsOptions>): IComment[];
|
|
@@ -151,6 +186,15 @@ export interface ICellRange {
|
|
|
151
186
|
* {@link ICellRange.getCells}
|
|
152
187
|
*/
|
|
153
188
|
getCell(address?: ICell.Address): ICell;
|
|
189
|
+
/**
|
|
190
|
+
* Exists to have api parity with Office Scripts: `row` and `column` are 0-based offsets from the
|
|
191
|
+
* range's top left.
|
|
192
|
+
*
|
|
193
|
+
* @deprecated Use {@link getCell}`('B3')`, or `getCell({ rowIndex, colIndex })` with sheet
|
|
194
|
+
* coordinates.
|
|
195
|
+
* @hidden
|
|
196
|
+
*/
|
|
197
|
+
getCell(row: number, column: number): ICell;
|
|
154
198
|
/**
|
|
155
199
|
* Return a 2D array of {@link ICell | cells} in the shape of the range.
|
|
156
200
|
*
|
|
@@ -171,6 +215,24 @@ export interface ICellRange {
|
|
|
171
215
|
* {@link ICellRange.getValues}
|
|
172
216
|
*/
|
|
173
217
|
getValue(): Scalar;
|
|
218
|
+
/**
|
|
219
|
+
* Returns the top left cell's value as displayed, with its number format applied.
|
|
220
|
+
*
|
|
221
|
+
* @remarks
|
|
222
|
+
* The same as `getCell().getText(options)`.
|
|
223
|
+
*
|
|
224
|
+
* @see
|
|
225
|
+
* {@link ICell.getText}
|
|
226
|
+
*/
|
|
227
|
+
getText(options?: ICell.GetTextOptions): string;
|
|
228
|
+
/**
|
|
229
|
+
* Exists to have api parity with Office Scripts.
|
|
230
|
+
*
|
|
231
|
+
* @deprecated Use {@link getCells}`()` and each cell's `getText()`, or {@link getText} for the
|
|
232
|
+
* top left cell.
|
|
233
|
+
* @hidden
|
|
234
|
+
*/
|
|
235
|
+
getTexts(): string[][];
|
|
174
236
|
/**
|
|
175
237
|
* Returns the value for the top left `InteropScalar`.
|
|
176
238
|
*
|
|
@@ -189,6 +251,19 @@ export interface ICellRange {
|
|
|
189
251
|
* set values work for the entire range.
|
|
190
252
|
*/
|
|
191
253
|
getStyle(): ICellStyle;
|
|
254
|
+
/**
|
|
255
|
+
* Exists to have api parity with Office Scripts.
|
|
256
|
+
*
|
|
257
|
+
* @deprecated Use {@link getStyle}.
|
|
258
|
+
* @hidden
|
|
259
|
+
*/
|
|
260
|
+
getFormat(): ICellStyle;
|
|
261
|
+
/**
|
|
262
|
+
* @deprecated Use {@link getStyle}`().update(style)`, or a setter on the style:
|
|
263
|
+
* `getStyle().getFont().setBold(true)`.
|
|
264
|
+
* @hidden
|
|
265
|
+
*/
|
|
266
|
+
setStyle(style: ICellStyle.Update, options?: ICellStyle.UpdateOptions): this;
|
|
192
267
|
/**
|
|
193
268
|
* Returns the formula for the range.
|
|
194
269
|
*
|
|
@@ -267,17 +342,17 @@ export interface ICellRange {
|
|
|
267
342
|
*
|
|
268
343
|
* @remarks
|
|
269
344
|
* The anchored convenience form: equivalent to
|
|
270
|
-
* `
|
|
345
|
+
* `getWorksheet().createFormula(expression, topLeftCoords)`, where the anchor is this
|
|
271
346
|
* range's top-left cell. Nothing is committed — the formula is not registered in the workbook
|
|
272
347
|
* or the dependency graph.
|
|
273
348
|
*
|
|
274
|
-
* Two behaviors follow from the sheet form (see {@link
|
|
349
|
+
* Two behaviors follow from the sheet form (see {@link IWorksheet.createFormula}):
|
|
275
350
|
*
|
|
276
351
|
* - A bare reference (`A2`) resolves against THIS range's sheet, never the selected one.
|
|
277
352
|
* - Relative references resolve **relative to the anchor cell**, so the expression reads
|
|
278
353
|
* exactly as it would if it were authored here.
|
|
279
354
|
*
|
|
280
|
-
* @see {@link
|
|
355
|
+
* @see {@link IWorksheet.createFormula}
|
|
281
356
|
* @see {@link ICalculation.createFormula}
|
|
282
357
|
*/
|
|
283
358
|
createFormula(expression: string, options?: ICalculation.CreateFormulaOptions): ICalculation.IFormula;
|
|
@@ -326,6 +401,20 @@ export interface ICellRange {
|
|
|
326
401
|
* @returns `ICellRange` at the repositioned range.
|
|
327
402
|
*/
|
|
328
403
|
getEntireRows(shift?: boolean, options?: ICellRange.GetRangeOptions): this;
|
|
404
|
+
/**
|
|
405
|
+
* Exists to have api parity with Office Scripts.
|
|
406
|
+
*
|
|
407
|
+
* @deprecated Use {@link getEntireRows}.
|
|
408
|
+
* @hidden
|
|
409
|
+
*/
|
|
410
|
+
getEntireRow(): this;
|
|
411
|
+
/**
|
|
412
|
+
* Exists to have api parity with Office Scripts.
|
|
413
|
+
*
|
|
414
|
+
* @deprecated Use {@link getEntireColumns}.
|
|
415
|
+
* @hidden
|
|
416
|
+
*/
|
|
417
|
+
getEntireColumn(): this;
|
|
329
418
|
/**
|
|
330
419
|
* Returns a range that includes the current range up to a content edge boundary.
|
|
331
420
|
*
|
|
@@ -658,6 +747,8 @@ export interface ICellRange {
|
|
|
658
747
|
*
|
|
659
748
|
* - Every public {@link ICellRange.Feature} appears as a key; features not requested, or not
|
|
660
749
|
* present, are an explicit `0` — the shape is stable and self-describing, never `null`.
|
|
750
|
+
* `anomalies` is the exception: it is derived on read, so it is counted, and its key
|
|
751
|
+
* present, only when requested by name.
|
|
661
752
|
* - Each feature is counted **independently**. `getCounts([Fill, Border])` is two numbers,
|
|
662
753
|
* not the count of their refined intersection — the refined count *is* `getRegions`.
|
|
663
754
|
* - Counts are cells, never regions: a region count would either disagree with the partition
|
|
@@ -709,6 +800,41 @@ export interface ICellRange {
|
|
|
709
800
|
* vocabulary at all — see {@link Feature}'s own remarks for where they went.
|
|
710
801
|
*/
|
|
711
802
|
getRegions(features?: ICellRange.Feature | readonly ICellRange.Feature[], options?: ICellRange.GetRegionsOptions): ICellRegions;
|
|
803
|
+
/**
|
|
804
|
+
* Returns the regions of the `anomalies` feature in reading order: the named checks first, then
|
|
805
|
+
* the rest, each by the named focus or by rank.
|
|
806
|
+
*
|
|
807
|
+
* @param options {@link ICellRange.GetAnomaliesOptions}
|
|
808
|
+
*
|
|
809
|
+
* @example
|
|
810
|
+
* ```ts
|
|
811
|
+
* // Hunting an embedded hardcode: read its checks' findings first, 25 regions at a time.
|
|
812
|
+
* sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25 });
|
|
813
|
+
* sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25, offset: 25 });
|
|
814
|
+
* // Or name the kind of defect and let the measured order decide.
|
|
815
|
+
* sheet.getAnomalies({ focus: 'unitMismatch', limit: 25 });
|
|
816
|
+
* ```
|
|
817
|
+
*
|
|
818
|
+
* @remarks
|
|
819
|
+
* The regions are the ones {@link getRegions | getRegions('anomalies')} returns, with the same
|
|
820
|
+
* findings and ranks ({@link ICell.Anomaly}); only the order and the window differ. A region
|
|
821
|
+
* whose findings include the first named check lists first, highest rank of that check first;
|
|
822
|
+
* then the second check's; then every region no named check fires on, by its highest rank. A
|
|
823
|
+
* region two named checks fire on lists once, under the first. An ignored check
|
|
824
|
+
* ({@link setErrorIgnored}) is not there to list.
|
|
825
|
+
*
|
|
826
|
+
* `focus` names the kind of defect being looked for ({@link ICellRange.AnomalyFocus}). Each
|
|
827
|
+
* finding then weighs as the share of findings like it — the same check, the same kind of
|
|
828
|
+
* evidence, about as often repeated in the listing — that were that kind of defect in audited
|
|
829
|
+
* models, and a region lists by its best finding, by rank where that is equal. Several kinds
|
|
830
|
+
* merge into one order by the best of them. It reorders; it neither adds nor drops a region, and
|
|
831
|
+
* the findings' own ranks are unchanged.
|
|
832
|
+
*
|
|
833
|
+
* `offset` and `limit` page through that one order, so successive windows neither skip nor
|
|
834
|
+
* repeat a region; a window shorter than `limit` is the last. `getRegions('anomalies').getCount()`
|
|
835
|
+
* is the length of the whole list.
|
|
836
|
+
*/
|
|
837
|
+
getAnomalies(options?: ICellRange.GetAnomaliesOptions): ICellRegions;
|
|
712
838
|
/**
|
|
713
839
|
* Returns a 2D array of {@link Scalar | values} in the shape of the range.
|
|
714
840
|
*
|
|
@@ -737,8 +863,8 @@ export interface ICellRange {
|
|
|
737
863
|
* @remarks
|
|
738
864
|
* - `null` values will clear the corresponding cells.
|
|
739
865
|
* - `undefined` values will be ignored, leaving the existing cell values unchanged.
|
|
740
|
-
* -
|
|
741
|
-
* -
|
|
866
|
+
* - The array is row-major. An array smaller than the range writes only the cells it covers.
|
|
867
|
+
* - A single value is {@link setValue}, which fills the range with it.
|
|
742
868
|
*/
|
|
743
869
|
setValues(values: ICellRange.ValuesUpdate, options?: ICellRange.SetValuesOptions): this;
|
|
744
870
|
/**
|
|
@@ -761,7 +887,7 @@ export interface ICellRange {
|
|
|
761
887
|
* @see
|
|
762
888
|
* {@link ICellRange.setValues}
|
|
763
889
|
*/
|
|
764
|
-
setValue(value: ICellRange.
|
|
890
|
+
setValue(value: ICellRange.ScalarUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
|
|
765
891
|
/**
|
|
766
892
|
* Set the formula for a range.
|
|
767
893
|
*
|
|
@@ -774,7 +900,7 @@ export interface ICellRange {
|
|
|
774
900
|
* @see
|
|
775
901
|
* {@link ICellRange.setValue}
|
|
776
902
|
*/
|
|
777
|
-
setFormula(value: ICellRange.
|
|
903
|
+
setFormula(value: ICellRange.ScalarUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
|
|
778
904
|
/**
|
|
779
905
|
* Sets the formula of each cell in the range.
|
|
780
906
|
*
|
|
@@ -841,7 +967,7 @@ export interface ICellRange {
|
|
|
841
967
|
* @throws `Error` If a row or column in the range is already at the deepest level, `7`. Nothing is
|
|
842
968
|
* grouped.
|
|
843
969
|
*
|
|
844
|
-
* @see {@link
|
|
970
|
+
* @see {@link IWorksheet.getOutline}
|
|
845
971
|
*/
|
|
846
972
|
group(axis?: IRange.Axis, options?: ITransaction.OperationOptions): this;
|
|
847
973
|
/**
|
|
@@ -907,6 +1033,34 @@ export interface ICellRange {
|
|
|
907
1033
|
* To clear hyperlinks either set to `null` or call `clear(ICell.Content.Hyperlinks)`.
|
|
908
1034
|
*/
|
|
909
1035
|
setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
|
|
1036
|
+
/**
|
|
1037
|
+
* Sets the text of every cell in the range as formatted runs.
|
|
1038
|
+
*
|
|
1039
|
+
* @param runs The runs, or plain text for one run. A run's font records what it sets over the
|
|
1040
|
+
* cell's font: `{ text: 'Bold', font: { bold: true } }` then `{ text: ' plain' }`.
|
|
1041
|
+
* @returns The current `ICellRange`.
|
|
1042
|
+
*
|
|
1043
|
+
* @remarks
|
|
1044
|
+
* The value becomes a `RichText`: text to calculation (`LEN`, `&`, `TYPE()` 2) and formatting
|
|
1045
|
+
* to the renderer, carried whole by a reference. A later `setValue` replaces it, runs and all,
|
|
1046
|
+
* as any value write does. Read it with {@link ICell.getRichText}.
|
|
1047
|
+
*/
|
|
1048
|
+
setRichText(runs: IRichText.Update, options?: ITransaction.OperationOptions): this;
|
|
1049
|
+
/**
|
|
1050
|
+
* Ignores, or stops ignoring, one of Excel's error checks over the range: the green triangle's
|
|
1051
|
+
* **Ignore Error**.
|
|
1052
|
+
*
|
|
1053
|
+
* @param check The check.
|
|
1054
|
+
* @param ignored `false` to show the check's indicator again. Defaults to `true`.
|
|
1055
|
+
* @returns The current `ICellRange`.
|
|
1056
|
+
*
|
|
1057
|
+
* @remarks
|
|
1058
|
+
* SheetXL does not run the checks yet; the setting is kept for Excel. It follows the cells through
|
|
1059
|
+
* inserts and deletes, is not copied, and is dropped from a cell that is written or cleared, as
|
|
1060
|
+
* in Excel. Read it with {@link ICell.isErrorIgnored}; find it with {@link getRegions} and
|
|
1061
|
+
* {@link Feature.IgnoredErrors}.
|
|
1062
|
+
*/
|
|
1063
|
+
setErrorIgnored(check: ICell.ErrorCheck, ignored?: boolean, options?: ITransaction.OperationOptions): this;
|
|
910
1064
|
/**
|
|
911
1065
|
* Sets or clears the comment on the range's first cell.
|
|
912
1066
|
*
|
|
@@ -916,7 +1070,7 @@ export interface ICellRange {
|
|
|
916
1070
|
* @remarks
|
|
917
1071
|
* A comment is on one cell, so a value goes on the range's top-left cell — updating the comment
|
|
918
1072
|
* there if it has one, adding one otherwise — while `null` clears every comment within the
|
|
919
|
-
* range. The comment itself is the richer surface: `
|
|
1073
|
+
* range. The comment itself is the richer surface: `getWorksheet().getComments()` to add, and
|
|
920
1074
|
* {@link ICell.getComments} to reach the one on a cell.
|
|
921
1075
|
*/
|
|
922
1076
|
setComments(comments: IComment.Update, options?: ITransaction.OperationOptions): this;
|
|
@@ -1048,7 +1202,7 @@ export interface ICellRange {
|
|
|
1048
1202
|
* @param options If a boolean then this indicates if headers are present.
|
|
1049
1203
|
*
|
|
1050
1204
|
* @remarks
|
|
1051
|
-
* This behaves similarly to {@link
|
|
1205
|
+
* This behaves similarly to {@link IWorksheet.getTables.add} but uses the current range
|
|
1052
1206
|
*/
|
|
1053
1207
|
addTable(options?: ITableCollection.AddOptions | boolean): ITable;
|
|
1054
1208
|
/**
|
|
@@ -1126,12 +1280,17 @@ export interface ICellRange {
|
|
|
1126
1280
|
/**
|
|
1127
1281
|
* Perform a set of operations as a batch.
|
|
1128
1282
|
*
|
|
1129
|
-
* @param callback Function to perform the operations.
|
|
1283
|
+
* @param callback Function to perform the operations. Handed the commit being written and
|
|
1284
|
+
* `range`, this range bound to the batch.
|
|
1130
1285
|
* @param options Description of the operation or additional options. This will be used for tracking undo/redo and history. @defaultValue 'Range Update'
|
|
1131
1286
|
* @template R - The callback return type.
|
|
1132
1287
|
* @returns The result of the callback.
|
|
1288
|
+
*
|
|
1289
|
+
* @remarks
|
|
1290
|
+
* Work through `range` rather than this one: what is reached through it is part of the batch, as
|
|
1291
|
+
* for {@link IWorkbook.doBatch}.
|
|
1133
1292
|
*/
|
|
1134
|
-
doBatch<R>(callback: (commit: ITransaction.ICommit) => Promise<R> | R, options?: string | ITransaction.OperationOptions): Promise<R> | R;
|
|
1293
|
+
doBatch<R>(callback: (commit: ITransaction.ICommit, range: this) => Promise<R> | R, options?: string | ITransaction.OperationOptions): Promise<R> | R;
|
|
1135
1294
|
/**
|
|
1136
1295
|
* Creates a `SparseBuilder` for efficiently updating sparsely populated cells in a streaming low memory way.
|
|
1137
1296
|
*
|
|
@@ -1173,12 +1332,23 @@ export interface ICellRange {
|
|
|
1173
1332
|
*/
|
|
1174
1333
|
select(options?: ICellRange.SelectOptions): Promise<this>;
|
|
1175
1334
|
/**
|
|
1176
|
-
*
|
|
1335
|
+
* Listen for changes at this range: its cells written, recalculated or undone, and the range
|
|
1336
|
+
* itself moved by rows or columns inserted or deleted around it.
|
|
1177
1337
|
*
|
|
1178
|
-
* @returns A callback
|
|
1338
|
+
* @returns A callback that removes the listener. {@link IListener.Remove}
|
|
1179
1339
|
*
|
|
1180
1340
|
* @remarks
|
|
1181
|
-
*
|
|
1341
|
+
* The listener is handed an {@link ICellRange.Event} whose source is the listened range where
|
|
1342
|
+
* it is now. Which events it hears, how it follows inserts and deletes, and whether it takes
|
|
1343
|
+
* part in the change or observes it afterwards are {@link ICellRange.ListenerOptions}.
|
|
1344
|
+
*
|
|
1345
|
+
* @example
|
|
1346
|
+
* ```ts
|
|
1347
|
+
* const remove = sheet.getRange('A1:C3').addListener((event) => {
|
|
1348
|
+
* if (event.getTrigger() === 'data') console.log('changed:', event.getRanges()!.getAddress());
|
|
1349
|
+
* else console.log('now at:', event.getSource().getAddress());
|
|
1350
|
+
* });
|
|
1351
|
+
* ```
|
|
1182
1352
|
*/
|
|
1183
1353
|
addListener(listener: ICellRange.Listener, options?: ICellRange.ListenerOptions): IListener.Remove;
|
|
1184
1354
|
/**
|
|
@@ -1339,6 +1509,11 @@ export interface ICellRange {
|
|
|
1339
1509
|
* @param r1c1 If unspecified returns the environment's default.
|
|
1340
1510
|
*/
|
|
1341
1511
|
getAddress(r1c1?: boolean): string;
|
|
1512
|
+
/**
|
|
1513
|
+
* @deprecated Use {@link getAddress}.
|
|
1514
|
+
* @hidden
|
|
1515
|
+
*/
|
|
1516
|
+
getA1(): string;
|
|
1342
1517
|
/**
|
|
1343
1518
|
* Returns the column start.
|
|
1344
1519
|
*/
|
|
@@ -1376,7 +1551,7 @@ export interface ICellRange {
|
|
|
1376
1551
|
/**
|
|
1377
1552
|
* Returns the Sheet.
|
|
1378
1553
|
*/
|
|
1379
|
-
|
|
1554
|
+
getWorksheet(): IWorksheet;
|
|
1380
1555
|
/**
|
|
1381
1556
|
* The IRange.Coords.
|
|
1382
1557
|
*/
|
|
@@ -1434,10 +1609,16 @@ export interface INamedRange extends ICellRange {
|
|
|
1434
1609
|
export declare namespace ICellRange {
|
|
1435
1610
|
/**
|
|
1436
1611
|
* This is either:
|
|
1437
|
-
* 1. A string that can be parsed into a CellRange (e.g. 'A1:B2')
|
|
1612
|
+
* 1. A string that can be parsed into a CellRange (e.g. 'A1:B2'), a named range, or a
|
|
1613
|
+
* structured reference (e.g. `'Sales[[#Headers],[Qty]]'`).
|
|
1438
1614
|
* 2. Another ICellRange
|
|
1439
1615
|
* 3. An IRange
|
|
1440
1616
|
* 4. Partial IRange.FixableCoords
|
|
1617
|
+
*
|
|
1618
|
+
* @remarks
|
|
1619
|
+
* A structured reference is read from the active cell: one without a table name (`'[Qty]'`)
|
|
1620
|
+
* refers to the table at the active cell, and `@` (`'Sales[@Qty]'`) to the active cell's row.
|
|
1621
|
+
* References into another workbook are not supported.
|
|
1441
1622
|
*/
|
|
1442
1623
|
type Address = string | ICellRange | IRange | Readonly<Partial<IRange.FixableCoords>> | ICell.Address | FormulaError.Ref;
|
|
1443
1624
|
/**
|
|
@@ -1449,27 +1630,32 @@ export declare namespace ICellRange {
|
|
|
1449
1630
|
*/
|
|
1450
1631
|
type ScalarUpdate = Scalar | null | undefined;
|
|
1451
1632
|
/**
|
|
1452
|
-
* Represents an update to a cell's value in JavaScript, allowing `Date
|
|
1633
|
+
* Represents an update to a cell's value in JavaScript, allowing `Date`, a rich value's JSON
|
|
1634
|
+
* and `null`.
|
|
1453
1635
|
*
|
|
1454
1636
|
* @remarks
|
|
1455
1637
|
* This type allows for updating a cell's value, including `Date` for convenience.
|
|
1456
1638
|
* As with `ScalarUpdate`, `null` can be used to clear the cell's value.
|
|
1457
1639
|
*
|
|
1640
|
+
* A rich value may be given as its JSON (`{ type, data }`, what {@link IRichData.toJSON}
|
|
1641
|
+
* returns); it is made by the kind registered for `type`, and an unregistered type is kept
|
|
1642
|
+
* as it was given.
|
|
1643
|
+
*
|
|
1458
1644
|
* * See {@link InteropScalar} for more details on JavaScript scalar values.
|
|
1459
1645
|
*/
|
|
1460
|
-
type InteropScalarUpdate = InteropScalar | null | undefined;
|
|
1646
|
+
type InteropScalarUpdate = InteropScalar | IRichData.JSON | null | undefined;
|
|
1461
1647
|
/**
|
|
1462
1648
|
* Single or 2D.
|
|
1463
1649
|
*/
|
|
1464
1650
|
type Update = ICell.Update | readonly ICell.Update[][];
|
|
1465
1651
|
/**
|
|
1466
|
-
* A
|
|
1652
|
+
* A 2D array of scalars or an IRange. A single value is a {@link ScalarUpdateOrCallback}.
|
|
1467
1653
|
*/
|
|
1468
|
-
type ValuesUpdate =
|
|
1654
|
+
type ValuesUpdate = IRange | readonly InteropScalarUpdate[][];
|
|
1469
1655
|
/**
|
|
1470
|
-
*
|
|
1656
|
+
* A single value, or a callback that yields one per cell.
|
|
1471
1657
|
*/
|
|
1472
|
-
type
|
|
1658
|
+
type ScalarUpdateOrCallback<T = Scalar> = InteropScalarUpdate | ((row: number, column: number) => T | null);
|
|
1473
1659
|
/**
|
|
1474
1660
|
* The read options a range carries.
|
|
1475
1661
|
*
|
|
@@ -1620,7 +1806,7 @@ export declare namespace ICellRange {
|
|
|
1620
1806
|
replaceExisting?: boolean;
|
|
1621
1807
|
}
|
|
1622
1808
|
/**
|
|
1623
|
-
* Options for `ICellRange.
|
|
1809
|
+
* Options for `ICellRange.insert`.
|
|
1624
1810
|
*/
|
|
1625
1811
|
interface InsertOptions extends ICellRange.OperationOptions {
|
|
1626
1812
|
/**
|
|
@@ -1647,6 +1833,12 @@ export declare namespace ICellRange {
|
|
|
1647
1833
|
* @defaultValue `false` (classic shift-cells)
|
|
1648
1834
|
*/
|
|
1649
1835
|
span?: boolean;
|
|
1836
|
+
/**
|
|
1837
|
+
* Fit the inserted rows and columns to their content once the insert completes.
|
|
1838
|
+
*
|
|
1839
|
+
* @defaultValue `false` - inserted rows and columns take the default size.
|
|
1840
|
+
*/
|
|
1841
|
+
autoFit?: boolean | ICellRange.AutoFitOptions;
|
|
1650
1842
|
}
|
|
1651
1843
|
/**
|
|
1652
1844
|
* Options for `ICellRange.delete`.
|
|
@@ -1669,6 +1861,12 @@ export declare namespace ICellRange {
|
|
|
1669
1861
|
* @defaultValue `false` (classic shift-cells)
|
|
1670
1862
|
*/
|
|
1671
1863
|
span?: boolean;
|
|
1864
|
+
/**
|
|
1865
|
+
* Fit the rows and columns the remaining cells shift into once the delete completes.
|
|
1866
|
+
*
|
|
1867
|
+
* @defaultValue `false` - a delete moves rows and columns with the sizes they have.
|
|
1868
|
+
*/
|
|
1869
|
+
autoFit?: boolean | ICellRange.AutoFitOptions;
|
|
1672
1870
|
}
|
|
1673
1871
|
/**
|
|
1674
1872
|
* Options for configuring range coordinate reference types.
|
|
@@ -1954,7 +2152,7 @@ export declare namespace ICellRange {
|
|
|
1954
2152
|
/**
|
|
1955
2153
|
* Fit to what **formula view** displays rather than to the rendered values.
|
|
1956
2154
|
*
|
|
1957
|
-
* @defaultValue the sheet view's {@link
|
|
2155
|
+
* @defaultValue the sheet view's {@link IWorksheetView.isShowFormulas}
|
|
1958
2156
|
*
|
|
1959
2157
|
* @remarks
|
|
1960
2158
|
* In formula view a cell with a formula shows `=` + its formula text, and every other cell
|
|
@@ -2398,14 +2596,31 @@ export declare namespace ICellRange {
|
|
|
2398
2596
|
* `ISnapshot` can be provided to `ICellRange.copyFrom`.
|
|
2399
2597
|
*/
|
|
2400
2598
|
interface ISnapshot<T = any, J = any> {
|
|
2599
|
+
/**
|
|
2600
|
+
* Does the asynchronous work a paste needs, before {@link copyTo} is called.
|
|
2601
|
+
*
|
|
2602
|
+
* @remarks
|
|
2603
|
+
* `ICellRange.copyFrom` calls this first, outside any transaction, and then `copyTo` inside
|
|
2604
|
+
* the paste's transaction. Anything that has to wait - loading a kind of content, decoding an
|
|
2605
|
+
* image - is done here, so that `copyTo` can complete synchronously. A snapshot with nothing
|
|
2606
|
+
* to wait for leaves this out, or returns `void`; the paste then runs to its commit in the
|
|
2607
|
+
* caller's synchronous extent.
|
|
2608
|
+
*
|
|
2609
|
+
* @param destination The `ICellRange` the snapshot will be copied to, as the caller gave it.
|
|
2610
|
+
*/
|
|
2611
|
+
prepare?(destination: ICellRange, options?: ICellRange.CopyOptions): Promise<void> | void;
|
|
2401
2612
|
/**
|
|
2402
2613
|
* Copies the snapshot to the specified range.
|
|
2403
2614
|
*
|
|
2615
|
+
* @remarks
|
|
2616
|
+
* The copy is made inside the paste's transaction, so it completes synchronously; anything
|
|
2617
|
+
* that has to wait belongs in {@link prepare}.
|
|
2618
|
+
*
|
|
2404
2619
|
* @param destination The destination `ICellRange` where the snapshot will be copied.
|
|
2405
2620
|
*
|
|
2406
|
-
* @returns
|
|
2621
|
+
* @returns The coordinates the copy covered, or `null` when it placed no cells.
|
|
2407
2622
|
*/
|
|
2408
|
-
copyTo(destination: ICellRange, options?: ICellRange.CopyOptions):
|
|
2623
|
+
copyTo(destination: ICellRange, options?: ICellRange.CopyOptions): IRange.Coords | null;
|
|
2409
2624
|
/**
|
|
2410
2625
|
* Return the options used when creating.
|
|
2411
2626
|
* @remarks
|
|
@@ -2483,12 +2698,12 @@ export declare namespace ICellRange {
|
|
|
2483
2698
|
* over the content-style map). `Notes` joins when the backing is implemented; a feature that
|
|
2484
2699
|
* silently reports nothing is worse than a missing one.
|
|
2485
2700
|
*
|
|
2486
|
-
* `String`/`Number`/`Boolean` are deliberately absent, even though they are
|
|
2487
|
-
* values.
|
|
2488
|
-
* occupied cell — and a scalar kind has none: it is read straight off the value, which is
|
|
2701
|
+
* `String`/`Number`/`Boolean` are deliberately absent as separate members, even though they are
|
|
2702
|
+
* real `ScalarType` values. "How many numbers" is a count read straight off the values, which is
|
|
2489
2703
|
* exactly the one pass `IRangeStats.getTypedCounts()` already makes, richer (it composes with
|
|
2490
|
-
* aggregates and frequencies for free, in the same call).
|
|
2491
|
-
*
|
|
2704
|
+
* aggregates and frequencies for free, in the same call) — `range.getStats()` is the vocabulary
|
|
2705
|
+
* for that. *Where* the numbers are is a partition, and that is the one {@link Feature.Kind}
|
|
2706
|
+
* answers: a typed row inside a block of text is a region of its own.
|
|
2492
2707
|
*
|
|
2493
2708
|
* `Error` stays, for a reason unrelated to the above: it has real spatial identity of its own
|
|
2494
2709
|
* (the reconciled error view) and partitions like any stored feature — it was never in the same
|
|
@@ -2506,6 +2721,34 @@ export declare namespace ICellRange {
|
|
|
2506
2721
|
* Occupancy — splits on blank/non-blank, Excel `CurrentRegion` semantics.
|
|
2507
2722
|
*/
|
|
2508
2723
|
readonly Contentful: "contentful";
|
|
2724
|
+
/**
|
|
2725
|
+
* What a cell holds: a number, a date, text, text that would enter as a number, a boolean, an
|
|
2726
|
+
* error or rich data. A formula cell is the kind of its result.
|
|
2727
|
+
*
|
|
2728
|
+
* @remarks
|
|
2729
|
+
* Regions group by kind, so a column of numbers with one text cell in it is three regions. A
|
|
2730
|
+
* date is a number under a date or time format (the cell's `getInteropType()` is `date`).
|
|
2731
|
+
* Text that a typed entry would read as a number (`'123`, a number imported as text) is a kind
|
|
2732
|
+
* of its own, apart from other text: it is Excel's number stored as text. The anchor's
|
|
2733
|
+
* `getInteropType()` names the kind of every other region.
|
|
2734
|
+
*
|
|
2735
|
+
* Derived from the values on first read and cached until the sheet changes.
|
|
2736
|
+
*/
|
|
2737
|
+
readonly Kind: "kind";
|
|
2738
|
+
/**
|
|
2739
|
+
* A cell's job in the model ({@link ICell.Role}): a typed `label` or `input`, a `link` to
|
|
2740
|
+
* another sheet, a `reference` on this sheet, a `computed` cell or an `output`, from what the
|
|
2741
|
+
* cell reads and who reads it. The anchor's {@link ICell.getRole} is the payload.
|
|
2742
|
+
*
|
|
2743
|
+
* @remarks
|
|
2744
|
+
* The kind layer refined by the formulas: a column of typed numbers a model reads is one
|
|
2745
|
+
* `input` region, the links beside it another. Crossed with a format (`['role', 'font']`) it is
|
|
2746
|
+
* the census a color convention is judged by, and what the `styleRole` check reads.
|
|
2747
|
+
*
|
|
2748
|
+
* Derived on first read (the formulas parsed once) and cached until the sheet changes, so
|
|
2749
|
+
* {@link ICellRange.getCounts} counts it only when asked for by name, like `anomalies`.
|
|
2750
|
+
*/
|
|
2751
|
+
readonly Role: "role";
|
|
2509
2752
|
/**
|
|
2510
2753
|
* Direct date-category number format — `yyyy-mm-dd`, `mm/dd/yyyy`, and the like.
|
|
2511
2754
|
*
|
|
@@ -2531,6 +2774,14 @@ export declare namespace ICellRange {
|
|
|
2531
2774
|
* failure — its cells evaluate, to `0` — and is {@link Feature.Circular}.
|
|
2532
2775
|
*/
|
|
2533
2776
|
readonly CalcError: "calcError";
|
|
2777
|
+
/**
|
|
2778
|
+
* Evaluated state: cells whose result has not settled. Regions group by status — a cell whose
|
|
2779
|
+
* own function has not answered yet ({@link ICalculation.ResultStatus.Pending}), or one
|
|
2780
|
+
* calculated from such a value and calculated again when it arrives
|
|
2781
|
+
* ({@link ICalculation.ResultStatus.Waiting}). The anchor's `getCalculationStatus()` is the
|
|
2782
|
+
* payload. Empty once every answer has landed.
|
|
2783
|
+
*/
|
|
2784
|
+
readonly CalcStatus: "calcStatus";
|
|
2534
2785
|
/**
|
|
2535
2786
|
* Evaluated state: cells in a reference cycle, or downstream of one. Both evaluate to `0`
|
|
2536
2787
|
* (Excel, iterative calculation off) with nothing else to show for it — this is the marker.
|
|
@@ -2562,6 +2813,11 @@ export declare namespace ICellRange {
|
|
|
2562
2813
|
readonly AutoTable: "autoTable";
|
|
2563
2814
|
/** Has a hyperlink. */
|
|
2564
2815
|
readonly Hyperlink: "hyperlink";
|
|
2816
|
+
/**
|
|
2817
|
+
* Ignores one or more of Excel's error checks. Regions group by the set of checks ignored.
|
|
2818
|
+
* @see {@link ICellRange.setErrorIgnored}
|
|
2819
|
+
*/
|
|
2820
|
+
readonly IgnoredErrors: "ignoredErrors";
|
|
2565
2821
|
/** Has comments. */
|
|
2566
2822
|
readonly Comments: "comments";
|
|
2567
2823
|
/**
|
|
@@ -2573,6 +2829,51 @@ export declare namespace ICellRange {
|
|
|
2573
2829
|
readonly Conditionals: "conditionals";
|
|
2574
2830
|
/** Cells under data-validation rules. */
|
|
2575
2831
|
readonly DataValidations: "dataValidations";
|
|
2832
|
+
/**
|
|
2833
|
+
* Cells under a cell control ({@link ICellRange.setControl}). Regions group by the control's
|
|
2834
|
+
* definition (its type and properties), so adjacent checkboxes set in two strokes are one
|
|
2835
|
+
* region and a checkbox beside a rating are two; the anchor cell's {@link ICell.getControl} is
|
|
2836
|
+
* the payload. Whether a cell draws its control depends on its value, which is a `Kind`
|
|
2837
|
+
* question: ask for both to split a column of checkboxes from the text cells among them.
|
|
2838
|
+
*/
|
|
2839
|
+
readonly CellControl: "cellControl";
|
|
2840
|
+
/**
|
|
2841
|
+
* Cells where an error check fires — what breaks the pattern around it. Regions group by the
|
|
2842
|
+
* check and its evidence, so a filled row that breaks the same way is one region; the anchor
|
|
2843
|
+
* cell's {@link ICell.getAnomalies} is the payload.
|
|
2844
|
+
*
|
|
2845
|
+
* @remarks
|
|
2846
|
+
* Excel's background error checks, run over this vocabulary's own partitions rather than cell
|
|
2847
|
+
* by cell: a formula region whose neighbors on both sides agree with each other and not with
|
|
2848
|
+
* it (`formula`), a range that stops one number short (`formulaRange`), text that reads as a
|
|
2849
|
+
* number (`numberStoredAsText`), a reference to an empty cell (`emptyCellReference`), a
|
|
2850
|
+
* formula left unlocked (`unlockedFormula`). The first of these is one rule SheetXL runs on
|
|
2851
|
+
* other layers too: a typed value in a run of formulas (`hardcodeInRun`), and an authored
|
|
2852
|
+
* format that breaks the run around it (`styleBreak`); and a format part paired with the
|
|
2853
|
+
* cell's role, a link left black where links are green (`styleRole`). Then SheetXL's own, read from what a
|
|
2854
|
+
* formula says: a cell counted twice in one sum (`repeatedReference`), an aggregate of one cell
|
|
2855
|
+
* or of typed numbers (`degenerateCall`), a sum holding its own subtotal (`sumIncludesSubtotal`),
|
|
2856
|
+
* a total that also adds a cell outside its block (`misalignedReference`),
|
|
2857
|
+
* a nearest-key lookup (`approximateMatch`), lookup arrays that do not line up (`lookupShape`),
|
|
2858
|
+
* a reference outside the workbook (`externalReference`); and from labels: a link whose target
|
|
2859
|
+
* row is labeled otherwise (`linkLabelMismatch`), a lookup key that is not the row's or
|
|
2860
|
+
* column's label (`keyLabelMismatch`), a link with the other sign from its siblings
|
|
2861
|
+
* (`signVsSiblings`); and from the numbers: a typed number in a formula equal to an input
|
|
2862
|
+
* nothing reads (`literalMatchesInput`), twin formulas that differ in a unit literal or a sign
|
|
2863
|
+
* (`twinBlockDivergence`), a percent typed as a whole number (`scaleOutlier`), every constant a
|
|
2864
|
+
* formula types with how often the workbook types it (`constantFrequency`). An ignored check
|
|
2865
|
+
* ({@link ICellRange.setErrorIgnored}) does not fire.
|
|
2866
|
+
*
|
|
2867
|
+
* Regions list highest rank first ({@link ICell.Anomaly.rank}), unless an `axis` is asked for.
|
|
2868
|
+
*
|
|
2869
|
+
* The checks that read a formula need the calculation engine to have loaded its parser, and
|
|
2870
|
+
* those that read its references need it to have compiled the formula; with the engine off
|
|
2871
|
+
* they do not fire.
|
|
2872
|
+
*
|
|
2873
|
+
* Derived on first read and cached until the sheet changes, so {@link ICellRange.getCounts}
|
|
2874
|
+
* counts it only when asked for by name; otherwise its key is absent, never `0`.
|
|
2875
|
+
*/
|
|
2876
|
+
readonly Anomalies: "anomalies";
|
|
2576
2877
|
};
|
|
2577
2878
|
type Feature = typeof Feature[keyof typeof Feature];
|
|
2578
2879
|
/**
|
|
@@ -2582,9 +2883,17 @@ export declare namespace ICellRange {
|
|
|
2582
2883
|
* Total, not partial — every public {@link ICellRange.Feature} is present, absent features
|
|
2583
2884
|
* as explicit zeros. A zero is a fact about the range; a missing key would be ambiguous.
|
|
2584
2885
|
*
|
|
2886
|
+
* The exceptions are `anomalies` and `role`: each is derived, not stored, so it is present only
|
|
2887
|
+
* when it was requested by name. A count that was never taken is absent rather than a `0` that
|
|
2888
|
+
* would read as "nothing fires here".
|
|
2889
|
+
*
|
|
2585
2890
|
* The brand is non-enumerable: `Object.keys`/`entries` yield exactly the feature keys.
|
|
2586
2891
|
*/
|
|
2587
|
-
interface Counts extends Readonly<Record<ICellRange.Feature, number>> {
|
|
2892
|
+
interface Counts extends Readonly<Record<Exclude<ICellRange.Feature, typeof Feature.Anomalies | typeof Feature.Role>, number>> {
|
|
2893
|
+
/** Present only when `anomalies` was requested by name; see {@link Feature.Anomalies}. */
|
|
2894
|
+
readonly anomalies?: number;
|
|
2895
|
+
/** Present only when `role` was requested by name; see {@link Feature.Role}. */
|
|
2896
|
+
readonly role?: number;
|
|
2588
2897
|
/**
|
|
2589
2898
|
* For runtime type checking.
|
|
2590
2899
|
*/
|
|
@@ -2617,6 +2926,65 @@ export declare namespace ICellRange {
|
|
|
2617
2926
|
*/
|
|
2618
2927
|
containment?: 'intersects' | 'fullyContained';
|
|
2619
2928
|
}
|
|
2929
|
+
/**
|
|
2930
|
+
* A kind of defect a reader is looking for, which {@link ICellRange.getAnomalies} can order its
|
|
2931
|
+
* findings by ({@link GetAnomaliesOptions.focus}).
|
|
2932
|
+
*/
|
|
2933
|
+
const AnomalyFocus: {
|
|
2934
|
+
/** A cell or a subtotal counted twice in a sum. */
|
|
2935
|
+
readonly DoubleCounting: "doubleCounting";
|
|
2936
|
+
/** A typed number where a reference belongs. */
|
|
2937
|
+
readonly EmbeddedHardcode: "embeddedHardcode";
|
|
2938
|
+
/** A cell whose font color is not its role's (inputs, links, calculations). */
|
|
2939
|
+
readonly ColorCoding: "colorCoding";
|
|
2940
|
+
/** An average over the wrong cells. */
|
|
2941
|
+
readonly Average: "average";
|
|
2942
|
+
/** A link to another sheet that reads the wrong row or column. */
|
|
2943
|
+
readonly CrossSheetReference: "crossSheetReference";
|
|
2944
|
+
/** A term added that should be taken away, or the reverse. */
|
|
2945
|
+
readonly SignConvention: "signConvention";
|
|
2946
|
+
/** A lookup that matches approximately, or reads arrays that do not line up. */
|
|
2947
|
+
readonly Lookup: "lookup";
|
|
2948
|
+
/** A reference relative where it should be absolute, or the reverse. */
|
|
2949
|
+
readonly ReferenceAnchoring: "referenceAnchoring";
|
|
2950
|
+
/** A value in the wrong unit: a monthly figure in a daily formula, a percent typed as a whole number. */
|
|
2951
|
+
readonly UnitMismatch: "unitMismatch";
|
|
2952
|
+
/** Rows deleted from a model, which leaves references shifted and `#REF!`. */
|
|
2953
|
+
readonly DeletedRows: "deletedRows";
|
|
2954
|
+
};
|
|
2955
|
+
type AnomalyFocus = typeof AnomalyFocus[keyof typeof AnomalyFocus];
|
|
2956
|
+
/**
|
|
2957
|
+
* Options for {@link ICellRange.getAnomalies}.
|
|
2958
|
+
*/
|
|
2959
|
+
interface GetAnomaliesOptions {
|
|
2960
|
+
/**
|
|
2961
|
+
* The checks to list first, in this order of priority; an unknown name throws.
|
|
2962
|
+
*
|
|
2963
|
+
* @defaultValue none — every region by rank
|
|
2964
|
+
*/
|
|
2965
|
+
checks?: readonly ICell.ErrorCheck[];
|
|
2966
|
+
/**
|
|
2967
|
+
* The kind of defect being looked for, or several: regions are ordered by how often findings
|
|
2968
|
+
* like theirs have been that kind of defect, measured on audited models, and by rank where
|
|
2969
|
+
* that is equal. With `checks` too, the named checks still list first and `focus` orders
|
|
2970
|
+
* within each. An unknown name throws.
|
|
2971
|
+
*
|
|
2972
|
+
* @defaultValue none — by rank
|
|
2973
|
+
*/
|
|
2974
|
+
focus?: AnomalyFocus | readonly AnomalyFocus[];
|
|
2975
|
+
/**
|
|
2976
|
+
* At most this many regions.
|
|
2977
|
+
*
|
|
2978
|
+
* @defaultValue every region
|
|
2979
|
+
*/
|
|
2980
|
+
limit?: number;
|
|
2981
|
+
/**
|
|
2982
|
+
* Regions to skip first, so `{ limit: 25, offset: 25 }` is the window after `{ limit: 25 }`.
|
|
2983
|
+
*
|
|
2984
|
+
* @defaultValue 0
|
|
2985
|
+
*/
|
|
2986
|
+
offset?: number;
|
|
2987
|
+
}
|
|
2620
2988
|
interface ScrollIntoViewOptions extends globalThis.ScrollIntoViewOptions {
|
|
2621
2989
|
/**
|
|
2622
2990
|
* If provided then will only scroll in the provided axis.
|
|
@@ -2756,86 +3124,101 @@ export declare namespace ICellRange {
|
|
|
2756
3124
|
*/
|
|
2757
3125
|
injectReferences?: IRange.JSONReference<any>[][];
|
|
2758
3126
|
}
|
|
2759
|
-
|
|
3127
|
+
/**
|
|
3128
|
+
* What a range listener is told. See {@link ICellRange.addListener}.
|
|
3129
|
+
*
|
|
3130
|
+
* @typeParam S The source the listener registered on: an `ICellRange` from
|
|
3131
|
+
* {@link ICellRange.addListener}, an `ICellRanges` from {@link ICellRanges.addListener}.
|
|
3132
|
+
*/
|
|
3133
|
+
interface Event<S extends ICellRange | ICellRanges = ICellRange> {
|
|
2760
3134
|
/**
|
|
2761
|
-
* The
|
|
3135
|
+
* The range that was listened to, where it is now.
|
|
2762
3136
|
*
|
|
2763
3137
|
* @remarks
|
|
2764
|
-
*
|
|
3138
|
+
* After an `'address'` or `'restore'` event this is the range at its new address or extent: rows
|
|
3139
|
+
* or columns inserted or deleted around it, or an undo that moved it back. The range
|
|
3140
|
+
* `addListener` was called on keeps the address it was made with, so this is where to read
|
|
3141
|
+
* the range from.
|
|
3142
|
+
*
|
|
3143
|
+
* A range whose cells were deleted is invalid ({@link ICellRange.isInvalid}) and spells
|
|
3144
|
+
* `#REF!`; one restored to a revision from before the listener was added is invalid and
|
|
3145
|
+
* spells `#N/A`.
|
|
2765
3146
|
*/
|
|
2766
|
-
getSource
|
|
3147
|
+
getSource(): S;
|
|
2767
3148
|
/**
|
|
2768
|
-
*
|
|
3149
|
+
* The cells that changed within the source, for a `'data'` event; `null` for any other.
|
|
2769
3150
|
*
|
|
2770
3151
|
* @remarks
|
|
2771
|
-
*
|
|
2772
|
-
*/
|
|
2773
|
-
getFrom(): ICellRanges;
|
|
2774
|
-
/**
|
|
2775
|
-
* Used for moves. Represents the new location of the data that has changed.
|
|
3152
|
+
* A batch is one change: every range of it that reached the listener arrives in one event.
|
|
2776
3153
|
*/
|
|
2777
|
-
|
|
3154
|
+
getRanges(): ICellRanges | null;
|
|
2778
3155
|
/**
|
|
2779
|
-
*
|
|
3156
|
+
* Where the source was before an `'address'` event moved it; `null` for any other event, and
|
|
3157
|
+
* for a sheet rename, which moves no cells.
|
|
3158
|
+
*
|
|
3159
|
+
* @remarks
|
|
3160
|
+
* An address rather than a range, because the cells at it now are other cells.
|
|
2780
3161
|
*/
|
|
3162
|
+
getPreviousAddress(): string | null;
|
|
2781
3163
|
/**
|
|
2782
|
-
*
|
|
3164
|
+
* What happened to the range.
|
|
2783
3165
|
*
|
|
2784
3166
|
* @remarks
|
|
2785
|
-
* * `'data'`:
|
|
2786
|
-
*
|
|
2787
|
-
*
|
|
2788
|
-
*
|
|
2789
|
-
*
|
|
2790
|
-
*
|
|
2791
|
-
*
|
|
2792
|
-
*
|
|
2793
|
-
*
|
|
3167
|
+
* * `'data'`: Cells within the range changed: written, recalculated, or undone. The range's
|
|
3168
|
+
* address and extent are as they were. {@link getCommit} is `null` for a recalculation,
|
|
3169
|
+
* which belongs to no commit; {@link isUndo} tells an undo from a write.
|
|
3170
|
+
* * `'address'`: The range's address or extent changed: rows or columns inserted or deleted,
|
|
3171
|
+
* cells moved, its cells deleted (the source spells `#REF!`), or, for a sheet-qualified
|
|
3172
|
+
* range (one from {@link IWorkbook.getRange}, or a sheet's range naming another sheet), a
|
|
3173
|
+
* rename of the sheet it names. A bare range on its own sheet has no qualifier, so a rename
|
|
3174
|
+
* is not a change to it. A listener anchored {@link IAnchored.Type.Absolute} never moves and
|
|
3175
|
+
* never has one.
|
|
3176
|
+
* * `'restore'`: The workbook was restored to a revision from before the listener was added,
|
|
3177
|
+
* so the range is not in it (the source spells `#N/A`). Never delivered to a transactional
|
|
3178
|
+
* listener.
|
|
2794
3179
|
*/
|
|
2795
|
-
|
|
2796
|
-
readonly trigger: string;
|
|
3180
|
+
getTrigger(): Event.Trigger;
|
|
2797
3181
|
/**
|
|
2798
|
-
*
|
|
3182
|
+
* `true` when the change is an undo. A redo is not an undo: it is told as the forward change
|
|
3183
|
+
* was.
|
|
2799
3184
|
*/
|
|
2800
|
-
|
|
3185
|
+
isUndo(): boolean;
|
|
2801
3186
|
/**
|
|
2802
|
-
*
|
|
3187
|
+
* The commit that made the change, or `null` when none did: a recalculation landing.
|
|
2803
3188
|
*
|
|
2804
|
-
* @
|
|
2805
|
-
*
|
|
3189
|
+
* @remarks
|
|
3190
|
+
* A transactional listener is told before the commit is sealed, so this is the commit it is
|
|
3191
|
+
* writing into ({@link ListenerOptions.transactional}).
|
|
2806
3192
|
*/
|
|
2807
|
-
|
|
3193
|
+
getCommit(): ITransaction.ICommit | null;
|
|
2808
3194
|
/**
|
|
2809
|
-
*
|
|
2810
|
-
*
|
|
2811
|
-
* @see
|
|
2812
|
-
* {@link ListenerOptions.ignoreDataChanges}
|
|
3195
|
+
* The trigger and the source, for logging.
|
|
2813
3196
|
*/
|
|
2814
|
-
|
|
3197
|
+
toString(): string;
|
|
2815
3198
|
/**
|
|
2816
|
-
*
|
|
3199
|
+
* When the event was made, in milliseconds since the epoch.
|
|
2817
3200
|
*/
|
|
2818
|
-
|
|
3201
|
+
getTimeStamp(): number;
|
|
3202
|
+
}
|
|
3203
|
+
namespace Event {
|
|
2819
3204
|
/**
|
|
2820
|
-
*
|
|
3205
|
+
* What happened to a listened range. See {@link ICellRange.Event.getTrigger}.
|
|
2821
3206
|
*/
|
|
2822
|
-
|
|
3207
|
+
type Trigger = 'data' | 'address' | 'restore';
|
|
2823
3208
|
}
|
|
2824
3209
|
/**
|
|
2825
|
-
*
|
|
2826
|
-
* data, address, or restore state changes, subject to the provided options.
|
|
3210
|
+
* Called with what changed at a listened range. See {@link ICellRange.addListener}.
|
|
2827
3211
|
*
|
|
2828
|
-
* @
|
|
2829
|
-
* If the range is deleted (rows/columns removed), the trigger will be `'address'`
|
|
2830
|
-
* `trigger` of `'address'` and `getRange().getError()`
|
|
2831
|
-
* returning `"#REF!"`.
|
|
3212
|
+
* @typeParam S The source the listener registered on; see {@link ICellRange.Event}.
|
|
2832
3213
|
*
|
|
2833
|
-
*
|
|
2834
|
-
*
|
|
2835
|
-
*
|
|
3214
|
+
* @remarks
|
|
3215
|
+
* Read the range from {@link Event.getSource}, which is where the listened cells are now. It is
|
|
3216
|
+
* invalid ({@link ICellRange.isInvalid}) when the cells were deleted (`#REF!`) or the workbook
|
|
3217
|
+
* was restored to a revision from before the listener was added (`#N/A`); the listener stays
|
|
3218
|
+
* registered through both, and hears the range come back.
|
|
2836
3219
|
*/
|
|
2837
|
-
interface Listener {
|
|
2838
|
-
(event: ICellRange.Event): void;
|
|
3220
|
+
interface Listener<S extends ICellRange | ICellRanges = ICellRange> {
|
|
3221
|
+
(event: ICellRange.Event<S>): void;
|
|
2839
3222
|
}
|
|
2840
3223
|
/**
|
|
2841
3224
|
* Receives a watch's results — one value per cell of the watched range, read with LOCAL
|
|
@@ -2881,29 +3264,61 @@ export declare namespace ICellRange {
|
|
|
2881
3264
|
/**
|
|
2882
3265
|
* If `true`, the listener will *not* be called when the range's
|
|
2883
3266
|
* address changes (due to row/column insert/delete, moves, or a rename of
|
|
2884
|
-
* the sheet a qualified range names)
|
|
3267
|
+
* the sheet a qualified range names). The range still follows its cells; see {@link anchor}
|
|
3268
|
+
* for a range that should not.
|
|
2885
3269
|
*
|
|
2886
3270
|
* @defaultValue false
|
|
2887
3271
|
*/
|
|
2888
3272
|
ignoreAddressChanges?: boolean;
|
|
2889
3273
|
/**
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
3274
|
+
* How the listened range follows rows and columns inserted or deleted around it.
|
|
3275
|
+
*
|
|
3276
|
+
* @defaultValue {@link IAnchored.Type.TwoCell}
|
|
3277
|
+
*
|
|
3278
|
+
* @remarks
|
|
3279
|
+
* * `TwoCell`: the range follows its cells, as a formula reference does. An insert above it
|
|
3280
|
+
* moves it down, a delete inside it shrinks it, and deleting all of its cells makes it
|
|
3281
|
+
* `#REF!`. Each move is an `'address'` event.
|
|
3282
|
+
* * `OneCell`: the top-left follows its cell and the extent is kept, as a picture anchored to
|
|
3283
|
+
* one cell. Deleting the top-left cell leaves the range where it is.
|
|
3284
|
+
* * `Absolute`: the range never moves. It names the same addresses whatever is inserted or
|
|
3285
|
+
* deleted, so it never has an `'address'` event. This is what a view listening to the rows
|
|
3286
|
+
* it shows wants: the cells on screen, not the cells that were there when it subscribed.
|
|
3287
|
+
*/
|
|
3288
|
+
anchor?: IAnchored.Type;
|
|
3289
|
+
/**
|
|
3290
|
+
* Whether the listener takes part in the operations that change its range.
|
|
3291
|
+
*
|
|
3292
|
+
* @defaultValue `true` when the listener is added through a range reached through the object a
|
|
3293
|
+
* batch hands its callback ({@link IWorkbook.doBatch}, {@link IWorksheet.doBatch},
|
|
3294
|
+
* {@link doBatch}), and `false` otherwise.
|
|
3295
|
+
*
|
|
3296
|
+
* @remarks
|
|
3297
|
+
* A transactional listener (a participant):
|
|
3298
|
+
* * added through a batch, is told as each operation of that batch is made, before the
|
|
3299
|
+
* operation returns, with what that operation changed. It is not told again when the batch
|
|
3300
|
+
* lands;
|
|
3301
|
+
* * added any other way, is told once at the end of each operation, before it is committed;
|
|
3302
|
+
* * writes into the same commit as the change it was told of, so one undo takes back both;
|
|
3303
|
+
* * is never told of an undo or a redo, and is removed by undoing the operation that added it.
|
|
3304
|
+
* If its batch fails, it is told nothing more and goes with the batch.
|
|
3305
|
+
*
|
|
3306
|
+
* A non-transactional listener (an observer) is told once, after the operation has landed,
|
|
3307
|
+
* with everything the operation changed in its range, and not at all if the operation is
|
|
3308
|
+
* rolled back. What it writes is an operation of its own. It is told of an undo or a redo
|
|
3309
|
+
* (`'restore'`), and it survives them.
|
|
3310
|
+
*
|
|
3311
|
+
* @example
|
|
3312
|
+
* ```ts
|
|
3313
|
+
* await workbook.doBatch(async (_commit, wb) => {
|
|
3314
|
+
* const total = wb.getSelectedWorksheet()!.getRange('B1');
|
|
3315
|
+
* const input = wb.getSelectedWorksheet()!.getRange('A1');
|
|
3316
|
+
* input.addListener(() => total.setValue((input.getValue() as number) * 2)); // a participant
|
|
3317
|
+
* input.setValue(21);
|
|
3318
|
+
* total.getValue(); // 42
|
|
3319
|
+
* });
|
|
3320
|
+
* ```
|
|
3321
|
+
*/
|
|
2907
3322
|
transactional?: boolean;
|
|
2908
3323
|
/**
|
|
2909
3324
|
* If `true`, the listener will *not* be called when the data
|