21 lines
		
	
	
		
			608 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			608 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 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;
 |