resolve-when
Returns a promise that resolves once condition is met
Installation
resolve-when
is published at npmjs.com, and can be installed using npm
or yarn
.
$ npm install resolve-when
$ yarn add resolve-when
import resolveWhen from 'resolve-when';
const resolveWhen = require('resolve-when');
Usage
resolveWhen
is a function with the following signature:
resolveWhen(condition, options)
condition
Function - a function that will be evaluated to determine when resolveWhen
should resolve. It is not passed any parameters. Defaults to a function that always resolves to true
options
Object
max
Integer - Maximum number of times that condition
should be ran. If max
is undefined, 0
, a negative number, or Infinity
, it will iterate forever. Defaults to undefined
interval
Integer - Number of milliseconds to wait before running condition
again. Defaults to 50
Defaults properties
resolveWhen.defaults
is a read-only property containing the default options
object used.
Return Values
If condition
returns true, resolveWhen
will resolve without any value.
If the maximum number of iterations has been reached and condition
has not returned true
, resolveWhen
will reject with Error(`Maximum iterations (${max}) exceeded`)
, where max
is the same as options.max
Contributing
$ git clone git@github.com:d4nyll/resolve-when.git
$ yarn
$ yarn run test
Tests
Tests are written in Mocha with the assert
module. We are also using lolex
as a fake timer to ensure our unit tests run as quick as possible.
Code Quality
We have used husky
to help you ensure:
- Your code is linted
- All tests pass
- Coverage is at 100%
Any PRs which does not pass the linter, tests or coverage tools will be rejected.
License