maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult group(
    1. MessageFileTypeGroup value
    )?,
  2. TResult private(
    1. MessageFileTypePrivate value
    )?,
  3. TResult unknown(
    1. MessageFileTypeUnknown value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(MessageFileTypeGroup value)? group,
  TResult Function(MessageFileTypePrivate value)? private,
  TResult Function(MessageFileTypeUnknown value)? unknown,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case MessageFileTypeGroup.constructor:
      if (group != null) {
        return group.call(this as MessageFileTypeGroup);
      }
      break;
    case MessageFileTypePrivate.constructor:
      if (private != null) {
        return private.call(this as MessageFileTypePrivate);
      }
      break;
    case MessageFileTypeUnknown.constructor:
      if (unknown != null) {
        return unknown.call(this as MessageFileTypeUnknown);
      }
      break;
  }
  return orElse.call();
}