Socket
Socket
Sign inDemoInstall

promise-toolbox

Package Overview
Dependencies
Maintainers
2
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

promise-toolbox - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

31

dist/index.js

@@ -1,9 +0,9 @@

'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.TimeoutError=exports.Promise=exports.finally=exports.fromCallback=exports.forOwn=exports.forIterable=exports.forIn=exports.forEach=exports.forArray=exports.makeAsyncIterator=exports.defer=exports.cancellable=exports.nodeify=exports.isPromise=undefined;exports.all=all;exports.asCallback=asCallback;exports.delay=delay;exports.join=join;exports.lastly=lastly;exports.promisify=promisify;exports.promisifyAll=promisifyAll;exports.reflect=reflect;exports.settle=settle;exports.some=some;exports.timeout=timeout;var _anyPromise=require('any-promise');var _anyPromise2=_interopRequireDefault(_anyPromise);var _makeError=require('make-error');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;} // ===================================================================
var _toString=Object.prototype.toString;var _endsWith=function _endsWith(str,suffix){var pos=arguments.length<=2||arguments[2]===undefined?str.length:arguments[2];pos-=suffix.length;return str.indexOf(suffix,pos)===pos;};var _isArray=Array.isArray||(function(tag){return function(value){return _toString.call(value)===tag;};})(_toString.call([]));var _isFunction=(function(tag){return function(value){return _toString.call(value)===tag;};})(_toString.call(_toString));var _isLength=function _isLength(value){return typeof value==='number'&&value>=0&&value<Infinity&&Math.floor(value)===value;};var _isArrayLike=function _isArrayLike(value){return value&&_isLength(value.length);};var _isIterable=typeof Symbol==='function'?function(value){return value&&_isFunction(value[Symbol.iterator]);}:function(){return false;};var _noop=function _noop(){}; // -------------------------------------------------------------------
'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.TimeoutError=exports.finally=exports.fromCallback=exports.forOwn=exports.forIterable=exports.forIn=exports.forEach=exports.forArray=exports.makeAsyncIterator=exports.defer=exports.cancellable=exports.nodeify=exports.isPromise=undefined;exports.all=all;exports.asCallback=asCallback;exports.delay=delay;exports.join=join;exports.lastly=lastly;exports.promisify=promisify;exports.promisifyAll=promisifyAll;exports.reflect=reflect;exports.settle=settle;exports.some=some;exports.timeout=timeout;var _makeError=require('make-error');function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;} // ===================================================================
var _toString=Object.prototype.toString;var _endsWith=function _endsWith(str,suffix){var pos=arguments.length<=2||arguments[2]===undefined?str.length:arguments[2];pos-=suffix.length;return pos>=0&&str.indexOf(suffix,pos)===pos;};var _isArray=Array.isArray||function(tag){return function(value){return _toString.call(value)===tag;};}(_toString.call([]));var _isFunction=function(tag){return function(value){return _toString.call(value)===tag;};}(_toString.call(_toString));var _isLength=function _isLength(value){return typeof value==='number'&&value>=0&&value<Infinity&&Math.floor(value)===value;};var _isArrayLike=function _isArrayLike(value){return value&&_isLength(value.length);};var _isIterable=typeof Symbol==='function'?function(value){return value&&_isFunction(value[Symbol.iterator]);}:function(){return false;};var _noop=function _noop(){}; // -------------------------------------------------------------------
var _forArray=function _forArray(array,iteratee){var length=array.length;for(var i=0;i<length;++i){iteratee(array[i],i,array);}};var _forIn=function _forIn(object,iteratee){for(var key in object){iteratee(object[key],key,object);}};var _forIterable=function _forIterable(iterable,iteratee){var iterator=iterable[Symbol.iterator]();var current=undefined;while(!(current=iterator.next()).done){iteratee(current.value,null,iterable);}};var hasOwnProperty=Object.prototype.hasOwnProperty;var _forOwn=function _forOwn(object,iteratee){for(var key in object){if(hasOwnProperty.call(object,key)){iteratee(object[key],key,object);}}};var _forEach=function _forEach(collection,iteratee){return _isArray(collection)?_forArray(collection,iteratee):_isIterable(collection)?_forIterable(collection,iteratee):_isArrayLike(collection)?_forArray(collection,iteratee):_forOwn(collection,iteratee);};var _map=function _map(collection,iteratee){var result=_isArrayLike(collection)?new Array(collection.length):{}; // If iteratee is not a function, simply returns the new container.
if(iteratee){_forEach(collection,function(item,key){result[key]=iteratee(item,key,collection);});}return result;}; // ===================================================================
var isPromise=exports.isPromise=function isPromise(value){return value!=null&&typeof value.then==='function';}; // -------------------------------------------------------------------
var _makeAsyncIterator=function _makeAsyncIterator(iterator){return function(promises,cb){var mainPromise=_anyPromise2.default.resolve();iterator(promises,function(promise,key){mainPromise=mainPromise // Waits the current promise.
var _makeAsyncIterator=function _makeAsyncIterator(iterator){return function(promises,cb){var mainPromise=Promise.resolve();iterator(promises,function(promise,key){mainPromise=mainPromise // Waits the current promise.
.then(function(){return promise;}) // Executes the callback.
.then(function(value){return cb(value,key);});});return mainPromise;};};var _forEachAsync=_makeAsyncIterator(_forEach);var _wrap=function _wrap(value){return isPromise(value)?value:_anyPromise2.default.resolve(value);}; // ===================================================================
.then(function(value){return cb(value,key);});});return mainPromise;};};var _forEachAsync=_makeAsyncIterator(_forEach);var _wrap=function _wrap(value){return isPromise(value)?value:Promise.resolve(value);}; // ===================================================================
var _all=function _all(promises,mapFn){ // mapFn may be undefined but it's okay :)

@@ -34,5 +34,5 @@ var results=_map(promises,mapFn);return _forEachAsync(mapFn?results:promises,function(value,key){results[key]=value;}).then(function(){return results;});}; // Returns a promise which resolves when all the promises in a

