This NightShift plugin replaces native ES6 promises by bluebird promises.
Bluebird promises can be added to NightShift as a plugin.
var nightShift = require('nightshift-core');
var bluebird = require('nightshift-bluebird');
nightShift.plugin(bluebird);
NightShift encourages the usage of promises instead of callback functions.
NightShift supports two ways of working with promises: one that creates a new promise for an executor function (like ES6 or bluebird), and the other one that creates a deferred object (like Q).
nightShift.promises.Promise
is the bluebird's constructor function.
The method nightShift.promises.newPromise(executor)
creates a new bluebird promise.
var promise = nightShift.promises.newPromise(function (resolve, reject) {
...
});
The method nightShift.promises.defer()
creates a deferred object that exposes the associated bluebird promise as well as the resolving functions that can be used to change its state.
var deferred = nightShift.promises.defer();
var promise = deferred.promise;
// use deferred.resolve(...) or deferred.reject(...) to change the state of the promise
The tests can be executed by running the command below.
npm install && npm test
The test coverage can be checked by running the command below. It executes the tests and it generates a coverage report in build/coverage/index.html.
npm install && npm build-coverage
The quality of the code can be checked by running the command below. It detects potential problems in the code with JSHint, it executes the tests and it generates a coverage report.
npm install && npm build