Coverage Summary for Class: RawJsonSerializer (com.ghost.serialization.types)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| RawJsonSerializer |
100%
(1/1)
|
87.5%
(7/8)
|
|
70%
(7/10)
|
38.2%
(21/55)
|
@file:OptIn(InternalGhostApi::class)
package com.ghost.serialization.types
import com.ghost.serialization.InternalGhostApi
import com.ghost.serialization.contract.GhostSerializer
import com.ghost.serialization.parser.GhostJsonFlatReader
import com.ghost.serialization.parser.GhostJsonReader
import com.ghost.serialization.parser.GhostJsonStringReader
import com.ghost.serialization.parser.captureRawJson
import com.ghost.serialization.writer.GhostJsonFlatWriter
import com.ghost.serialization.writer.GhostJsonStringWriter
import com.ghost.serialization.writer.GhostJsonWriter
/** Built-in serializer for [RawJson] opaque JSON passthrough. */
object RawJsonSerializer : GhostSerializer<RawJson> {
override val typeName: String = "RawJson"
override fun deserialize(reader: GhostJsonReader): RawJson =
reader.captureRawJson()
override fun deserialize(reader: GhostJsonFlatReader): RawJson =
reader.captureRawJson()
override fun deserialize(reader: GhostJsonStringReader): RawJson =
reader.captureRawJson()
override fun serialize(writer: GhostJsonWriter, value: RawJson) {
writer.rawValue(value)
}
override fun serialize(writer: GhostJsonFlatWriter, value: RawJson) {
writer.rawValue(value)
}
override fun serialize(writer: GhostJsonStringWriter, value: RawJson) {
writer.rawValue(value)
}
override fun warmUp() {
val sample = """{"warm":true}""".encodeToByteArray()
try {
deserialize(GhostJsonReader(sample))
} catch (_: Exception) {
}
try {
deserialize(GhostJsonFlatReader(sample))
} catch (_: Exception) {
}
}
}