| // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) |
| var dP = require('./_object-dp'); |
| var $export = require('./_export'); |
| var anObject = require('./_an-object'); |
| var toPrimitive = require('./_to-primitive'); |
| |
| // MS Edge has broken Reflect.defineProperty - throwing instead of returning false |
| $export($export.S + $export.F * require('./_fails')(function () { |
| // eslint-disable-next-line no-undef |
| 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; |
| } |
| } |
| }); |