Package-level declarations

Types

Link copied to clipboard
abstract class UseCase<ReturnType, Params>

Base class for every use case (GetScreenUseCase, SendNetworkRequestUseCase, the data-source ones, etc.) — a single-method, Result-returning unit of domain logic, always run on Dispatchers.IO via invoke rather than the caller's own dispatcher.

Properties

Link copied to clipboard
actual val Dispatchers.IO: CoroutineContext
expect val Dispatchers.IO: CoroutineContext

Platform-specific IO dispatcher (expect/actual) — Kotlin/JVM-family targets have their own Dispatchers.IO; other targets (e.g. JS/Wasm, which are single-threaded) provide a fallback. Used by UseCase.invoke so every use case runs off the caller's own dispatcher without each one needing its own withContext call.

actual val Dispatchers.IO: CoroutineContext
actual val Dispatchers.IO: CoroutineContext
actual val Dispatchers.IO: CoroutineContext

Functions

Link copied to clipboard

UseCase.invoke overload for a use case whose Params is Unit — lets a parameterless use case be called as useCase() instead of useCase(Unit).

Link copied to clipboard
fun main()