Socket
Socket
Sign inDemoInstall

vow

Package Overview
Dependencies
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vow - npm Package Compare versions

Comparing version 0.4.4 to 0.4.5

test.js

58

lib/vow.js
/**
* @module vow
* @author Filatov Dmitry <dfilatov@yandex-team.ru>
* @version 0.4.4
* @version 0.4.5
* @license

@@ -108,4 +108,5 @@ * Dual licensed under the MIT and GPL licenses:

PENDING : 0,
FULFILLED : 1,
REJECTED : -1
RESOLVED : 1,
FULFILLED : 2,
REJECTED : 3
};

@@ -411,3 +412,3 @@

_resolve : function(val) {
if(this._status !== PROMISE_STATUS.PENDING) {
if(this._status > PROMISE_STATUS.RESOLVED) {
return;

@@ -421,8 +422,14 @@ }

this._status = PROMISE_STATUS.RESOLVED;
if(val && !!val._vow) { // shortpath for vow.Promise
val.then(
this._resolve,
this._reject,
this._notify,
this);
val.isFulfilled()?
this._fulfill(val.valueOf()) :
val.isRejected()?
this._reject(val.valueOf()) :
val.then(
this._fulfill,
this._reject,
this._notify,
this);
return;

@@ -480,3 +487,3 @@ }

_fulfill : function(val) {
if(this._status !== PROMISE_STATUS.PENDING) {
if(this._status > PROMISE_STATUS.RESOLVED) {
return;

@@ -493,3 +500,3 @@ }

_reject : function(reason) {
if(this._status !== PROMISE_STATUS.PENDING) {
if(this._status > PROMISE_STATUS.RESOLVED) {
return;

@@ -535,3 +542,3 @@ }

if(this._status === PROMISE_STATUS.PENDING) {
if(this._status <= PROMISE_STATUS.RESOLVED) {
this._progressCallbacks.push({ defer : defer, fn : onProgress, ctx : ctx });

@@ -836,5 +843,12 @@ }

fulfill : function(value) {
return vow.when(value, null, function(reason) {
return reason;
});
var defer = vow.defer(),
promise = defer.promise();
defer.resolve(value);
return promise.isFulfilled()?
promise :
promise.then(null, function(reason) {
return reason;
});
},

@@ -850,5 +864,13 @@

reject : function(reason) {
return vow.when(reason, function(val) {
throw val;
});
if(vow.isPromise(reason)) {
return reason.then(function(val) {
var defer = vow.defer();
defer.reject(val);
return defer.promise();
});
}
var defer = vow.defer();
defer.reject(reason);
return defer.promise();
},

@@ -855,0 +877,0 @@

{
"name" : "vow",
"version" : "0.4.4",
"version" : "0.4.5",
"description" : "DOM Promise and Promises/A+ implementation for Node.js and browsers",

@@ -5,0 +5,0 @@ "homepage" : "https://github.com/dfilatov/vow",

/**
* @module vow
* @author Filatov Dmitry <dfilatov@yandex-team.ru>
* @version 0.4.3
* @version 0.4.5
* @license

@@ -9,2 +9,2 @@ * Dual licensed under the MIT and GPL licenses:

* * http://www.gnu.org/licenses/gpl.html
*/(function(e){var t=function(){this._promise=new r};t.prototype={promise:function(){return this._promise},resolve:function(e){this._promise.isResolved()||this._promise._resolve(e)},reject:function(e){this._promise.isResolved()||this._promise._reject(e)},notify:function(e){this._promise.isResolved()||this._promise._notify(e)}};var n={PENDING:0,FULFILLED:1,REJECTED:-1},r=function(e){this._value=u,this._status=n.PENDING,this._fulfilledCallbacks=[],this._rejectedCallbacks=[],this._progressCallbacks=[];if(e){var t=this,r=e.length;e(function(e){t.isResolved()||t._resolve(e)},r>1?function(e){t.isResolved()||t._reject(e)}:u,r>2?function(e){t.isResolved()||t._notify(e)}:u)}};r.prototype={valueOf:function(){return this._value},isResolved:function(){return this._status!==n.PENDING},isFulfilled:function(){return this._status===n.FULFILLED},isRejected:function(){return this._status===n.REJECTED},then:function(e,n,r,i){var s=new t;return this._addCallbacks(s,e,n,r,i),s.promise()},"catch":function(e,t){return this.then(u,e,t)},fail:function(e,t){return this.then(u,e,t)},always:function(e,t){var n=this,r=function(){return e.call(this,n)};return this.then(r,r,t)},progress:function(e,t){return this.then(u,u,e,t)},spread:function(e,t,n){return this.then(function(t){return e.apply(this,t)},t,n)},done:function(e,t,n,r){this.then(e,t,n,r).fail(f)},delay:function(e){var n,r=this.then(function(r){var i=new t;return n=setTimeout(function(){i.resolve(r)},e),i.promise()});return r.always(function(){clearTimeout(n)}),r},timeout:function(e){var n=new t,r=setTimeout(function(){n.reject(Error("timed out"))},e);return this.then(function(e){n.resolve(e)},function(e){n.reject(e)}),n.promise().always(function(){clearTimeout(r)}),n.promise()},_vow:!0,_resolve:function(e){if(this._status!==n.PENDING)return;if(e===this){this._reject(TypeError("Can't resolve promise with itself"));return}if(e&&!!e._vow){e.then(this._resolve,this._reject,this._notify,this);return}if(c(e)||l(e)){var t;try{t=e.then}catch(r){this._reject(r);return}if(l(t)){var i=this,s=!1;try{t.call(e,function(e){if(s)return;s=!0,i._resolve(e)},function(e){if(s)return;s=!0,i._reject(e)},function(e){i._notify(e)})}catch(r){s||this._reject(r)}return}}this._fulfill(e)},_fulfill:function(e){if(this._status!==n.PENDING)return;this._status=n.FULFILLED,this._value=e,this._callCallbacks(this._fulfilledCallbacks,e),this._fulfilledCallbacks=this._rejectedCallbacks=this._progressCallbacks=u},_reject:function(e){if(this._status!==n.PENDING)return;this._status=n.REJECTED,this._value=e,this._callCallbacks(this._rejectedCallbacks,e),this._fulfilledCallbacks=this._rejectedCallbacks=this._progressCallbacks=u},_notify:function(e){this._callCallbacks(this._progressCallbacks,e)},_addCallbacks:function(e,t,r,i,s){r&&!l(r)?(s=r,r=u):i&&!l(i)&&(s=i,i=u);var o;this.isRejected()||(o={defer:e,fn:l(t)?t:u,ctx:s},this.isFulfilled()?this._callCallbacks([o],this._value):this._fulfilledCallbacks.push(o)),this.isFulfilled()||(o={defer:e,fn:r,ctx:s},this.isRejected()?this._callCallbacks([o],this._value):this._rejectedCallbacks.push(o)),this._status===n.PENDING&&this._progressCallbacks.push({defer:e,fn:i,ctx:s})},_callCallbacks:function(e,t){var n=e.length;if(!n)return;var r=this.isResolved(),i=this.isFulfilled();a(function(){var s=0,o,u,a;while(s<n){o=e[s++],u=o.defer,a=o.fn;if(a){var f=o.ctx,l;try{l=f?a.call(f,t):a(t)}catch(c){u.reject(c);continue}r?u.resolve(l):u.notify(l)}else r?i?u.resolve(t):u.reject(t):u.notify(t)}})}};var i={cast:function(e){return o.cast(e)},all:function(e){return o.all(e)},race:function(e){return o.anyResolved(e)},resolve:function(e){return o.resolve(e)},reject:function(e){return o.reject(e)}};for(var s in i)i.hasOwnProperty(s)&&(r[s]=i[s]);var o={Deferred:t,Promise:r,defer:function(){return new t},when:function(e,t,n,r,i){return o.cast(e).then(t,n,r,i)},fail:function(e,t,n){return o.when(e,u,t,n)},always:function(e,t,n){return o.when(e).always(t,n)},progress:function(e,t,n){return o.when(e).progress(t,n)},spread:function(e,t,n,r){return o.when(e).spread(t,n,r)},done:function(e,t,n,r,i){o.when(e).done(t,n,r,i)},isPromise:function(e){return c(e)&&l(e.then)},cast:function(e){return o.isPromise(e)?e:o.resolve(e)},valueOf:function(e){return e&&l(e.valueOf)?e.valueOf():e},isFulfilled:function(e){return e&&l(e.isFulfilled)?e.isFulfilled():!0},isRejected:function(e){return e&&l(e.isRejected)?e.isRejected():!1},isResolved:function(e){return e&&l(e.isResolved)?e.isResolved():!0},resolve:function(e){var t=o.defer();return t.resolve(e),t.promise()},fulfill:function(e){return o.when(e,null,function(e){return e})},reject:function(e){return o.when(e,function(e){throw e})},invoke:function(t,n){var r=Math.max(arguments.length-1,0),i;if(r){i=Array(r);var s=0;while(s<r)i[s++]=arguments[s]}try{return o.resolve(i?t.apply(e,i):t.call(e))}catch(u){return o.reject(u)}},all:function(e){var n=new t,r=p(e),i=r?d(e):v(e),s=i.length,u=r?[]:{};if(!s)return n.resolve(u),n.promise();var a=s;return o._forEach(e,function(){if(!--a){var t=0;while(t<s)u[i[t]]=o.valueOf(e[i[t++]]);n.resolve(u)}},n.reject,n.notify,n,i),n.promise()},allResolved:function(e){var n=new t,r=p(e),i=r?d(e):v(e),s=i.length,u=r?[]:{};if(!s)return n.resolve(u),n.promise();var a=function(){--s||n.resolve(e)};return o._forEach(e,a,a,n.notify,n,i),n.promise()},allPatiently:function(e){return o.allResolved(e).then(function(){var t=p(e),n=t?d(e):v(e),r,i,s=n.length,u=0,a,f;if(!s)return t?[]:{};while(u<s)a=n[u++],f=e[a],o.isRejected(f)?(r||(r=t?[]:{}),t?r.push(f.valueOf()):r[a]=f.valueOf()):r||((i||(i=t?[]:{}))[a]=o.valueOf(f));if(r)throw r;return i})},any:function(e){var n=new t,r=e.length;if(!r)return n.reject(Error()),n.promise();var i=0,s;return o._forEach(e,n.resolve,function(e){i||(s=e),++i===r&&n.reject(s)},n.notify,n),n.promise()},anyResolved:function(e){var n=new t,r=e.length;return r?(o._forEach(e,n.resolve,n.reject,n.notify,n),n.promise()):(n.reject(Error()),n.promise())},delay:function(e,t){return o.resolve(e).delay(t)},timeout:function(e,t){return o.resolve(e).timeout(t)},_forEach:function(e,t,n,r,i,s){var u=s?s.length:e.length,a=0;while(a<u)o.when(e[s?s[a]:a],t,n,r,i),++a}},u,a=function(){var t=[],n=function(e){return t.push(e)===1},r=function(){var e=t,n=0,r=t.length;t=[];while(n<r)e[n++]()};if(typeof setImmediate=="function")return function(e){n(e)&&setImmediate(r)};if(typeof process=="object"&&process.nextTick)return function(e){n(e)&&process.nextTick(r)};if(e.postMessage){var i=!0;if(e.attachEvent){var s=function(){i=!1};e.attachEvent("onmessage",s),e.postMessage("__checkAsync","*"),e.detachEvent("onmessage",s)}if(i){var o="__promise"+ +(new Date),u=function(e){e.data===o&&(e.stopPropagation&&e.stopPropagation(),r())};return e.addEventListener?e.addEventListener("message",u,!0):e.attachEvent("onmessage",u),function(t){n(t)&&e.postMessage(o,"*")}}}var a=e.document;if("onreadystatechange"in a.createElement("script")){var f=function(){var e=a.createElement("script");e.onreadystatechange=function(){e.parentNode.removeChild(e),e=e.onreadystatechange=null,r()},(a.documentElement||a.body).appendChild(e)};return function(e){n(e)&&f()}}return function(e){n(e)&&setTimeout(r,0)}}(),f=function(e){a(function(){throw e})},l=function(e){return typeof e=="function"},c=function(e){return e!==null&&typeof e=="object"},h=Object.prototype.toString,p=Array.isArray||function(e){return h.call(e)==="[object Array]"},d=function(e){var t=[],n=0,r=e.length;while(n<r)t.push(n++);return t},v=Object.keys||function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t},m=!0;typeof exports=="object"&&(module.exports=o,m=!1),typeof modules=="object"&&(modules.define("vow",function(e){e(o)}),m=!1),typeof define=="function"&&(define(function(e,t,n){n.exports=o}),m=!1),m&&(e.vow=o)})(this);
*/(function(e){var t=function(){this._promise=new r};t.prototype={promise:function(){return this._promise},resolve:function(e){this._promise.isResolved()||this._promise._resolve(e)},reject:function(e){this._promise.isResolved()||this._promise._reject(e)},notify:function(e){this._promise.isResolved()||this._promise._notify(e)}};var n={PENDING:0,RESOLVED:1,FULFILLED:2,REJECTED:3},r=function(e){this._value=u,this._status=n.PENDING,this._fulfilledCallbacks=[],this._rejectedCallbacks=[],this._progressCallbacks=[];if(e){var t=this,r=e.length;e(function(e){t.isResolved()||t._resolve(e)},r>1?function(e){t.isResolved()||t._reject(e)}:u,r>2?function(e){t.isResolved()||t._notify(e)}:u)}};r.prototype={valueOf:function(){return this._value},isResolved:function(){return this._status!==n.PENDING},isFulfilled:function(){return this._status===n.FULFILLED},isRejected:function(){return this._status===n.REJECTED},then:function(e,n,r,i){var s=new t;return this._addCallbacks(s,e,n,r,i),s.promise()},"catch":function(e,t){return this.then(u,e,t)},fail:function(e,t){return this.then(u,e,t)},always:function(e,t){var n=this,r=function(){return e.call(this,n)};return this.then(r,r,t)},progress:function(e,t){return this.then(u,u,e,t)},spread:function(e,t,n){return this.then(function(t){return e.apply(this,t)},t,n)},done:function(e,t,n,r){this.then(e,t,n,r).fail(f)},delay:function(e){var n,r=this.then(function(r){var i=new t;return n=setTimeout(function(){i.resolve(r)},e),i.promise()});return r.always(function(){clearTimeout(n)}),r},timeout:function(e){var n=new t,r=setTimeout(function(){n.reject(Error("timed out"))},e);return this.then(function(e){n.resolve(e)},function(e){n.reject(e)}),n.promise().always(function(){clearTimeout(r)}),n.promise()},_vow:!0,_resolve:function(e){if(this._status>n.RESOLVED)return;if(e===this){this._reject(TypeError("Can't resolve promise with itself"));return}this._status=n.RESOLVED;if(e&&!!e._vow){e.isFulfilled()?this._fulfill(e.valueOf()):e.isRejected()?this._reject(e.valueOf()):e.then(this._fulfill,this._reject,this._notify,this);return}if(c(e)||l(e)){var t;try{t=e.then}catch(r){this._reject(r);return}if(l(t)){var i=this,s=!1;try{t.call(e,function(e){if(s)return;s=!0,i._resolve(e)},function(e){if(s)return;s=!0,i._reject(e)},function(e){i._notify(e)})}catch(r){s||this._reject(r)}return}}this._fulfill(e)},_fulfill:function(e){if(this._status>n.RESOLVED)return;this._status=n.FULFILLED,this._value=e,this._callCallbacks(this._fulfilledCallbacks,e),this._fulfilledCallbacks=this._rejectedCallbacks=this._progressCallbacks=u},_reject:function(e){if(this._status>n.RESOLVED)return;this._status=n.REJECTED,this._value=e,this._callCallbacks(this._rejectedCallbacks,e),this._fulfilledCallbacks=this._rejectedCallbacks=this._progressCallbacks=u},_notify:function(e){this._callCallbacks(this._progressCallbacks,e)},_addCallbacks:function(e,t,r,i,s){r&&!l(r)?(s=r,r=u):i&&!l(i)&&(s=i,i=u);var o;this.isRejected()||(o={defer:e,fn:l(t)?t:u,ctx:s},this.isFulfilled()?this._callCallbacks([o],this._value):this._fulfilledCallbacks.push(o)),this.isFulfilled()||(o={defer:e,fn:r,ctx:s},this.isRejected()?this._callCallbacks([o],this._value):this._rejectedCallbacks.push(o)),this._status<=n.RESOLVED&&this._progressCallbacks.push({defer:e,fn:i,ctx:s})},_callCallbacks:function(e,t){var n=e.length;if(!n)return;var r=this.isResolved(),i=this.isFulfilled();a(function(){var s=0,o,u,a;while(s<n){o=e[s++],u=o.defer,a=o.fn;if(a){var f=o.ctx,l;try{l=f?a.call(f,t):a(t)}catch(c){u.reject(c);continue}r?u.resolve(l):u.notify(l)}else r?i?u.resolve(t):u.reject(t):u.notify(t)}})}};var i={cast:function(e){return o.cast(e)},all:function(e){return o.all(e)},race:function(e){return o.anyResolved(e)},resolve:function(e){return o.resolve(e)},reject:function(e){return o.reject(e)}};for(var s in i)i.hasOwnProperty(s)&&(r[s]=i[s]);var o={Deferred:t,Promise:r,defer:function(){return new t},when:function(e,t,n,r,i){return o.cast(e).then(t,n,r,i)},fail:function(e,t,n){return o.when(e,u,t,n)},always:function(e,t,n){return o.when(e).always(t,n)},progress:function(e,t,n){return o.when(e).progress(t,n)},spread:function(e,t,n,r){return o.when(e).spread(t,n,r)},done:function(e,t,n,r,i){o.when(e).done(t,n,r,i)},isPromise:function(e){return c(e)&&l(e.then)},cast:function(e){return o.isPromise(e)?e:o.resolve(e)},valueOf:function(e){return e&&l(e.valueOf)?e.valueOf():e},isFulfilled:function(e){return e&&l(e.isFulfilled)?e.isFulfilled():!0},isRejected:function(e){return e&&l(e.isRejected)?e.isRejected():!1},isResolved:function(e){return e&&l(e.isResolved)?e.isResolved():!0},resolve:function(e){var t=o.defer();return t.resolve(e),t.promise()},fulfill:function(e){var t=o.defer(),n=t.promise();return t.resolve(e),n.isFulfilled()?n:n.then(null,function(e){return e})},reject:function(e){if(o.isPromise(e))return e.then(function(e){var t=o.defer();return t.reject(e),t.promise()});var t=o.defer();return t.reject(e),t.promise()},invoke:function(t,n){var r=Math.max(arguments.length-1,0),i;if(r){i=Array(r);var s=0;while(s<r)i[s++]=arguments[s]}try{return o.resolve(i?t.apply(e,i):t.call(e))}catch(u){return o.reject(u)}},all:function(e){var n=new t,r=p(e),i=r?d(e):v(e),s=i.length,u=r?[]:{};if(!s)return n.resolve(u),n.promise();var a=s;return o._forEach(e,function(){if(!--a){var t=0;while(t<s)u[i[t]]=o.valueOf(e[i[t++]]);n.resolve(u)}},n.reject,n.notify,n,i),n.promise()},allResolved:function(e){var n=new t,r=p(e),i=r?d(e):v(e),s=i.length,u=r?[]:{};if(!s)return n.resolve(u),n.promise();var a=function(){--s||n.resolve(e)};return o._forEach(e,a,a,n.notify,n,i),n.promise()},allPatiently:function(e){return o.allResolved(e).then(function(){var t=p(e),n=t?d(e):v(e),r,i,s=n.length,u=0,a,f;if(!s)return t?[]:{};while(u<s)a=n[u++],f=e[a],o.isRejected(f)?(r||(r=t?[]:{}),t?r.push(f.valueOf()):r[a]=f.valueOf()):r||((i||(i=t?[]:{}))[a]=o.valueOf(f));if(r)throw r;return i})},any:function(e){var n=new t,r=e.length;if(!r)return n.reject(Error()),n.promise();var i=0,s;return o._forEach(e,n.resolve,function(e){i||(s=e),++i===r&&n.reject(s)},n.notify,n),n.promise()},anyResolved:function(e){var n=new t,r=e.length;return r?(o._forEach(e,n.resolve,n.reject,n.notify,n),n.promise()):(n.reject(Error()),n.promise())},delay:function(e,t){return o.resolve(e).delay(t)},timeout:function(e,t){return o.resolve(e).timeout(t)},_forEach:function(e,t,n,r,i,s){var u=s?s.length:e.length,a=0;while(a<u)o.when(e[s?s[a]:a],t,n,r,i),++a}},u,a=function(){var t=[],n=function(e){return t.push(e)===1},r=function(){var e=t,n=0,r=t.length;t=[];while(n<r)e[n++]()};if(typeof setImmediate=="function")return function(e){n(e)&&setImmediate(r)};if(typeof process=="object"&&process.nextTick)return function(e){n(e)&&process.nextTick(r)};if(e.postMessage){var i=!0;if(e.attachEvent){var s=function(){i=!1};e.attachEvent("onmessage",s),e.postMessage("__checkAsync","*"),e.detachEvent("onmessage",s)}if(i){var o="__promise"+ +(new Date),u=function(e){e.data===o&&(e.stopPropagation&&e.stopPropagation(),r())};return e.addEventListener?e.addEventListener("message",u,!0):e.attachEvent("onmessage",u),function(t){n(t)&&e.postMessage(o,"*")}}}var a=e.document;if("onreadystatechange"in a.createElement("script")){var f=function(){var e=a.createElement("script");e.onreadystatechange=function(){e.parentNode.removeChild(e),e=e.onreadystatechange=null,r()},(a.documentElement||a.body).appendChild(e)};return function(e){n(e)&&f()}}return function(e){n(e)&&setTimeout(r,0)}}(),f=function(e){a(function(){throw e})},l=function(e){return typeof e=="function"},c=function(e){return e!==null&&typeof e=="object"},h=Object.prototype.toString,p=Array.isArray||function(e){return h.call(e)==="[object Array]"},d=function(e){var t=[],n=0,r=e.length;while(n<r)t.push(n++);return t},v=Object.keys||function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t},m=!0;typeof exports=="object"&&(module.exports=o,m=!1),typeof modules=="object"&&(modules.define("vow",function(e){e(o)}),m=!1),typeof define=="function"&&(define(function(e,t,n){n.exports=o}),m=!1),m&&(e.vow=o)})(this);
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