Skip to content

Instantly share code, notes, and snippets.

@psteiger
Last active June 30, 2019 17:27
Show Gist options
  • Save psteiger/46ea91d4d05b15dfafc0e41331abe668 to your computer and use it in GitHub Desktop.
Save psteiger/46ea91d4d05b15dfafc0e41331abe668 to your computer and use it in GitHub Desktop.
sealed class Resource<out T> {
data class Success<out T>(val data: T) : Resource<T>()
data class Loading<out T>(val partialData: T? = null) : Resource<T>()
data class Failure<out T>(val throwable: Throwable? = null) : Resource<T>()
val extractData: T? get() = when (this) {
is Success -> data
is Loading -> partialData
is Failure -> null
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment