villa
Version:
Promise utilities for async/await-ready environment.
25 lines (24 loc) • 1.64 kB
TypeScript
import { EachHandler, EveryHandler, FilterHandler, FindHandler, MapTransformer, ParallelHandler, RaceTransformer, ReduceTransformer, Resolvable, SomeHandler } from '.';
export declare class Chainable<T> extends Promise<T[]> {
each(handler: EachHandler<T>): Promise<boolean>;
every(handler: EveryHandler<T>): Promise<boolean>;
filter(handler: FilterHandler<T>): Chainable<T>;
find(handler: FindHandler<T>): Promise<T | undefined>;
findIndex(handler: FindHandler<T>): Promise<number>;
map<TResult>(transformer: MapTransformer<T, TResult>, concurrency?: number): Chainable<TResult>;
parallel(handler: ParallelHandler<T>, concurrency?: number): Promise<void>;
race<TResult>(transformer: RaceTransformer<T, TResult>): Promise<TResult>;
reduce<TResult>(transformer: ReduceTransformer<T, TResult[]>, initial: TResult[]): Chainable<TResult>;
reduce<TResult>(transformer: ReduceTransformer<T, TResult>, initial: TResult): Promise<TResult>;
reduce(transformer: ReduceTransformer<T, T>): Promise<T>;
reduceRight<TResult>(transformer: ReduceTransformer<T, TResult[]>, initial: TResult[]): Chainable<TResult>;
reduceRight<TResult>(transformer: ReduceTransformer<T, TResult>, initial: TResult): Promise<TResult>;
reduceRight(transformer: ReduceTransformer<T, T>): Promise<T>;
some(handler: SomeHandler<T>): Promise<boolean>;
static resolve(): Promise<any>;
static resolve<T>(resolvable: Resolvable<T[]>): Chainable<T>;
}
/**
* Wrap given resolvable with a chainable derived of built-in promise.
*/
export declare function chainable<T>(resolvable: Resolvable<T[]>): Chainable<T>;