Comparing version 0.10.11-0 to 0.10.11-1
@@ -54,3 +54,3 @@ "use strict"; | ||
"any.js": ['Promise', 'Promise$_All', 'PromiseArray'], | ||
"race.js": ['Promise', 'Promise$_All', 'PromiseArray'], | ||
"race.js": ['Promise', 'INTERNAL'], | ||
"call_get.js": ['Promise'], | ||
@@ -268,3 +268,2 @@ "filter.js": ['Promise', 'Promise$_All', 'PromiseArray', 'apiRejection'], | ||
"./src/race.js", | ||
"./src/race_promise_array.js", | ||
"./src/call_get.js", | ||
@@ -514,3 +513,2 @@ "./src/filter.js", | ||
"./src/settled_promise_array.js", | ||
"./src/race_promise_array.js", | ||
"./src/some_promise_array.js", | ||
@@ -517,0 +515,0 @@ "./src/properties_promise_array.js", |
@@ -36,4 +36,2 @@ /** | ||
case 2: return {}; | ||
case 3: | ||
return Promise.defer().promise; | ||
} | ||
@@ -40,0 +38,0 @@ } |
@@ -1009,3 +1009,3 @@ /** | ||
require('./any.js')(Promise,Promise$_All,PromiseArray); | ||
require('./race.js')(Promise,Promise$_All,PromiseArray); | ||
require('./race.js')(Promise,INTERNAL); | ||
require('./call_get.js')(Promise); | ||
@@ -1012,0 +1012,0 @@ require('./filter.js')(Promise,Promise$_All,PromiseArray,apiRejection); |
@@ -23,24 +23,54 @@ /** | ||
"use strict"; | ||
module.exports = function( Promise, Promise$_All, PromiseArray ) { | ||
module.exports = function(Promise, INTERNAL) { | ||
var apiRejection = require("./errors_api_rejection.js")(Promise); | ||
var isArray = require("./util.js").isArray; | ||
var RacePromiseArray = | ||
require( "./race_promise_array.js" )(Promise, PromiseArray); | ||
function raceLater(promise, caller) { | ||
return promise.then(function(array) { | ||
return Promise$_Race(array, caller, promise); | ||
}); | ||
} | ||
function Promise$_Race( promises, useBound, caller ) { | ||
return Promise$_All( | ||
promises, | ||
RacePromiseArray, | ||
caller, | ||
useBound === true ? promises._boundTo : void 0 | ||
).promise(); | ||
var hasOwn = {}.hasOwnProperty; | ||
function Promise$_Race(promises, caller, parent) { | ||
var maybePromise = Promise._cast(promises, caller, void 0); | ||
if (Promise.is(maybePromise)) { | ||
return raceLater(maybePromise, caller); | ||
} | ||
else if (!isArray(promises)) { | ||
return apiRejection("expecting an array, a promise or a thenable"); | ||
} | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace(caller, parent); | ||
var fulfill = ret._fulfill; | ||
var reject = ret._reject; | ||
for( var i = 0, len = promises.length; i < len; ++i ) { | ||
var val = promises[i]; | ||
if (val === void 0 && !(hasOwn.call(promises, i))) { | ||
continue; | ||
} | ||
Promise.cast(val)._then( | ||
fulfill, | ||
reject, | ||
void 0, | ||
ret, | ||
null, | ||
caller | ||
); | ||
} | ||
return ret; | ||
} | ||
Promise.race = function Promise$Race( promises ) { | ||
return Promise$_Race( promises, false, Promise.race ); | ||
return Promise$_Race(promises, Promise.race, void 0); | ||
}; | ||
Promise.prototype.race = function Promise$race() { | ||
return Promise$_Race( this, true, this.race ); | ||
return Promise$_Race(this, this.race, void 0); | ||
}; | ||
}; |
@@ -36,4 +36,2 @@ /** | ||
case 2: return {}; | ||
case 3: | ||
return Promise.defer().promise; | ||
} | ||
@@ -40,0 +38,0 @@ } |
@@ -1005,3 +1005,3 @@ /** | ||
require('./any.js')(Promise,Promise$_All,PromiseArray); | ||
require('./race.js')(Promise,Promise$_All,PromiseArray); | ||
require('./race.js')(Promise,INTERNAL); | ||
require('./call_get.js')(Promise); | ||
@@ -1008,0 +1008,0 @@ require('./filter.js')(Promise,Promise$_All,PromiseArray,apiRejection); |
@@ -23,24 +23,54 @@ /** | ||
"use strict"; | ||
module.exports = function( Promise, Promise$_All, PromiseArray ) { | ||
module.exports = function(Promise, INTERNAL) { | ||
var apiRejection = require("./errors_api_rejection.js")(Promise); | ||
var isArray = require("./util.js").isArray; | ||
var RacePromiseArray = | ||
require( "./race_promise_array.js" )(Promise, PromiseArray); | ||
function raceLater(promise, caller) { | ||
return promise.then(function(array) { | ||
return Promise$_Race(array, caller, promise); | ||
}); | ||
} | ||
function Promise$_Race( promises, useBound, caller ) { | ||
return Promise$_All( | ||
promises, | ||
RacePromiseArray, | ||
caller, | ||
useBound === true ? promises._boundTo : void 0 | ||
).promise(); | ||
var hasOwn = {}.hasOwnProperty; | ||
function Promise$_Race(promises, caller, parent) { | ||
var maybePromise = Promise._cast(promises, caller, void 0); | ||
if (Promise.is(maybePromise)) { | ||
return raceLater(maybePromise, caller); | ||
} | ||
else if (!isArray(promises)) { | ||
return apiRejection("expecting an array, a promise or a thenable"); | ||
} | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace(caller, parent); | ||
var fulfill = ret._fulfill; | ||
var reject = ret._reject; | ||
for( var i = 0, len = promises.length; i < len; ++i ) { | ||
var val = promises[i]; | ||
if (val === void 0 && !(hasOwn.call(promises, i))) { | ||
continue; | ||
} | ||
Promise.cast(val)._then( | ||
fulfill, | ||
reject, | ||
void 0, | ||
ret, | ||
null, | ||
caller | ||
); | ||
} | ||
return ret; | ||
} | ||
Promise.race = function Promise$Race( promises ) { | ||
return Promise$_Race( promises, false, Promise.race ); | ||
return Promise$_Race(promises, Promise.race, void 0); | ||
}; | ||
Promise.prototype.race = function Promise$race() { | ||
return Promise$_Race( this, true, this.race ); | ||
return Promise$_Race(this, this.race, void 0); | ||
}; | ||
}; |
{ | ||
"name": "bluebird", | ||
"description": "Full featured Promises/A+ implementation with exceptionally good performance", | ||
"version": "0.10.11-0", | ||
"version": "0.10.11-1", | ||
"keywords": [ | ||
@@ -6,0 +6,0 @@ "promise", |
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
460665
9554