The FileHashStore initialization takes a dict of values that must align with existing hashstore properties and/or pass verification tests which are implemented as part of the FileHashStore class. This leads to confused type checking and challenges opening an existing instance since the config must be known to open even though the config is part of the existing hashstore.
Split out the initialization properties to a separate class that verifies the property value type and range.
Enable FileHashStore instantiation with path only, loading the config params from stored config.
Add typehints and checking to reducing parameter type confusion and faciliate range verification.
Remove the spurious parameter checking from FileHashStore to reduce the amount of overloaded implementation.
The FileHashStore initialization takes a dict of values that must align with existing hashstore properties and/or pass verification tests which are implemented as part of the FileHashStore class. This leads to confused type checking and challenges opening an existing instance since the config must be known to open even though the config is part of the existing hashstore.
Split out the initialization properties to a separate class that verifies the property value type and range.
Enable FileHashStore instantiation with path only, loading the config params from stored config.
Add typehints and checking to reducing parameter type confusion and faciliate range verification.
Remove the spurious parameter checking from FileHashStore to reduce the amount of overloaded implementation.