// based on https://unpkg.com/argsarray@0.0.1/index.js

function argsarray(fun) {
  return function argsarrayInner() {
    var len = arguments.length;
    var args = [];
    var i = -1;
    while (++i < len) {
      args[i] = arguments[i];
    }
    return fun.call(this, args);
  };
}

export default argsarray;