1 | var $ = require('../internals/export');
|
2 | var DESCRIPTORS = require('../internals/descriptors');
|
3 | var ownKeys = require('../internals/own-keys');
|
4 | var toIndexedObject = require('../internals/to-indexed-object');
|
5 | var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
|
6 | var createProperty = require('../internals/create-property');
|
7 |
|
8 |
|
9 |
|
10 | $({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
|
11 | getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
|
12 | var O = toIndexedObject(object);
|
13 | var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
14 | var keys = ownKeys(O);
|
15 | var result = {};
|
16 | var index = 0;
|
17 | var key, descriptor;
|
18 | while (keys.length > index) {
|
19 | descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
|
20 | if (descriptor !== undefined) createProperty(result, key, descriptor);
|
21 | }
|
22 | return result;
|
23 | }
|
24 | });
|