diff options
Diffstat (limited to 'node_modules/core-js/internals/array-method-has-species-support.js')
| -rw-r--r-- | node_modules/core-js/internals/array-method-has-species-support.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/node_modules/core-js/internals/array-method-has-species-support.js b/node_modules/core-js/internals/array-method-has-species-support.js new file mode 100644 index 0000000..0d5d380 --- /dev/null +++ b/node_modules/core-js/internals/array-method-has-species-support.js @@ -0,0 +1,19 @@ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; |
