"format" supports all types by default #102
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I attempted to implement numeric formats for
oascomply
, and it took quite a lot of effort to figure out why they just wouldn't work.Previously, formats could set applicable types, but in the decorator the types were defaulted to ("string",), contrary to the behavior of keywords in general and the "format" keyword class in particular.
Since the tutorial example, unit tests, and the one format validator all check the instance type before proceeding, it looked very much like format validator functions were expected to do their own type checking.
This change aligns the default type applicability of formats with that of keywords, and updates all implementations, tests, and examples to rely on the decorator parameter to handle the type check.
I wrote the CHANGELOG as an 0.10.4 (thanks so much for the quick 0.10.3!), but I can see the argument that this is a public interface change.