derive-macroshelp wantedimprovement
Métriques du dépôt
- Stars
- (1 961 étoiles)
- Métriques de merge PR
- (Merge moyen 8j 15h) (4 PRs mergées en 30 j)
Description
It would be cool if they were supported out of the box. Otherwise you could easily add something like this
/**
* To be used similar to sangria derivation macros (though this is not a macro), e.g.
*
* // Java
* public enum JavaEnum { A, B }
*
* // Scala
* val GJavaEnum = deriveEnumTypeFromJavaEnumeration[JavaEnum]()
*/
def deriveEnumTypeFromJavaEnumeration[A](name: String = null)(implicit ev: ClassTag[A]): EnumType[A] = {
val javaEnumClass = ev.runtimeClass.asInstanceOf[Class[A]]
EnumType(if(name == null) javaEnumClass.getSimpleName else name,
values = javaEnumClass.getEnumConstants.map(value => EnumValue(value.toString, value = value)).toList)
}