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