There was a bug in #423. Null types in a union with extra_attrs or other attributes set would result in False returned when there was in fact a NullType in the UnionType's types list. __eq__ checks all attributes, so you must iterate over the UnionType's types attribute and look for any type with isinstance(..., NullType) is True. I updated the logic accordingly.
In doing so, I discovered that the JSON converter logic was converting JSON schema fields of null type to a UnionType with a single nested NullType type. This seems wrong; I updated the test to validate that null JSON fields are returned as NullType with a default of None.
There was a bug in #423. Null types in a union with
extra_attrs
or other attributes set would result inFalse
returned when there was in fact a NullType in the UnionType'stypes
list.__eq__
checks all attributes, so you must iterate over the UnionType'stypes
attribute and look for any type withisinstance(..., NullType) is True
. I updated the logic accordingly.In doing so, I discovered that the JSON converter logic was converting JSON schema fields of
null
type to a UnionType with a single nested NullType type. This seems wrong; I updated the test to validate thatnull
JSON fields are returned asNullType
with a default ofNone
.