Coverage Summary for Class: ApiEventExplicitTypeSerializer (com.ghost.serialization.integration.model)

Class Class, % Method, % Branch, % Line, % Instruction, %
ApiEventExplicitTypeSerializer 100% (1/1) 83.3% (5/6) 18.8% (3/16) 39.1% (9/23) 49.4% (83/168)


 @file:OptIn(InternalGhostApi::class)
 
 package com.ghost.serialization.integration.model
 
 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.peekStringField
 import com.ghost.serialization.writer.GhostJsonFlatWriter
 import com.ghost.serialization.writer.GhostJsonWriter
 
 /**
  * High-performance serializer for [ApiEventExplicitType].
  * Generated by GhostSerialization. Do not modify manually.
  */
 public object ApiEventExplicitTypeSerializer : GhostSerializer<ApiEventExplicitType> {
   override val typeName: String = "ApiEventExplicitType"
 
   /**
    * Robust deserialization for [ApiEventExplicitType].
    */
   override fun deserialize(reader: GhostJsonReader): ApiEventExplicitType {
     val typeName = reader.peekStringField("type") ?: reader.throwError("Missing discriminator field for sealed class")
     val result = when (typeName) {
       "Login" -> ApiEventExplicitType_LoginSerializer.deserialize(reader)
       "Logout" -> ApiEventExplicitType_LogoutSerializer.deserialize(reader)
       else -> reader.throwError("Unknown type discriminator: $typeName")
     }
     return result
   }
 
   /**
    * Robust deserialization for [ApiEventExplicitType].
    */
   override fun deserialize(reader: GhostJsonFlatReader): ApiEventExplicitType {
     val typeName = reader.peekStringField("type") ?: reader.throwError("Missing discriminator field for sealed class")
     val result = when (typeName) {
       "Login" -> ApiEventExplicitType_LoginSerializer.deserialize(reader)
       "Logout" -> ApiEventExplicitType_LogoutSerializer.deserialize(reader)
       else -> reader.throwError("Unknown type discriminator: $typeName")
     }
     return result
   }
 
   override fun serialize(writer: GhostJsonWriter, `value`: ApiEventExplicitType) {
     when (value) {
       is ApiEventExplicitType.Login -> ApiEventExplicitType_LoginSerializer.serialize(writer, value)
       is ApiEventExplicitType.Logout -> ApiEventExplicitType_LogoutSerializer.serialize(writer, value)
     }
   }
 
   override fun serialize(writer: GhostJsonFlatWriter, `value`: ApiEventExplicitType) {
     when (value) {
       is ApiEventExplicitType.Login -> ApiEventExplicitType_LoginSerializer.serialize(writer, value)
       is ApiEventExplicitType.Logout -> ApiEventExplicitType_LogoutSerializer.serialize(writer, value)
     }
   }
 
   override fun warmUp() {
     try {
       val reader1 = GhostJsonReader("{}".encodeToByteArray())
       deserialize(reader1)
     } catch (_: Exception) {
     }
     try {
       val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
       deserialize(reader2)
     } catch (_: Exception) {
     }
   }
 }