
commonMain.me.aartikov.replica.paged.PagedReplicaState.kt Maven / Gradle / Ivy
package me.aartikov.replica.paged
import me.aartikov.replica.common.CombinedLoadingError
import me.aartikov.replica.common.LoadingError
import me.aartikov.replica.common.ObservingState
data class PagedReplicaState>(
val loadingStatus: PagedLoadingStatus,
val data: PagedReplicaData?,
val error: LoadingError?,
val observingState: ObservingState,
val preloading: Boolean
) {
val hasFreshData get() = data?.fresh == true
companion object {
fun > createEmpty() = PagedReplicaState(
loadingStatus = PagedLoadingStatus.None,
data = null,
error = null,
observingState = ObservingState(),
preloading = false
)
}
}
internal fun > PagedReplicaState.toPaged() = Paged(
loadingStatus = loadingStatus,
data = data?.valueWithOptimisticUpdates,
error = error?.let { CombinedLoadingError(listOf(it)) }
)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy