chimney icon indicating copy to clipboard operation
chimney copied to clipboard

Scala library for boilerplate-free, type-safe data transformations

Results 70 chimney issues
Sort by recently updated
recently updated
newest added

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...

low hanging fruit

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 //...

enhancement
relatively easy but not small

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...

enhancement
low hanging fruit

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...

enhancement
blocked
dragons ahead

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...

enhancement
dragons ahead

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...

enhancement
blocked
dragons ahead