| var anObject = require('./_an-object'); |
| var IE8_DOM_DEFINE = require('./_ie8-dom-define'); |
| var toPrimitive = require('./_to-primitive'); |
| var dP = Object.defineProperty; |
| |
| exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) { |
| anObject(O); |
| P = toPrimitive(P, true); |
| anObject(Attributes); |
| if (IE8_DOM_DEFINE) try { |
| return dP(O, P, Attributes); |
| } catch (e) { /* empty */ } |
| if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); |
| if ('value' in Attributes) O[P] = Attributes.value; |
| return O; |
| }; |