UNPKG

vscroll

Version:
65 lines (64 loc) 2.51 kB
import { Item } from './item'; import { Settings } from './settings'; import { Logger } from './logger'; import { Reactive } from './reactive'; import { Direction } from '../inputs/index'; import { OnDataChanged, BufferUpdater, ItemsPredicate } from '../interfaces/index'; export declare class Buffer<Data> { private _items; private _absMinIndex; private _absMaxIndex; bof: Reactive<boolean>; eof: Reactive<boolean>; changeItems: OnDataChanged<Data>; minIndexUser: number; maxIndexUser: number; startIndexUser: number; startIndex: number; private pristine; private cache; private checkCall; private readonly logger; constructor(settings: Settings<Data>, onDataChanged: OnDataChanged<Data>, logger: Logger); dispose(): void; reset(force: boolean, startIndex?: number): void; setCurrentStartIndex(newStartIndex?: unknown): void; set items(items: Item<Data>[]); get items(): Item<Data>[]; set absMinIndex(value: number); get absMinIndex(): number; set absMaxIndex(value: number); get absMaxIndex(): number; private checkBOF; private checkEOF; get size(): number; get cacheSize(): number; get defaultSize(): number; get minIndex(): number; get maxIndex(): number; get firstIndex(): number; get lastIndex(): number; get finiteAbsMinIndex(): number; get finiteAbsMaxIndex(): number; get($index: number): Item<Data> | undefined; setItems(items: Item<Data>[]): boolean; clip(): void; getIndexToInsert(predicate?: ItemsPredicate, before?: number, after?: number): number; private shiftExtremum; insertVirtually(items: Data[], index: number, direction: Direction, fixRight: boolean): boolean; removeVirtually(indexes: number[], fixRight: boolean): void; fillEmpty(items: Data[], beforeIndex: number | undefined, afterIndex: number | undefined, fixRight: boolean, generator: (index: number, data: Data) => Item<Data>): boolean; updateItems(predicate: BufferUpdater<Data>, generator: (index: number, data: Data) => Item<Data>, indexToTrack: number, fixRight: boolean): { trackedIndex: number; toRemove: Item<Data>[]; }; cacheItem(item: Item<Data>): void; getFirstVisibleItemIndex(): number; getLastVisibleItemIndex(): number; getFirstVisibleItem(): Item<Data> | undefined; getLastVisibleItem(): Item<Data> | undefined; getEdgeVisibleItem(direction: Direction, opposite?: boolean): Item<Data> | undefined; getVisibleItemsCount(): number; getSizeByIndex(index: number): number; checkDefaultSize(): boolean; }