Hi, how can I create a serializer for `List<Pai...
# serialization
a
Hi, how can I create a serializer for
List<Pair<String, SomeClassWithSerializer>>
(I really need a List of pair, not maps, as I have to change often key names) ? I have this code but it gives me a compiler error :
Copy code
class SnapshotListPairSerializer<K, V>(private val keySerializer: KSerializer<K>, private val valueSerializer: KSerializer<V>) :
	KSerializer<SnapshotStateList<Pair<K, V>>> {
	override val descriptor: SerialDescriptor = ListSerializer(PairSerializer(keySerializer, valueSerializer)).descriptor
	
	override fun serialize(encoder: Encoder, value: SnapshotStateList<Pair<K, V>>) {
		encoder.encodeSerializableValue(ListSerializer(PairSerializer(keySerializer, valueSerializer)), value as List<Pair<K, V>>)
	}
	
	override fun deserialize(decoder: Decoder): SnapshotStateList<Pair<K, V>> {
		val list = mutableStateListOf<Pair<K, V>>()
		val items = decoder.decodeSerializableValue(ListSerializer(PairSerializer(keySerializer, valueSerializer)))
		list.addAll(items)
		return list
	}
}
PS :
Copy code
class SnapshotStateList<T> : MutableList<T>
Error in thread
Fixed the pastebin being private
I'm still having this error, I can't figure out why it happens, please someone help me really...