maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult ok(
    1. ReportStoryResultOk value
    )?,
  2. TResult optionRequired(
    1. ReportStoryResultOptionRequired value
    )?,
  3. TResult textRequired(
    1. ReportStoryResultTextRequired value
    )?,
  4. required TResult orElse(),
})

Implementation

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