// Discouraged but sometimes necessary way to create a promise.
var defer=exports.defer=function defer(){var resolve=undefined,reject=undefined;var promise=new _anyPromise2.default(function(resolve_,reject_){resolve=resolve_;reject=reject_;});return {promise:promise,reject:reject,resolve:resolve};}; // -------------------------------------------------------------------
var defer=exports.defer=function defer(){var resolve=undefined,reject=undefined;var promise=new Promise(function(resolve_,reject_){resolve=resolve_;reject=reject_;});return {promise:promise,reject:reject,resolve:resolve};}; // -------------------------------------------------------------------
// Usage: promise::delay(ms)
function delay(ms){return _wrap(this).then(function(value){return new _anyPromise2.default(function(resolve){setTimeout(function(){return resolve(value);},ms);});});} // -------------------------------------------------------------------
function delay(ms){return _wrap(this).then(function(value){return new Promise(function(resolve){setTimeout(function(){return resolve(value);},ms);});});} // -------------------------------------------------------------------
var makeAsyncIterator=exports.makeAsyncIterator=function makeAsyncIterator(iterator){var asyncIterator=_makeAsyncIterator(iterator);return function(cb){return _wrap(this).then(function(promises){return asyncIterator(promises,cb);}).then(_noop); // Resolves to undefined

@@ -46,5 +46,5 @@ };};var forArray=exports.forArray=makeAsyncIterator(_forArray);var forEach=exports.forEach=makeAsyncIterator(_forEach);var forIn=exports.forIn=makeAsyncIterator(_forIn);var forIterable=exports.forIterable=makeAsyncIterator(_forIterable);var forOwn=exports.forOwn=makeAsyncIterator(_forOwn); // -------------------------------------------------------------------

