promised-map
Version:
A map of promises that can be resolved or rejected by key
54 lines (53 loc) • 1.43 kB
TypeScript
import { PromisedMapItem } from './item';
export declare class PromisedMap<K, V> {
private map;
/**
* Returns map size.
*/
get size(): number;
/**
* Sets key/data pair and creates related promise.
* If key already exists in map - it will be replaced with new data and new promise.
*/
set(key: K, data?: V): Promise<unknown>;
/**
* Returns data for key.
*/
get(key: K): V | undefined;
/**
* Checks if key exists.
*/
has(key: K): boolean;
/**
* Deletes key from map.
* Caution: previously returned promise will no be resolved or rejected.
*/
delete(key: K): boolean;
/**
* Resolves promise in map by key and removes key from map.
* If no such key in map - nothing happens.
*/
resolve(key: K, value: unknown): void;
/**
* Rejects promise in map by key and removes key from map.
* If no such key in map - nothing happens.
*/
reject(key: K, reason: any): void;
/**
* Resolves all promise in map and removes all keys.
*/
resolveAll(value: unknown): void;
/**
* Rejects all promise in map and removes all keys.
*/
rejectAll(reason: any): void;
/**
* Iterate map.
*/
forEach(fn: (item: V, key: K, map: Map<K, PromisedMapItem<V>>) => void): void;
/**
* Clears map.
*/
clear(): void;
private createMapItem;
}