UNPKG

606 BJavaScriptView Raw
1import Symbol from './_Symbol.js';
2import isArguments from './isArguments.js';
3import isArray from './isArray.js';
4
5/** Built-in value references. */
6var 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 */
15function isFlattenable(value) {
16 return isArray(value) || isArguments(value) ||
17 !!(spreadableSymbol && value && value[spreadableSymbol]);
18}
19
20export default isFlattenable;