summaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/modules/es7.object.get-own-property-descriptors.js')
-rw-r--r--node_modules/core-js/modules/es7.object.get-own-property-descriptors.js24
1 files changed, 14 insertions, 10 deletions
diff --git a/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js b/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
index 0242b7a0c..e4d80a34e 100644
--- a/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
+++ b/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
@@ -1,19 +1,23 @@
-// 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');
+// https://gist.github.com/WebReflection/9353781
+var $ = require('./$')
+ , $export = require('./$.export')
+ , ownKeys = require('./$.own-keys')
+ , toIObject = require('./$.to-iobject')
+ , createDesc = require('./$.property-desc');
$export($export.S, 'Object', {
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
var O = toIObject(object)
- , getDesc = gOPD.f
+ , setDesc = $.setDesc
+ , getDesc = $.getDesc
, keys = ownKeys(O)
, result = {}
, i = 0
- , key;
- while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));
- return result;
+ , key, D;
+ while(keys.length > i){
+ D = getDesc(O, key = keys[i++]);
+ if(key in result)setDesc(result, key, createDesc(0, D));
+ else result[key] = D;
+ } return result;
}
}); \ No newline at end of file