when<TResult extends Object?> method

  1. @optionalTypeArgs
TResult when<TResult extends Object?>({
  1. required TResult modEventTakedown(
    1. ModEventTakedown data
    ),
  2. required TResult modEventReverseTakedown(
    1. ModEventReverseTakedown data
    ),
  3. required TResult modEventComment(
    1. ModEventComment data
    ),
  4. required TResult modEventReport(
    1. ModEventReport data
    ),
  5. required TResult modEventLabel(
    1. ModEventLabel data
    ),
  6. required TResult modEventAcknowledge(
    1. ModEventAcknowledge data
    ),
  7. required TResult modEventEscalate(
    1. ModEventEscalate data
    ),
  8. required TResult modEventMute(
    1. ModEventMute data
    ),
  9. required TResult modEventUnmute(
    1. ModEventUnmute data
    ),
  10. required TResult modEventMuteReporter(
    1. ModEventMuteReporter data
    ),
  11. required TResult modEventUnmuteReporter(
    1. ModEventUnmuteReporter data
    ),
  12. required TResult modEventEmail(
    1. ModEventEmail data
    ),
  13. required TResult modEventResolveAppeal(
    1. ModEventResolveAppeal data
    ),
  14. required TResult modEventDivert(
    1. ModEventDivert data
    ),
  15. required TResult modEventTag(
    1. ModEventTag data
    ),
  16. required TResult accountEvent(
    1. AccountEvent data
    ),
  17. required TResult identityEvent(
    1. IdentityEvent data
    ),
  18. required TResult recordEvent(
    1. RecordEvent data
    ),
  19. required TResult modEventPriorityScore(
    1. ModEventPriorityScore data
    ),
  20. required TResult ageAssuranceEvent(
    1. AgeAssuranceEvent data
    ),
  21. required TResult ageAssuranceOverrideEvent(
    1. AgeAssuranceOverrideEvent data
    ),
  22. required TResult revokeAccountCredentialsEvent(
    1. RevokeAccountCredentialsEvent data
    ),
  23. required TResult unknown(
    1. Map<String, dynamic> data
    ),
})

A switch-like method, using callbacks.

As opposed to map, this offers destructuring. It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case Subclass2(:final field2):
    return ...;
}

Implementation

@optionalTypeArgs TResult when<TResult extends Object?>({required TResult Function( ModEventTakedown data)  modEventTakedown,required TResult Function( ModEventReverseTakedown data)  modEventReverseTakedown,required TResult Function( ModEventComment data)  modEventComment,required TResult Function( ModEventReport data)  modEventReport,required TResult Function( ModEventLabel data)  modEventLabel,required TResult Function( ModEventAcknowledge data)  modEventAcknowledge,required TResult Function( ModEventEscalate data)  modEventEscalate,required TResult Function( ModEventMute data)  modEventMute,required TResult Function( ModEventUnmute data)  modEventUnmute,required TResult Function( ModEventMuteReporter data)  modEventMuteReporter,required TResult Function( ModEventUnmuteReporter data)  modEventUnmuteReporter,required TResult Function( ModEventEmail data)  modEventEmail,required TResult Function( ModEventResolveAppeal data)  modEventResolveAppeal,required TResult Function( ModEventDivert data)  modEventDivert,required TResult Function( ModEventTag data)  modEventTag,required TResult Function( AccountEvent data)  accountEvent,required TResult Function( IdentityEvent data)  identityEvent,required TResult Function( RecordEvent data)  recordEvent,required TResult Function( ModEventPriorityScore data)  modEventPriorityScore,required TResult Function( AgeAssuranceEvent data)  ageAssuranceEvent,required TResult Function( AgeAssuranceOverrideEvent data)  ageAssuranceOverrideEvent,required TResult Function( RevokeAccountCredentialsEvent data)  revokeAccountCredentialsEvent,required TResult Function( Map<String, dynamic> data)  unknown,}) {final _that = this;
switch (_that) {
case UModEventViewDetailEventModEventTakedown():
return modEventTakedown(_that.data);case UModEventViewDetailEventModEventReverseTakedown():
return modEventReverseTakedown(_that.data);case UModEventViewDetailEventModEventComment():
return modEventComment(_that.data);case UModEventViewDetailEventModEventReport():
return modEventReport(_that.data);case UModEventViewDetailEventModEventLabel():
return modEventLabel(_that.data);case UModEventViewDetailEventModEventAcknowledge():
return modEventAcknowledge(_that.data);case UModEventViewDetailEventModEventEscalate():
return modEventEscalate(_that.data);case UModEventViewDetailEventModEventMute():
return modEventMute(_that.data);case UModEventViewDetailEventModEventUnmute():
return modEventUnmute(_that.data);case UModEventViewDetailEventModEventMuteReporter():
return modEventMuteReporter(_that.data);case UModEventViewDetailEventModEventUnmuteReporter():
return modEventUnmuteReporter(_that.data);case UModEventViewDetailEventModEventEmail():
return modEventEmail(_that.data);case UModEventViewDetailEventModEventResolveAppeal():
return modEventResolveAppeal(_that.data);case UModEventViewDetailEventModEventDivert():
return modEventDivert(_that.data);case UModEventViewDetailEventModEventTag():
return modEventTag(_that.data);case UModEventViewDetailEventAccountEvent():
return accountEvent(_that.data);case UModEventViewDetailEventIdentityEvent():
return identityEvent(_that.data);case UModEventViewDetailEventRecordEvent():
return recordEvent(_that.data);case UModEventViewDetailEventModEventPriorityScore():
return modEventPriorityScore(_that.data);case UModEventViewDetailEventAgeAssuranceEvent():
return ageAssuranceEvent(_that.data);case UModEventViewDetailEventAgeAssuranceOverrideEvent():
return ageAssuranceOverrideEvent(_that.data);case UModEventViewDetailEventRevokeAccountCredentialsEvent():
return revokeAccountCredentialsEvent(_that.data);case UModEventViewDetailEventUnknown():
return unknown(_that.data);}
}