maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult message(
    1. KeyboardButtonSourceMessage value
    )?,
  2. TResult webApp(
    1. KeyboardButtonSourceWebApp value
    )?,
  3. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(KeyboardButtonSourceMessage value)? message,
  TResult Function(KeyboardButtonSourceWebApp value)? webApp,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case KeyboardButtonSourceMessage.constructor:
      if (message != null) {
        return message.call(this as KeyboardButtonSourceMessage);
      }
      break;
    case KeyboardButtonSourceWebApp.constructor:
      if (webApp != null) {
        return webApp.call(this as KeyboardButtonSourceWebApp);
      }
      break;
  }
  return orElse.call();
}