Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Previously, union wrapping during `type.clone` calls would be done in place
of normal copy. Now it is done as a backup if a normal copy fails. This is
more consistent with the documentation, and makes it much simpler to wrap
nested unions.
See here for more information and examples: https://github.com/mtth/avsc/issues/16
Other changes:
+ Add an optional argument to `type.getName` to expose built-in type names
(useful to implement an "optional" logical type for example).
+ Document (and rename) `assertLogicalTypes` parsing option.
+ Tweak logical type validity check, enabling error hooks to work even when a
logical type is valid for a subset of its underlying type's values (e.g. when
defining an "even integer" type). Previously the path would have been correct
but the type would have been that of the underlying one.