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 2.1.0 to 2.2.0

26

deferred_test.js

@@ -278,2 +278,12 @@ // Generated by CoffeeScript 1.6.3

});
it('should soak up extraneous promises', function() {
var def, promise;
def = new deferred.Deferred();
promise = def.promise().promise();
assertIsPromise(promise);
promise.done(function(arg) {
return assert.equal(arg, 42);
});
return def.resolve(42);
});
return describe('when', function() {

@@ -327,3 +337,3 @@ it('should return a promise', function() {

});
return it('should pass on arrays of arguments when used with multiple deferreds', function(done) {
it('should special case single or no arguments when using multiple deferreds', function(done) {
var after_all, d1, d2, d3;

@@ -335,4 +345,4 @@ d1 = new deferred.Deferred();

after_all.done(function(arg1, arg2, arg3) {
assert.deepEqual(arg1, [42]);
assert.deepEqual(arg2, []);
assert.equal(arg1, 42);
assert.equal(arg2, void 0);
assert.deepEqual(arg3, ['abc', 123]);

@@ -345,2 +355,12 @@ return done();

});
it('should handle non promise arguments', function() {
return deferred.when(1, 2, 42).done(function(arg1, arg2, arg3) {
assert.equal(arg1, 1);
assert.equal(arg2, 2);
return assert.equal(arg3, 42);
});
});
return it('should handle zero arguments', function(done) {
return deferred.when().done(done);
});
});

@@ -347,0 +367,0 @@ });

50

deferred.js
// Generated by CoffeeScript 1.6.3
(function() {
var Deferred, PENDING, REJECTED, RESOLVED, VERSION, after, execute, flatten, has, installInto, isArguments, wrap, _when,
var Deferred, PENDING, REJECTED, RESOLVED, VERSION, after, execute, flatten, has, installInto, isArguments, isPromise, wrap, _when,
__slice = [].slice;
VERSION = '2.1.0';
VERSION = '2.2.0';

@@ -22,2 +22,6 @@ PENDING = "pending";

isPromise = function(obj) {
return has(obj, 'promise') && typeof (obj != null ? obj.promise : void 0) === 'function';
};
flatten = function(array) {

@@ -71,5 +75,2 @@ if (isArguments(array)) {

var close, closingArguments, doneCallbacks, failCallbacks, state;
this.isPromise = function() {
return true;
};
state = PENDING;

@@ -115,3 +116,3 @@ doneCallbacks = [];

filteredArgs = filter.apply(null, args);
if (has(filteredArgs, 'isPromise') && filteredArgs.isPromise()) {
if (isPromise(filteredArgs)) {
return filteredArgs[source](function() {

@@ -140,2 +141,7 @@ var args;

candidate.then = pipe;
if (candidate.promise == null) {
candidate.promise = function() {
return candidate;
};
}
return candidate;

@@ -171,25 +177,27 @@ };

var def, defs, finish, resolutionArgs, trigger, _i, _len;
defs = flatten(arguments);
trigger = new Deferred();
defs = flatten(arguments);
if (defs.length === 1) {
defs[0].done(function() {
return trigger.resolve.apply(trigger, arguments);
});
} else {
resolutionArgs = [];
finish = after(defs.length, function() {
return trigger.resolve.apply(trigger, resolutionArgs);
});
defs.forEach(function(def, index) {
if (!defs.length) {
return trigger.resolve().promise();
}
resolutionArgs = [];
finish = after(defs.length, function() {
return trigger.resolve.apply(trigger, resolutionArgs);
});
defs.forEach(function(def, index) {
if (isPromise(def)) {
return def.done(function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
resolutionArgs[index] = args;
resolutionArgs[index] = args.length > 1 ? args : args[0];
return finish();
});
});
}
} else {
resolutionArgs[index] = def;
return finish();
}
});
for (_i = 0, _len = defs.length; _i < _len; _i++) {
def = defs[_i];
def.fail(trigger.reject);
isPromise(def) && def.fail(trigger.reject);
}

@@ -196,0 +204,0 @@ return trigger.promise();

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

!function(){var n,r,e,t,u,a,l,i,o,s,c,f,p,g=[].slice;u="2.1.0",r="pending",t="resolved",e="rejected",o=function(n,r){return null!=n?n.hasOwnProperty(r):void 0},c=function(n){return o(n,"length")&&o(n,"callee")},i=function(n){return c(n)?i(Array.prototype.slice.call(n)):Array.isArray(n)?n.reduce(function(n,r){return Array.isArray(r)?n.concat(i(r)):(n.push(r),n)},[]):[n]},a=function(n,r){return 0>=n?r():function(){return--n<1?r.apply(this,arguments):void 0}},f=function(n,r){return function(){var e;return e=[n].concat(Array.prototype.slice.call(arguments,0)),r.apply(this,e)}},l=function(n,r,e){var t,u,a,l,o;for(l=i(n),o=[],u=0,a=l.length;a>u;u++)t=l[u],o.push(t.call.apply(t,[e].concat(g.call(r))));return o},n=function(){var u,a,s,c,f;return this.isPromise=function(){return!0},f=r,s=[],c=[],a={},this.promise=function(u){var p,h;return u=u||{},u.state=function(){return f},h=function(n,e){return function(){return f===r&&e.push.apply(e,i(arguments)),n()&&l(arguments,a),u}},u.done=h(function(){return f===t},s),u.fail=h(function(){return f===e},c),u.always=function(){var n;return(n=u.done.apply(u,arguments)).fail.apply(n,arguments)},p=function(r,e){var t,a;return t=new n,a=function(n,r,e){return e?u[n](function(){var t,u;return t=1<=arguments.length?g.call(arguments,0):[],u=e.apply(null,t),o(u,"isPromise")&&u.isPromise()?u[n](function(){var n;return n=1<=arguments.length?g.call(arguments,0):[],r.apply(null,n)}):r(u)}):u[n](function(){var n;return n=1<=arguments.length?g.call(arguments,0):[],r.apply(null,n)})},a("done",t.resolve,r),a("fail",t.reject,e),t},u.pipe=p,u.then=p,u},this.promise(this),u=function(n,e,t){return function(){return f===r&&(f=n,a=arguments,l(e,a,t)),this}},this.resolve=u(t,s),this.reject=u(e,c),this.resolveWith=function(){var n,r;return r=arguments[0],n=2<=arguments.length?g.call(arguments,1):[],u(t,s,r).apply(null,n)},this.rejectWith=function(){var n,r;return r=arguments[0],n=2<=arguments.length?g.call(arguments,1):[],u(e,c,r).apply(null,n)},this},p=function(){var r,e,t,u,l,o,s;for(l=new n,e=i(arguments),1===e.length?e[0].done(function(){return l.resolve.apply(l,arguments)}):(u=[],t=a(e.length,function(){return l.resolve.apply(l,u)}),e.forEach(function(n,r){return n.done(function(){var n;return n=1<=arguments.length?g.call(arguments,0):[],u[r]=n,t()})})),o=0,s=e.length;s>o;o++)r=e[o],r.fail(l.reject);return l.promise()},s=function(r){return r.Deferred=function(){return new n},r.ajax=f(r.ajax,function(r,e){var t,u,a,l;return null==e&&(e={}),u=new n,t=function(n,r){return f(n,function(){var n,e;return e=arguments[0],n=2<=arguments.length?g.call(arguments,1):[],e&&e.apply(null,n),r.apply(null,n)})},e.success=t(e.success,u.resolve),e.error=t(e.error,u.reject),l=r(e),a=u.promise(),a.abort=function(){return l.abort()},a}),r.when=p},"undefined"!=typeof exports?(exports.Deferred=function(){return new n},exports.when=p,exports.installInto=s):(this.Deferred=function(){return new n},this.Deferred.when=p,this.Deferred.installInto=s)}.call(this);
!function(){var n,r,e,t,u,a,l,o,i,s,c,f,p,g,h=[].slice;u="2.2.0",r="pending",t="resolved",e="rejected",i=function(n,r){return null!=n?n.hasOwnProperty(r):void 0},c=function(n){return i(n,"length")&&i(n,"callee")},f=function(n){return i(n,"promise")&&"function"==typeof(null!=n?n.promise:void 0)},o=function(n){return c(n)?o(Array.prototype.slice.call(n)):Array.isArray(n)?n.reduce(function(n,r){return Array.isArray(r)?n.concat(o(r)):(n.push(r),n)},[]):[n]},a=function(n,r){return 0>=n?r():function(){return--n<1?r.apply(this,arguments):void 0}},p=function(n,r){return function(){var e;return e=[n].concat(Array.prototype.slice.call(arguments,0)),r.apply(this,e)}},l=function(n,r,e){var t,u,a,l,i;for(l=o(n),i=[],u=0,a=l.length;a>u;u++)t=l[u],i.push(t.call.apply(t,[e].concat(h.call(r))));return i},n=function(){var u,a,i,s,c;return c=r,i=[],s=[],a={},this.promise=function(u){var p,g;return u=u||{},u.state=function(){return c},g=function(n,e){return function(){return c===r&&e.push.apply(e,o(arguments)),n()&&l(arguments,a),u}},u.done=g(function(){return c===t},i),u.fail=g(function(){return c===e},s),u.always=function(){var n;return(n=u.done.apply(u,arguments)).fail.apply(n,arguments)},p=function(r,e){var t,a;return t=new n,a=function(n,r,e){return e?u[n](function(){var t,u;return t=1<=arguments.length?h.call(arguments,0):[],u=e.apply(null,t),f(u)?u[n](function(){var n;return n=1<=arguments.length?h.call(arguments,0):[],r.apply(null,n)}):r(u)}):u[n](function(){var n;return n=1<=arguments.length?h.call(arguments,0):[],r.apply(null,n)})},a("done",t.resolve,r),a("fail",t.reject,e),t},u.pipe=p,u.then=p,null==u.promise&&(u.promise=function(){return u}),u},this.promise(this),u=function(n,e,t){return function(){return c===r&&(c=n,a=arguments,l(e,a,t)),this}},this.resolve=u(t,i),this.reject=u(e,s),this.resolveWith=function(){var n,r;return r=arguments[0],n=2<=arguments.length?h.call(arguments,1):[],u(t,i,r).apply(null,n)},this.rejectWith=function(){var n,r;return r=arguments[0],n=2<=arguments.length?h.call(arguments,1):[],u(e,s,r).apply(null,n)},this},g=function(){var r,e,t,u,l,i,s;if(e=o(arguments),l=new n,!e.length)return l.resolve().promise();for(u=[],t=a(e.length,function(){return l.resolve.apply(l,u)}),e.forEach(function(n,r){return f(n)?n.done(function(){var n;return n=1<=arguments.length?h.call(arguments,0):[],u[r]=n.length>1?n:n[0],t()}):(u[r]=n,t())}),i=0,s=e.length;s>i;i++)r=e[i],f(r)&&r.fail(l.reject);return l.promise()},s=function(r){return r.Deferred=function(){return new n},r.ajax=p(r.ajax,function(r,e){var t,u,a,l;return null==e&&(e={}),u=new n,t=function(n,r){return p(n,function(){var n,e;return e=arguments[0],n=2<=arguments.length?h.call(arguments,1):[],e&&e.apply(null,n),r.apply(null,n)})},e.success=t(e.success,u.resolve),e.error=t(e.error,u.reject),l=r(e),a=u.promise(),a.abort=function(){return l.abort()},a}),r.when=g},"undefined"!=typeof exports?(exports.Deferred=function(){return new n},exports.when=g,exports.installInto=s):(this.Deferred=function(){return new n},this.Deferred.when=g,this.Deferred.installInto=s)}.call(this);

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

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

@@ -8,0 +8,0 @@ "repository": {

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