mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 05:35:56 +00:00
upgrade dojo to 1.8.3 (refs #570)
This commit is contained in:
55
lib/dojo/when.js.uncompressed.js
Normal file
55
lib/dojo/when.js.uncompressed.js
Normal file
@@ -0,0 +1,55 @@
|
||||
define("dojo/when", [
|
||||
"./Deferred",
|
||||
"./promise/Promise"
|
||||
], function(Deferred, Promise){
|
||||
"use strict";
|
||||
|
||||
// module:
|
||||
// dojo/when
|
||||
|
||||
return function when(valueOrPromise, callback, errback, progback){
|
||||
// summary:
|
||||
// Transparently applies callbacks to values and/or promises.
|
||||
// description:
|
||||
// Accepts promises but also transparently handles non-promises. If no
|
||||
// callbacks are provided returns a promise, regardless of the initial
|
||||
// value. Foreign promises are converted.
|
||||
//
|
||||
// If callbacks are provided and the initial value is not a promise,
|
||||
// the callback is executed immediately with no error handling. Returns
|
||||
// a promise if the initial value is a promise, or the result of the
|
||||
// callback otherwise.
|
||||
// valueOrPromise:
|
||||
// Either a regular value or an object with a `then()` method that
|
||||
// follows the Promises/A specification.
|
||||
// callback: Function?
|
||||
// Callback to be invoked when the promise is resolved, or a non-promise
|
||||
// is received.
|
||||
// errback: Function?
|
||||
// Callback to be invoked when the promise is rejected.
|
||||
// progback: Function?
|
||||
// Callback to be invoked when the promise emits a progress update.
|
||||
// returns: dojo/promise/Promise
|
||||
// Promise, or if a callback is provided, the result of the callback.
|
||||
|
||||
var receivedPromise = valueOrPromise && typeof valueOrPromise.then === "function";
|
||||
var nativePromise = receivedPromise && valueOrPromise instanceof Promise;
|
||||
|
||||
if(!receivedPromise){
|
||||
if(callback){
|
||||
return callback(valueOrPromise);
|
||||
}else{
|
||||
return new Deferred().resolve(valueOrPromise);
|
||||
}
|
||||
}else if(!nativePromise){
|
||||
var deferred = new Deferred(valueOrPromise.cancel);
|
||||
valueOrPromise.then(deferred.resolve, deferred.reject, deferred.progress);
|
||||
valueOrPromise = deferred.promise;
|
||||
}
|
||||
|
||||
if(callback || errback || progback){
|
||||
return valueOrPromise.then(callback, errback, progback);
|
||||
}
|
||||
return valueOrPromise;
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user