1// https://github.com/tc39/proposal-object-getownpropertydescriptors 2var $export = require('./_export'); 3var ownKeys = require('./_own-keys'); 4var toIObject = require('./_to-iobject'); 5var gOPD = require('./_object-gopd'); 6var createProperty = require('./_create-property'); 7 8$export($export.S, 'Object', { 9 getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { 10 var O = toIObject(object); 11 var getDesc = gOPD.f; 12 var keys = ownKeys(O); 13 var result = {}; 14 var i = 0; 15 var key, desc; 16 while (keys.length > i) { 17 desc = getDesc(O, key = keys[i++]); 18 if (desc !== undefined) createProperty(result, key, desc); 19 } 20 return result; 21 } 22}); 23