Please enable JavaScript to use RhodeCode Enterprise
Commit Description:
submission report
Commit Description:
submission report
'use strict' ;
var GetIntrinsic = require ( '../GetIntrinsic' );
var $ObjectCreate = GetIntrinsic ( '%Object.create%' , true );
var $TypeError = GetIntrinsic ( '%TypeError%' );
var $SyntaxError = GetIntrinsic ( '%SyntaxError%' );
var Type = require ( './Type' );
var hasProto = ! ({ __proto__ : null } instanceof Object );
// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate
module . exports = function ObjectCreate ( proto , internalSlotsList ) {
if ( proto !== null && Type ( proto ) !== 'Object' ) {
throw new $TypeError ( 'Assertion failed: `proto` must be null or an object' );
}
var slots = arguments . length < 2 ? [] : internalSlotsList ;
if ( slots . length > 0 ) {
throw new $SyntaxError ( 'es-abstract does not yet support internal slots' );
}
if ( $ObjectCreate ) {
return $ObjectCreate ( proto );
}
if ( hasProto ) {
return { __proto__ : proto };
}
if ( proto === null ) {
throw new $SyntaxError ( 'native Object.create support is required to create null objects' );
}
var T = function T () {};
T . prototype = proto ;
return new T ();
};
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