in neo4j/src/main/scala/magnolify/neo4j/ValueType.scala [38:49]
implicit def apply[T: ValueField]: ValueType[T] = ValueType(CaseMapper.identity)
def apply[T](cm: CaseMapper)(implicit f: ValueField[T]): ValueType[T] = f match {
case r: ValueField.Record[_] =>
new ValueType[T] {
private val caseMapper: CaseMapper = cm
override def from(v: Value): T = r.from(v)(caseMapper)
override def to(v: T): Value = r.to(v)(caseMapper)
}
case _ =>
throw new IllegalArgumentException(s"ValueType can only be created from Record. Got $f")
}