time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

_isFlattenable.js (608B)


      1 var Symbol = require('./_Symbol'),
      2     isArguments = require('./isArguments'),
      3     isArray = require('./isArray');
      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 module.exports = isFlattenable;