17 lines
437 B
JavaScript
17 lines
437 B
JavaScript
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;
|
|
};
|
|
|