@jumpn/utils-promise
Promise utilities
NOTE: All the functions described in API are curried
Installation
npm
Using$ npm install --save @jumpn/utils-promise
yarn
Using$ 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 otherwise
Parameters
-
promise
Promise<any>
chain
Chains all promises starting from initialPromise and binding chainers to next methods
Parameters
Returns Promise<any>
createDeferred
Creates a Deferred
Returns 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.
Parameters
-
fn
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 rejected
Parameters
-
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>
License
MIT