UNPKG

doubly

Version:

Doubly linked list in TypeScript

39 lines (38 loc) 1.69 kB
import Node from './Node'; export { default as DoublyNode } from './Node'; export default class Doubly<T> { head: Node<T> | null; tail: Node<T> | null; size: number; constructor(opts?: { head?: Node<T>; }); [Symbol.iterator](): Iterator<T>; nodes(): IterableIterator<Node<T>>; at(index: number): T | undefined; node(index: number): Node<T> | undefined; concat(list: Iterable<T>): Doubly<T>; delete(index: number): boolean; deleteNode(node: Node<T>): void; every(cb: (value: T, i: number, list: Doubly<T>) => unknown): boolean; forEach(cb: (value: T, i: number, list: Doubly<T>) => void): void; forEachRight(cb: (value: T, i: number, list: Doubly<T>) => void): void; filter(cb: (value: T, i: number, list: Doubly<T>) => unknown): Doubly<T>; find(cb: (value: T, i: number, list: Doubly<T>) => unknown): T | void; findIndex(cb: (value: T, i: number, list: Doubly<T>) => unknown): number; includes(compare: T): boolean; indexOf(compare: T): number; map<R>(cb: (value: T, i: number, list: Doubly<T>) => R): Doubly<R>; pop(): T | undefined; popNode(): Node<T> | undefined; push(val: T): void; pushNode(node: Node<T>): void; reduce<M>(cb: (memo: M | T, value: T, i: number, list: Doubly<T>) => M): M; reduce<M>(cb: (memo: M, value: T, i: number, list: Doubly<T>) => M, initialValue: M): M; shift(): T | undefined; shiftNode(): Node<T> | undefined; unshift(val: T): void; unshiftNode(node: Node<T>): void; some(cb: (value: T, i: number, list: Doubly<T>) => unknown): boolean; splice(index: number, removeCount: number, ...items: Array<T>): Doubly<T>; }