// })
var fromCallback=exports.fromCallback=function fromCallback(fn){return new _anyPromise2.default(function(resolve,reject){fn(function(error,result){return error?reject(error):resolve(result);});});}; // -------------------------------------------------------------------
var fromCallback=exports.fromCallback=function fromCallback(fn){return new Promise(function(resolve,reject){fn(function(error,result){return error?reject(error):resolve(result);});});}; // -------------------------------------------------------------------
// Usage: join(p1, ..., pn, cb) or join([p1, ..., pn], cb)
function join(){var n=arguments.length-1;var cb=arguments[n];var promises=undefined;if(n===0){return new _anyPromise2.default(function(resolve){return resolve(cb());});}else if(n!==1){promises=new Array(n);for(var i=0;i<n;++i){promises[i]=arguments[i];}}else if(!_isArrayLike(promises=arguments[0])){return _wrap(promises).then(function(value){return cb(value);});}return _all(promises).then(function(args){return cb.apply(null,args);});} // -------------------------------------------------------------------
function join(){var n=arguments.length-1;var cb=arguments[n];var promises=undefined;if(n===0){return new Promise(function(resolve){return resolve(cb());});}else if(n!==1){promises=new Array(n);for(var i=0;i<n;++i){promises[i]=arguments[i];}}else if(!_isArrayLike(promises=arguments[0])){return _wrap(promises).then(function(value){return cb(value);});}return _all(promises).then(function(args){return cb.apply(null,args);});} // -------------------------------------------------------------------
// Ponyfill for Promise.finally(cb)

@@ -54,7 +54,6 @@ //

function lastly(cb){return _wrap(this).then(function(value){return _wrap(cb()).then(function(){return value;});},function(reason){return _wrap(cb()).then(function(){throw reason;});});}exports.finally=lastly; // -------------------------------------------------------------------
exports.Promise=_anyPromise2.default; // -------------------------------------------------------------------
var _setFunctionNameAndLength=(function(){var _defineProperties=Object.defineProperties;try{var f=_defineProperties(function(){},{length:{value:2},name:{value:'foo'}});if(f.length===2&&f.name==='foo'){return function(fn,name,length){return _defineProperties(fn,{length:{configurable:true,value:length},name:{configurable:true,value:name}});};}}catch(_) {}return function(fn){return fn;};})(); // Usage: fn::promisify([ thisArg ])
function promisify(thisArg){var fn=this;return _setFunctionNameAndLength(function(){var _this=this;var _arguments=arguments;var length=_arguments.length;var args=new Array(length+1);for(var i=0;i<length;++i){args[i]=arguments[i];}return new _anyPromise2.default(function(resolve,reject){args[length]=function(error,result){return error?reject(error):resolve(result);};fn.apply(thisArg||_this,args);});},fn.name,fn.length&&fn.length-1);} // Usage: obj::promisifyAll([ mapper ])
var DEFAULT_PALL_MAPPER=function DEFAULT_PALL_MAPPER(name,fn){return !(_endsWith(name,'Sync')||_endsWith(name,'Async'))&&name+'Async';};function promisifyAll(){var _this2=this;var mapper=arguments.length<=0||arguments[0]===undefined?DEFAULT_PALL_MAPPER:arguments[0];var result={};_forIn(this,function(value,name){var newName=undefined;if(typeof value==='function'&&(newName=mapper(name,value,_this2))){result[newName]=promisify(value);}});return result;} // -------------------------------------------------------------------
var FN_FALSE=function FN_FALSE(){return false;};var FN_TRUE=function FN_TRUE(){return true;};var _reflectResolution=(function(__proto__){return function(_value){return {__proto__:__proto__,value:function value(){return _value;}};};})({isFulfilled:FN_TRUE,isPending:FN_FALSE,isRejected:FN_FALSE,isResolved:FN_TRUE,reason:function reason(){throw new Error('no reason, the promise has resolved');}});var _reflectRejection=(function(__proto__){return function(_reason){return {__proto__:__proto__,reason:function reason(){return _reason;}};};})({isFulfilled:FN_FALSE,isPending:FN_FALSE,isRejected:FN_TRUE,isResolved:FN_FALSE,value:function value(){throw new Error('no value, the promise has rejected');}}); // Returns a promise that is always successful when this promise is
var _setFunctionNameAndLength=function(){var _defineProperties=Object.defineProperties;try{var f=_defineProperties(function(){},{length:{value:2},name:{value:'foo'}});if(f.length===2&&f.name==='foo'){return function(fn,name,length){return _defineProperties(fn,{length:{configurable:true,value:length},name:{configurable:true,value:name}});};}}catch(_){}return function(fn){return fn;};}(); // Usage: fn::promisify([ thisArg ])
function promisify(thisArg){var fn=this;return _setFunctionNameAndLength(function(){var _this=this;var _arguments=arguments;var length=_arguments.length;var args=new Array(length+1);for(var i=0;i<length;++i){args[i]=arguments[i];}return new Promise(function(resolve,reject){args[length]=function(error,result){return error?reject(error):resolve(result);};fn.apply(thisArg||_this,args);});},fn.name,fn.length&&fn.length-1);} // Usage: obj::promisifyAll([ mapper ])
var DEFAULT_PALL_MAPPER=function DEFAULT_PALL_MAPPER(name,fn){return !(_endsWith(name,'Sync')||_endsWith(name,'Async'))&&name+'Async';};function promisifyAll(){var _this2=this;var mapper=arguments.length<=0||arguments[0]===undefined?DEFAULT_PALL_MAPPER:arguments[0];var result={};_forIn(this,function(value,name){var newName=undefined;if(typeof value==='function'&&(newName=mapper(name,value,_this2))){result[newName]=promisify.call(value);}});return result;} // -------------------------------------------------------------------
var FN_FALSE=function FN_FALSE(){return false;};var FN_TRUE=function FN_TRUE(){return true;};var _reflectResolution=function(__proto__){return function(_value){return {__proto__:__proto__,value:function value(){return _value;}};};}({isFulfilled:FN_TRUE,isPending:FN_FALSE,isRejected:FN_FALSE,isResolved:FN_TRUE,reason:function reason(){throw new Error('no reason, the promise has resolved');}});var _reflectRejection=function(__proto__){return function(_reason){return {__proto__:__proto__,reason:function reason(){return _reason;}};};}({isFulfilled:FN_FALSE,isPending:FN_FALSE,isRejected:FN_TRUE,isResolved:FN_FALSE,value:function value(){throw new Error('no value, the promise has rejected');}}); // Returns a promise that is always successful when this promise is
// settled. Its fulfillment value is an object that implements the

