@jumpn/utils-promise
Promise utilities
NOTE: All the functions described in API are curried
- Using npm - Using yarn - allByName - booleanize - chain - createDeferred - promisifyFunction - promisifyObject - track - promiseTry
Installation
Using npm
$ npm install --save @jumpn/utils-promise
Using yarn
$ yarn add @jumpn/utils-promise
Types
type Deferred<Result> = {
promise: Promise<Result>,
resolve: (result: Result) => void,
reject: (error: any) => void
};
type PromiseInfo<Result> = {
result: Result,
status: void | "rejected" | "resolved"
};
API
allByName
Returns a promise that will be resolved with an object the results of all the given promises or it will reject with an Error that will have an additional property "from" with the name of the promise that caused the rejection.Parameters
promisesByName
PromisesByName
Returns Promise<ResultsByName>
booleanize
Returns a new promise which follows the one given returning true in case there was no error, or false otherwiseParameters
promise
Promise<any>
Returns Promise<boolean>
chain
Chains all promises starting from initialPromise and binding chainers to next methodsParameters
Promise<any>
Returns Promise<any>
createDeferred
Creates a DeferredReturns Deferred<any>
promisifyFunction
Returns a new function that:- if last argument is a callback =>
it will mimic the function given.
- if last argument is not a callback =>
it will return a promise which will be resolved or rejected following the
execution of the function given.
Parametersfn
function (): Result
promisifyObject
Returns a new object with the result of having promisified all the methods of the one given.Parameters
object
Object
Returns Object
track
Returns an object with status and value properties that are updated as soon as the promise is resolved or rejectedParameters
promise
Promise<Result>
Returns PromiseInfo<$Supertype<Result>>
promiseTry
Returns a promise that will be resolved with the result of execute, or rejected with the error thrown by it (if any).Parameters
execute
function (): Result
Returns Promise<Result>