| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | 'use strict'; |
| 2 | |||||
| 3 | var toStr = Object.prototype.toString; | ||||
| 4 | |||||
| 5 | module.exports = function isArguments(value) { | ||||
| 6 | var str = toStr.call(value); | ||||
| 7 | var isArgs = str === '[object Arguments]'; | ||||
| 8 | if (!isArgs) { | ||||
| 9 | isArgs = str !== '[object Array]' && | ||||
| 10 | value !== null && | ||||
| 11 | typeof value === 'object' && | ||||
| 12 | typeof value.length === 'number' && | ||||
| 13 | value.length >= 0 && | ||||
| 14 | toStr.call(value.callee) === '[object Function]'; | ||||
| 15 | } | ||||
| 16 | return isArgs; | ||||
| 17 | }; | ||||