Skip to content

Instantly share code, notes, and snippets.

@sberoch
Created July 13, 2020 01:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sberoch/30c2bd6a39f56d762caff5e155677f37 to your computer and use it in GitHub Desktop.
Save sberoch/30c2bd6a39f56d762caff5e155677f37 to your computer and use it in GitHub Desktop.
data class Resource<out T>(val status: Status, val data: T?, val message: String?) {
enum class Status {
SUCCESS,
ERROR,
LOADING
}
companion object {
fun <T> success(data: T): Resource<T> {
return Resource(Status.SUCCESS, data, null)
}
fun <T> error(message: String, data: T? = null): Resource<T> {
return Resource(Status.ERROR, data, message)
}
fun <T> loading(data: T? = null): Resource<T> {
return Resource(Status.LOADING, data, null)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment