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.
		
		
		
		
		
			
		
			
				
					
					
						
							64 lines
						
					
					
						
							826 B
						
					
					
				
			
		
		
	
	
							64 lines
						
					
					
						
							826 B
						
					
					
				"use strict"; | 
						|
 | 
						|
/* | 
						|
	Deep-clone an object. | 
						|
*/ | 
						|
function clone(obj) | 
						|
{ | 
						|
	if (obj instanceof Object) | 
						|
	{ | 
						|
		var clonedObj = (obj instanceof Array) ? [] : {}; | 
						|
		 | 
						|
		for (var i in obj) | 
						|
		{ | 
						|
			if ( obj.hasOwnProperty(i) ) | 
						|
			{ | 
						|
				clonedObj[i] = clone( obj[i] ); | 
						|
			} | 
						|
		} | 
						|
		 | 
						|
		return clonedObj; | 
						|
	} | 
						|
	 | 
						|
	return obj; | 
						|
} | 
						|
 | 
						|
 | 
						|
 | 
						|
/* | 
						|
	https://github.com/jonschlinkert/is-plain-object | 
						|
*/ | 
						|
function isPlainObject(obj) | 
						|
{ | 
						|
	return !!obj && typeof obj==="object" && obj.constructor===Object; | 
						|
} | 
						|
 | 
						|
 | 
						|
 | 
						|
/* | 
						|
	Shallow-merge two objects. | 
						|
*/ | 
						|
function shallowMerge(target, source) | 
						|
{ | 
						|
	if (target instanceof Object && source instanceof Object) | 
						|
	{ | 
						|
		for (var i in source) | 
						|
		{ | 
						|
			if ( source.hasOwnProperty(i) ) | 
						|
			{ | 
						|
				target[i] = source[i]; | 
						|
			} | 
						|
		} | 
						|
	} | 
						|
	 | 
						|
	return target; | 
						|
} | 
						|
 | 
						|
 | 
						|
 | 
						|
module.exports = | 
						|
{ | 
						|
	clone: clone, | 
						|
	isPlainObject: isPlainObject, | 
						|
	shallowMerge: shallowMerge | 
						|
};
 | 
						|
 |