maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult local(
    1. InputBackgroundLocal value
    )?,
  2. TResult previous(
    1. InputBackgroundPrevious value
    )?,
  3. TResult remote(
    1. InputBackgroundRemote value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(InputBackgroundLocal value)? local,
  TResult Function(InputBackgroundPrevious value)? previous,
  TResult Function(InputBackgroundRemote value)? remote,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case InputBackgroundLocal.constructor:
      if (local != null) {
        return local.call(this as InputBackgroundLocal);
      }
      break;
    case InputBackgroundPrevious.constructor:
      if (previous != null) {
        return previous.call(this as InputBackgroundPrevious);
      }
      break;
    case InputBackgroundRemote.constructor:
      if (remote != null) {
        return remote.call(this as InputBackgroundRemote);
      }
      break;
  }
  return orElse.call();
}