UNPKG

911 BJavaScriptView Raw
1'use strict';
2var $ = require('../internals/export');
3var DESCRIPTORS = require('../internals/descriptors');
4var FORCED = require('../internals/object-prototype-accessors-forced');
5var toObject = require('../internals/to-object');
6var toPropertyKey = require('../internals/to-property-key');
7var getPrototypeOf = require('../internals/object-get-prototype-of');
8var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
9
10// `Object.prototype.__lookupGetter__` method
11// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__
12if (DESCRIPTORS) {
13 $({ target: 'Object', proto: true, forced: FORCED }, {
14 __lookupGetter__: function __lookupGetter__(P) {
15 var O = toObject(this);
16 var key = toPropertyKey(P);
17 var desc;
18 do {
19 if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;
20 } while (O = getPrototypeOf(O));
21 }
22 });
23}