18 lines
669 B
JavaScript
18 lines
669 B
JavaScript
|
'use strict';
|
||
|
var $export = require('./_export')
|
||
|
, toObject = require('./_to-object')
|
||
|
, toPrimitive = require('./_to-primitive')
|
||
|
, getPrototypeOf = require('./_object-gpo')
|
||
|
, getOwnPropertyDescriptor = require('./_object-gopd').f;
|
||
|
|
||
|
// B.2.2.5 Object.prototype.__lookupSetter__(P)
|
||
|
require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {
|
||
|
__lookupSetter__: function __lookupSetter__(P){
|
||
|
var O = toObject(this)
|
||
|
, K = toPrimitive(P, true)
|
||
|
, D;
|
||
|
do {
|
||
|
if(D = getOwnPropertyDescriptor(O, K))return D.set;
|
||
|
} while(O = getPrototypeOf(O));
|
||
|
}
|
||
|
});
|