core-js
Version:
Standard library
23 lines (22 loc) • 754 B
JavaScript
// https://github.com/tc39/proposal-object-getownpropertydescriptors
var $export = require('./_export')
, ownKeys = require('./_own-keys')
, toIObject = require('./_to-iobject')
, createDesc = require('./_property-desc')
, gOPD = require('./_object-gopd')
, dP = require('./_object-dp');
$export($export.S, 'Object', {
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
var O = toIObject(object)
, getDesc = gOPD.f
, keys = ownKeys(O)
, result = {}
, i = 0
, key, D;
while(keys.length > i){
D = getDesc(O, key = keys[i++]);
if(key in result)dP.f(result, key, createDesc(0, D));
else result[key] = D;
} return result;
}
});