Coverage Summary for Class: SplitId (com.georgeci.moneysurfer.domain.primitives)

Class Method, % Branch, % Line, % Instruction, %
SplitId 100% (1/1) 100% (1/1) 100% (11/11)
SplitId$Companion 100% (1/1) 100% (1/1) 100% (4/4)
Total 100% (2/2) 100% (2/2) 100% (15/15)


 package com.georgeci.moneysurfer.domain.primitives
 
 import kotlinx.serialization.Serializable
 import kotlin.jvm.JvmInline
 import kotlin.uuid.ExperimentalUuidApi
 import kotlin.uuid.Uuid
 
 /**
  * Shared id of the sibling rows one receipt was split across — the same grouping technique
  * [TransferId] uses, and deliberately not a foreign key to a child table: every leg stays a
  * self-contained transaction, which is what keeps per-entity LWW sync correct for it.
  */
 @JvmInline
 @Serializable
 value class SplitId(val value: String) {
     companion object {
         @OptIn(ExperimentalUuidApi::class)
         fun uuid(): SplitId = SplitId(Uuid.random().toString())
     }
 }