diff options
Diffstat (limited to 'node_modules/es-abstract/2016/SpeciesConstructor.js')
-rw-r--r-- | node_modules/es-abstract/2016/SpeciesConstructor.js | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/node_modules/es-abstract/2016/SpeciesConstructor.js b/node_modules/es-abstract/2016/SpeciesConstructor.js deleted file mode 100644 index 3cdcd74..0000000 --- a/node_modules/es-abstract/2016/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; |