18 lines
422 B
JavaScript
18 lines
422 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var toStr = Object.prototype.toString;
|
||
|
|
||
|
module.exports = function isArguments(value) {
|
||
|
var str = toStr.call(value);
|
||
|
var isArgs = str === '[object Arguments]';
|
||
|
if (!isArgs) {
|
||
|
isArgs = str !== '[object Array]' &&
|
||
|
value !== null &&
|
||
|
typeof value === 'object' &&
|
||
|
typeof value.length === 'number' &&
|
||
|
value.length >= 0 &&
|
||
|
toStr.call(value.callee) === '[object Function]';
|
||
|
}
|
||
|
return isArgs;
|
||
|
};
|