map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(ButtonStyleDanger value) danger,
  required TResult Function(ButtonStyleDefault value) $default,
  required TResult Function(ButtonStylePrimary value) primary,
  required TResult Function(ButtonStyleSuccess value) success,
}) {
  switch (getConstructor()) {
    case ButtonStyleDanger.constructor:
      return danger.call(this as ButtonStyleDanger);
    case ButtonStyleDefault.constructor:
      return $default.call(this as ButtonStyleDefault);
    case ButtonStylePrimary.constructor:
      return primary.call(this as ButtonStylePrimary);
    case ButtonStyleSuccess.constructor:
      return success.call(this as ButtonStyleSuccess);
  }
  throw StateError('not handled type Generator');
}