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.
		
		
		
		
		
			
		
			
				
					19 lines
				
				535 B
			
		
		
			
		
	
	
					19 lines
				
				535 B
			| 
								 
											3 years ago
										 
									 | 
							
								import isObject from './isObject.js';
							 | 
						||
| 
								 | 
							
								import { nativeCreate } from './_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.
							 | 
						||
| 
								 | 
							
								export default function baseCreate(prototype) {
							 | 
						||
| 
								 | 
							
								  if (!isObject(prototype)) return {};
							 | 
						||
| 
								 | 
							
								  if (nativeCreate) return nativeCreate(prototype);
							 | 
						||
| 
								 | 
							
								  var Ctor = ctor();
							 | 
						||
| 
								 | 
							
								  Ctor.prototype = prototype;
							 | 
						||
| 
								 | 
							
								  var result = new Ctor;
							 | 
						||
| 
								 | 
							
								  Ctor.prototype = null;
							 | 
						||
| 
								 | 
							
								  return result;
							 | 
						||
| 
								 | 
							
								}
							 |