123456789101112131415161718192021222324 |
- var $ = require('../internals/export');
- var isObject = require('../internals/is-object');
- var anObject = require('../internals/an-object');
- var has = require('../internals/has');
- 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];
- if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')
- ? descriptor.value
- : descriptor.get === undefined
- ? undefined
- : descriptor.get.call(receiver);
- if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
- }
- $({ target: 'Reflect', stat: true }, {
- get: get
- });
|