lib/perform.js
function() {
  var dfd = this;
  // since people might be used to .promise()
  var promise = function(){
    return promise;
  };
  promise.done = stackNFire( 'done', dfd );
  promise.fail = stackNFire( 'fail', dfd );
  promise.progress = stackNFire( 'progress', dfd );
  promise.state = dfd.state;
  return promise;
}
function() {
  var dfd = this;
  // since people might be used to .promise()
  var promise = function(){
    return promise;
  };
  promise.done = stackNFire( 'done', dfd );
  promise.fail = stackNFire( 'fail', dfd );
  promise.progress = stackNFire( 'progress', dfd );
  promise.state = dfd.state;
  return promise;
}
function ( ) { var dfd = this ; // since people might be used to .promise() var promise = function ( ) { return promise ; } ; promise . done = stackNFire ( 'done' , dfd ) ; promise . fail = stackNFire ( 'fail' , dfd ) ; promise . progress = stackNFire ( 'progress' , dfd ) ; promise . state = dfd . state ; return promise ; }
promise generator - psuedo read-only
promise generator - psuedo read - only