in bigtable/src/main/scala/magnolify/bigtable/BigtableType.scala [50:61]
implicit def apply[T: BigtableField]: BigtableType[T] = BigtableType(CaseMapper.identity)
def apply[T](cm: CaseMapper)(implicit f: BigtableField[T]): BigtableType[T] = f match {
case r: BigtableField.Record[_] =>
new BigtableType[T] {
private val caseMapper: CaseMapper = cm
override def from(xs: Map[String, Column]): T = r.get(xs, null)(caseMapper)
override def to(v: T): Seq[SetCell.Builder] = r.put(null, v)(caseMapper)
}
case _ =>
throw new IllegalArgumentException(s"BigtableType can only be created from Record. Got $f")
}