diff options
Diffstat (limited to 'node_modules/core-js/modules/es.object.lookup-getter.js')
| -rw-r--r-- | node_modules/core-js/modules/es.object.lookup-getter.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/es.object.lookup-getter.js b/node_modules/core-js/modules/es.object.lookup-getter.js new file mode 100644 index 0000000..46e3fd0 --- /dev/null +++ b/node_modules/core-js/modules/es.object.lookup-getter.js @@ -0,0 +1,23 @@ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/object-prototype-accessors-forced'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Object.prototype.__lookupGetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPrimitive(P, true); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} |
