UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

33 lines (32 loc) 1.22 kB
export declare enum ResultStatus { FULFILLED = "fulfilled", FAILED = "failed" } type FulfiledResult<T> = { status: ResultStatus.FULFILLED; value: T; }; type RejectedResult = { status: ResultStatus.FAILED; reason: any; }; /** * Will wait for all promises to resolve or reject, wrapping their real results in * object containing the status so it's easy to filter it later. Loosely inspired by * [Promise.allSettled](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled) * which can replace this implementation once it makes to the browsers. * @param promises */ export declare const waitForAllPromises: <T>(promises: Promise<T>[]) => Promise<(FulfiledResult<T> | RejectedResult)[]>; /** * Will resolve on the first fulfilled promise and disregard the remaining ones. Similar to `Promise.race` but won't * care about rejected promises. * @param promises */ export declare const waitForFirstFulfilledPromise: <T>(promises: Promise<T>[]) => Promise<T>; /** * Find all fullfilled promises and return their values * @param results */ export declare const getOnlyFulfilled: <T>(results: (FulfiledResult<T> | RejectedResult)[]) => T[]; export {};