@jumpn/utils-promise

0.3.1 • Public • Published

@jumpn/utils-promise

Promise utilities

NOTE: All the functions described in API are curried

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 otherwise

Parameters

Returns Promise<boolean>

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

Returns Object

track

Returns an object with status and value properties that are updated as soon as the promise is resolved or rejected

Parameters

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 ©️ Jumpn Limited / Mauro Titimoli (mauro@jumpn.com)

Readme

Keywords

none

Package Sidebar

Install

npm i @jumpn/utils-promise

Weekly Downloads

990

Version

0.3.1

License

MIT

Last publish

Collaborators

  • tlvenn
  • mgtitimoli