vscroll
Version:
Virtual scroll engine
33 lines (32 loc) • 851 B
TypeScript
import { SizeStrategy } from '../../inputs/index';
interface ItemSize {
size: number;
newSize?: number;
}
export declare class SizesRecalculation {
newItems: ItemSize[];
oldItems: ItemSize[];
removed: ItemSize[];
constructor();
reset(): void;
}
export declare class DefaultSize {
private readonly itemSize;
private readonly sizeStrategy;
private sizeMap;
private recalculation;
private constantSize;
private frequentSize;
private averageSize;
private averageSizeFloat;
constructor(itemSize: number, sizeStrategy: SizeStrategy);
reset(force: boolean): void;
get(): number;
private recalculateAverageSize;
private recalculateFrequentSize;
recalculate(cacheSize: number): boolean;
setExisted(oldSize: number, newSize: number): void;
setNew(size: number): void;
setRemoved(size: number): void;
}
export {};