time-to-botec

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

isNative.js (1221B)


      1 var baseIsNative = require('./_baseIsNative'),
      2     isMaskable = require('./_isMaskable');
      3 
      4 /** Error message constants. */
      5 var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.';
      6 
      7 /**
      8  * Checks if `value` is a pristine native function.
      9  *
     10  * **Note:** This method can't reliably detect native functions in the presence
     11  * of the core-js package because core-js circumvents this kind of detection.
     12  * Despite multiple requests, the core-js maintainer has made it clear: any
     13  * attempt to fix the detection will be obstructed. As a result, we're left
     14  * with little choice but to throw an error. Unfortunately, this also affects
     15  * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),
     16  * which rely on core-js.
     17  *
     18  * @static
     19  * @memberOf _
     20  * @since 3.0.0
     21  * @category Lang
     22  * @param {*} value The value to check.
     23  * @returns {boolean} Returns `true` if `value` is a native function,
     24  *  else `false`.
     25  * @example
     26  *
     27  * _.isNative(Array.prototype.push);
     28  * // => true
     29  *
     30  * _.isNative(_);
     31  * // => false
     32  */
     33 function isNative(value) {
     34   if (isMaskable(value)) {
     35     throw new Error(CORE_ERROR_TEXT);
     36   }
     37   return baseIsNative(value);
     38 }
     39 
     40 module.exports = isNative;