blob: ce366bdc2f4bda9935909c91d60863d21baeb7a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/*
* Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.serialization.internal
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
import kotlinx.serialization.modules.*
/**
* Encoder that does not do any operations. Its main purpose is to ignore data instead of writing it.
*/
@OptIn(ExperimentalSerializationApi::class)
internal object NoOpEncoder : AbstractEncoder() {
override val serializersModule: SerializersModule = EmptySerializersModule()
public override fun encodeValue(value: Any): Unit = Unit
override fun encodeNull(): Unit = Unit
override fun encodeBoolean(value: Boolean): Unit = Unit
override fun encodeByte(value: Byte): Unit = Unit
override fun encodeShort(value: Short): Unit = Unit
override fun encodeInt(value: Int): Unit = Unit
override fun encodeLong(value: Long): Unit = Unit
override fun encodeFloat(value: Float): Unit = Unit
override fun encodeDouble(value: Double): Unit = Unit
override fun encodeChar(value: Char): Unit = Unit
override fun encodeString(value: String): Unit = Unit
override fun encodeEnum(enumDescriptor: SerialDescriptor, index: Int): Unit = Unit
}
|