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.
		
		
		
		
		
			
		
			
				
					22 lines
				
				790 B
			
		
		
			
		
	
	
					22 lines
				
				790 B
			| 
								 
											3 years ago
										 
									 | 
							
								// 26.1.6 Reflect.get(target, propertyKey [, receiver])
							 | 
						||
| 
								 | 
							
								var gOPD = require('./_object-gopd');
							 | 
						||
| 
								 | 
							
								var getPrototypeOf = require('./_object-gpo');
							 | 
						||
| 
								 | 
							
								var has = require('./_has');
							 | 
						||
| 
								 | 
							
								var $export = require('./_export');
							 | 
						||
| 
								 | 
							
								var isObject = require('./_is-object');
							 | 
						||
| 
								 | 
							
								var anObject = require('./_an-object');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function get(target, propertyKey /* , receiver */) {
							 | 
						||
| 
								 | 
							
								  var receiver = arguments.length < 3 ? target : arguments[2];
							 | 
						||
| 
								 | 
							
								  var desc, proto;
							 | 
						||
| 
								 | 
							
								  if (anObject(target) === receiver) return target[propertyKey];
							 | 
						||
| 
								 | 
							
								  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')
							 | 
						||
| 
								 | 
							
								    ? desc.value
							 | 
						||
| 
								 | 
							
								    : desc.get !== undefined
							 | 
						||
| 
								 | 
							
								      ? desc.get.call(receiver)
							 | 
						||
| 
								 | 
							
								      : undefined;
							 | 
						||
| 
								 | 
							
								  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$export($export.S, 'Reflect', { get: get });
							 |