From a25721a2cdf9e6cc105993ce70a0a2b8cef30dd8 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Thu, 26 Apr 2012 16:08:17 -0400 Subject: [PATCH] code compression --- src/deferred.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/deferred.js b/src/deferred.js index e39502783..a6a3f4219 100644 --- a/src/deferred.js +++ b/src/deferred.js @@ -7,9 +7,9 @@ jQuery.extend({ Deferred: function( func ) { var tuples = [ - // action, add listener, listener list - [ "resolve", "done", jQuery.Callbacks("once memory") ], - [ "reject", "fail", jQuery.Callbacks("once memory") ], + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], [ "notify", "progress", jQuery.Callbacks("memory") ] ], state = "pending", @@ -59,19 +59,22 @@ jQuery.extend({ // Add list-specific methods jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], stateString; + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; // promise[ done | fail | progress ] = list.add promise[ tuple[1] ] = list.add; // Handle state if ( i < 2 ) { - stateString = tuple[ 0 ].replace( /e?$/, "ed" ); list.add(function() { + // state = [ resolved | rejected ] state = stateString; - tuples[ i ^ 1 ][ 2 ].disable(); - tuples[ 2 ][ 2 ].lock(); - }); + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + + // [ isResolved | isRejected ] = [ resolve_list | reject_list ].fired promise[ "isR" + stateString.substr( 1 ) ] = list.fired; } -- 2.39.5