@@ -75,6 +74,6 @@ // PromiseInspection interface and reflects the resolution this

function settle(){return all.call(this,function(x){return reflect.call(x);});} // -------------------------------------------------------------------
var _some=function _some(promises,count){return new _anyPromise2.default(function(resolve,reject){var values=[];var errors=[];var onFulfillment=function onFulfillment(value){if(!values){return;}values.push(value);if(--count){resolve(values);values=errors=null;}};var acceptableErrors=-count;var onRejection=function onRejection(reason){if(!values){return;}errors.push(reason);if(--acceptableErrors){reject(errors);values=errors=null;}};_forEach(promises,function(promise){++acceptableErrors;_wrap(promise).then(onFulfillment,onRejection);});});}; // Usage: promises::some(count)
var _some=function _some(promises,count){return new Promise(function(resolve,reject){var values=[];var errors=[];var onFulfillment=function onFulfillment(value){if(!values){return;}values.push(value);if(--count){resolve(values);values=errors=null;}};var acceptableErrors=-count;var onRejection=function onRejection(reason){if(!values){return;}errors.push(reason);if(--acceptableErrors){reject(errors);values=errors=null;}};_forEach(promises,function(promise){++acceptableErrors;_wrap(promise).then(onFulfillment,onRejection);});});}; // Usage: promises::some(count)
function some(count){return _wrap(this).then(function(promises){return _some(promises,count);});} // -------------------------------------------------------------------
var TimeoutError=exports.TimeoutError=(function(_BaseError){_inherits(TimeoutError,_BaseError);function TimeoutError(){_classCallCheck(this,TimeoutError);return _possibleConstructorReturn(this,Object.getPrototypeOf(TimeoutError).call(this,'operation timed out'));}return TimeoutError;})(_makeError.BaseError); // Usage: promise::timeout(ms)
function timeout(ms){var _this4=this;return new _anyPromise2.default(function(resolve,reject){var handle=setTimeout(function(){reject(new TimeoutError());if(_isFunction(_this4.cancel)){_this4.cancel();}},ms);_wrap(_this4).then(function(value){clearTimeout(handle);resolve(value);},function(reason){clearTimeout(handle);reject(reason);});});}
var TimeoutError=exports.TimeoutError=function(_BaseError){_inherits(TimeoutError,_BaseError);function TimeoutError(){_classCallCheck(this,TimeoutError);return _possibleConstructorReturn(this,Object.getPrototypeOf(TimeoutError).call(this,'operation timed out'));}return TimeoutError;}(_makeError.BaseError); // Usage: promise::timeout(ms)
function timeout(ms){var _this4=this;return new Promise(function(resolve,reject){var handle=setTimeout(function(){reject(new TimeoutError());if(_isFunction(_this4.cancel)){_this4.cancel();}},ms);_wrap(_this4).then(function(value){clearTimeout(handle);resolve(value);},function(reason){clearTimeout(handle);reject(reason);});});}
//# sourceMappingURL=index.js.map

