var toString = Object.prototype.toString; module.exports = function isArguments(value) { var str = toString.call(value); var isArguments = str === '[object Arguments]'; if (!isArguments) { isArguments = str !== '[object Array]' && value !== null && typeof value === 'object' && typeof value.length === 'number' && value.length >= 0 && toString.call(value.callee) === '[object Function]'; } return isArguments; };