maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult logBeginConvo(
    1. LogBeginConvo data
    )?,
  2. TResult logAcceptConvo(
    1. LogAcceptConvo data
    )?,
  3. TResult logLeaveConvo(
    1. LogLeaveConvo data
    )?,
  4. TResult logMuteConvo(
    1. LogMuteConvo data
    )?,
  5. TResult logUnmuteConvo(
    1. LogUnmuteConvo data
    )?,
  6. TResult logCreateMessage(
    1. LogCreateMessage data
    )?,
  7. TResult logDeleteMessage(
    1. LogDeleteMessage data
    )?,
  8. TResult logReadMessage(
    1. LogReadMessage data
    )?,
  9. TResult logAddReaction(
    1. LogAddReaction data
    )?,
  10. TResult logRemoveReaction(
    1. LogRemoveReaction data
    )?,
  11. TResult unknown(
    1. Map<String, dynamic> data
    )?,
  12. required TResult orElse(),
})

A variant of when that fallback to an orElse callback.

It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>({TResult Function( LogBeginConvo data)?  logBeginConvo,TResult Function( LogAcceptConvo data)?  logAcceptConvo,TResult Function( LogLeaveConvo data)?  logLeaveConvo,TResult Function( LogMuteConvo data)?  logMuteConvo,TResult Function( LogUnmuteConvo data)?  logUnmuteConvo,TResult Function( LogCreateMessage data)?  logCreateMessage,TResult Function( LogDeleteMessage data)?  logDeleteMessage,TResult Function( LogReadMessage data)?  logReadMessage,TResult Function( LogAddReaction data)?  logAddReaction,TResult Function( LogRemoveReaction data)?  logRemoveReaction,TResult Function( Map<String, dynamic> data)?  unknown,required TResult orElse(),}) {final _that = this;
switch (_that) {
case UConvoGetLogLogsLogBeginConvo() when logBeginConvo != null:
return logBeginConvo(_that.data);case UConvoGetLogLogsLogAcceptConvo() when logAcceptConvo != null:
return logAcceptConvo(_that.data);case UConvoGetLogLogsLogLeaveConvo() when logLeaveConvo != null:
return logLeaveConvo(_that.data);case UConvoGetLogLogsLogMuteConvo() when logMuteConvo != null:
return logMuteConvo(_that.data);case UConvoGetLogLogsLogUnmuteConvo() when logUnmuteConvo != null:
return logUnmuteConvo(_that.data);case UConvoGetLogLogsLogCreateMessage() when logCreateMessage != null:
return logCreateMessage(_that.data);case UConvoGetLogLogsLogDeleteMessage() when logDeleteMessage != null:
return logDeleteMessage(_that.data);case UConvoGetLogLogsLogReadMessage() when logReadMessage != null:
return logReadMessage(_that.data);case UConvoGetLogLogsLogAddReaction() when logAddReaction != null:
return logAddReaction(_that.data);case UConvoGetLogLogsLogRemoveReaction() when logRemoveReaction != null:
return logRemoveReaction(_that.data);case UConvoGetLogLogsUnknown() when unknown != null:
return unknown(_that.data);case _:
  return orElse();

}
}