All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.customer.base.data.Result.kt Maven / Gradle / Ivy

package io.customer.base.data

import io.customer.base.error.ErrorDetail

sealed class Result {
    open fun get(): T? = null

    fun getOrThrow(): T = when (this) {
        is Success -> get()
        is ErrorResult -> throw error.cause
    }

    val isSuccess: Boolean
        get() = this is Success

    val isError: Boolean
        get() = this is ErrorResult
}

data class Success(val data: T) : Result() {
    override fun get(): T = data
}

data class ErrorResult(val error: ErrorDetail) : Result()




© 2015 - 2025 Weber Informatics LLC | Privacy Policy