UNPKG

@sheetxl/models

Version:

Models - A Headless javascript spreadsheet library.

31 lines 1.03 kB
import { CellCoords, CellRangeCoords } from "@sheetxl/common"; export type PreCalcFunction = (a: number, b: number) => number; export interface PreCalcFunc { key: string; agg: PreCalcFunction; } export interface CoordValue { coord: CellCoords; value: number | null; } export declare class PreCalcs { private _tree; constructor(_initialValues: CoordValue[], _preCalcs?: PreCalcFunc[]); /** * Update the values and precalcs for the define aggregations. * If the value is null, it will be treated as a delete. * @param values */ updateValues(_values: CoordValue[]): void; /** * Returns the current pre-calced values for the given ranges. * * // TODO - currently this will double count because we don't split overlapping ranges. * // REVISIT when we implement rect sweep * @param ranges * @param keys * @returns */ queryCalcs(_ranges: CellRangeCoords[], _keys: string[]): Map<string, number>; } //# sourceMappingURL=PreCalcs.d.ts.map