maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult immediately(
    1. MessageSelfDestructTypeImmediately value
    )?,
  2. TResult timer(
    1. MessageSelfDestructTypeTimer value
    )?,
  3. required TResult orElse(),
})

Implementation

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