function addListener(obj, eventName, target, method, xform) {
  Ember.assert("You must pass at least an object and event name to Ember.addListener", !!obj && !!eventName);

  if (!method && 'function' === typeof target) {
    method = target;
    target = null;
  }

  var actionSet = actionSetFor(obj, eventName, target, true),
      methodGuid = guidFor(method);

  if (!actionSet[methodGuid]) {
    actionSet[methodGuid] = { target: target, method: method, xform: xform };
  } else {
    actionSet[methodGuid].xform = xform; // used by observers etc to map params
  }

  if ('function' === typeof obj.didAddListener) {
    obj.didAddListener(eventName, target, method);
  }
}
/**
  The parameters passed to an event listener are not exactly the
  parameters passed to an observer. if you pass an xform function, it will
  be invoked and is able to translate event listener parameters into the form
  that observers are expecting.

  @memberOf Ember
*/
The parameters passed to an event listener are not exactly the
parameters passed to an observer. if you pass an xform function, it will
be invoked and is able to translate event listener parameters into the form
that observers are expecting.
The parameters passed to an event listener are not exactly the parameters passed to an observer . if you pass an xform function it will be invoked and is able to translate event listener parameters into the form that observers are expecting .
function addListener(obj, eventName, target, method, xform) {
  Ember.assert("You must pass at least an object and event name to Ember.addListener", !!obj && !!eventName);
  if (!method && 'function' === typeof target) {
    method = target;
    target = null;
  }
  var actionSet = actionSetFor(obj, eventName, target, true),
      methodGuid = guidFor(method);
  if (!actionSet[methodGuid]) {
    actionSet[methodGuid] = { target: target, method: method, xform: xform };
  } else {
    actionSet[methodGuid].xform = xform; 
  }
  if ('function' === typeof obj.didAddListener) {
    obj.didAddListener(eventName, target, method);
  }
}
function addListener ( obj , eventName , target , method , xform ) { Ember . assert ( "You must pass at least an object and event name to Ember.addListener" , ! ! obj && ! ! eventName ) ; if ( ! method && 'function' === typeof target ) { method = target ; target = null ; } var actionSet = actionSetFor ( obj , eventName , target , true ) , methodGuid = guidFor ( method ) ; if ( ! actionSet [ methodGuid ] ) { actionSet [ methodGuid ] = { target : target , method : method , xform : xform } ; } else { actionSet [ methodGuid ] . xform = xform ; } if ( 'function' === typeof obj . didAddListener ) { obj . didAddListener ( eventName , target , method ) ; } }
The parameters passed to an event listener are not exactly the
parameters passed to an observer.
The parameters passed to an event listener are not exactly the parameters passed to an observer .
// used by observers etc to map params