Alphabet Soup
Typelevel Transformations
Alphabet Soup is a boilerplate-reduction library that will generate mappings between data-structures for you, automatically.
The order of types in a tuple or case class should not matter, just the type itself, if all the types are unique:
type Source = (A, B, (C, D), (E, (F, G)))
type Target = (G, A, (E, F), B, (D, C))
If you have a Source
, you can always produce a Target
. Alphabet Soup will give you any such mapping, for free.
It works on case classes, tuples, hlists, and any arbitrarily nested combination of all three.