maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult fail(
    1. CanSendGiftResultFail value
    )?,
  2. TResult ok(
    1. CanSendGiftResultOk value
    )?,
  3. required TResult orElse(),
})

Implementation

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