implicit def apply[T: BigtableField]: BigtableType[T] = BigtableType()

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")
  }