@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
31 lines • 1.03 kB
TypeScript
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