Please enable JavaScript to use RhodeCode Enterprise
Commit Description:
submission report
Commit Description:
submission report
'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' );
};
Site-wide shortcuts
/
Use quick search box
g h
Goto home page
g g
Goto my private gists page
g G
Goto my public gists page
n r
New repository page
n g
New gist page
Repositories
g s
Goto summary page
g c
Goto changelog page
g f
Goto files page
g F
Goto files page with file search activated
g p
Goto pull requests page
g o
Goto repository settings
g O
Goto repository permissions settings