You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
659 B
JavaScript
19 lines
659 B
JavaScript
// https://github.com/tc39/proposal-object-getownpropertydescriptors
|
|
var $export = require('./_export')
|
|
, ownKeys = require('./_own-keys')
|
|
, toIObject = require('./_to-iobject')
|
|
, gOPD = require('./_object-gopd')
|
|
, createProperty = require('./_create-property');
|
|
|
|
$export($export.S, 'Object', {
|
|
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
|
|
var O = toIObject(object)
|
|
, getDesc = gOPD.f
|
|
, keys = ownKeys(O)
|
|
, result = {}
|
|
, i = 0
|
|
, key;
|
|
while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));
|
|
return result;
|
|
}
|
|
}); |