%PDF- %PDF-
Direktori : /proc/985914/root/data/old/home/stash/stash/atlassian-stash/static/util/ |
Current File : //proc/985914/root/data/old/home/stash/stash/atlassian-stash/static/util/promise-min.js |
define("util/promise",["jquery","underscore","exports"],function(H,N,F){var B={PENDING:"pending",REJECTED:"rejected",RESOLVED:"resolved"};function E(Q){Q&&Q.abort&&Q.abort()}function J(){var Q=Array.prototype.slice.call(arguments);var R=H.when.apply(H,Q);R.abort=function(){N.forEach(Q,E)};return R}function L(){console.log("Promise does not have an abort function")}function C(){var Q=H.when.apply(H,arguments);Q.abort=N.invoke.bind(N,arguments,"abort");return O(Q)}function O(Z,S,R){var Q;var Y=Z;var U=H.Callbacks();var V={};function W(){if(V.state()==="pending"){if(!Q){E(Y)}Q=true}U.fire()}function X(a,b){return function(){if(Q){return new H.Deferred()[a+"With"](this,arguments)}Y=b.apply(this,arguments);return Y}}var T=Z.then(S?X("resolve",S):null,R?X("reject",R):null);V.abort=W;V.thenAbortable=function(a,c){var b=O(V,a,c);U.add(b.abort);return b};return T.promise(V)}function G(R,Q){return function(){var W=H.Deferred();var S=this;var T=Array.prototype.slice.call(arguments);var X;var V=function(){return setTimeout(function(){var Y=R.apply(S,T);Y.done(W.resolve).fail(W.reject);X=Y.abort?N.bind(Y.abort,Y):L},Q)};var U=V();X=function(){clearTimeout(U);W.reject(W,"abort","abort")};return W.promise({abort:function(){X()},reset:function(){if(W.state()==="pending"){clearTimeout(U);T=Array.prototype.slice.call(arguments);U=V()}}})}}function I(){return H.when.apply(H,N.map(arguments,A)).then(K,K)}function A(Q){return Q.then(P(false),P(true))}function P(Q){return function(){return H.Deferred().resolve({rejectedSelf:Q&&this,self:this,args:Array.prototype.slice.call(arguments)})}}function K(){var T=N.chain(arguments).pluck("rejectedSelf").find(N.identity).value();var S=(T?"reject":"resolve")+"With";var Q=T||arguments[0].self;var R=N.pluck(arguments,"args");return H.Deferred()[S](Q,R)}function M(Q,T,R){var S=H(Q).spin(R||"small");return T.always(function(){S.remove()})}function D(Q,V,R){R=R||"small";var U;var S=H(Q);function T(){var W=Array.prototype.slice.call(arguments);if(!W.length){return }S.spin(R).addClass("spinning");U=I.apply(null,N.compact(W.concat(U)));U.always(function(){if(U.state()!==B.PENDING){S.spinStop().removeClass("spinning")}})}V&&T(V);return{add:T}}F.state=B;F.delay=G;F.reduce=J;F.settle=I;F.spinner=M;F.rollingSpinner=D;F.thenAbortable=O;F.whenAbortable=C});