honkit
Version:
HonKit is building beautiful books using Markdown.
23 lines • 2 kB
TypeScript
import Immutable from "immutable";
/** HonKit historically used `q`; this module keeps the same surface on top of native Promises. */
export type ExtendedPromise<T> = Promise<T> & {
thenResolve<U>(value: U): ExtendedPromise<U>;
spread(fn: (...args: any[]) => any): ExtendedPromise<any>;
fail(onRejected: (reason: unknown) => unknown): ExtendedPromise<unknown>;
get?(index: number): ExtendedPromise<unknown>;
tap(onFulfilled: (value: T) => unknown): ExtendedPromise<T>;
progress(onProgress: (data: unknown) => void): ExtendedPromise<T>;
nodeify(callback?: (err: unknown, result?: T) => void): ExtendedPromise<T> | void;
/** Q `fin` — like `finally`; preserves fulfillment value or rejection reason. */
fin(onFinally: () => unknown): ExtendedPromise<T>;
};
declare function reduce<TAcc, TElem>(arr: Immutable.List<TElem> | unknown[] | Immutable.Iterable<TElem, unknown>, iter: (acc: TAcc, elem: TElem, key: unknown) => unknown, base?: TAcc): ExtendedPromise<TAcc>;
declare function forEach<T>(arr: Immutable.List<T> | unknown[] | Immutable.Iterable<T, unknown>, iter: (el: T, key: unknown) => unknown): ExtendedPromise<any>;
declare function serie<T, R>(arr: Immutable.List<T> | unknown[] | Immutable.Iterable<T, unknown>, iter: (item: T, key: unknown) => unknown): ExtendedPromise<R[]>;
declare function some<T>(arr: Immutable.List<T> | unknown[] | Immutable.Iterable<T, unknown>, iter: (el: T, i: unknown) => unknown): Promise<unknown>;
declare function map<T, R>(arr: Immutable.Map<string, T> | Immutable.OrderedMap<string, T> | Immutable.List<T> | unknown[] | Immutable.Iterable<T, unknown>, iter: (el: T, key: unknown) => unknown): Promise<Immutable.Map<unknown, unknown>> | Promise<Immutable.List<R>>;
declare function wrap(func: (...args: unknown[]) => unknown): (this: unknown, ...args: unknown[]) => Promise<any>;
declare const _default: any;
export default _default;
export { forEach, reduce, map, serie, some, wrap };
//# sourceMappingURL=promise.d.ts.map