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
				
				572 B
			
		
		
			
		
	
	
					22 lines
				
				572 B
			| 
								 
											3 years ago
										 
									 | 
							
								define(['./isObject', './_setup'], function (isObject, _setup) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Create a naked function reference for surrogate-prototype-swapping.
							 | 
						||
| 
								 | 
							
								  function ctor() {
							 | 
						||
| 
								 | 
							
								    return function(){};
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // An internal function for creating a new object that inherits from another.
							 | 
						||
| 
								 | 
							
								  function baseCreate(prototype) {
							 | 
						||
| 
								 | 
							
								    if (!isObject(prototype)) return {};
							 | 
						||
| 
								 | 
							
								    if (_setup.nativeCreate) return _setup.nativeCreate(prototype);
							 | 
						||
| 
								 | 
							
								    var Ctor = ctor();
							 | 
						||
| 
								 | 
							
								    Ctor.prototype = prototype;
							 | 
						||
| 
								 | 
							
								    var result = new Ctor;
							 | 
						||
| 
								 | 
							
								    Ctor.prototype = null;
							 | 
						||
| 
								 | 
							
								    return result;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return baseCreate;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								});
							 |