@visactor/vtable
Version:
canvas table width high performance
35 lines (34 loc) • 1.34 kB
TypeScript
import type { BaseTableAPI } from '../ts-types/base-table';
export declare class NumberRangeMap {
data: Map<number, number>;
cumulativeSum: Map<number, number>;
difference: Map<number, number>;
totalSum: number;
table: BaseTableAPI;
isUpdate: boolean;
private _keys;
private _sorted;
constructor(table: BaseTableAPI);
get length(): number;
clear(): void;
clearRange(): void;
_add(position: number, value: number): void;
_remove(position: number): void;
put(position: number, newValue: number): void;
get(position: number): number;
has(position: number): boolean;
private _sort;
updateDifference(position: number, difference: number): void;
getSumInRange(start: number, end: number): number;
updateCumulativeSum(position: number, difference: number): void;
calculatePrefixSum(position: number): number;
getCumulativeSum(position: number): number;
update(): void;
dealDiffenence(): void;
insert(position: number, value?: number): void;
getLastIndex(): number;
delLast(): void;
delete(position: number): void;
adjustOrder(sourceIndex: number, targetIndex: number, moveCount: number): void;
exchangeOrder(sourceIndex: number, sourceCount: number, targetIndex: number, targetCount: number, insertIndex: number): void;
}