map<TResult extends Object?> method
- @optionalTypeArgs
- required TResult user(
- UserItem value
- required TResult assistant(
- AssistantItem value
- required TResult context(
- ContextItem value
- required TResult historySummary(
- HistorySummaryItem value
A switch-like method, using callbacks.
Callbacks receives the raw object, upcasted. It is equivalent to doing:
switch (sealedClass) {
case final Subclass value:
return ...;
case final Subclass2 value:
return ...;
}
Implementation
@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( UserItem value) user,required TResult Function( AssistantItem value) assistant,required TResult Function( ContextItem value) context,required TResult Function( HistorySummaryItem value) historySummary,}){
final _that = this;
switch (_that) {
case UserItem():
return user(_that);case AssistantItem():
return assistant(_that);case ContextItem():
return context(_that);case HistorySummaryItem():
return historySummary(_that);}
}