| var Symbol = require('./_Symbol'), |
| isArguments = require('./isArguments'), |
| isArray = require('./isArray'); |
| |
| /** Built-in value references. */ |
| var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; |
| |
| /** |
| * Checks if `value` is a flattenable `arguments` object or array. |
| * |
| * @private |
| * @param {*} value The value to check. |
| * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. |
| */ |
| function isFlattenable(value) { |
| return isArray(value) || isArguments(value) || |
| !!(spreadableSymbol && value && value[spreadableSymbol]); |
| } |
| |
| module.exports = isFlattenable; |