refactor: make SavedPostSerializer an object

This commit is contained in:
Harsh Shandilya 2023-06-05 09:41:52 +05:30
parent acdc924047
commit 8a418f6649
No known key found for this signature in database
3 changed files with 4 additions and 4 deletions

View file

@ -31,7 +31,7 @@ constructor(
@DatabaseDispatcher private val dbDispatcher: CoroutineDispatcher,
@IODispatcher private val ioDispatcher: CoroutineDispatcher,
) {
private val serializer = ListSerializer(SavedPostSerializer())
private val serializer = ListSerializer(SavedPostSerializer)
private val savedPostQueries = database.savedPostQueries
suspend fun importPosts(input: InputStream) {

View file

@ -23,7 +23,7 @@ import kotlinx.serialization.encoding.encodeStructure
@OptIn(ExperimentalSerializationApi::class)
@Serializer(forClass = SavedPost::class)
class SavedPostSerializer : KSerializer<SavedPost> {
object SavedPostSerializer : KSerializer<SavedPost> {
private val delegateSerializer = ListSerializer(String.serializer())
override val descriptor: SerialDescriptor =
buildClassSerialDescriptor("SavedPost") {

View file

@ -24,14 +24,14 @@ class SavedPostSerializerTest {
@Test
fun serialize() {
val encoded = json.encodeToString(SavedPostSerializer(), SAVED_POST)
val encoded = json.encodeToString(SavedPostSerializer, SAVED_POST)
assertThat(encoded).isNotEmpty()
assertThat(encoded).isEqualTo(text)
}
@Test
fun deserialize() {
val decoded = json.decodeFromString(SavedPostSerializer(), text)
val decoded = json.decodeFromString(SavedPostSerializer, text)
assertThat(decoded).isEqualTo(SAVED_POST)
}