node-beanstalk
Version:
The most comprehensive beanstalk client for nodejs
35 lines (34 loc) • 1 kB
TypeScript
export interface ILinkedListNode<V = any> {
readonly value: V;
list: LinkedList | undefined;
next: ILinkedListNode | undefined;
prev: ILinkedListNode | undefined;
}
export declare class LinkedList<V = any> {
head: ILinkedListNode<V> | undefined;
tail: ILinkedListNode<V> | undefined;
size: number;
/**
* Remove node from chain and nullish it.
*/
removeNode<T extends V>(node: ILinkedListNode<T>): ILinkedListNode<T> | undefined;
/**
* Push existing list node to list's endings
*/
pushNode<T extends V>(node: ILinkedListNode<T>): ILinkedListNode<T>;
/**
* Add {value} to the tail of the list.
*/
push<T extends V>(value: T): ILinkedListNode<T>;
/**
* Remove {count} elements from the head of the list.
*
* @return Array containing removed values.
*/
unshift(): V | undefined;
/**
* Remove all items from list.
* Also dereferences existing list nodes.
*/
truncate(): V[];
}