UNPKG

1.17 kBTypeScriptView Raw
1interface ListNode<T> {
2 value: T;
3 next?: ListNode<T>;
4 previous?: ListNode<T>;
5}
6export declare class LinkedList<T> {
7 length: number;
8 protected head?: ListNode<T>;
9 protected tail?: ListNode<T>;
10 protected current?: ListNode<T>;
11 protected asArray: T[];
12 get(position: number): T | undefined;
13 add(value: T, position?: number): void;
14 remove(position?: number): void;
15 set(position: number, value: T): void;
16 toArray(): T[];
17 findAll(fn: (value: T, index: number) => boolean): {
18 index: number;
19 value: T;
20 }[];
21 push(...args: T[]): number;
22 pop(): T | undefined;
23 unshift(...args: T[]): number;
24 shift(): T | undefined;
25 forEach(fn: (value: T, index: number) => void): void;
26 indexOf(value: T): number;
27 some(fn: (value: T) => boolean): boolean;
28 every(fn: (value: T) => boolean): boolean;
29 toString(): string;
30 find(fn: (value: T, index: number) => boolean): T | void;
31 findIndex(fn: (value: T, index: number) => boolean): number;
32 protected getNode(position: number): ListNode<T> | undefined;
33 protected createInternalArrayRepresentation(): void;
34}
35export {};