Socket
Socket
Sign inDemoInstall

simply-deferred

Package Overview
Dependencies
0
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.4 to 1.2.1

85

deferred_test.js

@@ -12,3 +12,3 @@ // Generated by CoffeeScript 1.3.1

expectedMethods = ['done', 'fail', 'always', 'state'];
expectedMethods = ['done', 'fail', 'always', 'state', 'then', 'pipe'];

@@ -121,2 +121,63 @@ assertHasPromiseApi = function(promise) {

});
describe('pipe', function() {
it('should pipe on resolution', function(done) {
var def, filtered, finisher;
finisher = function(value) {
if (value === 10) {
return done();
}
};
def = new deferred.Deferred();
filtered = def.pipe(function(value) {
return value * 2;
});
def.resolve(5);
return filtered.done(finisher);
});
it('should pipe on rejection', function(done) {
var def, filtered, finisher;
finisher = function(value) {
if (value === 6) {
return done();
}
};
def = new deferred.Deferred();
filtered = def.pipe(null, function(value) {
return value * 3;
});
def.reject(2);
return filtered.fail(finisher);
});
it('should pass through for null filters for done', function(done) {
var def, filtered, finisher;
finisher = function(value) {
if (value === 5) {
return done();
}
};
def = new deferred.Deferred();
filtered = def.pipe(null, null);
def.resolve(5);
return filtered.done(finisher);
});
return it('should pass through for null filters for fail', function(done) {
var def, filtered, finisher;
finisher = function(value) {
if (value === 5) {
return done();
}
};
def = new deferred.Deferred();
filtered = def.pipe(null, null);
def.reject(5);
return filtered.fail(finisher);
});
});
describe('then', function() {
return it('should alias pipe', function() {
var def;
def = new deferred.Deferred();
return assert.equal(def.then, def.pipe);
});
});
describe('promises', function() {

@@ -148,5 +209,25 @@ it('should provide a promise that has a restricted API', function(done) {

return describe('when', function() {
return it('should return a promise', function() {
it('should return a promise', function() {
return assertIsPromise(deferred.when(new deferred.Deferred()));
});
it('should resolve when all deps have succeeded', function() {
var after_all, d1, d2;
d1 = new deferred.Deferred();
d2 = new deferred.Deferred();
after_all = deferred.when(d1, d2);
d1.resolve();
assert.equal(after_all.state(), 'pending');
d2.resolve();
return assert.equal(after_all.state(), 'resolved');
});
return it('should reject when there are some failures', function() {
var after_all, d1, d2;
d1 = new deferred.Deferred();
d2 = new deferred.Deferred();
after_all = deferred.when(d1, d2);
d1.resolve();
assert.equal(after_all.state(), 'pending');
d2.reject();
return assert.equal(after_all.state(), 'rejected');
});
});

@@ -153,0 +234,0 @@ });

// Generated by CoffeeScript 1.3.1
/*
Simply Deferred - v.1.1.4
Simply Deferred - v.1.2.1
(c) 2012 Sudhir Jonathan, contact.me@sudhirjonathan.com, MIT Licensed.

@@ -82,3 +82,3 @@ Portions of this code are inspired and borrowed from Underscore.js (http://underscorejs.org/) (MIT License)

this.promise = function(candidate) {
var storeCallbacks;
var pipe, storeCallbacks;
candidate = candidate || {};

@@ -99,2 +99,20 @@ candidate.state = function() {

};
pipe = function(doneFilter, failFilter) {
var deferred, filter;
deferred = new Deferred();
filter = function(target, source, filter) {
if (filter) {
return target(function() {
return source(filter.apply(null, flatten(arguments)));
});
} else {
return target(function() {
return source.apply(null, flatten(arguments));
});
}
};
filter(candidate.done, deferred.resolve, doneFilter);
filter(candidate.fail, deferred.reject, failFilter);
return deferred;
};
candidate.done = storeCallbacks((function() {

@@ -109,2 +127,4 @@ return state === RESOLVED;

}), alwaysCallbacks);
candidate.pipe = pipe;
candidate.then = pipe;
return candidate;

@@ -129,3 +149,3 @@ };

_when = function() {
var def, defs, finish, trigger, _i, _len;
var def, defs, finish, trigger, _i, _j, _len, _len1;
trigger = new Deferred();

@@ -138,2 +158,8 @@ defs = flatten(arguments);

}
for (_j = 0, _len1 = defs.length; _j < _len1; _j++) {
def = defs[_j];
def.fail(function() {
return trigger.reject();
});
}
return trigger.promise();

@@ -140,0 +166,0 @@ };

4

deferred.min.js
// Generated by CoffeeScript 1.3.1
/*
Simply Deferred - v.1.1.4
Simply Deferred - v.1.2.1
(c) 2012 Sudhir Jonathan, contact.me@sudhirjonathan.com, MIT Licensed.
Portions of this code are inspired and borrowed from Underscore.js (http://underscorejs.org/) (MIT License)
*/(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m=[].slice;b="pending",d="resolved",c="rejected",h=function(a,b){return a!=null?a.hasOwnProperty(b):void 0},j=function(a){return h(a,"length")&&h(a,"callee")},g=function(a){return j(a)?g(Array.prototype.slice.call(a)):Array.isArray(a)?a.reduce(function(a,b){return Array.isArray(b)?a.concat(g(b)):(a.push(b),a)},[]):[a]},e=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},k=function(a,b){return function(){var c;return c=[a].concat(Array.prototype.slice.call(arguments,0)),b.apply(this,c)}},f=function(a,b){var c,d,e,f,h;f=g(a),h=[];for(d=0,e=f.length;d<e;d++)c=f[d],h.push(c.apply(null,b));return h},a=function(){var a,e,h,i,j,k;return k=b,i=[],j=[],a=[],h={},this.promise=function(e){var l;return e=e||{},e.state=function(){return k},l=function(a,c){return function(){return k===b&&c.push.apply(c,g(arguments)),a()&&f(arguments,h),e}},e.done=l(function(){return k===d},i),e.fail=l(function(){return k===c},j),e.always=l(function(){return k!==b},a),e},this.promise(this),e=function(c,d){return function(){return k===b&&(k=c,h=arguments,f([d,a],h)),this}},this.resolve=e(d,i),this.reject=e(c,j),this},l=function(){var b,c,d,f,h,i;f=new a,c=g(arguments),d=e(c.length,f.resolve);for(h=0,i=c.length;h<i;h++)b=c[h],b.done(d);return f.promise()},i=function(b){return b.Deferred=function(){return new a},b.ajax=k(b.ajax,function(b,c){var d,e;return c==null&&(c={}),e=new a,d=function(a,b){return k(a,function(){var a,c;return c=arguments[0],a=2<=arguments.length?m.call(arguments,1):[],c&&c.apply(null,a),b.apply(null,a)})},c.success=d(c.success,e.resolve),c.error=d(c.error,e.reject),b(c),e.promise()}),b.when=l},typeof exports!="undefined"?(exports.Deferred=function(){return new a},exports.when=l,exports.installInto=i):(this.Deferred=function(){return new a},this.Deferred.when=l,this.Deferred.installInto=i)}).call(this);
*/(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m=[].slice;b="pending",d="resolved",c="rejected",h=function(a,b){return a!=null?a.hasOwnProperty(b):void 0},j=function(a){return h(a,"length")&&h(a,"callee")},g=function(a){return j(a)?g(Array.prototype.slice.call(a)):Array.isArray(a)?a.reduce(function(a,b){return Array.isArray(b)?a.concat(g(b)):(a.push(b),a)},[]):[a]},e=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},k=function(a,b){return function(){var c;return c=[a].concat(Array.prototype.slice.call(arguments,0)),b.apply(this,c)}},f=function(a,b){var c,d,e,f,h;f=g(a),h=[];for(d=0,e=f.length;d<e;d++)c=f[d],h.push(c.apply(null,b));return h},a=function(){var e,h,i,j,k,l;return l=b,j=[],k=[],e=[],i={},this.promise=function(h){var m,n;return h=h||{},h.state=function(){return l},n=function(a,c){return function(){return l===b&&c.push.apply(c,g(arguments)),a()&&f(arguments,i),h}},m=function(b,c){var d,e;return d=new a,e=function(a,b,c){return c?a(function(){return b(c.apply(null,g(arguments)))}):a(function(){return b.apply(null,g(arguments))})},e(h.done,d.resolve,b),e(h.fail,d.reject,c),d},h.done=n(function(){return l===d},j),h.fail=n(function(){return l===c},k),h.always=n(function(){return l!==b},e),h.pipe=m,h.then=m,h},this.promise(this),h=function(a,c){return function(){return l===b&&(l=a,i=arguments,f([c,e],i)),this}},this.resolve=h(d,j),this.reject=h(c,k),this},l=function(){var b,c,d,f,h,i,j,k;f=new a,c=g(arguments),d=e(c.length,f.resolve);for(h=0,j=c.length;h<j;h++)b=c[h],b.done(d);for(i=0,k=c.length;i<k;i++)b=c[i],b.fail(function(){return f.reject()});return f.promise()},i=function(b){return b.Deferred=function(){return new a},b.ajax=k(b.ajax,function(b,c){var d,e;return c==null&&(c={}),e=new a,d=function(a,b){return k(a,function(){var a,c;return c=arguments[0],a=2<=arguments.length?m.call(arguments,1):[],c&&c.apply(null,a),b.apply(null,a)})},c.success=d(c.success,e.resolve),c.error=d(c.error,e.reject),b(c),e.promise()}),b.when=l},typeof exports!="undefined"?(exports.Deferred=function(){return new a},exports.when=l,exports.installInto=i):(this.Deferred=function(){return new a},this.Deferred.when=l,this.Deferred.installInto=i)}).call(this);

@@ -5,3 +5,3 @@ {

"description": "A deferred library for Node.js and the browser with a simplified jQuery compatible API",
"version": "1.1.4",
"version": "1.2.1",
"homepage": "http://sudhirj.github.com/simply-deferred/",

@@ -14,3 +14,3 @@ "repository": {

"dependencies": [],
"devDependencies": ["mocha"],
"devDependencies": ["mocha", "underscore"],
"optionalDependencies": {},

@@ -17,0 +17,0 @@ "engines": {

@@ -32,2 +32,4 @@ #Simply Deferred

* `deferred.reject()`
* `deferred.pipe()`
* `deferred.then()`
* `when()`

@@ -34,0 +36,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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc