Slide 62
Slide 62 text
implicit def conv[K <: Symbol, H, T <: HList](
implicit
witness: Witness.Aux[K],
hEnc: ValueEncoder[H],
tEnc: ObjEncoder[T]
): ObjEncoder[FieldType[K, H] :: T] = {
new ObjEncoder[FieldType[K, H] :: T] {
def encode(h: FieldType[K, H] :: T) = {
(witness.value.name, hEnc.encode(h.head)) +:
tEnc.encode(h.tail)
}
}
}
ObjEncoder[FieldType["num",Int] :: HNil]