chimney
chimney copied to clipboard
Scala library for boilerplate-free, type-safe data transformations
Auto derivation, though convenient, can cause increases in compile time (since the macro runs on a per-call-site basis), as well as make implicit instances of Transformers placed in the companion...
Similar to what was done in #190 for transformers, provide analogous mechanism for transformers.
The current example: ```scala sealed trait Color object Color { case object Red extends Color case object Green extends Color case object Blue extends Color } sealed trait Channel object...
The example works with version 0.4.2 but it doesn't compile in 0.5.* ``` import io.scalaland.chimney.dsl._ import scala.beans.BeanProperty case class Entity(field1: String, field2: Option[String]) class AnotherEntity { @BeanProperty var field1: String...
I would like to have a transformer with effects (or maybe just some validations, but in the same effect as the rest of the logic in the same trait). Since...
Sometimes if you have two classes, it might be nice to be able to define a single bi-directional transform instead of having to write one for each one ```scala //...
As we now support Java beans, it might be useful to support automatic transformations between: - scala `Option` and java `Optional` - scala collections and java collections - scala maps...
Right now it is possible to ignore all the redundant fields in the patcher with `ignoreRedundantPatcherFields` which is significantly unsafe. I think it might be a good idea to allow...
Presuming I had the following: ```scala case class Container1(a: Int) case class Container2(b: String) case class MergedContainers(a: Int, b: String) ``` It would be nice to do something like either...
Sometimes, when patching a case class, new value must be combined from existing value and provided one from patch. Thus, we need some way of expressing the custom logic in...