lib/behalter.js
function annotate(fn) {
  var matched = /function +[^\(]*\(([^\)]*)\).*/.exec(fn.toString());
  var names = _.reject(matched[1].split(',') || [], _.isEmpty);

  return _.map(names, function(name) {
    return name.replace(/\s+/g, '');
  });
}
function annotate(fn) {
  var matched = /function +[^\(]*\(([^\)]*)\).*/.exec(fn.toString());
  var names = _.reject(matched[1].split(',') || [], _.isEmpty);

  return _.map(names, function(name) {
    return name.replace(/\s+/g, '');
  });
}
function annotate ( fn ) { var matched = / function +[^\(]*\(([^\)]*)\).* / . exec ( fn . toString ( ) ) ; var names = _ . reject ( matched [ 1 ] . split ( ',' ) || [ ] , _ . isEmpty ) ; return _ . map ( names , function ( name ) { return name . replace ( / \s+ / g , '' ) ; } ) ; }
Extract names of arguments for function.

@param {function} fn
@returns {string[]} names of arguments
Extract names of arguments for function .