1 | import Symbol from './_Symbol.js';
|
2 | import isArguments from './isArguments.js';
|
3 | import isArray from './isArray.js';
|
4 |
|
5 | /** Built-in value references. */
|
6 | var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
|
7 |
|
8 | /**
|
9 | * Checks if `value` is a flattenable `arguments` object or array.
|
10 | *
|
11 | * @private
|
12 | * @param {*} value The value to check.
|
13 | * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
|
14 | */
|
15 | function isFlattenable(value) {
|
16 | return isArray(value) || isArguments(value) ||
|
17 | !!(spreadableSymbol && value && value[spreadableSymbol]);
|
18 | }
|
19 |
|
20 | export default isFlattenable;
|