Please enable JavaScript to use RhodeCode Enterprise
Commit Description:
submission report
Commit Description:
submission report
'use strict' ;
var GetIntrinsic = require ( '../GetIntrinsic' );
var hasSymbols = require ( 'has-symbols' )();
var $TypeError = GetIntrinsic ( '%TypeError%' );
var $gOPN = GetIntrinsic ( '%Object.getOwnPropertyNames%' );
var $gOPS = hasSymbols && GetIntrinsic ( '%Object.getOwnPropertySymbols%' );
var keys = require ( 'object-keys' );
var esType = require ( './Type' );
// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys
module . exports = function GetOwnPropertyKeys ( O , Type ) {
if ( esType ( O ) !== 'Object' ) {
throw new $TypeError ( 'Assertion failed: Type(O) is not Object' );
}
if ( Type === 'Symbol' ) {
return $gOPS ? $gOPS ( O ) : [];
}
if ( Type === 'String' ) {
if ( ! $gOPN ) {
return keys ( O );
}
return $gOPN ( O );
}
throw new $TypeError ( 'Assertion failed: `Type` must be `"String"` or `"Symbol"`' );
};
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