Let AsyncAction.Confirming be an interface, with a AsyncAction.ConfirmingNoParams data object.

This will allow inheritance of `AsyncAction.Confirming` with parameter(s).
This commit is contained in:
Benoit Marty 2024-10-14 10:49:55 +02:00
parent c46896be09
commit 97fb7bc2fa
46 changed files with 86 additions and 84 deletions

View file

@ -26,7 +26,9 @@ sealed interface AsyncAction<out T> {
/**
* Represents an operation that is currently waiting for user confirmation.
*/
data object Confirming : AsyncAction<Nothing>
interface Confirming : AsyncAction<Nothing>
data object ConfirmingNoParams : Confirming
/**
* Represents an operation that is currently ongoing.
@ -70,7 +72,7 @@ sealed interface AsyncAction<out T> {
fun isUninitialized(): Boolean = this == Uninitialized
fun isConfirming(): Boolean = this == Confirming
fun isConfirming(): Boolean = this is Confirming
fun isLoading(): Boolean = this == Loading