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 @transientField annotation #384

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

Implement support for @transientField annotation #384

jdegoes opened this issue Oct 24, 2022 · 0 comments · Fixed by #420
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 @transientField annotation. This annotation, which may be applied to any field of a record (case class), is a marker to serializers that the field should not be serialized, but rather, its default value should be read during deserialization if it is absent (and it is expected to be absent).

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.

To complete this ticket, go to all existing protocols and modify to ensure @transientField is supported in each, with a test.

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