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
						
					
					
						
							640 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							19 lines
						
					
					
						
							640 B
						
					
					
				| // 合并 map | |
| @function map-deep-merge($parent-map, $child-map){ | |
| 	$result: $parent-map; | |
| 	@each $key, $child in $child-map { | |
| 		$parent-has-key: map-has-key($result, $key); | |
| 		$parent-value: map-get($result, $key); | |
| 		$parent-type: type-of($parent-value); | |
| 		$child-type: type-of($child); | |
| 		$parent-is-map: $parent-type == map; | |
| 		$child-is-map: $child-type == map; | |
| 			 | |
| 		@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ | |
| 			$result: map-merge($result, ( $key: $child )); | |
| 		}@else { | |
| 			$result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); | |
| 		} | |
| 	} | |
| 	@return $result; | |
| };
 | |
| 
 |