+30
-0
@@ -0,1 +1,31 @@ | ||
| ## 0.10.4-1 (2013-11-24) | ||
| Bugfixes: | ||
| - Fix a file missing from build. (Critical fix) | ||
| ## 0.10.4-0 (2013-11-24) | ||
| Features: | ||
| - Remove dependency of es5-shim and es5-sham when using ES3. | ||
| ## 0.10.3-0 (2013-11-24) | ||
| Features: | ||
| - Improve performance of `Promise.method` | ||
| ## 0.10.2-1 (2013-11-24) | ||
| Features: | ||
| - Rename PromiseResolver#asCallback to PromiseResolver#callback | ||
| ## 0.10.2-0 (2013-11-24) | ||
| Features: | ||
| - Remove memoization of thenables | ||
| ## 0.10.1-0 (2013-11-21) | ||
@@ -2,0 +32,0 @@ |
@@ -86,8 +86,10 @@ /** | ||
| function doThenable( x, then, caller ) { | ||
| var resolver = Promise.defer( caller ); | ||
| var called = false; | ||
| var ret = tryCatch2( then, x, function t( a ) { | ||
| function resolveFromThenable( a ) { | ||
| if( called ) return; | ||
| called = true; | ||
| if (a === x) { | ||
| resolver.promise._resolveFulfill( a ); | ||
| return; | ||
| } | ||
| var b = Promise$_Cast( a ); | ||
@@ -98,21 +100,25 @@ if( b === a ) { | ||
| else { | ||
| if( a === x ) { | ||
| resolver.promise._resolveFulfill( a ); | ||
| } | ||
| else { | ||
| b._then( | ||
| resolver.resolve, | ||
| resolver.reject, | ||
| void 0, | ||
| resolver, | ||
| void 0, | ||
| t | ||
| ); | ||
| } | ||
| b._then( | ||
| resolver.resolve, | ||
| resolver.reject, | ||
| void 0, | ||
| resolver, | ||
| void 0, | ||
| resolveFromThenable | ||
| ); | ||
| } | ||
| }, function t( a ) { | ||
| } | ||
| function rejectFromThenable( a ) { | ||
| if( called ) return; | ||
| called = true; | ||
| resolver.reject( a ); | ||
| }); | ||
| } | ||
| var resolver = Promise.defer( caller ); | ||
| var called = false; | ||
| var ret = tryCatch2(then, x, resolveFromThenable, rejectFromThenable); | ||
| if( ret === errorObj && !called ) { | ||
@@ -129,3 +135,4 @@ resolver.reject( ret.e ); | ||
| var called = false; | ||
| var t = function t( v ) { | ||
| function resolveFromThenable( v ) { | ||
| if( called && this !== key ) return; | ||
@@ -142,3 +149,4 @@ called = true; | ||
| else { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then( resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| } | ||
@@ -156,3 +164,4 @@ return; | ||
| ( b instanceof Promise && b !== v ) ) { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then(resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| return; | ||
@@ -162,5 +171,5 @@ } | ||
| async.invoke( fn, localP, v ); | ||
| }; | ||
| } | ||
| var r = function r( v ) { | ||
| function rejectFromThenable( v ) { | ||
| if( called && this !== key ) return; | ||
@@ -178,3 +187,4 @@ var fn = localP._reject; | ||
| else { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then(resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| } | ||
@@ -192,3 +202,4 @@ return; | ||
| ( b instanceof Promise && b.isPending() ) ) { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then(resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| return; | ||
@@ -199,4 +210,5 @@ } | ||
| async.invoke( fn, localP, v ); | ||
| }; | ||
| var threw = tryCatch2( then, x, t, r); | ||
| } | ||
| var threw = tryCatch2( then, x, | ||
| resolveFromThenable, rejectFromThenable); | ||
@@ -203,0 +215,0 @@ if( threw === errorObj && |
@@ -86,8 +86,10 @@ /** | ||
| function doThenable( x, then, caller ) { | ||
| var resolver = Promise.defer( caller ); | ||
| var called = false; | ||
| var ret = tryCatch2( then, x, function t( a ) { | ||
| function resolveFromThenable( a ) { | ||
| if( called ) return; | ||
| called = true; | ||
| if (a === x) { | ||
| resolver.promise._resolveFulfill( a ); | ||
| return; | ||
| } | ||
| var b = Promise$_Cast( a ); | ||
@@ -98,21 +100,25 @@ if( b === a ) { | ||
| else { | ||
| if( a === x ) { | ||
| resolver.promise._resolveFulfill( a ); | ||
| } | ||
| else { | ||
| b._then( | ||
| resolver.resolve, | ||
| resolver.reject, | ||
| void 0, | ||
| resolver, | ||
| void 0, | ||
| t | ||
| ); | ||
| } | ||
| b._then( | ||
| resolver.resolve, | ||
| resolver.reject, | ||
| void 0, | ||
| resolver, | ||
| void 0, | ||
| resolveFromThenable | ||
| ); | ||
| } | ||
| }, function t( a ) { | ||
| } | ||
| function rejectFromThenable( a ) { | ||
| if( called ) return; | ||
| called = true; | ||
| resolver.reject( a ); | ||
| }); | ||
| } | ||
| var resolver = Promise.defer( caller ); | ||
| var called = false; | ||
| var ret = tryCatch2(then, x, resolveFromThenable, rejectFromThenable); | ||
| if( ret === errorObj && !called ) { | ||
@@ -129,3 +135,4 @@ resolver.reject( ret.e ); | ||
| var called = false; | ||
| var t = function t( v ) { | ||
| function resolveFromThenable( v ) { | ||
| if( called && this !== key ) return; | ||
@@ -142,3 +149,4 @@ called = true; | ||
| else { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then( resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| } | ||
@@ -156,3 +164,4 @@ return; | ||
| ( b instanceof Promise && b !== v ) ) { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then(resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| return; | ||
@@ -162,5 +171,5 @@ } | ||
| fn.call(localP, v); | ||
| }; | ||
| } | ||
| var r = function r( v ) { | ||
| function rejectFromThenable( v ) { | ||
| if( called && this !== key ) return; | ||
@@ -178,3 +187,4 @@ var fn = localP._reject; | ||
| else { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then(resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| } | ||
@@ -192,3 +202,4 @@ return; | ||
| ( b instanceof Promise && b.isPending() ) ) { | ||
| b._then( t, r, void 0, key, void 0, t); | ||
| b._then(resolveFromThenable, rejectFromThenable, void 0, | ||
| key, void 0, resolveFromThenable); | ||
| return; | ||
@@ -199,4 +210,5 @@ } | ||
| fn.call(localP, v); | ||
| }; | ||
| var threw = tryCatch2( then, x, t, r); | ||
| } | ||
| var threw = tryCatch2( then, x, | ||
| resolveFromThenable, rejectFromThenable); | ||
@@ -203,0 +215,0 @@ if( threw === errorObj && |
+1
-1
| { | ||
| "name": "bluebird", | ||
| "description": "Full featured Promises/A+ implementation with exceptionally good performance", | ||
| "version": "0.10.4-1", | ||
| "version": "0.10.5-0", | ||
| "keywords": [ | ||
@@ -6,0 +6,0 @@ "promise", |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
455617
0.28%9401
0.13%