A reflection-based utility library for Scala. In brief, emblem provides the following features:
TypeTagthat is suitable for use as a key in a
TypeKeyto objects with type arguments that match the type indicated by the
Mapwhere the key and value of each key-value pair is bound to the same type argument.
Extractoris a tool for wrapping and unwrapping simple refinement types. For instance, when you use a
case class Uri(uri: String)instead of a raw
String. It works as a Scala extractor object, but it is also typed as such.
Emblemis a simple utility for reflecting over nested case class structures.
emblem.traversorspackage provides a framework for visiting, generating, translating, and transforming networks of
Emblem source code is currently housed as a sub-project in another GitHub repository. At some point I will move the source code over here. I'm setting up this GitHub project now as a place to house user documentation in the meantime.