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

Class Class, % Method, % Branch, % Line, % Instruction, %
SmartDeviceSerializer 100% (1/1) 66.7% (4/6) 31.2% (5/16) 68% (17/25) 55.2% (85/154)


 @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 [SmartDevice].
  * Generated by GhostSerialization. Do not modify manually.
  */
 public object SmartDeviceSerializer : GhostSerializer<SmartDevice> {
   override val typeName: String = "SmartDevice"
 
   /**
    * Robust deserialization for [SmartDevice].
    */
   override fun deserialize(reader: GhostJsonReader): SmartDevice {
     val typeName = reader.peekStringField("type")
     val result = when (typeName) {
       "Light" -> SmartDevice_LightSerializer.deserialize(reader)
       "Thermostat" -> SmartDevice_ThermostatSerializer.deserialize(reader)
       else -> {
         SmartDevice_UnknownDeviceSerializer.deserialize(reader)
       }
     }
     return result
   }
 
   /**
    * Robust deserialization for [SmartDevice].
    */
   override fun deserialize(reader: GhostJsonFlatReader): SmartDevice {
     val typeName = reader.peekStringField("type")
     val result = when (typeName) {
       "Light" -> SmartDevice_LightSerializer.deserialize(reader)
       "Thermostat" -> SmartDevice_ThermostatSerializer.deserialize(reader)
       else -> {
         SmartDevice_UnknownDeviceSerializer.deserialize(reader)
       }
     }
     return result
   }
 
   override fun serialize(writer: GhostJsonWriter, `value`: SmartDevice) {
     when (value) {
       is SmartDevice.Light -> SmartDevice_LightSerializer.serialize(writer, value)
       is SmartDevice.Thermostat -> SmartDevice_ThermostatSerializer.serialize(writer, value)
       is SmartDevice.UnknownDevice -> SmartDevice_UnknownDeviceSerializer.serialize(writer, value)
     }
   }
 
   override fun serialize(writer: GhostJsonFlatWriter, `value`: SmartDevice) {
     when (value) {
       is SmartDevice.Light -> SmartDevice_LightSerializer.serialize(writer, value)
       is SmartDevice.Thermostat -> SmartDevice_ThermostatSerializer.serialize(writer, value)
       is SmartDevice.UnknownDevice -> SmartDevice_UnknownDeviceSerializer.serialize(writer, value)
     }
   }
 
   override fun warmUp() {
     try {
       val reader1 = GhostJsonReader("{}".encodeToByteArray())
       deserialize(reader1)
     } catch (_: Exception) {
     }
     try {
       val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
       deserialize(reader2)
     } catch (_: Exception) {
     }
   }
 }