.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / internals / object-define-property.js
1 var DESCRIPTORS = require('../internals/descriptors');
2 var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
3 var anObject = require('../internals/an-object');
4 var toPrimitive = require('../internals/to-primitive');
5
6 var nativeDefineProperty = Object.defineProperty;
7
8 // `Object.defineProperty` method
9 // https://tc39.es/ecma262/#sec-object.defineproperty
10 exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
11   anObject(O);
12   P = toPrimitive(P, true);
13   anObject(Attributes);
14   if (IE8_DOM_DEFINE) try {
15     return nativeDefineProperty(O, P, Attributes);
16   } catch (error) { /* empty */ }
17   if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
18   if ('value' in Attributes) O[P] = Attributes.value;
19   return O;
20 };