Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement support for @fieldNameAliases annotation #380

Closed
jdegoes opened this issue Oct 24, 2022 · 0 comments · Fixed by #427
Closed

Implement support for @fieldNameAliases annotation #380

jdegoes opened this issue Oct 24, 2022 · 0 comments · Fixed by #427
Assignees

Comments

@jdegoes
Copy link
Member

jdegoes commented Oct 24, 2022

After #203 is completed, then each specified annotation may be implemented for each of the supported codecs for which it makes sense to support the annotation.

This ticket is to implement the @fieldNameAliases annotation. This annotation, which may be applied to any field, contains a list of aliases the field is sometimes known by, which is a hint to the deserialization for different protocols to check for the field not only under its primary name, but also under its alternate names.

For example, maybe it may be the case that the id of Order is usually stored in a field id, but occassionally appears under order_id. Adding this annotation is a hint to the deserialization process to try not just id, but also, order_id.

The main place where this new annotation should be used is in the different protocols that ZIO Schema supports. For example, the zio-schema-json protocol, which has serialization / deserialization in the JSON protocol.

ZIO Schema already captures annotations, so it is only necessary to look at the annotations and ensure that serialization / deserialization respects them in every protocol where the annotation makes sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

2 participants