Slide 27
Slide 27 text
Readers and Writers
@Serializer(forClass = Pair::class)
class PairSerializer(val t: KSerializer, val r: KSerializer): KSerializer> {
override fun save(
output: Encoder,
obj: Pair
) {
val compositeEncoder = output.beginCollection(serialClassDesc, 2, r, t)
compositeEncoder.encodeSerializableElement(serialClassDesc, 0, t, obj.one)
output.encodeSerializableElement(serialClassDesc, 1, r, obj.two)
output.endStructure(serialClassDesc)
}
}