diff options
Diffstat (limited to 'node_modules/core-js/modules/es6.reflect.define-property.js')
-rw-r--r-- | node_modules/core-js/modules/es6.reflect.define-property.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/es6.reflect.define-property.js b/node_modules/core-js/modules/es6.reflect.define-property.js new file mode 100644 index 000000000..485d43c45 --- /dev/null +++ b/node_modules/core-js/modules/es6.reflect.define-property.js @@ -0,0 +1,22 @@ +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = require('./_object-dp') + , $export = require('./_export') + , anObject = require('./_an-object') + , toPrimitive = require('./_to-primitive'); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * require('./_fails')(function(){ + Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes){ + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch(e){ + return false; + } + } +});
\ No newline at end of file |