UNPKG

promised-map

Version:

A map of promises that can be resolved or rejected by key

54 lines (53 loc) 1.43 kB
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; }