mixit/src/helpers/loadable/ErrorLoadable.ts

29 lines
538 B
TypeScript
Raw Normal View History

2019-05-01 15:07:08 +00:00
import Loadable from './Loadable'
export default class ErrorLoadable<T, E> extends Loadable<T> {
protected error?: E
reset() {
super.reset()
this.error = undefined
}
2019-05-29 07:02:43 +00:00
get hasError() {
return this.error !== undefined
}
2019-05-01 15:07:08 +00:00
get isSuccess() {
return this.loaded && this.error === undefined
}
get display() {
return this.loaded ? (this.error ? this.error.toString() : (this.data ? this.data.toString() : 'Empty')) : 'Loading...'
}
fail(error: E) {
this.loaded = true
this.error = error
}
}