@@ -1,8 +0,8 @@

'use strict';var _slicedToArray=(function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err) {_d=true;_e=err;}finally {try{if(!_n&&_i["return"])_i["return"]();}finally {if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};})(); /* eslint-env mocha */var _anyPromise=require('any-promise');var _anyPromise2=_interopRequireDefault(_anyPromise);var _must=require('must');var _must2=_interopRequireDefault(_must);var _sinon=require('sinon');var _sinon2=_interopRequireDefault(_sinon);var _=require('./');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};} // ===================================================================
'use strict';var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally {try{if(!_n&&_i["return"])_i["return"]();}finally {if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}(); /* eslint-env mocha */var _must=require('must');var _must2=_interopRequireDefault(_must);var _sinon=require('sinon');var _sinon2=_interopRequireDefault(_sinon);var _=require('./');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};} // ===================================================================
describe('fromCallback()',function(){it('creates a promise which resolves with value passed to the callback',function(){return (0,_must2.default)((0,_.fromCallback)(function(cb){cb(null,'foo');})).to.resolve.to.equal('foo');});it('creates a promise which rejects with reason passed to the callback',function(){return (0,_must2.default)((0,_.fromCallback)(function(cb){cb('bar');})).to.reject.to.equal('bar');});}); // -------------------------------------------------------------------
describe('join()',function(){it('calls the callback once promises are resolved',function(){return (0,_.join)(_anyPromise2.default.resolve('foo'),_anyPromise2.default.resolve('bar'),function(foo,bar){(0,_must2.default)(foo).to.equal('foo');(0,_must2.default)(bar).to.equal('bar');});});it('can takes inputs in an array',function(){return (0,_.join)([_anyPromise2.default.resolve('foo'),_anyPromise2.default.resolve('bar')],function(foo,bar){(0,_must2.default)(foo).to.equal('foo');(0,_must2.default)(bar).to.equal('bar');});});it('rejects if one promise rejects',function(){return (0,_must2.default)((0,_.join)(_anyPromise2.default.resolve('foo'),_anyPromise2.default.reject('bar'),function(foo,bar){(0,_must2.default)(foo).to.equal('foo');(0,_must2.default)(bar).to.equal('bar');})).to.reject.to.equal('bar');});}); // -------------------------------------------------------------------
describe('lastly()',function(){it('calls a callback on resolution',function(){var _context;var value={};var spy=_sinon2.default.spy();return (0,_must2.default)((_context=_anyPromise2.default.resolve(value),_.lastly).call(_context,spy)).to.resolve.to.equal(value).then(function(){(0,_must2.default)(spy.callCount).to.equal(1);});});it('calls a callback on rejection',function(){var _context2;var reason={};var spy=_sinon2.default.spy();return (0,_must2.default)((_context2=_anyPromise2.default.reject(reason),_.lastly).call(_context2,spy)).to.reject.to.equal(reason).then(function(){(0,_must2.default)(spy.callCount).to.equal(1);});});}); // -------------------------------------------------------------------
describe('settle()',function(){it('works with arrays',function(){var _context3;return (_context3=[_anyPromise2.default.resolve(42),Math.PI,_anyPromise2.default.reject('fatality')],_.settle).call(_context3).then(function(_ref){var _ref2=_slicedToArray(_ref,3);var status1=_ref2[0];var status2=_ref2[1];var status3=_ref2[2];(0,_must2.default)(status1.isFulfilled()).to.equal(true);(0,_must2.default)(status2.isFulfilled()).to.equal(true);(0,_must2.default)(status3.isFulfilled()).to.equal(false); // Alias.
(0,_must2.default)(status1.isResolved()).to.equal(true);(0,_must2.default)(status2.isResolved()).to.equal(true);(0,_must2.default)(status3.isResolved()).to.equal(false);(0,_must2.default)(status1.isRejected()).to.equal(false);(0,_must2.default)(status2.isRejected()).to.equal(false);(0,_must2.default)(status3.isRejected()).to.equal(true);(0,_must2.default)(status1.value()).to.equal(42);(0,_must2.default)(status2.value()).to.equal(Math.PI);(0,_must2.default)(status3.value.bind(status3)).to.throw();(0,_must2.default)(status1.reason.bind(status1)).to.throw();(0,_must2.default)(status2.reason.bind(status2)).to.throw();(0,_must2.default)(status3.reason()).to.equal('fatality');});});it('works with objects',function(){var _context4;return (_context4={a:_anyPromise2.default.resolve(42),b:Math.PI,c:_anyPromise2.default.reject('fatality')},_.settle).call(_context4).then(function(_ref3){var status1=_ref3.a;var status2=_ref3.b;var status3=_ref3.c;(0,_must2.default)(status1.isFulfilled()).to.equal(true);(0,_must2.default)(status2.isFulfilled()).to.equal(true);(0,_must2.default)(status3.isFulfilled()).to.equal(false); // Alias.
describe('join()',function(){it('calls the callback once promises are resolved',function(){return (0,_.join)(Promise.resolve('foo'),Promise.resolve('bar'),function(foo,bar){(0,_must2.default)(foo).to.equal('foo');(0,_must2.default)(bar).to.equal('bar');});});it('can takes inputs in an array',function(){return (0,_.join)([Promise.resolve('foo'),Promise.resolve('bar')],function(foo,bar){(0,_must2.default)(foo).to.equal('foo');(0,_must2.default)(bar).to.equal('bar');});});it('rejects if one promise rejects',function(){return (0,_must2.default)((0,_.join)(Promise.resolve('foo'),Promise.reject('bar'),function(foo,bar){(0,_must2.default)(foo).to.equal('foo');(0,_must2.default)(bar).to.equal('bar');})).to.reject.to.equal('bar');});}); // -------------------------------------------------------------------
describe('lastly()',function(){it('calls a callback on resolution',function(){var _context;var value={};var spy=_sinon2.default.spy();return (0,_must2.default)((_context=Promise.resolve(value),_.lastly).call(_context,spy)).to.resolve.to.equal(value).then(function(){(0,_must2.default)(spy.callCount).to.equal(1);});});it('calls a callback on rejection',function(){var _context2;var reason={};var spy=_sinon2.default.spy();return (0,_must2.default)((_context2=Promise.reject(reason),_.lastly).call(_context2,spy)).to.reject.to.equal(reason).then(function(){(0,_must2.default)(spy.callCount).to.equal(1);});});}); // -------------------------------------------------------------------
describe('settle()',function(){it('works with arrays',function(){var _context3;return (_context3=[Promise.resolve(42),Math.PI,Promise.reject('fatality')],_.settle).call(_context3).then(function(_ref){var _ref2=_slicedToArray(_ref,3);var status1=_ref2[0];var status2=_ref2[1];var status3=_ref2[2];(0,_must2.default)(status1.isFulfilled()).to.equal(true);(0,_must2.default)(status2.isFulfilled()).to.equal(true);(0,_must2.default)(status3.isFulfilled()).to.equal(false); // Alias.
(0,_must2.default)(status1.isResolved()).to.equal(true);(0,_must2.default)(status2.isResolved()).to.equal(true);(0,_must2.default)(status3.isResolved()).to.equal(false);(0,_must2.default)(status1.isRejected()).to.equal(false);(0,_must2.default)(status2.isRejected()).to.equal(false);(0,_must2.default)(status3.isRejected()).to.equal(true);(0,_must2.default)(status1.value()).to.equal(42);(0,_must2.default)(status2.value()).to.equal(Math.PI);(0,_must2.default)(status3.value.bind(status3)).to.throw();(0,_must2.default)(status1.reason.bind(status1)).to.throw();(0,_must2.default)(status2.reason.bind(status2)).to.throw();(0,_must2.default)(status3.reason()).to.equal('fatality');});});it('works with objects',function(){var _context4;return (_context4={a:Promise.resolve(42),b:Math.PI,c:Promise.reject('fatality')},_.settle).call(_context4).then(function(_ref3){var status1=_ref3.a;var status2=_ref3.b;var status3=_ref3.c;(0,_must2.default)(status1.isFulfilled()).to.equal(true);(0,_must2.default)(status2.isFulfilled()).to.equal(true);(0,_must2.default)(status3.isFulfilled()).to.equal(false); // Alias.
(0,_must2.default)(status1.isResolved()).to.equal(true);(0,_must2.default)(status2.isResolved()).to.equal(true);(0,_must2.default)(status3.isResolved()).to.equal(false);(0,_must2.default)(status1.isRejected()).to.equal(false);(0,_must2.default)(status2.isRejected()).to.equal(false);(0,_must2.default)(status3.isRejected()).to.equal(true);(0,_must2.default)(status1.value()).to.equal(42);(0,_must2.default)(status2.value()).to.equal(Math.PI);(0,_must2.default)(status3.value.bind(status3)).to.throw();(0,_must2.default)(status1.reason.bind(status1)).to.throw();(0,_must2.default)(status2.reason.bind(status2)).to.throw();(0,_must2.default)(status3.reason()).to.equal('fatality');});});});
//# sourceMappingURL=index.spec.js.map
{
"name": "promise-toolbox",
"version": "0.1.0",
"version": "0.1.1",
"license": "ISC",

@@ -34,3 +34,2 @@ "description": "Essential utils for promises",

"dependencies": {
"any-promise": "^0.1.0",
"make-error": "^1.0.4"

@@ -37,0 +36,0 @@ },

@@ -7,3 +7,2 @@ # promise-toolbox [![Build Status](https://travis-ci.org/julien-f/js-promise-toolbox.png?branch=master)](https://travis-ci.org/julien-f/js-promise-toolbox)

- use the promise implementation you want (thanks to [any-promise](https://www.npmjs.com/package/any-promise))
- small (< 150 KB with all dependencies, < 5 KB with gzip)

@@ -22,13 +21,16 @@ - nice with ES2015 / ES2016 syntax

> The promise implementation used by this library is exposed as
> `Promise`.
If your environment may not natively support promises, you should use a polyfill such as [native-promise-only](https://github.com/getify/native-promise-only).
On Node, if you want to use a specific promise implementation,
[Bluebird](http://bluebirdjs.com/docs/why-bluebird.html) for instance
to have better performance, you can override the global Promise
variable:
```js
import { Promise } from 'promise-toolbox'
Promise.resolve('foo').then(value => {
console.log(value)
})
global.Promise = require('bluebird')
```
> Note that it should only be done at the application level, never in
> a library!
### Decorators

@@ -35,0 +37,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc