You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					24 lines
				
				799 B
			
		
		
			
		
	
	
					24 lines
				
				799 B
			| 
											3 years ago
										 | // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
 | ||
|  | var dP = require('./_object-dp'); | ||
|  | var $export = require('./_export'); | ||
|  | var anObject = require('./_an-object'); | ||
|  | var toPrimitive = require('./_to-primitive'); | ||
|  | 
 | ||
|  | // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
 | ||
|  | $export($export.S + $export.F * require('./_fails')(function () { | ||
|  |   // eslint-disable-next-line no-undef
 | ||
|  |   Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); | ||
|  | }), 'Reflect', { | ||
|  |   defineProperty: function defineProperty(target, propertyKey, attributes) { | ||
|  |     anObject(target); | ||
|  |     propertyKey = toPrimitive(propertyKey, true); | ||
|  |     anObject(attributes); | ||
|  |     try { | ||
|  |       dP.f(target, propertyKey, attributes); | ||
|  |       return true; | ||
|  |     } catch (e) { | ||
|  |       return false; | ||
|  |     } | ||
|  |   } | ||
|  | }); |