UNPKG

fastds

Version:

Fast, Zero-Dependency, TypeScript-based data structures for high-performance applications.

42 lines (41 loc) 1.49 kB
export interface FilterFunction<T> { (value: T, index: number): boolean; } export declare class RingBuffer<T> { #private; static from<T>(values: T[]): RingBuffer<T>; readonly [Symbol.toStringTag] = "RingBuffer"; constructor(capacity?: number); get capacity(): number; get length(): number; isEmpty(): boolean; isWrapped(): boolean; getHeadOffset(index: number): number; getTailOffset(index: number): number; resize(capacity: number): boolean; grow(capacity?: number): void; allocate(index: number, count: number): boolean; deallocate(index: number, count: number): boolean; indexOf(value: T, index?: number): number; unwrap(): boolean; compact(filter: FilterFunction<T>): boolean; set(index: number, values: T[], insert?: boolean): boolean; setOne(index: number, value: T, insert?: boolean): boolean; slice(start?: number, end?: number): T[]; removeOne(index: number): number; removeFirst(value: T, index?: number): number; remove(index: number, count: number): T[]; push(value: T): this; unshift(value: T): this; shift(): T | undefined; pop(): T | undefined; peekAt(index: number): T | undefined; peekFirst(): T | undefined; peekLast(): T | undefined; has(value: T): boolean; clear(): this; toArray(): T[]; drain(): IteratorObject<T, void, unknown>; iter(): IteratorObject<T, void, unknown>; [Symbol.iterator](): Iterator<T, void, unknown>; }