massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / modules / es.reflect.get.js
1 var $ = require('../internals/export');
2 var call = require('../internals/function-call');
3 var isObject = require('../internals/is-object');
4 var anObject = require('../internals/an-object');
5 var isDataDescriptor = require('../internals/is-data-descriptor');
6 var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
7 var getPrototypeOf = require('../internals/object-get-prototype-of');
8
9 // `Reflect.get` method
10 // https://tc39.es/ecma262/#sec-reflect.get
11 function get(target, propertyKey /* , receiver */) {
12   var receiver = arguments.length < 3 ? target : arguments[2];
13   var descriptor, prototype;
14   if (anObject(target) === receiver) return target[propertyKey];
15   descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey);
16   if (descriptor) return isDataDescriptor(descriptor)
17     ? descriptor.value
18     : descriptor.get === undefined ? undefined : call(descriptor.get, receiver);
19   if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
20 }
21
22 $({ target: 'Reflect', stat: true }, {
23   get: get
24 });