| 123456789101112131415 | 
							- 'use strict';
 
- var anObject = require('../internals/an-object');
 
- var aConstructor = require('../internals/a-constructor');
 
- var isNullOrUndefined = require('../internals/is-null-or-undefined');
 
- var wellKnownSymbol = require('../internals/well-known-symbol');
 
- var SPECIES = wellKnownSymbol('species');
 
- // `SpeciesConstructor` abstract operation
 
- // https://tc39.es/ecma262/#sec-speciesconstructor
 
- module.exports = function (O, defaultConstructor) {
 
-   var C = anObject(O).constructor;
 
-   var S;
 
-   return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);
 
- };
 
 
  |