File tree Expand file tree Collapse file tree 1 file changed +32
-11
lines changed Expand file tree Collapse file tree 1 file changed +32
-11
lines changed Original file line number Diff line number Diff line change @@ -22,13 +22,6 @@ export interface AsyncProps<T> extends AsyncOptions<T> {
22
22
23
23
interface AbstractState < T > {
24
24
initialValue ?: T
25
- isWaiting : boolean
26
- isPending : boolean
27
- isLoading : boolean
28
- isFulfilled : boolean
29
- isResolved : boolean
30
- isRejected : boolean
31
- isSettled : boolean
32
25
counter : number
33
26
cancel : ( ) => void
34
27
run : ( ...args : any [ ] ) => Promise < T >
@@ -38,32 +31,60 @@ interface AbstractState<T> {
38
31
}
39
32
40
33
export type AsyncWaiting < T > = AbstractState < T > & {
41
- status : "waiting"
42
34
data : undefined
43
35
error : undefined
44
36
startedAt : undefined
45
37
finishedAt : undefined
38
+ status : "waiting"
39
+ isWaiting : false
40
+ isPending : false
41
+ isLoading : false
42
+ isFulfilled : false
43
+ isResolved : false
44
+ isRejected : false
45
+ isSettled : false
46
46
}
47
47
export type AsyncPending < T > = AbstractState < T > & {
48
- status : "pending"
49
48
data ?: T
50
49
error ?: Error
51
50
startedAt : Date
52
51
finishedAt : undefined
52
+ status : "pending"
53
+ isWaiting : false
54
+ isPending : true
55
+ isLoading : true
56
+ isFulfilled : false
57
+ isResolved : false
58
+ isRejected : false
59
+ isSettled : false
53
60
}
54
61
export type AsyncFulfilled < T > = AbstractState < T > & {
55
- status : "fulfilled"
56
62
data : T
57
63
error : undefined
58
64
startedAt : Date
59
65
finishedAt : Date
66
+ status : "fulfilled"
67
+ isWaiting : false
68
+ isPending : false
69
+ isLoading : false
70
+ isFulfilled : true
71
+ isResolved : true
72
+ isRejected : false
73
+ isSettled : true
60
74
}
61
75
export type AsyncRejected < T > = AbstractState < T > & {
62
- status : "rejected"
63
76
data ?: T
64
77
error : Error
65
78
startedAt : Date
66
79
finishedAt : Date
80
+ status : "rejected"
81
+ isWaiting : false
82
+ isPending : false
83
+ isLoading : false
84
+ isFulfilled : false
85
+ isResolved : false
86
+ isRejected : true
87
+ isSettled : true
67
88
}
68
89
export type AsyncState < T > = AsyncWaiting < T > | AsyncPending < T > | AsyncFulfilled < T > | AsyncRejected < T >
69
90
You can’t perform that action at this time.
0 commit comments