@sheetxl/sdk 0.8.0-beta.11 → 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/browser/esm/{BpgskG1Er_lGQ_yS.mjs → -Jx-jNHmtIQQfLvK.mjs} +1 -1
- package/browser/esm/{BLoUBId2xZpXAK_H.mjs → 2WuhYrIpYmOR5H73.mjs} +15 -15
- package/browser/esm/{Ctjb0SsxV4K4MMqG.mjs → 2mIwPy2D2JUX-9wx.mjs} +2 -2
- package/browser/esm/{CkxWugaJFjDGZNZ-.mjs → B3wf5vZCsWfWsDbj.mjs} +1 -1
- package/browser/esm/{BjkCiv5Jz6WYKZeu.mjs → BIHrHjRGWVlJglcp.mjs} +2 -2
- package/browser/esm/{BtvLTTfSBdAKplVG.mjs → BTFBedJMRWGvZyCE.mjs} +1 -1
- package/browser/esm/{C4MqfLn9Dm-l3OIk.mjs → BdCJNawfifyPupCP.mjs} +1 -1
- package/browser/esm/{CV5EGEjG5_-CPpP0.mjs → Bg5Di9GLNAkbqQ1P.mjs} +3 -3
- package/browser/esm/{C2VbEI_XVAoseAwa.mjs → BnC4-27Igwb8oDf2.mjs} +2 -2
- package/browser/esm/{CQYjO777cmAznUzK.mjs → Bt8_m94tBdks209L.mjs} +1 -1
- package/browser/esm/{C16ycKja6zG0crV_.mjs → BudSIfXBAsTxvu-K.mjs} +17836 -15712
- package/browser/esm/{DvAaxH6z_tGvrRzl.mjs → C9u8FUewte5ugUjH.mjs} +686 -686
- package/browser/esm/{DEiPS3Dr-s4fPbVZ.mjs → CBYMTDzMf1Vh7pkw.mjs} +1 -1
- package/browser/esm/{Dyq_ivuHvlXLwPCl.mjs → CNdjyofiRu6CYOrr.mjs} +1106 -1102
- package/browser/esm/{PcHFjNzQsE54POri.mjs → CRkYR-siY2C994KV.mjs} +1 -1
- package/browser/esm/{C5E6zSGAALWf61n4.mjs → CTe2qfmIUEad6FJv.mjs} +2 -2
- package/browser/esm/{BoV6zPBnfqCBCqZ7.mjs → CUzYuYTTGsChC_kZ.mjs} +3841 -3148
- package/browser/esm/CdEO8CEee6lEhabA.mjs +117 -0
- package/browser/esm/{S2dNNx1a5ydRnARM.mjs → CfRqiPDg6RBTg1EN.mjs} +2 -2
- package/browser/esm/{ClbvFbFzFzXLBKNN.mjs → CndRBvVfQUJIYRRj.mjs} +50 -50
- package/browser/esm/{BnG31I6Oj_HEtSPS.mjs → CwOPLXU3-9ZHGyOT.mjs} +1 -1
- package/browser/esm/{CHU6iu_WGlm7fLET.mjs → Cxjxk0ncRKx80I-w.mjs} +1 -1
- package/browser/esm/D2RZh0O9neOsyLAE.mjs +281 -0
- package/browser/esm/{BkBhLS0l6z8sxI6D.mjs → D64dM68B1pKYFzdP.mjs} +2 -2
- package/browser/esm/{BVDiOXGMc5_FMGfy.mjs → D9xNz46kAfXMZzp4.mjs} +2 -2
- package/browser/esm/{zlLuW405RSguy4Kn.mjs → DK899HhWX1HINMC1.mjs} +53 -53
- package/browser/esm/{B7aUIvgUjncMMD_i.mjs → DPhGQLNGmDZwODwJ.mjs} +5 -4
- package/browser/esm/{gssVX_FH1XFN-twD.mjs → DVroRnhi-5IDXNgM.mjs} +1 -1
- package/{node/esm/CZICGK_ss0HoGHCP.mjs → browser/esm/DZiivy0NmO1Vnyzk.mjs} +2 -2
- package/browser/esm/{ClPfI4lODvCece29.mjs → DgrAuRD2qr2DvFeJ.mjs} +61 -61
- package/browser/esm/{CU3DmJ-YnVVrC1_k.mjs → DobHLF6VjHr7Xi40.mjs} +1 -1
- package/browser/esm/{CaB7J-xgfKO2uAkG.mjs → DwZCT7DZiiXoTweg.mjs} +2 -2
- package/browser/esm/{BMyDRQ716j79h_bH.mjs → DwwR3O2sEZApPSTF.mjs} +6 -6
- package/browser/esm/{DLLE0FZNsKxbBzRn.mjs → Tah7cnFb_HNZdLtj.mjs} +45 -45
- package/browser/esm/{Dlmig06rIo7cInRk.mjs → fXWUMDhZ5yMSO629.mjs} +1 -1
- package/browser/esm/{DWNzqw7DUKwoxjri.mjs → hCQJcmIzPDxDEv2q.mjs} +2 -2
- package/browser/esm/index.mjs +679 -542
- package/browser/esm/{BFagR2JeWs74iAG3.mjs → qO-ujUrgq6H3TQix.mjs} +1 -1
- package/browser/esm/w6Jea0TiclPrYZ2M.mjs +1703 -0
- package/browser/esm/yuhcOYw6SHQ-RCm3.mjs +114 -0
- package/node/esm/-TA0MneBDKdGhsib.mjs +8668 -0
- package/node/esm/{B21JjOLghRoDOrkx.mjs → B-HUPAcqvK0eeeCz.mjs} +1 -1
- package/node/esm/{DNRhGK-8Tr9xcRyc.mjs → BL2iiEoqxDEV2Xrg.mjs} +3 -3
- package/node/esm/{D1TKBVmoKGAXf37B.mjs → BNXLOEddJ6O9gYws.mjs} +2 -2
- package/node/esm/{BrCKGFRsX_ezFJ4B.mjs → BSvOluusoDM4z_dx.mjs} +15 -15
- package/node/esm/{BIwObuhTJYf0jpUa.mjs → BskP3b8vUoIOGLY6.mjs} +2 -2
- package/node/esm/{2Kihw_-5lVTEnwMa.mjs → Btw4148Ot8ifhNc1.mjs} +1 -1
- package/node/esm/{BqiexuA89caYnAPz.mjs → C14-R6tifRh7pc0p.mjs} +1 -1
- package/node/esm/{DUTskXCXref-IJnI.mjs → C99zzq8DImQXi4BQ.mjs} +47 -47
- package/node/esm/{D8zEN-6ZdDqDvTxM.mjs → CBuEu5Jk-LfaDy-H.mjs} +61 -61
- package/node/esm/{yavzZOiZW_EjG9lE.mjs → CG-qBU5BAaVz7e-P.mjs} +1 -1
- package/node/esm/CPI58duc0j0a-HpJ.mjs +115 -0
- package/node/esm/{CCN5vD410obwdz38.mjs → CRt3vXe6YmXzqk3H.mjs} +15 -14
- package/node/esm/{CzXT00vrQa1_gvW9.mjs → C_aL7CGS1lrNn1Ng.mjs} +1 -1
- package/node/esm/{CZiqiay42tFTrLI4.mjs → C_xf5Bz30VqiJjXn.mjs} +1 -1
- package/node/esm/{BIRq1kT7lLRzns9t.mjs → CiIymQN6aJCul62g.mjs} +9 -9
- package/node/esm/{CNCNJNg890KdgkWh.mjs → Ci_zLYmCD7e-C79O.mjs} +1 -1
- package/{browser/esm/D5np__Jb1euAyaLw.mjs → node/esm/CkRYLed8Mmn3giNg.mjs} +2 -2
- package/node/esm/D3ptRKzASqBut1DE.mjs +117 -0
- package/node/esm/{cGwrLA1RCE-WhJ7w.mjs → D4ROK9UwDpS6jO3Z.mjs} +1 -1
- package/node/esm/{mFiBSM7XgBHV9AY7.mjs → D8hO07ToAibIuniw.mjs} +1535 -1531
- package/node/esm/{CDHdgJXH2vS71WMc.mjs → DUTmDHbFbhLDT4F3.mjs} +1 -1
- package/node/esm/{CGp6VZL-gZa9Uezx.mjs → DV5CU37aEbFbWFL0.mjs} +1 -1
- package/node/esm/{De2IONBxQhz-Qbyh.mjs → DdoiuKg9BKubtF1V.mjs} +1 -1
- package/node/esm/{Db0v7zXNnyjBIjjI.mjs → DggQ23jKMpwhENfa.mjs} +2 -2
- package/node/esm/{CwePQwTILHHjGDkZ.mjs → DhS6yWjrrSNIJMsn.mjs} +204 -204
- package/node/esm/{D_t5AUxSm7_icjzq.mjs → DhTya_mhmN53vskv.mjs} +1 -1
- package/node/esm/{DOU54VsOjG-m-NyQ.mjs → Dn1M7YWi25DeeYUb.mjs} +1 -1
- package/node/esm/{DkwIPzKc3UwdUIfM.mjs → DrCf6ITcBhVOFpRj.mjs} +6 -6
- package/node/esm/{D2KBymQJd1XhpeQD.mjs → DxazKtROyaI51dWl.mjs} +1 -1
- package/node/esm/{D6e2z7eZpxOJXHc7.mjs → Q_S1g46ZOTrdhTae.mjs} +1 -1
- package/node/esm/{OVfaSb506tNSIvbv.mjs → Vocy-I9dKzZMr0Ct.mjs} +19038 -16822
- package/node/esm/ZXPFcsT2zrALCZux.mjs +289 -0
- package/node/esm/{857CIBgQgGpnqrXk.mjs → eimUGjiIP-b8HiM6.mjs} +55 -55
- package/node/esm/{Bbf1Pm9Gk7YpLTvg.mjs → icn2nX5Z8e_3mNAv.mjs} +1 -1
- package/node/esm/index.mjs +740 -603
- package/node/esm/{Ct3h15sCus4Tgt6M.mjs → lGJ42sHqg5if2bba.mjs} +624 -616
- package/node/esm/{CdJHUJSBRHZoryPe.mjs → pYtP7wPyS96NQyXS.mjs} +59 -59
- package/package.json +6 -6
- package/resources/locales/de/model.msg.json +8 -2
- package/resources/locales/en/model.msg.json +9 -2
- package/types/scripting-api.json +10619 -10446
- package/types/scripting-enums.json +20 -1
- package/types/scripting.d.ts +1233 -296
- package/types/src/{sheet → anomalies}/_Anomalies.d.ts +3 -3
- package/types/src/anomalies/_FocusTable.d.ts +11 -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 +47 -9
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -3
- package/types/src/calculation/ICalculation.d.ts +96 -9
- package/types/src/calculation/NamedFormulaCollection.d.ts +104 -8
- package/types/src/calculation/_CloneBoundary.d.ts +1 -1
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -2
- package/types/src/calculation/compiler/Types.d.ts +8 -0
- package/types/src/calculation/engine/CalcBackend.d.ts +104 -6
- package/types/src/calculation/executor/CalcExecutor.d.ts +73 -22
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +17 -1
- package/types/src/calculation/executor/_WhatIf.d.ts +50 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +4 -3
- package/types/src/calculation/formula/IFormulaBlock.d.ts +5 -0
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/grid/CalcGrid.d.ts +4 -6
- package/types/src/calculation/grid/CalcGridBackend.d.ts +5 -27
- package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -2
- package/types/src/calculation/grid/CalcGridUtils.d.ts +4 -2
- package/types/src/calculation/grid/ICalcGrid.d.ts +16 -12
- package/types/src/calculation/grid/_CalcRequest.d.ts +17 -5
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +2 -0
- 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 +29 -0
- package/types/src/calculation/state/CalcState.d.ts +26 -4
- package/types/src/calculation/state/CalculationContext.d.ts +28 -1
- package/types/src/calculation/state/DeferredCalls.d.ts +260 -0
- package/types/src/calculation/state/IContextContainer.d.ts +20 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +6 -0
- package/types/src/calculation/state/_WhatIfLayer.d.ts +91 -0
- package/types/src/cell/ICell.d.ts +53 -34
- 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 +207 -59
- package/types/src/cellRange/ICellRanges.d.ts +4 -3
- package/types/src/chart/layout/ChartLayout.d.ts +5 -1
- package/types/src/chart/resolve/_Resolve.d.ts +10 -0
- package/types/src/chart/resolve/_ResolvedChart.d.ts +5 -2
- 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/condition/AnchoredConditional.d.ts +2 -2
- 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/PaintUtils.d.ts +3 -1
- 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/named/INamedCollection.d.ts +36 -0
- package/types/src/named/NamedCollection.d.ts +18 -0
- package/types/src/primitives/AsyncValue.d.ts +58 -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 +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 +46 -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 -0
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IWorksheet.d.ts +24 -17
- package/types/src/sheet/SheetCell.d.ts +17 -1
- 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 +110 -56
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_ScalarListFactory.d.ts +54 -6
- package/types/src/sheet/_SheetMutations.d.ts +4 -1
- package/types/src/sheet/_SheetStateTypes.d.ts +23 -11
- package/types/src/workbook/IWorkbook.d.ts +40 -1
- package/types/src/workbook/Workbook.d.ts +25 -3
- package/types/src/workbook/WorkbookRanges.d.ts +1 -1
- package/browser/esm/BGOFfpxr2jPIdqmV.mjs +0 -40
- package/browser/esm/f1IoRb7tEb0QmCSt.mjs +0 -110
- package/browser/esm/nvU0ClAbf0g94YBK.mjs +0 -1695
- package/node/esm/B084DssTcdBheTp_.mjs +0 -7966
- 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
|
@@ -20,7 +20,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
20
20
|
_values: ISparseGrid<Scalar>;
|
|
21
21
|
_spillSpatial: ISpatialMap<SpillEntry>;
|
|
22
22
|
_errorSpatial: ISpatialMap<string>;
|
|
23
|
-
|
|
23
|
+
_calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
24
24
|
_circularSpatial: ISpatialMap<CircularEntry>;
|
|
25
25
|
_contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
26
26
|
_notifyValues: ISpatialMap;
|
|
@@ -29,7 +29,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
29
29
|
_notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
|
|
30
30
|
_notifySpillsRemove: IRange.Coords[];
|
|
31
31
|
_notifyFormats: ISpatialMap;
|
|
32
|
-
|
|
32
|
+
_notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
|
|
33
33
|
_notifyCircular: ISpatialMap<CircularEntry | false>;
|
|
34
34
|
/**
|
|
35
35
|
* Regions of this grid whose formula blocks were minted, re-imaged or removed since the last
|
|
@@ -77,7 +77,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
77
77
|
protected _snapshots: Map<string, CalcGridSnapshot> | null;
|
|
78
78
|
/**
|
|
79
79
|
* The owner's callback for a record the engine pushed - a pass's results, a seed's. The one
|
|
80
|
-
* place the response half of the boundary is crossed on the way out (
|
|
80
|
+
* place the response half of the boundary is crossed on the way out (DESIGN-CALC-SERVICE §11); every site
|
|
81
81
|
* that pushes calls this rather than `_options.onCalculated`.
|
|
82
82
|
*/
|
|
83
83
|
protected _onCalculated: (response: CalcResponse) => void;
|
|
@@ -307,29 +307,6 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
307
307
|
* inspected; a name mentioned upstream is that cell's precedent. Engine primitive.
|
|
308
308
|
*/
|
|
309
309
|
getNamedReferencesAt(coords: IRange.Coords): string[];
|
|
310
|
-
/**
|
|
311
|
-
* What a `graph` request asking about this grid's defined name answers: the name's precedents
|
|
312
|
-
* or dependents, cells scoped by grid and names as nodes - ONE answer, as a cell's is.
|
|
313
|
-
*
|
|
314
|
-
* @remarks
|
|
315
|
-
* The PRECEDENTS: the cell half is the ordinary precedent graph - a body is a real formula here,
|
|
316
|
-
* and its references registered precedent ranges like any cell's. The name half is the body's
|
|
317
|
-
* `getNamedIds`: apply-at-eval means a name the body reads has no precedent edge, so the symbol
|
|
318
|
-
* list is the only carrier - one hop for `direct`, the downward closure (cycle-guarded) for the
|
|
319
|
-
* deep form, each member contributing its own grid's cell walk. The deep form does not take the
|
|
320
|
-
* symbol hop from UPSTREAM CELLS (`X = A1*2`, `A1 = SomeName`: `A1` is listed and `SomeName`'s
|
|
321
|
-
* inputs are not) - that hop is `A1`'s, one step of a tree walk.
|
|
322
|
-
*
|
|
323
|
-
* The DEPENDENTS: two graphs meet, and the walk changes vehicles between them. The symbol edge -
|
|
324
|
-
* which formulas mention this name - is not in the precedent spatial at all; it is the nameId
|
|
325
|
-
* list each compiled block carries (`container.getNamedDependents`). The cell edge is the
|
|
326
|
-
* precedent graph, which carries everything downstream of those blocks: `direct` is one hop of
|
|
327
|
-
* the first; the deep form takes it, then hands each landing block to its grid. A block on a
|
|
328
|
-
* grid that is no sheet is another NAME reading this one: a node, and the deep walk passes
|
|
329
|
-
* THROUGH it on the symbol closure (`getNamedDependentNames`), or `Base`'s dependents would stop
|
|
330
|
-
* at `Plus1`. This name is listed only when a true cycle leads back to it.
|
|
331
|
-
*/
|
|
332
|
-
protected _nameGraphNow(kind: 'precedents' | 'dependents', direct: boolean): ICalcGrid.GraphNeighbors;
|
|
333
310
|
/** The blank region of the body this grid holds, as data: see {@link ICalcGrid.Results.blankRegion}. */
|
|
334
311
|
protected _blankRegion(): ICalcGrid.BlankRegion | null;
|
|
335
312
|
/** The compiled block at a cell, or `null`. Engine-side: the model reads the vended view. */
|
|
@@ -338,6 +315,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
|
|
|
338
315
|
getReferencesAt(row: number, column: number): ReferenceCoords[];
|
|
339
316
|
/** What an `evaluate` request answers: the formula at the cell, evaluated now; `null` where there is none. */
|
|
340
317
|
protected _evaluateNow(row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
|
|
318
|
+
protected _evaluateBlockNow(block: IFormulaBlock, row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
|
|
341
319
|
/** What a `setReference` request does: the rewrite, and the write of the formula it makes. */
|
|
342
320
|
protected _setReferenceNow(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): CalcResponse;
|
|
343
321
|
/** What a `setReferenceMode` request does: refused for a reference that is not to cells. */
|
|
@@ -497,7 +475,7 @@ export interface CalcGridMaps {
|
|
|
497
475
|
contentful: ISpatialMap<ContentfulSpatialValue>;
|
|
498
476
|
spills: ISpatialMap<SpillEntry>;
|
|
499
477
|
errors: ISpatialMap<string>;
|
|
500
|
-
|
|
478
|
+
calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
501
479
|
circular: ISpatialMap<CircularEntry>;
|
|
502
480
|
/** The size a `resize` gave, or `null` for the one the grid was made with. */
|
|
503
481
|
entireCoords?: IRange.Coords | null;
|
|
@@ -96,8 +96,6 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
|
|
|
96
96
|
* A question: an engine that holds no grid (`Off`) answers with nothing.
|
|
97
97
|
*/
|
|
98
98
|
getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
99
|
-
/** {@inheritDoc ICalcGrid.Backend.getNameGraph} */
|
|
100
|
-
getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
101
99
|
/**
|
|
102
100
|
* {@inheritDoc ICalcGrid.isVolatileAt}
|
|
103
101
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { Tuple, ISparseGrid, ISpatialMap, ISpatialMap3D } from '../../collections';
|
|
3
3
|
import { CalcNode } from '../state';
|
|
4
|
+
import { ICalcGrid } from './ICalcGrid';
|
|
4
5
|
import { ContentfulSpatialValue, FormulaSpatialValue, SpillEntry, PrecedentSpatialValue, CircularEntry, PrecedentKind } from '../spatial';
|
|
5
6
|
import { ReferenceCoords } from '../Types';
|
|
6
7
|
export declare function anchorCompareValues(a: ISpatialMap.Entry<FormulaSpatialValue>, removing: ISpatialMap.Entry<FormulaSpatialValue>): boolean;
|
|
@@ -58,9 +59,10 @@ export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coord
|
|
|
58
59
|
* @remarks
|
|
59
60
|
* This code will inline spill errors but spill results are handled in calculations.
|
|
60
61
|
*/
|
|
61
|
-
export declare function applyContentful(cycleId: number, removes: readonly IRange.Coords[] | null | undefined, inserts: ISpatialMap.Entry[] | null | undefined, contentfulSpatial: ISpatialMap<ContentfulSpatialValue>, spillSpatial: ISpatialMap<SpillEntry>, values: ISparseGrid<Scalar>, addDirty?: (colStart: number, rowStart: number, colEnd: number, rowEnd: number) => void, notifyValuesSpatial?: ISpatialMap, notifySpills?: (insert: ISpatialMap.Entry<SpillEntry>, remove: ISpatialMap.Entry<SpillEntry>) => void,
|
|
62
|
+
export declare function applyContentful(cycleId: number, removes: readonly IRange.Coords[] | null | undefined, inserts: ISpatialMap.Entry[] | null | undefined, contentfulSpatial: ISpatialMap<ContentfulSpatialValue>, spillSpatial: ISpatialMap<SpillEntry>, values: ISparseGrid<Scalar>, addDirty?: (colStart: number, rowStart: number, colEnd: number, rowEnd: number) => void, notifyValuesSpatial?: ISpatialMap, notifySpills?: (insert: ISpatialMap.Entry<SpillEntry>, remove: ISpatialMap.Entry<SpillEntry>) => void, notifyCalcStatus?: ISpatialMap<ICalcGrid.CalcStatus | false>, errorSpatial?: ISpatialMap<string>, // notifyErrorSpatial,
|
|
62
63
|
isColumn?: boolean, notifyCalc?: boolean, // should notify. this is to differentiate between user set values and calc set values
|
|
63
|
-
circularSpatial?: ISpatialMap<CircularEntry
|
|
64
|
+
circularSpatial?: ISpatialMap<CircularEntry>, // the circular index: a written cell leaves it, like errorSpatial
|
|
65
|
+
calcStatusSpatial?: ISpatialMap<ICalcGrid.CalcStatus>): IRange.Coords | null;
|
|
64
66
|
/**
|
|
65
67
|
* Creates a map from tuples
|
|
66
68
|
*
|
|
@@ -116,7 +116,7 @@ export interface ICalcGrid {
|
|
|
116
116
|
* @param transaction Read the record as this transaction sees it, its held writes not yet
|
|
117
117
|
* made; the current record when omitted.
|
|
118
118
|
*/
|
|
119
|
-
|
|
119
|
+
getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
|
|
120
120
|
/**
|
|
121
121
|
* Engine FAILURES by cell (a formula that could not be evaluated), as a message. Not error
|
|
122
122
|
* VALUES - those are {@link getErrorValues}.
|
|
@@ -410,7 +410,7 @@ export declare namespace ICalcGrid {
|
|
|
410
410
|
* the engine answers, and nothing the model holds for itself. The in-process engine grid is
|
|
411
411
|
* one; a message-passing proxy under a worker is another.
|
|
412
412
|
*/
|
|
413
|
-
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | '
|
|
413
|
+
type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getCalcStatus' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
|
|
414
414
|
/** Write a body as authored; the engine anchors it (see {@link ICalcGrid.BodyOptions}). */
|
|
415
415
|
setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
|
|
416
416
|
/** {@link ICalcGrid.evaluateAt} coerced to one scalar, as a defined name's `evaluate()` is. */
|
|
@@ -422,12 +422,6 @@ export declare namespace ICalcGrid {
|
|
|
422
422
|
* last set; see `CalcGridBackend.getDemanded`. Evaluated by the next pass.
|
|
423
423
|
*/
|
|
424
424
|
demand(rects: readonly IRange.Coords[]): void;
|
|
425
|
-
/**
|
|
426
|
-
* The graph around the defined name whose body this grid holds - its precedents or
|
|
427
|
-
* dependents, cells in calc currency and names - as {@link ICalcGrid.getGraphNeighborsAt}
|
|
428
|
-
* answers for cells.
|
|
429
|
-
*/
|
|
430
|
-
getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
|
|
431
425
|
};
|
|
432
426
|
/**
|
|
433
427
|
* A body written as it was authored, for a grid that holds one (a name's, a watch's): the engine
|
|
@@ -556,7 +550,7 @@ export declare namespace ICalcGrid {
|
|
|
556
550
|
* @remarks
|
|
557
551
|
* These are guaranteed to not overlap.
|
|
558
552
|
*/
|
|
559
|
-
|
|
553
|
+
calcStatusUpdates?: ISpatialMap.Entry<ICalcGrid.CalcStatus | false>[];
|
|
560
554
|
/**
|
|
561
555
|
* Cells that entered or left a reference cycle (or the set downstream of one). A `null`
|
|
562
556
|
* value is a removal.
|
|
@@ -609,6 +603,16 @@ export declare namespace ICalcGrid {
|
|
|
609
603
|
/** For a paged region, the tiles this pass evaluated. */
|
|
610
604
|
readonly evaluated?: readonly IRange.Coords[];
|
|
611
605
|
}
|
|
606
|
+
/**
|
|
607
|
+
* Why a cell is in the calc-status index: its own function asked for a result that has not
|
|
608
|
+
* arrived (`Working`), or it was calculated from such a value and is calculated again when it
|
|
609
|
+
* arrives (`Waiting`). A removal travels as `false` in a delta.
|
|
610
|
+
*/
|
|
611
|
+
const CalcStatus: {
|
|
612
|
+
readonly Working: 1;
|
|
613
|
+
readonly Waiting: 2;
|
|
614
|
+
};
|
|
615
|
+
type CalcStatus = typeof CalcStatus[keyof typeof CalcStatus];
|
|
612
616
|
/**
|
|
613
617
|
* Returns from `ICalcGrid.beginUpdates()`.
|
|
614
618
|
*
|
|
@@ -620,7 +624,7 @@ export declare namespace ICalcGrid {
|
|
|
620
624
|
values: ISparseGrid<Scalar>;
|
|
621
625
|
spillSpatial: ISpatialMap<SpillEntry>;
|
|
622
626
|
errorSpatial: ISpatialMap<string>;
|
|
623
|
-
|
|
627
|
+
calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
|
|
624
628
|
circularSpatial: ISpatialMap<CircularEntry>;
|
|
625
629
|
contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
|
|
626
630
|
notifyValues: ISpatialMap;
|
|
@@ -639,9 +643,9 @@ export declare namespace ICalcGrid {
|
|
|
639
643
|
notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
|
|
640
644
|
notifySpillsRemove: IRange.Coords[];
|
|
641
645
|
notifyFormats: ISpatialMap;
|
|
642
|
-
|
|
646
|
+
notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
|
|
643
647
|
notifyCircular: ISpatialMap<CircularEntry | false>;
|
|
644
|
-
|
|
648
|
+
calcStatusConflating: ISpatialMap.IConflatingEntries<ICalcGrid.CalcStatus | false> | null;
|
|
645
649
|
circularConflating: ISpatialMap.IConflatingEntries<CircularEntry | false> | null;
|
|
646
650
|
errorRemovesConflating: ISpatialMap.IConflatingEntries<null> | null;
|
|
647
651
|
errorInsertsConflating: ISpatialMap.IConflatingEntries<string> | null;
|
|
@@ -13,7 +13,7 @@ import { ICalcGrid } from './ICalcGrid';
|
|
|
13
13
|
* @remarks
|
|
14
14
|
* Not part of {@link ICalcGrid}: a caller sees the verbs and their promises. This is what the
|
|
15
15
|
* in-process channel holds in place of a worker port's queue, and what the clone boundary audits
|
|
16
|
-
* (
|
|
16
|
+
* (DESIGN-CALC-SERVICE §11): a held call carries what the verb's arguments carry, which is what a proxy
|
|
17
17
|
* would post.
|
|
18
18
|
*
|
|
19
19
|
* @internal Deliberately not exported from the barrel.
|
|
@@ -166,15 +166,13 @@ export type CalcRequest =
|
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
168
|
* The graph around cells of this grid, answered in the response (`ICalcGrid.GraphNeighbors`,
|
|
169
|
-
* cells in calc currency). A question.
|
|
170
|
-
* of instead: its own precedents or dependents, cells and names.
|
|
169
|
+
* cells in calc currency). A question.
|
|
171
170
|
*/
|
|
172
171
|
| {
|
|
173
172
|
type: 'graph';
|
|
174
173
|
kind: 'precedents' | 'dependents';
|
|
175
174
|
direct: boolean;
|
|
176
|
-
coords
|
|
177
|
-
asName?: boolean;
|
|
175
|
+
coords: IRange.Coords;
|
|
178
176
|
}
|
|
179
177
|
/** Whether the formula at a cell is volatile, answered in the response. A question. */
|
|
180
178
|
| {
|
|
@@ -215,6 +213,18 @@ export type CalcRequest =
|
|
|
215
213
|
changes: readonly (readonly [id: string, name: NameSymbols | null])[];
|
|
216
214
|
options?: ICalcGrid.RequestOptions;
|
|
217
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* The graph around a defined name - its precedents or dependents, cells in calc currency and
|
|
218
|
+
* names - answered in the response (`ICalcGrid.GraphNeighbors`). A question of the service, not
|
|
219
|
+
* of the name's grid: its readers are found by its id, so a name that has not compiled is asked
|
|
220
|
+
* without making it a grid.
|
|
221
|
+
*/
|
|
222
|
+
| {
|
|
223
|
+
type: 'nameGraph';
|
|
224
|
+
nameId: string;
|
|
225
|
+
kind: 'precedents' | 'dependents';
|
|
226
|
+
direct: boolean;
|
|
227
|
+
}
|
|
218
228
|
/**
|
|
219
229
|
* A nested savepoint of the model rolled back inside an operation that goes on: what the requests
|
|
220
230
|
* made under it did goes with it. After them in the channel, so it undoes exactly those.
|
|
@@ -287,6 +297,8 @@ export type GridRequest = Exclude<CalcRequest, {
|
|
|
287
297
|
type: 'tables';
|
|
288
298
|
} | {
|
|
289
299
|
type: 'names';
|
|
300
|
+
} | {
|
|
301
|
+
type: 'nameGraph';
|
|
290
302
|
} | {
|
|
291
303
|
type: 'rollback';
|
|
292
304
|
} | {
|
|
@@ -428,6 +428,8 @@ export declare class FormulaSpatialValue implements IFormulaBlock, ISpatialMap.I
|
|
|
428
428
|
getReferencedSymbolIds(): string[];
|
|
429
429
|
/** {@inheritDoc IFormulaBlock.hasTotals} */
|
|
430
430
|
hasTotals(): boolean;
|
|
431
|
+
/** {@inheritDoc IFormulaBlock.hasDataTable} */
|
|
432
|
+
hasDataTable(): boolean;
|
|
431
433
|
/** {@inheritDoc IFormulaBlock.hasVolatile} */
|
|
432
434
|
hasVolatile(): boolean;
|
|
433
435
|
/** {@inheritDoc IFormulaBlock.isBlankCacheable} */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IRange } from '@sheetxl/primitives';
|
|
2
2
|
import { ITypes } from '../../type';
|
|
3
|
-
import { ISpatialMap } from '../../collections';
|
|
3
|
+
import { ISpatialMap, ISpatialQuery } from '../../collections';
|
|
4
|
+
import { AsyncValue } from '../../primitives/AsyncValue';
|
|
4
5
|
/**
|
|
5
6
|
* Spill Entries are used to track the extent an array formula occupies.
|
|
6
7
|
*
|
|
@@ -15,7 +16,15 @@ export declare class SpillEntry {
|
|
|
15
16
|
private _c;
|
|
16
17
|
private _k;
|
|
17
18
|
private _cycleId;
|
|
18
|
-
|
|
19
|
+
private _h;
|
|
20
|
+
/**
|
|
21
|
+
* @param holder The anchor's holder when the evaluation that laid the spill out deferred
|
|
22
|
+
* (DESIGN-ASYNC §4.4): the anchor cell holds the first element, so the entry carries what a
|
|
23
|
+
* scalar cell holds in its value, and moves and versions with the spill the same way.
|
|
24
|
+
*/
|
|
25
|
+
constructor(coords: IRange.Coords, cycleId: number, kind?: ITypes.FormulaArrayKind, holder?: AsyncValue | null);
|
|
26
|
+
/** The anchor's holder, for a spill laid out by an evaluation that deferred; `null` otherwise. */
|
|
27
|
+
getHolder(): AsyncValue | null;
|
|
19
28
|
getCycleId(): number;
|
|
20
29
|
/** {@inheritDoc ITypes.FormulaArrayKind} */
|
|
21
30
|
getKind(): ITypes.FormulaArrayKind;
|
|
@@ -52,4 +61,9 @@ export declare class SpillEntry {
|
|
|
52
61
|
/** {@inheritDoc ISpatialMap.IUpdatableValue.getSplit} */
|
|
53
62
|
getSplit(coords: [IRange.Coords, IRange.Coords], _axis: IRange.Axis): [this, this] | undefined;
|
|
54
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* The holder of the spill anchored at (`row`, `col`), or `null` when no spill is anchored there
|
|
66
|
+
* or its evaluation did not defer. A blocked spill's entry is anchored too.
|
|
67
|
+
*/
|
|
68
|
+
export declare const spillHolderAt: (spills: ISpatialQuery<SpillEntry> | null | undefined, row: number, col: number) => AsyncValue | null;
|
|
55
69
|
//# sourceMappingURL=SpillEntry.d.ts.map
|
|
@@ -51,7 +51,6 @@ export interface CalcNodeExt {
|
|
|
51
51
|
* and by `setInputs` with a `arrayFixed`; translated with the node when its block moves.
|
|
52
52
|
*/
|
|
53
53
|
fixedRef: IRange.Coords | null;
|
|
54
|
-
pendingPromise: Promise<any> | null;
|
|
55
54
|
/**
|
|
56
55
|
* The demand evaluation's result — finalized for the cell, or a pending promise — which
|
|
57
56
|
* `doEvaluate` consumes in place of an `evaluateAt` of its own. Cleared once consumed.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CalcNode } from './CalcNode';
|
|
2
|
+
import { DeferredCall } from './DeferredCalls';
|
|
2
3
|
/**
|
|
3
4
|
* A reused data structure passed to CalculationContext.
|
|
4
5
|
*
|
|
@@ -70,6 +71,34 @@ export interface CalcScope {
|
|
|
70
71
|
* before. Ignored when no seed is set.
|
|
71
72
|
*/
|
|
72
73
|
drawIndex: number;
|
|
74
|
+
/**
|
|
75
|
+
* How many `IFormulaContext.defer` calls the backend has taken, ever.
|
|
76
|
+
*
|
|
77
|
+
* @remarks
|
|
78
|
+
* Never reset. A dispatch, or the executor around an evaluation, reads it before and compares
|
|
79
|
+
* after: a change means a body deferred inside, however deeply nested. Nothing else on the
|
|
80
|
+
* synchronous path reads it.
|
|
81
|
+
*/
|
|
82
|
+
deferCount: number;
|
|
83
|
+
/**
|
|
84
|
+
* How many calls the evaluation in progress has deferred: the next call's ordinal, which is how
|
|
85
|
+
* a later evaluation of the same cell finds it. Back to `0` once the evaluation's calls are
|
|
86
|
+
* taken, which only an evaluation that deferred needs.
|
|
87
|
+
*/
|
|
88
|
+
deferOrdinal: number;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the formula's ROOT call deferred in the evaluation in progress. With one call in all,
|
|
91
|
+
* the cell's value is that call's answer and a settle needs no re-evaluation. Cleared with
|
|
92
|
+
* {@link deferOrdinal}.
|
|
93
|
+
*/
|
|
94
|
+
deferRoot: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* The call the last `defer` was served — the site's call standing for its payload — or `null`
|
|
97
|
+
* when that `defer` made a new one. The dispatch around the deferring body takes it and, when
|
|
98
|
+
* the call has a latest, answers that in place of the body's return. Cleared with
|
|
99
|
+
* {@link deferOrdinal}.
|
|
100
|
+
*/
|
|
101
|
+
deferServed: DeferredCall | null;
|
|
73
102
|
/**
|
|
74
103
|
* Stable nameIds currently on the resolution stack — the cycle guard for named
|
|
75
104
|
* formulas. A plain name re-entering itself (`X = X + 1`) is a circular reference.
|
|
@@ -23,10 +23,6 @@ export declare const CalcState: {
|
|
|
23
23
|
readonly Removed: number;
|
|
24
24
|
/** The node is in the pending spatial (the user has been given a pending status). */
|
|
25
25
|
readonly Pending: number;
|
|
26
|
-
/** A precedent evaluated to a pending value this pass, so the node keeps its cached value. */
|
|
27
|
-
readonly PendingPrecedents: number;
|
|
28
|
-
/** The node's promise resolved; the result waits in `cachedValue` for the next pass. */
|
|
29
|
-
readonly PendingResolved: number;
|
|
30
26
|
/**
|
|
31
27
|
* The topological sort could not order the node this pass — it is in a reference cycle, or
|
|
32
28
|
* downstream of one — so it was (or will be) evaluated by demand and `doEvaluate` takes its
|
|
@@ -82,6 +78,32 @@ export declare const CalcState: {
|
|
|
82
78
|
* never needed for a right answer.
|
|
83
79
|
*/
|
|
84
80
|
readonly Queued: number;
|
|
81
|
+
/**
|
|
82
|
+
* A precedent is pending with a value this pass: the node evaluates from that value, as any
|
|
83
|
+
* dependent does, and is pending with it.
|
|
84
|
+
*/
|
|
85
|
+
readonly WaitingPrecedents: number;
|
|
86
|
+
/**
|
|
87
|
+
* The node is {@link Pending} with a value its dependents calculate from — it holds a call that
|
|
88
|
+
* has not answered, or was calculated from such a value — rather than holding them. Decided by
|
|
89
|
+
* each evaluation, so outside {@link PassMask}.
|
|
90
|
+
*/
|
|
91
|
+
readonly PendingValue: number;
|
|
92
|
+
/**
|
|
93
|
+
* The node's one call answered with a shape its cell cannot take without the layout machinery
|
|
94
|
+
* — a range, or the cell is a spill anchor — and a settle seeded it (DESIGN-ASYNC §4.5): the
|
|
95
|
+
* settle pass takes the holder's latest in place of running the body and lays it out as any
|
|
96
|
+
* range result. Any other pass clears it and evaluates, since the node may be dirty for its own
|
|
97
|
+
* reasons. Outside {@link PassMask}: set between passes.
|
|
98
|
+
*/
|
|
99
|
+
readonly ServeLatest: number;
|
|
100
|
+
/**
|
|
101
|
+
* The evaluation recorded a call of the cell's own that has not answered: the cell is working,
|
|
102
|
+
* not merely waiting on a precedent. Decided by each evaluation, so outside {@link PassMask}.
|
|
103
|
+
*/
|
|
104
|
+
readonly OwnCall: number;
|
|
105
|
+
/** What the status index was last told, while {@link Pending}: working (set) or waiting (clear). */
|
|
106
|
+
readonly SentWorking: number;
|
|
85
107
|
/** What the mark phase resets: everything a single pass decides. `Skip` and the shown role survive. */
|
|
86
108
|
readonly PassMask: number;
|
|
87
109
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { IRange, ScalarType, FormulaError, Scalar, IReferenceRange, IFunction, IFormulaContext, IFunctionArguments, IRuntime } from '@sheetxl/primitives';
|
|
1
|
+
import { IRange, ScalarType, FormulaError, Scalar, IReferenceRange, IFunction, IFormulaContext, IFunctionArguments, IRuntime, IRichData } from '@sheetxl/primitives';
|
|
2
2
|
import { FunctionProvider } from '@sheetxl/scripting';
|
|
3
3
|
import { ITransaction } from '../../transaction';
|
|
4
4
|
import { IFunctionCollection } from '../../scripting';
|
|
5
5
|
import { Tuple } from '../../collections';
|
|
6
6
|
import { IContextContainer } from './IContextContainer';
|
|
7
7
|
import { CalcScope } from './CalcScope';
|
|
8
|
+
import { WhatIfTable } from '../executor/_WhatIf';
|
|
8
9
|
import { ReadHook } from './_ReadObservedGrid';
|
|
9
10
|
export declare class CalculationContext implements IFormulaContext {
|
|
10
11
|
protected _instanceScope: any;
|
|
@@ -60,6 +61,22 @@ export declare class CalculationContext implements IFormulaContext {
|
|
|
60
61
|
* hook is armed. See {@link _dynamicRead}.
|
|
61
62
|
*/
|
|
62
63
|
_setDynamicReadHook(hook: ReadHook | null): void;
|
|
64
|
+
/**
|
|
65
|
+
* @hidden
|
|
66
|
+
* Disarms both read hooks and returns what they were, for {@link _restoreReadHooks}: a what-if
|
|
67
|
+
* evaluation reads plainly in the middle of a node that is itself observed.
|
|
68
|
+
*/
|
|
69
|
+
_takeReadHooks(): [ReadHook | null, ReadHook | null];
|
|
70
|
+
/** @hidden Re-arms the hooks {@link _takeReadHooks} returned. */
|
|
71
|
+
_restoreReadHooks(hooks: [ReadHook | null, ReadHook | null]): void;
|
|
72
|
+
/**
|
|
73
|
+
* @hidden
|
|
74
|
+
* The grid id of the cell being evaluated and of an input reference, for `TABLE`: `null` for a
|
|
75
|
+
* reference whose sheet does not resolve.
|
|
76
|
+
*/
|
|
77
|
+
_gridIdOfReference(coords: Readonly<IRange.Coords> | null): string | null;
|
|
78
|
+
/** @hidden The what-if results of a data table, for the `TABLE` node being evaluated. */
|
|
79
|
+
_evaluateWhatIf(table: WhatIfTable): Scalar[][] | null;
|
|
63
80
|
/**
|
|
64
81
|
* @hidden
|
|
65
82
|
*
|
|
@@ -81,6 +98,12 @@ export declare class CalculationContext implements IFormulaContext {
|
|
|
81
98
|
_createScoped(sheet: string): CalculationContext | null;
|
|
82
99
|
/** @inheritdoc IFormulaContext.getFunction */
|
|
83
100
|
getFunction(name: string): IFunction | null;
|
|
101
|
+
/**
|
|
102
|
+
* @hidden
|
|
103
|
+
* The function registry's stamp: a function {@link getFunction} returned stays the answer for its
|
|
104
|
+
* name while this is unchanged.
|
|
105
|
+
*/
|
|
106
|
+
_getFunctionStamp(): number;
|
|
84
107
|
/** @inheritdoc IFormulaContext.getNumberFormat */
|
|
85
108
|
getNumberFormat(formatText: string, value: Scalar): string | null;
|
|
86
109
|
/** @inheritdoc IFormulaContext.getEntireCoords */
|
|
@@ -89,6 +112,8 @@ export declare class CalculationContext implements IFormulaContext {
|
|
|
89
112
|
getFormulaAt(row: number, column: number, sheetName?: string): string | null;
|
|
90
113
|
/** @inheritdoc IFormulaContext.markVolatile */
|
|
91
114
|
markVolatile(): void;
|
|
115
|
+
/** @inheritdoc IFormulaContext.defer */
|
|
116
|
+
defer(executor: IFormulaContext.DeferExecutor, payload?: unknown): unknown;
|
|
92
117
|
/** @inheritdoc IFormulaContext.formatResults */
|
|
93
118
|
formatResults(numFmt: string): void;
|
|
94
119
|
/** @inheritdoc IFormulaContext.filterHidden */
|
|
@@ -205,6 +230,8 @@ export declare class CalculationContext implements IFormulaContext {
|
|
|
205
230
|
toText(value: Scalar | undefined): string;
|
|
206
231
|
/** @inheritdoc IFormulaContext.getRuntime */
|
|
207
232
|
getRuntime(): IRuntime;
|
|
233
|
+
/** @inheritdoc IFormulaContext.createRichData */
|
|
234
|
+
createRichData(type: string, data?: any): IRichData;
|
|
208
235
|
/** @inheritdoc IFormulaContext.getArgs */
|
|
209
236
|
getArgs(): IFunctionArguments;
|
|
210
237
|
get [Symbol.toStringTag](): string;
|