array-ring
Version:
Advanced Array and Ring structure for Large data: A High-Performance Solution, mostly created to implement array methods, bringing 2 data structures, An efficient resizable array with similar methods to javascript array which are optmized methods like shi
29 lines (28 loc) • 1.18 kB
TypeScript
export declare class _Array<T> {
protected buffer: (T | undefined)[];
protected size: number;
protected start: number;
protected end: number;
protected count: number;
constructor(size: number, array?: T[]);
protected _push(item: T): void;
protected _unshift(item: T): void;
push(...items: T[]): void;
unshift(...items: T[]): void;
pop(): T | undefined;
shift(): T | undefined;
forEach(callback: (item: T, index: number) => void): void;
map<U>(callback: (item: T, index: number) => U): U[];
reduce<U>(callback: (accumulator: U, item: T, index: number) => U, initialValue: U): U;
at(index: number): T | undefined;
find(predicate: (value: T, index: number) => boolean): T | undefined;
findIndex(predicate: (value: T, index: number) => boolean): number;
some(predicate: (value: T, index: number) => boolean): boolean;
every(predicate: (value: T, index: number) => boolean): boolean;
slice(start: number, end?: number): T[];
filter(predicate: (value: T, index: number) => boolean): T[];
clear(): void;
join(separator?: string): string;
toArray(): T[];
get length(): number;
}