maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult delete(
    1. DiffEntityTypeDelete value
    )?,
  2. TResult insert(
    1. DiffEntityTypeInsert value
    )?,
  3. TResult replace(
    1. DiffEntityTypeReplace value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(DiffEntityTypeDelete value)? delete,
  TResult Function(DiffEntityTypeInsert value)? insert,
  TResult Function(DiffEntityTypeReplace value)? replace,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case DiffEntityTypeDelete.constructor:
      if (delete != null) {
        return delete.call(this as DiffEntityTypeDelete);
      }
      break;
    case DiffEntityTypeInsert.constructor:
      if (insert != null) {
        return insert.call(this as DiffEntityTypeInsert);
      }
      break;
    case DiffEntityTypeReplace.constructor:
      if (replace != null) {
        return replace.call(this as DiffEntityTypeReplace);
      }
      break;
  }
  return orElse.call();
}