Description
If you try to normalize an object like
{ Z1K1: 'Z6', Z6K1: 13 }
you'll get back
{ Z1K1: 'Z6', Z6K1: {} }
which is very bad for many reasons. We should guarantee that normalize() and canonicalize() always return valid ZObjects. If this is impossible (e.g., because the input contains a Boolean or integer), these functions should "error out."
Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)
- normalize() "errors out" when input contains Booleans or integers
- canonicalize() "errors out" when input contains Booleans or integers
Completion checklist
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Back-end_Task/Bug_completion_checklist