in parquet/src/main/scala/magnolify/parquet/ParquetField.scala [90:108]
override protected def buildSchema(
cm: CaseMapper,
properties: MagnolifyParquetProperties
): Type =
tc.buildSchema(cm, properties)
override protected def isEmpty(v: T): Boolean = tc.isEmpty(p.dereference(v))
override def write(c: RecordConsumer, v: T)(
cm: CaseMapper,
properties: MagnolifyParquetProperties
): Unit =
tc.writeGroup(c, p.dereference(v))(cm, properties)
override def newConverter(writerSchema: Type): TypeConverter[T] = {
val buffered = tc
.newConverter(writerSchema)
.asInstanceOf[TypeConverter.Buffered[p.PType]]
new TypeConverter.Delegate[p.PType, T](buffered) {
override def get: T = inner.get(b => caseClass.construct(_ => b.head))
}
}