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.
		
		
		
		
		
			
		
			
				
					21 lines
				
				560 B
			
		
		
			
		
	
	
					21 lines
				
				560 B
			| 
								 
											3 years ago
										 
									 | 
							
								var isObject = require('./isObject.js');
							 | 
						||
| 
								 | 
							
								var _setup = require('./_setup.js');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 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;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = baseCreate;
							 |