'use strict'; 
 | 
var $ = require('../internals/export'); 
 | 
var call = require('../internals/function-call'); 
 | 
var isObject = require('../internals/is-object'); 
 | 
var anObject = require('../internals/an-object'); 
 | 
var isDataDescriptor = require('../internals/is-data-descriptor'); 
 | 
var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); 
 | 
var getPrototypeOf = require('../internals/object-get-prototype-of'); 
 | 
  
 | 
// `Reflect.get` method 
 | 
// https://tc39.es/ecma262/#sec-reflect.get 
 | 
function get(target, propertyKey /* , receiver */) { 
 | 
  var receiver = arguments.length < 3 ? target : arguments[2]; 
 | 
  var descriptor, prototype; 
 | 
  if (anObject(target) === receiver) return target[propertyKey]; 
 | 
  descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); 
 | 
  if (descriptor) return isDataDescriptor(descriptor) 
 | 
    ? descriptor.value 
 | 
    : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); 
 | 
  if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); 
 | 
} 
 | 
  
 | 
$({ target: 'Reflect', stat: true }, { 
 | 
  get: get 
 | 
}); 
 |