UNPKG

prex-es5

Version:

Async coordination primitives and extensions on top of ES6 Promises

50 lines (48 loc) 2.17 kB
/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Licensed under the Apache License, Version 2.0. See LICENSE file in the project root for details. ***************************************************************************** */ export declare class LinkedListNode<T> { value: T | undefined; constructor(value?: T); readonly list: LinkedList<T> | undefined; readonly previous: LinkedListNode<T> | undefined; readonly next: LinkedListNode<T> | undefined; } export declare class LinkedList<T> { private _head; private _size; constructor(iterable?: Iterable<T>); readonly first: LinkedListNode<T> | undefined; readonly last: LinkedListNode<T> | undefined; readonly size: number; values(): IterableIterator<T | undefined>; nodes(): IterableIterator<LinkedListNode<T>>; drain(): IterableIterator<T | undefined>; find(value: T): LinkedListNode<T> | undefined; findLast(value: T): LinkedListNode<T> | undefined; has(value: T): boolean; insertBefore(node: LinkedListNode<T>, value: T): LinkedListNode<T>; insertNodeBefore(node: LinkedListNode<T>, newNode: LinkedListNode<T>): void; insertAfter(node: LinkedListNode<T>, value: T): LinkedListNode<T>; insertNodeAfter(node: LinkedListNode<T>, newNode: LinkedListNode<T>): void; push(value?: T): LinkedListNode<T>; pushNode(newNode: LinkedListNode<T>): void; pop(): T | undefined; popNode(): LinkedListNode<T> | undefined; shift(): T | undefined; shiftNode(): LinkedListNode<T> | undefined; unshift(value?: T): LinkedListNode<T>; unshiftNode(newNode: LinkedListNode<T>): void; delete(value: T): boolean; deleteNode(node: LinkedListNode<T> | undefined): boolean; deleteAll(predicate: (value: T, node: LinkedListNode<T>, list: LinkedList<T>) => boolean, thisArg?: any): number; clear(): void; forEach(callback: (value: T, node: LinkedListNode<T>, list: LinkedList<T>) => void, thisArg?: any): void; private _deleteNode; private _insertNode; } export interface LinkedList<T> { [Symbol.iterator](): Iterator<T>; }