You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
600 B
16 lines
600 B
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; |
|
};
|
|
|