UNPKG

lgrthms

Version:

Algorithms and data structures for your JavaScript and TypeScript projects 🧑‍💻

30 lines (29 loc) 971 B
declare class Node<T = any> { value: T; next: Node<T> | null; prev: Node<T> | null; constructor(value: T); } export declare class DoublyLinkedList<T = any> { private _head; private _tail; private _length; constructor(); get head(): Node<T> | null; get tail(): Node<T> | null; get length(): number; get(index: number): T | undefined; getNode(index: number): Node<T> | undefined; find(predicate: (value: T) => unknown): T | undefined; findNode(predicate: (value: T) => unknown): Node<T> | undefined; insert(value: T, index?: number): Node<T>; insertAfter(value: T, node: Node<T>): Node<T>; insertBefore(value: T, node: Node<T>): Node<T>; removeAtIndex(index: number): void; removeWithValue(predicate: (value: T) => unknown): void; removeNode(node: Node<T> | null | undefined): void; forEach(callbackfn: (value: T) => void): void; private setHead; private setTail; } export {};