maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult approved(
    1. SuggestedPostStateApproved value
    )?,
  2. TResult declined(
    1. SuggestedPostStateDeclined value
    )?,
  3. TResult pending(
    1. SuggestedPostStatePending value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(SuggestedPostStateApproved value)? approved,
  TResult Function(SuggestedPostStateDeclined value)? declined,
  TResult Function(SuggestedPostStatePending value)? pending,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case SuggestedPostStateApproved.constructor:
      if (approved != null) {
        return approved.call(this as SuggestedPostStateApproved);
      }
      break;
    case SuggestedPostStateDeclined.constructor:
      if (declined != null) {
        return declined.call(this as SuggestedPostStateDeclined);
      }
      break;
    case SuggestedPostStatePending.constructor:
      if (pending != null) {
        return pending.call(this as SuggestedPostStatePending);
      }
      break;
  }
  return orElse.call();
}