1 var pIE = require('./_object-pie')
2 , createDesc = require('./_property-desc')
3 , toIObject = require('./_to-iobject')
4 , toPrimitive = require('./_to-primitive')
5 , has = require('./_has')
6 , IE8_DOM_DEFINE = require('./_ie8-dom-define')
7 , gOPD = Object.getOwnPropertyDescriptor;
9 exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){
11 P = toPrimitive(P, true);
12 if(IE8_DOM_DEFINE)try {
14 } catch(e){ /* empty */ }
15 if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);