Comparing version 0.10.9-0 to 0.10.9-1
@@ -0,1 +1,21 @@ | ||
## 0.10.9-0 (2013-11-27) | ||
Bugfixes: | ||
- Promise.props now takes a [thenable-for-collection](https://github.com/petkaantonov/bluebird/blob/f41edac61b7c421608ff439bb5a09b7cffeadcf9/test/mocha/props.js#L197-L217) | ||
- All promise collection methods now reject when a promise-or-thenable-for-collection turns out not to give a collection | ||
## 0.10.8-0 (2013-11-25) | ||
Features: | ||
- All static collection methods take thenable-for-collection | ||
## 0.10.7-0 (2013-11-25) | ||
Features: | ||
- throw TypeError when thenable resolves with itself | ||
- Make .race() and Promise.race() forever pending on empty collections | ||
## 0.10.6-0 (2013-11-25) | ||
@@ -2,0 +22,0 @@ |
@@ -66,3 +66,3 @@ "use strict"; | ||
"progress.js": ['Promise'], | ||
"cancel.js": ['Promise'], | ||
"cancel.js": ['Promise', 'INTERNAL'], | ||
"synchronous_inspection.js": ['Promise'] | ||
@@ -69,0 +69,0 @@ |
@@ -23,3 +23,3 @@ /** | ||
"use strict"; | ||
module.exports = function( Promise ) { | ||
module.exports = function(Promise, INTERNAL) { | ||
var errors = require( "./errors.js" ); | ||
@@ -47,3 +47,3 @@ var async = require( "./async.js" ); | ||
Promise.prototype.uncancellable = function Promise$uncancellable() { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( this.uncancellable, this ); | ||
@@ -50,0 +50,0 @@ ret._unsetCancellable(); |
@@ -29,3 +29,3 @@ /** | ||
var rignore = new RegExp( | ||
"\\b(?:[\\w.]*Promise(?:Array|Spawn)?\\$\\w+|" + | ||
"\\b(?:[\\w.]*Promise(?:Array|Spawn)?\\$_\\w+|" + | ||
"tryCatch(?:1|2|Apply)|new \\w*PromiseArray|" + | ||
@@ -32,0 +32,0 @@ "\\w*PromiseArray\\.\\w*PromiseArray|" + |
@@ -65,2 +65,4 @@ /** | ||
var INTERNAL = function(){}; | ||
function isPromise( obj ) { | ||
@@ -71,3 +73,7 @@ if( typeof obj !== "object" ) return false; | ||
function Promise( resolver ) { | ||
function Promise(resolver) { | ||
if (typeof resolver !== "function") { | ||
throw new TypeError("You must pass a resolver function " + | ||
"as the sole argument to the promise constructor"); | ||
} | ||
this._bitField = 67108864; | ||
@@ -82,9 +88,8 @@ this._fulfill0 = void 0; | ||
this._boundTo = void 0; | ||
if( longStackTraces ) this._traceParent = this._peekContext(); | ||
if( typeof resolver === "function" ) this._resolveResolver( resolver ); | ||
if (longStackTraces) this._traceParent = this._peekContext(); | ||
if (resolver !== INTERNAL) this._resolveFromResolver(resolver); | ||
} | ||
Promise.prototype.bind = function Promise$bind( obj ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( this.bind, this ); | ||
@@ -247,3 +252,3 @@ ret._assumeStateOf( this, true ); | ||
function Promise$Resolve( value, caller ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( typeof caller === "function" | ||
@@ -262,3 +267,3 @@ ? caller | ||
Promise.reject = Promise.rejected = function Promise$Reject( reason ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( Promise.reject, void 0 ); | ||
@@ -305,3 +310,3 @@ ret._cleanValues(); | ||
} | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace(Promise$_method, void 0); | ||
@@ -322,3 +327,3 @@ ret._resolveFromSyncValue(value, Promise$_method); | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace(Promise.attempt, void 0); | ||
@@ -330,3 +335,3 @@ ret._resolveFromSyncValue(value, Promise.attempt); | ||
Promise.defer = Promise.pending = function Promise$Defer( caller ) { | ||
var promise = new Promise(); | ||
var promise = new Promise(INTERNAL); | ||
promise._setTrace( typeof caller === "function" | ||
@@ -338,3 +343,3 @@ ? caller : Promise.defer, void 0 ); | ||
Promise.bind = function Promise$Bind( obj ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( Promise.bind, void 0 ); | ||
@@ -399,3 +404,3 @@ ret._setFulfilled(); | ||
var haveInternalData = internalData !== void 0; | ||
var ret = haveInternalData ? internalData : new Promise(); | ||
var ret = haveInternalData ? internalData : new Promise(INTERNAL); | ||
@@ -519,5 +524,5 @@ if( longStackTraces && !haveInternalData ) { | ||
Promise.prototype._resolveResolver = | ||
function Promise$_resolveResolver( resolver ) { | ||
this._setTrace( this._resolveResolver, void 0 ); | ||
Promise.prototype._resolveFromResolver = | ||
function Promise$_resolveFromResolver( resolver ) { | ||
this._setTrace( this._resolveFromResolver, void 0 ); | ||
var p = new PromiseResolver( this ); | ||
@@ -1027,3 +1032,3 @@ this._pushContext(); | ||
require('./progress.js')(Promise); | ||
require('./cancel.js')(Promise); | ||
require('./cancel.js')(Promise,INTERNAL); | ||
@@ -1030,0 +1035,0 @@ Promise.prototype = Promise.prototype; |
@@ -23,3 +23,3 @@ /** | ||
"use strict"; | ||
module.exports = function( Promise ) { | ||
module.exports = function(Promise, INTERNAL) { | ||
var errors = require( "./errors.js" ); | ||
@@ -47,3 +47,3 @@ var async = require( "./async.js" ); | ||
Promise.prototype.uncancellable = function Promise$uncancellable() { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( this.uncancellable, this ); | ||
@@ -50,0 +50,0 @@ ret._unsetCancellable(); |
@@ -29,3 +29,3 @@ /** | ||
var rignore = new RegExp( | ||
"\\b(?:[\\w.]*Promise(?:Array|Spawn)?\\$\\w+|" + | ||
"\\b(?:[\\w.]*Promise(?:Array|Spawn)?\\$_\\w+|" + | ||
"tryCatch(?:1|2|Apply)|new \\w*PromiseArray|" + | ||
@@ -32,0 +32,0 @@ "\\w*PromiseArray\\.\\w*PromiseArray|" + |
@@ -65,2 +65,4 @@ /** | ||
var INTERNAL = function(){}; | ||
function isPromise( obj ) { | ||
@@ -71,3 +73,7 @@ if( typeof obj !== "object" ) return false; | ||
function Promise( resolver ) { | ||
function Promise(resolver) { | ||
if (typeof resolver !== "function") { | ||
throw new TypeError("You must pass a resolver function " + | ||
"as the sole argument to the promise constructor"); | ||
} | ||
this._bitField = 67108864; | ||
@@ -82,9 +88,8 @@ this._fulfill0 = void 0; | ||
this._boundTo = void 0; | ||
if( longStackTraces ) this._traceParent = this._peekContext(); | ||
if( typeof resolver === "function" ) this._resolveResolver( resolver ); | ||
if (longStackTraces) this._traceParent = this._peekContext(); | ||
if (resolver !== INTERNAL) this._resolveFromResolver(resolver); | ||
} | ||
Promise.prototype.bind = function Promise$bind( obj ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( this.bind, this ); | ||
@@ -247,3 +252,3 @@ ret._assumeStateOf( this, true ); | ||
function Promise$Resolve( value, caller ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( typeof caller === "function" | ||
@@ -262,3 +267,3 @@ ? caller | ||
Promise.reject = Promise.rejected = function Promise$Reject( reason ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( Promise.reject, void 0 ); | ||
@@ -305,3 +310,3 @@ ret._cleanValues(); | ||
} | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace(Promise$_method, void 0); | ||
@@ -322,3 +327,3 @@ ret._resolveFromSyncValue(value, Promise$_method); | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace(Promise.attempt, void 0); | ||
@@ -330,3 +335,3 @@ ret._resolveFromSyncValue(value, Promise.attempt); | ||
Promise.defer = Promise.pending = function Promise$Defer( caller ) { | ||
var promise = new Promise(); | ||
var promise = new Promise(INTERNAL); | ||
promise._setTrace( typeof caller === "function" | ||
@@ -338,3 +343,3 @@ ? caller : Promise.defer, void 0 ); | ||
Promise.bind = function Promise$Bind( obj ) { | ||
var ret = new Promise(); | ||
var ret = new Promise(INTERNAL); | ||
ret._setTrace( Promise.bind, void 0 ); | ||
@@ -399,3 +404,3 @@ ret._setFulfilled(); | ||
var haveInternalData = internalData !== void 0; | ||
var ret = haveInternalData ? internalData : new Promise(); | ||
var ret = haveInternalData ? internalData : new Promise(INTERNAL); | ||
@@ -519,5 +524,5 @@ if( longStackTraces && !haveInternalData ) { | ||
Promise.prototype._resolveResolver = | ||
function Promise$_resolveResolver( resolver ) { | ||
this._setTrace( this._resolveResolver, void 0 ); | ||
Promise.prototype._resolveFromResolver = | ||
function Promise$_resolveFromResolver( resolver ) { | ||
this._setTrace( this._resolveFromResolver, void 0 ); | ||
var p = new PromiseResolver( this ); | ||
@@ -1023,3 +1028,3 @@ this._pushContext(); | ||
require('./progress.js')(Promise); | ||
require('./cancel.js')(Promise); | ||
require('./cancel.js')(Promise,INTERNAL); | ||
@@ -1026,0 +1031,0 @@ Promise.prototype = Promise.prototype; |
{ | ||
"name": "bluebird", | ||
"description": "Full featured Promises/A+ implementation with exceptionally good performance", | ||
"version": "0.10.9-0", | ||
"version": "0.10.9-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
456528
9433