Coverage Summary for Class: JvmByteArraySource (com.ghost.serialization.parser)

Class Class, % Method, % Branch, % Line, % Instruction, %
JvmByteArraySource 100% (1/1) 100% (2/2) 100% (2/2) 100% (7/7) 100% (28/28)


 package com.ghost.serialization.parser
 
 import com.ghost.serialization.InternalGhostApi
 import java.nio.charset.StandardCharsets
 
 /**
  * JVM-optimized [GhostSource] that overrides [decodeJsonStringRange]
  * to use [StandardCharsets.US_ASCII] for known 7-bit content,
  * bypassing full UTF-8 validation.
  */
 @InternalGhostApi
 class JvmByteArraySource(
     data: ByteArray
 ) : ByteArrayGhostSource(data) {
 
     override fun decodeJsonStringRange(
         start: Int,
         end: Int,
         isKnown7BitContent: Boolean
     ): String {
         if (!isKnown7BitContent) {
             return decodeToString(start, end)
         }
         return String(
             data,
             start,
             end - start,
             StandardCharsets.ISO_8859_1
         )
     }
 }
 
 @InternalGhostApi
 actual fun createByteArraySource(
     data: ByteArray
 ): GhostSource = JvmByteArraySource(data)