21 lines
		
	
	
		
			606 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			606 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import Symbol from './_Symbol.js';
 | 
						|
import isArguments from './isArguments.js';
 | 
						|
import isArray from './isArray.js';
 | 
						|
 | 
						|
/** 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]);
 | 
						|
}
 | 
						|
 | 
						|
export default isFlattenable;
 |