map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult newCall(
    1. NotificationTypeNewCall value
    ),
  2. required TResult newMessage(
    1. NotificationTypeNewMessage value
    ),
  3. required TResult newPushMessage(
    1. NotificationTypeNewPushMessage value
    ),
  4. required TResult newSecretChat(
    1. NotificationTypeNewSecretChat value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(NotificationTypeNewCall value) newCall,
  required TResult Function(NotificationTypeNewMessage value) newMessage,
  required TResult Function(NotificationTypeNewPushMessage value)
  newPushMessage,
  required TResult Function(NotificationTypeNewSecretChat value)
  newSecretChat,
}) {
  switch (getConstructor()) {
    case NotificationTypeNewCall.constructor:
      return newCall.call(this as NotificationTypeNewCall);
    case NotificationTypeNewMessage.constructor:
      return newMessage.call(this as NotificationTypeNewMessage);
    case NotificationTypeNewPushMessage.constructor:
      return newPushMessage.call(this as NotificationTypeNewPushMessage);
    case NotificationTypeNewSecretChat.constructor:
      return newSecretChat.call(this as NotificationTypeNewSecretChat);
  }
  throw StateError('not handled type Generator');
}