promise-polyfill
Advanced tools
Comparing version 2.0.2 to 2.1.0
{ | ||
"name": "promise-polyfill", | ||
"version": "2.0.2", | ||
"version": "2.1.0", | ||
"homepage": "https://github.com/taylorhakes/promise-polyfill", | ||
@@ -5,0 +5,0 @@ "authors": [ |
{ | ||
"name": "promise-polyfill", | ||
"version": "2.0.2", | ||
"version": "2.1.0", | ||
"description": "Lightweight promise polyfill. A+ compliant", | ||
"main": "Promise.js", | ||
"scripts": { | ||
"test": "./node_modules/.bin/promises-aplus-tests tests/adapter.js" | ||
"test": "./node_modules/.bin/promises-aplus-tests tests/adapter.js && JASMINE_CONFIG_PATH=jasmine.json ./node_modules/jasmine/bin/jasmine.js;" | ||
}, | ||
@@ -20,8 +20,14 @@ "repository": { | ||
"devDependencies": { | ||
"promises-aplus-tests": "*", | ||
"grunt": "^0.4.4", | ||
"grunt-contrib-uglify": "^0.4.0" | ||
"grunt-contrib-uglify": "^0.4.0", | ||
"jasmine": "^2.3.1", | ||
"promises-aplus-tests": "*" | ||
}, | ||
"keywords": ["promise", "promise-polyfill", "ES6", "promises-aplus"], | ||
"keywords": [ | ||
"promise", | ||
"promise-polyfill", | ||
"ES6", | ||
"promises-aplus" | ||
], | ||
"dependencies": {} | ||
} |
(function(root) { | ||
// Use polyfill for setImmediate for performance gains | ||
var asap = Promise.immediateFn || (typeof setImmediate === 'function' && setImmediate) || | ||
var asap = (typeof setImmediate === 'function' && setImmediate) || | ||
function(fn) { setTimeout(fn, 1); }; | ||
@@ -175,2 +175,11 @@ | ||
/** | ||
* Set the immediate function to execute callbacks | ||
* @param fn {function} Function to execute | ||
* @private | ||
*/ | ||
Promise._setImmediateFn = function _setImmediateFn(fn) { | ||
asap = fn; | ||
}; | ||
if (typeof module !== 'undefined' && module.exports) { | ||
@@ -177,0 +186,0 @@ module.exports = Promise; |
@@ -1,2 +0,2 @@ | ||
/*! promise-polyfill 2.0.1 */ | ||
!function(a){function b(a,b){return function(){a.apply(b,arguments)}}function c(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],i(a,b(e,this),b(f,this))}function d(a){var b=this;return null===this._state?void this._deferreds.push(a):void j(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function e(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var c=a.then;if("function"==typeof c)return void i(b(c,a),b(e,this),b(f,this))}this._state=!0,this._value=a,g.call(this)}catch(d){f.call(this,d)}}function f(a){this._state=!1,this._value=a,g.call(this)}function g(){for(var a=0,b=this._deferreds.length;b>a;a++)d.call(this,this._deferreds[a]);this._deferreds=null}function h(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function i(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var j=c.immediateFn||"function"==typeof setImmediate&&setImmediate||function(a){setTimeout(a,1)},k=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};c.prototype["catch"]=function(a){return this.then(null,a)},c.prototype.then=function(a,b){var e=this;return new c(function(c,f){d.call(e,new h(a,b,c,f))})},c.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&k(arguments[0])?arguments[0]:arguments);return new c(function(b,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;f<a.length;f++)d(f,a[f])})},c.resolve=function(a){return a&&"object"==typeof a&&a.constructor===c?a:new c(function(b){b(a)})},c.reject=function(a){return new c(function(b,c){c(a)})},c.race=function(a){return new c(function(b,c){for(var d=0,e=a.length;e>d;d++)a[d].then(b,c)})},"undefined"!=typeof module&&module.exports?module.exports=c:a.Promise||(a.Promise=c)}(this); | ||
/*! promise-polyfill 2.1.0 */ | ||
!function(a){function b(a,b){return function(){a.apply(b,arguments)}}function c(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],i(a,b(e,this),b(f,this))}function d(a){var b=this;return null===this._state?void this._deferreds.push(a):void j(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function e(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var c=a.then;if("function"==typeof c)return void i(b(c,a),b(e,this),b(f,this))}this._state=!0,this._value=a,g.call(this)}catch(d){f.call(this,d)}}function f(a){this._state=!1,this._value=a,g.call(this)}function g(){for(var a=0,b=this._deferreds.length;b>a;a++)d.call(this,this._deferreds[a]);this._deferreds=null}function h(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function i(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var j="function"==typeof setImmediate&&setImmediate||function(a){setTimeout(a,1)},k=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};c.prototype["catch"]=function(a){return this.then(null,a)},c.prototype.then=function(a,b){var e=this;return new c(function(c,f){d.call(e,new h(a,b,c,f))})},c.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&k(arguments[0])?arguments[0]:arguments);return new c(function(b,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;f<a.length;f++)d(f,a[f])})},c.resolve=function(a){return a&&"object"==typeof a&&a.constructor===c?a:new c(function(b){b(a)})},c.reject=function(a){return new c(function(b,c){c(a)})},c.race=function(a){return new c(function(b,c){for(var d=0,e=a.length;e>d;d++)a[d].then(b,c)})},c._setImmediateFn=function(a){j=a},"undefined"!=typeof module&&module.exports?module.exports=c:a.Promise||(a.Promise=c)}(this); |
@@ -16,2 +16,5 @@ <a href="http://promises-aplus.github.com/promises-spec"> | ||
## Browser Support | ||
IE8+, Chrome, Firefox, IOS 4+, Safari 5+, Opera | ||
## Downloads | ||
@@ -26,2 +29,6 @@ | ||
``` | ||
### Bower | ||
``` | ||
bower install promise-polyfill | ||
``` | ||
@@ -35,4 +42,3 @@ ## Simple use | ||
resolve("Stuff worked!"); | ||
} | ||
else { | ||
} else { | ||
reject(new Error("It broke")); | ||
@@ -51,2 +57,4 @@ } | ||
If you polyfill `window.setImmediate` or use `Promise._setImmediateFn(immedateFn)` it will be used instead of `window.setTimeout` | ||
## Testing | ||
@@ -53,0 +61,0 @@ ``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
13688
12
267
64
4