.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / internals / object-get-own-property-descriptor.js
1 var DESCRIPTORS = require('../internals/descriptors');
2 var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
3 var createPropertyDescriptor = require('../internals/create-property-descriptor');
4 var toIndexedObject = require('../internals/to-indexed-object');
5 var toPrimitive = require('../internals/to-primitive');
6 var has = require('../internals/has');
7 var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
8
9 var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
10
11 // `Object.getOwnPropertyDescriptor` method
12 // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
13 exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
14   O = toIndexedObject(O);
15   P = toPrimitive(P, true);
16   if (IE8_DOM_DEFINE) try {
17     return nativeGetOwnPropertyDescriptor(O, P);
18   } catch (error) { /* empty */ }
19   if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
20 };