implicit def trfIterable[T, C[_]]()

in bigquery/src/main/scala/magnolify/bigquery/TableRowType.scala [236:254]


  implicit def trfIterable[T, C[_]](implicit
    f: TableRowField[T],
    ti: C[T] => Iterable[T],
    fc: FactoryCompat[T, C[T]]
  ): TableRowField[C[T]] =
    new Aux[C[T], ju.List[f.FromT], ju.List[f.ToT]] {
      override protected def buildSchema(cm: CaseMapper): TableFieldSchema =
        f.fieldSchema(cm).clone().setMode("REPEATED")
      override def from(v: ju.List[f.FromT])(cm: CaseMapper): C[T] = {
        val b = fc.newBuilder
        if (v != null) {
          b ++= v.asScala.iterator.map(f.from(_)(cm))
        }
        b.result()
      }

      override def to(v: C[T])(cm: CaseMapper): ju.List[f.ToT] =
        if (v.isEmpty) null else v.iterator.map(f.to(_)(cm)).toList.asJava
    }