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.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							826 B
						
					
					
				
			
		
		
	
	
							65 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
 | |
| };
 |