Avoid using runBlocking in Node resolve function.

This commit is contained in:
Benoit Marty 2025-08-14 16:41:29 +02:00
parent 037e5dbce4
commit 476a2b9007
10 changed files with 159 additions and 26 deletions

View file

@ -160,3 +160,17 @@ suspend inline fun <T> runUpdatingState(
}
)
}
inline fun <T, R> AsyncData<T>.map(
transform: (T?) -> R,
): AsyncData<R> {
return when (this) {
is AsyncData.Failure -> AsyncData.Failure(
error = error,
prevData = transform(prevData)
)
is AsyncData.Loading -> AsyncData.Loading(transform(prevData))
is AsyncData.Success -> AsyncData.Success(transform(data))
AsyncData.Uninitialized -> AsyncData.Uninitialized
}
}