map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult empty(
    1. UserStatusEmpty value
    ),
  2. required TResult lastMonth(
    1. UserStatusLastMonth value
    ),
  3. required TResult lastWeek(
    1. UserStatusLastWeek value
    ),
  4. required TResult offline(
    1. UserStatusOffline value
    ),
  5. required TResult online(
    1. UserStatusOnline value
    ),
  6. required TResult recently(
    1. UserStatusRecently value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(UserStatusEmpty value) empty,
  required TResult Function(UserStatusLastMonth value) lastMonth,
  required TResult Function(UserStatusLastWeek value) lastWeek,
  required TResult Function(UserStatusOffline value) offline,
  required TResult Function(UserStatusOnline value) online,
  required TResult Function(UserStatusRecently value) recently,
}) {
  switch (getConstructor()) {
    case UserStatusEmpty.constructor:
      return empty.call(this as UserStatusEmpty);
    case UserStatusLastMonth.constructor:
      return lastMonth.call(this as UserStatusLastMonth);
    case UserStatusLastWeek.constructor:
      return lastWeek.call(this as UserStatusLastWeek);
    case UserStatusOffline.constructor:
      return offline.call(this as UserStatusOffline);
    case UserStatusOnline.constructor:
      return online.call(this as UserStatusOnline);
    case UserStatusRecently.constructor:
      return recently.call(this as UserStatusRecently);
  }
  throw StateError('not handled type Generator');
}