package org.signal.core.util /** * Generic serialization interface for use with database and store operations. */ interface Serializer { fun serialize(data: T): R fun deserialize(data: R): T } interface StringSerializer : Serializer interface IntSerializer : Serializer interface LongSerializer : Serializer interface ByteSerializer : Serializer object StringStringSerializer : StringSerializer { override fun serialize(data: String?): String { return data ?: "" } override fun deserialize(data: String): String { return data } }