refactor: Drop back to below 100 lines :)
This commit is contained in:
		
							parent
							
								
									76f9b1638c
								
							
						
					
					
						commit
						2acdbb5009
					
				
					 1 changed files with 2 additions and 6 deletions
				
			
		| 
						 | 
					@ -3,13 +3,10 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# All types (should) compose as expected.
 | 
					# All types (should) compose as expected.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# TODO:
 | 
					# TODO(tazjin): enums?
 | 
				
			||||||
#  - enums?
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ toPretty ? ((import <nixpkgs> {}).lib.generators.toPretty {}) }:
 | 
					{ toPretty ? ((import <nixpkgs> {}).lib.generators.toPretty {}) }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Checks are simply functions of the type `a -> bool` which check
 | 
					 | 
				
			||||||
# whether `a` conforms to the specification.
 | 
					 | 
				
			||||||
with builtins; let
 | 
					with builtins; let
 | 
				
			||||||
  # Internal utilities:
 | 
					  # Internal utilities:
 | 
				
			||||||
  typeError = type: val:
 | 
					  typeError = type: val:
 | 
				
			||||||
| 
						 | 
					@ -32,9 +29,8 @@ with builtins; let
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  typeSet = foldl' (s: t: s // (if t ? "name" then { "${t.name}" = t; } else t)) {};
 | 
					  typeSet = foldl' (s: t: s // (if t ? "name" then { "${t.name}" = t; } else t)) {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Struct checker implementation
 | 
					  # Struct checks performed:
 | 
				
			||||||
  #
 | 
					  #
 | 
				
			||||||
  # Checks performed:
 | 
					 | 
				
			||||||
  # 1. All existing fields match their types
 | 
					  # 1. All existing fields match their types
 | 
				
			||||||
  # 2. No non-optional fields are missing.
 | 
					  # 2. No non-optional fields are missing.
 | 
				
			||||||
  # 3. No unexpected fields are in the struct.
 | 
					  # 3. No unexpected fields are in the struct.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue