17 lines
		
	
	
		
			600 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			600 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var anObject = require('./_an-object');
 | 
						|
var IE8_DOM_DEFINE = require('./_ie8-dom-define');
 | 
						|
var toPrimitive = require('./_to-primitive');
 | 
						|
var dP = Object.defineProperty;
 | 
						|
 | 
						|
exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {
 | 
						|
  anObject(O);
 | 
						|
  P = toPrimitive(P, true);
 | 
						|
  anObject(Attributes);
 | 
						|
  if (IE8_DOM_DEFINE) try {
 | 
						|
    return dP(O, P, Attributes);
 | 
						|
  } catch (e) { /* empty */ }
 | 
						|
  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
 | 
						|
  if ('value' in Attributes) O[P] = Attributes.value;
 | 
						|
  return O;
 | 
						|
};
 |