maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult danger(
    1. ButtonStyleDanger value
    )?,
  2. TResult $default(
    1. ButtonStyleDefault value
    )?,
  3. TResult primary(
    1. ButtonStylePrimary value
    )?,
  4. TResult success(
    1. ButtonStyleSuccess value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ButtonStyleDanger value)? danger,
  TResult Function(ButtonStyleDefault value)? $default,
  TResult Function(ButtonStylePrimary value)? primary,
  TResult Function(ButtonStyleSuccess value)? success,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ButtonStyleDanger.constructor:
      if (danger != null) {
        return danger.call(this as ButtonStyleDanger);
      }
      break;
    case ButtonStyleDefault.constructor:
      if ($default != null) {
        return $default.call(this as ButtonStyleDefault);
      }
      break;
    case ButtonStylePrimary.constructor:
      if (primary != null) {
        return primary.call(this as ButtonStylePrimary);
      }
      break;
    case ButtonStyleSuccess.constructor:
      if (success != null) {
        return success.call(this as ButtonStyleSuccess);
      }
      break;
  }
  return orElse.call();
}