derive-macroshelp wantedimprovement
Repository-Metriken
- Stars
- (1.961 Sterne)
- PR-Merge-Metriken
- (Durchschn. Merge 8T 15h) (4 gemergte PRs in 30 T)
Beschreibung
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)
}