doubly
Version:
Doubly linked list in TypeScript
17 lines (16 loc) • 735 B
TypeScript
export default class Node<T> {
prev: Node<T> | null;
next: Node<T> | null;
value: T;
constructor(value: T, opts?: {
prev?: Node<T>;
next?: Node<T>;
});
linkNext<N extends Node<T> | null>(next: N): N;
linkPrev<N extends Node<T> | null>(prev: N): N;
unlink(): boolean;
}
export declare function nodeTraverseNextNodes<T>(node: Node<T> | null): Generator<Node<T>, void, unknown>;
export declare function nodeTraversePrevNodes<T>(node: Node<T> | null): Generator<Node<T>, void, unknown>;
export declare function nodeTraverseNextValues<T>(node: Node<T> | null): Generator<T, void, unknown>;
export declare function nodeTraversePrevValues<T>(node: Node<T> | null): Generator<T, void, unknown>;