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
			| 
								 
											4 years ago
										 
									 | 
							
								"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
							 | 
						||
| 
								 | 
							
								};
							 |