seandstewart / typical

Typical: Fast, simple, & correct data-validation using Python 3 typing.
https://python-typical.org
MIT License
183 stars 9 forks source link

Use Closures and Callable Routines for SerDes and Constraints #201

Closed seandstewart closed 1 year ago

seandstewart commented 1 year ago

Major rewrite of typical's core functionality to drop reliances on generated code. This is a first past with an emphasis on making the legacy test suite pass - barring a few deprecations.

codecov[bot] commented 1 year ago

Codecov Report

Merging #201 (fecd578) into v3 (4643226) will decrease coverage by 5.90%. The diff coverage is 84.83%.

@@            Coverage Diff             @@
##               v3     #201      +/-   ##
==========================================
- Coverage   93.21%   87.31%   -5.91%     
==========================================
  Files          38       67      +29     
  Lines        4464     5367     +903     
  Branches      785      927     +142     
==========================================
+ Hits         4161     4686     +525     
- Misses        215      571     +356     
- Partials       88      110      +22     
Flag Coverage Δ
unittests 87.19% <84.83%> (-5.88%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
typic/types/path.py 94.44% <ø> (ø)
typic/core/constraints/array/prechecks.py 42.85% <42.85%> (ø)
typic/core/constraints/decimal/assertions.py 47.22% <47.22%> (ø)
typic/core/constraints/number/assertions.py 64.02% <64.02%> (ø)
typic/core/constraints/array/assertions.py 65.85% <65.85%> (ø)
typic/core/constraints/text/prechecks.py 66.66% <66.66%> (ø)
typic/core/constraints/core/error.py 68.96% <68.96%> (ø)
typic/core/schema/jsonschema/builder.py 69.08% <69.08%> (ø)
typic/core/schema/builder.py 71.42% <71.42%> (ø)
typic/core/constraints/mapping/assertions.py 72.05% <72.05%> (ø)
... and 62 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.