when<TResult extends Object?> method
- @optionalTypeArgs
- required TResult embedExternalViewArticle(),
- required TResult embedExternalViewArticlePublication(),
- required TResult embedExternalViewGallery(),
- required TResult embedExternalViewLivestream(),
- required TResult unknown(),
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( EmbedExternalViewArticle data) embedExternalViewArticle,required TResult Function( EmbedExternalViewArticlePublication data) embedExternalViewArticlePublication,required TResult Function( EmbedExternalViewGallery data) embedExternalViewGallery,required TResult Function( EmbedExternalViewLivestream data) embedExternalViewLivestream,required TResult Function( Map<String, dynamic> data) unknown,}) {final _that = this;
switch (_that) {
case UEmbedGetEmbedExternalViewDataEmbedExternalViewArticle():
return embedExternalViewArticle(_that.data);case UEmbedGetEmbedExternalViewDataEmbedExternalViewArticlePublication():
return embedExternalViewArticlePublication(_that.data);case UEmbedGetEmbedExternalViewDataEmbedExternalViewGallery():
return embedExternalViewGallery(_that.data);case UEmbedGetEmbedExternalViewDataEmbedExternalViewLivestream():
return embedExternalViewLivestream(_that.data);case UEmbedGetEmbedExternalViewDataUnknown():
return unknown(_that.data);}
}