@@ -247,10 +247,15 @@ typedef NotifierBuilder<T> = Widget Function(T state);
247
247
248
248
abstract class GetStatus <T > with Equality {
249
249
const GetStatus ();
250
+
250
251
factory GetStatus .loading () => LoadingStatus <T >();
252
+
251
253
factory GetStatus .error (String message) => ErrorStatus <T , String >(message);
254
+
252
255
factory GetStatus .empty () => EmptyStatus <T >();
256
+
253
257
factory GetStatus .success (T data) => SuccessStatus <T >(data);
258
+
254
259
factory GetStatus .custom () => CustomStatus <T >();
255
260
}
256
261
@@ -266,6 +271,7 @@ class LoadingStatus<T> extends GetStatus<T> {
266
271
267
272
class SuccessStatus <T > extends GetStatus <T > {
268
273
final T data;
274
+
269
275
const SuccessStatus (this .data);
270
276
271
277
@override
@@ -274,6 +280,7 @@ class SuccessStatus<T> extends GetStatus<T> {
274
280
275
281
class ErrorStatus <T , S > extends GetStatus <T > {
276
282
final S ? error;
283
+
277
284
const ErrorStatus ([this .error]);
278
285
279
286
@override
@@ -287,10 +294,15 @@ class EmptyStatus<T> extends GetStatus<T> {
287
294
288
295
extension StatusDataExt <T > on GetStatus <T > {
289
296
bool get isLoading => this is LoadingStatus ;
297
+
290
298
bool get isSuccess => this is SuccessStatus ;
299
+
291
300
bool get isError => this is ErrorStatus ;
301
+
292
302
bool get isEmpty => this is EmptyStatus ;
303
+
293
304
bool get isCustom => ! isLoading && ! isSuccess && ! isError && ! isEmpty;
305
+
294
306
String get errorMessage {
295
307
final isError = this is ErrorStatus ;
296
308
if (isError) {
0 commit comments