map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult idle(
    1. GenericDataStateIdle value
    ),
  2. required TResult loading(
    1. GenericDataStateLoading value
    ),
  3. required TResult error(
    1. GenericDataStateError value
    ),
  4. required TResult success(
    1. GenericDataStateSuccess value
    ),
})

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case final Subclass2 value:
    return ...;
}

Implementation

@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( GenericDataStateIdle value)  idle,required TResult Function( GenericDataStateLoading value)  loading,required TResult Function( GenericDataStateError value)  error,required TResult Function( GenericDataStateSuccess value)  success,}){
final _that = this;
switch (_that) {
case GenericDataStateIdle():
return idle(_that);case GenericDataStateLoading():
return loading(_that);case GenericDataStateError():
return error(_that);case GenericDataStateSuccess():
return success(_that);}
}