kubukoz/sup

Remove dependency on circe-generic

kubukoz opened this issue · 5 comments

Circe instances could and should be hand-written, currently it should be easy to do with Decoder.forProduct2 and the corresponding Encoder function.

Why do you think they should/could be hand-written, if I may ask?

it is never a good idea to use auto generation because if a user comes in and changes a case class, they will change the JSON unknowingly. It's better to disconnect them like this so you end up with some sort of a compile error if you add or remove fields

Basically what @calvinlfer said, plus the fact that it brings a dependency someone might not want to have, as well as shapeless which is quite large.

Thanks. I just never thought about it. Never really offered a library that was using circe encoders. Thanks.

Closed by #129