Bluefeather
A collection of Promise utilities.
Utility functions
delay
type DelayType = (ms: number) => Promise<void>;
const delay: DelayType;
map
For the record, this function is just a thin-wrapper around Bluebird#map
.
This method is identical to Bluebird#map
except that the concurrency
setting can be overridden using BLUEFEATHER_MAX_CONCURRENCY
environment variable. Controlling max concurrency using environment variables enables debugging of the codebase without refactoring the code.
type MapperType<T, R> = (currentValue: T, index: number, values: $ReadOnlyArray<T>) => R;
type MapConfigurationType = {|
+concurrency: number
|};
type MapType<T, R> = (values: $ReadOnlyArray<T>, mapper: MapperType<T, R>, configuration?: MapConfigurationType) => Promise<$ReadOnlyArray<R>>;
const map: MapType<*, *>;
mapSeries
type CallbackType<T, R> = (currentValue: T, index: number, values: $ReadOnlyArray<T>) => R;
type MapSeriesType<T, R> = (values: $ReadOnlyArray<T>, mapper: CallbackType<T, R>) => Promise<$ReadOnlyArray<R>>;
const mapSeries: MapSeriesType<*, *>;
promisify
type PromisifyOptionsType = {|
multipleArguments?: boolean
|};
type PromisifyType = (nodeFunction: Function, options?: PromisifyOptionsType) => Function;
const promisify: PromisifyType;
suppress
type SuppressType = <T: Promise<*>>(
ErrorConstructor: Class<Error> | (error: Error) => boolean,
promise: T
) => T | Promise<void>;
/**
* Suppresses errors that are instance of ErrorConstructor.
*/
const suppress: SuppressType;