vscroll
Version:
Virtual scroll engine
63 lines (62 loc) • 1.49 kB
TypeScript
import { Item } from '../item';
import { Direction } from '../../inputs/index';
declare class Positions {
startDelta: number;
before: number;
relative: number;
start: number;
end: number;
constructor();
reset(): void;
}
declare class First {
index: number;
indexBuffer: number;
position: number;
constructor();
reset(): void;
}
declare class Last {
index: number;
indexBuffer: number;
constructor();
reset(): void;
}
declare class FirstVisible {
index: number;
delta: number;
constructor();
reset(): void;
}
export declare class FetchModel {
private readonly directionPriority;
private _newItemsData;
items: Item[];
positions: Positions;
first: First;
last: Last;
hasAnotherPack: boolean;
callCount: number;
minIndex: number;
firstVisible: FirstVisible;
direction: Direction | null;
cancel: (() => void) | null;
simulate: boolean;
isCheck: boolean;
doRemove: boolean;
constructor(directionPriority: Direction);
reset(): void;
get newItemsData(): unknown[] | null;
set newItemsData(items: unknown[] | null);
get shouldFetch(): boolean;
get hasNewItems(): boolean;
get index(): number;
get count(): number;
shouldCheckPreSizeExpectation(lastBufferedIndex: number): boolean;
startSimulate(items: Item[]): void;
stopSimulate(): void;
fill(items: Item[], start: number): void;
check(items: Item[]): void;
update(index: number, delta: number, items: Item[], itemsToRemove: Item[]): void;
}
export {};