lib/router/index.js
function wrap(old, fn) {
  return function proxy() {
    var args = new Array(arguments.length + 1);

    args[0] = old;
    for (var i = 0, len = arguments.length; i < len; i++) {
      args[i + 1] = arguments[i];
    }

    fn.apply(this, args);
  };
}
function wrap(old, fn) {
  return function proxy() {
    var args = new Array(arguments.length + 1);

    args[0] = old;
    for (var i = 0, len = arguments.length; i < len; i++) {
      args[i + 1] = arguments[i];
    }

    fn.apply(this, args);
  };
}
function wrap ( old , fn ) { return function proxy ( ) { var args = new Array ( arguments . length + 1 ) ; args [ 0 ] = old ; for ( var i = 0 , len = arguments . length ; i < len ; i ++ ) { args [ i + 1 ] = arguments [ i ] ; } fn . apply ( this , args ) ; } ; }
wrap a function
wrap a function