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; | ||
|  | } |