map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult customEmoji(
    1. StickerTypeCustomEmoji value
    ),
  2. required TResult mask(
    1. StickerTypeMask value
    ),
  3. required TResult regular(
    1. StickerTypeRegular value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(StickerTypeCustomEmoji value) customEmoji,
  required TResult Function(StickerTypeMask value) mask,
  required TResult Function(StickerTypeRegular value) regular,
}) {
  switch (getConstructor()) {
    case StickerTypeCustomEmoji.constructor:
      return customEmoji.call(this as StickerTypeCustomEmoji);
    case StickerTypeMask.constructor:
      return mask.call(this as StickerTypeMask);
    case StickerTypeRegular.constructor:
      return regular.call(this as StickerTypeRegular);
  }
  throw StateError('not handled type Generator');
}