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

Class Class, % Method, % Branch, % Line, % Instruction, %
StripeObjectSerializer 100% (1/1) 83.3% (5/6) 56.2% (9/16) 65.2% (15/23) 70.2% (118/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 [StripeObject].
  * Generated by GhostSerialization. Do not modify manually.
  */
 public object StripeObjectSerializer : GhostSerializer<StripeObject> {
   override val typeName: String = "StripeObject"
 
   /**
    * Robust deserialization for [StripeObject].
    */
   override fun deserialize(reader: GhostJsonReader): StripeObject {
     val typeName = reader.peekStringField("object") ?: reader.throwError("Missing discriminator field for sealed class")
     val result = when (typeName) {
       "Charge" -> StripeObject_ChargeSerializer.deserialize(reader)
       "Refund" -> StripeObject_RefundSerializer.deserialize(reader)
       else -> reader.throwError("Unknown type discriminator: $typeName")
     }
     return result
   }
 
   /**
    * Robust deserialization for [StripeObject].
    */
   override fun deserialize(reader: GhostJsonFlatReader): StripeObject {
     val typeName = reader.peekStringField("object") ?: reader.throwError("Missing discriminator field for sealed class")
     val result = when (typeName) {
       "Charge" -> StripeObject_ChargeSerializer.deserialize(reader)
       "Refund" -> StripeObject_RefundSerializer.deserialize(reader)
       else -> reader.throwError("Unknown type discriminator: $typeName")
     }
     return result
   }
 
   override fun serialize(writer: GhostJsonWriter, `value`: StripeObject) {
     when (value) {
       is StripeObject.Charge -> StripeObject_ChargeSerializer.serialize(writer, value)
       is StripeObject.Refund -> StripeObject_RefundSerializer.serialize(writer, value)
     }
   }
 
   override fun serialize(writer: GhostJsonFlatWriter, `value`: StripeObject) {
     when (value) {
       is StripeObject.Charge -> StripeObject_ChargeSerializer.serialize(writer, value)
       is StripeObject.Refund -> StripeObject_RefundSerializer.serialize(writer, value)
     }
   }
 
   override fun warmUp() {
     try {
       val reader1 = GhostJsonReader("{}".encodeToByteArray())
       deserialize(reader1)
     } catch (_: Exception) {
     }
     try {
       val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
       deserialize(reader2)
     } catch (_: Exception) {
     }
   }
 }