2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# typed: strict
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# frozen_string_literal: true
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								class Hash
							 | 
						
					
						
							
								
									
										
										
										
											2024-02-18 15:47:56 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  sig {
							 | 
						
					
						
							
								
									
										
										
										
											2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    type_parameters(:k2).params(
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								      other_hash: T::Hash[T.type_parameter(:k2), T.untyped],
							 | 
						
					
						
							
								
									
										
										
										
											2024-02-18 15:47:56 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								      block:      T.nilable(T.proc.params(k: T.untyped, v1: T.untyped, v2: T.untyped).returns(T.untyped)),
							 | 
						
					
						
							
								
									
										
										
										
											2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    ).returns(T::Hash[T.any(Hash::K, T.type_parameter(:k2)), T.untyped])
							 | 
						
					
						
							
								
									
										
										
										
											2024-02-18 15:47:56 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  }
							 | 
						
					
						
							
								
									
										
										
										
											2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  def deep_merge(other_hash, &block); end
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2024-02-18 15:47:56 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  sig {
							 | 
						
					
						
							
								
									
										
										
										
											2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    type_parameters(:k2).params(
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								      other_hash: T::Hash[T.type_parameter(:k2), T.untyped],
							 | 
						
					
						
							
								
									
										
										
										
											2024-02-18 15:47:56 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								      block:      T.nilable(T.proc.params(k: T.untyped, v1: T.untyped, v2: T.untyped).returns(T.untyped)),
							 | 
						
					
						
							
								
									
										
										
										
											2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    ).returns(T::Hash[T.any(Hash::K, T.type_parameter(:k2)), T.untyped])
							 | 
						
					
						
							
								
									
										
										
										
											2024-02-18 15:47:56 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  }
							 | 
						
					
						
							
								
									
										
										
										
											2024-01-11 19:22:16 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  def deep_merge!(other_hash, &block); end
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								end
							 |