View test reports →

Coverage Summary for Class: RuleRepository (dev.skymansandy.wiretap.domain.repository)

Class Method, % Branch, % Line, % Instruction, %
RuleRepository$Companion 0% (0/1) 0% (0/1) 0% (0/6)
RuleRepository$Companion$NoOp$1 0% (0/11) 0% (0/11) 0% (0/15)
Total 0% (0/12) 0% (0/12) 0% (0/21)


 /*
  * Copyright (c) 2026 skymansandy. All rights reserved.
  */
 
 package dev.skymansandy.wiretap.domain.repository
 
 import dev.skymansandy.wiretap.domain.model.WiretapRule
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.flowOf
 
 interface RuleRepository {
 
     fun flowAll(): Flow<List<WiretapRule>>
 
     fun flowForQuery(query: String): Flow<List<WiretapRule>>
 
     fun flowById(id: Long): Flow<WiretapRule?>
 
     suspend fun addRule(rule: WiretapRule)
 
     suspend fun updateRule(rule: WiretapRule)
 
     suspend fun getById(id: Long): WiretapRule?
 
     suspend fun getEnabledRules(): List<WiretapRule>
 
     suspend fun setEnabled(id: Long, enabled: Boolean)
 
     suspend fun deleteById(id: Long)
 
     suspend fun deleteAll()
 
     companion object {
 
         internal val NoOp = object : RuleRepository {
 
             override fun flowAll() = flowOf(emptyList<WiretapRule>())
             override fun flowForQuery(query: String) = flowOf(emptyList<WiretapRule>())
             override fun flowById(id: Long): Flow<WiretapRule?> = flowOf(null)
             override suspend fun getById(id: Long) = null
             override suspend fun getEnabledRules() = emptyList<WiretapRule>()
             override suspend fun addRule(rule: WiretapRule) {}
             override suspend fun updateRule(rule: WiretapRule) {}
             override suspend fun deleteById(id: Long) {}
             override suspend fun deleteAll() {}
             override suspend fun setEnabled(id: Long, enabled: Boolean) {}
         }
     }
 }