map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult ok(
    1. CanSendMessageToUserResultOk value
    ),
  2. required TResult userHasPaidMessages(
    1. CanSendMessageToUserResultUserHasPaidMessages value
    ),
  3. required TResult userIsDeleted(
    1. CanSendMessageToUserResultUserIsDeleted value
    ),
  4. required TResult userRestrictsNewChats(
    1. CanSendMessageToUserResultUserRestrictsNewChats value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(CanSendMessageToUserResultOk value) ok,
  required TResult Function(
    CanSendMessageToUserResultUserHasPaidMessages value,
  )
  userHasPaidMessages,
  required TResult Function(CanSendMessageToUserResultUserIsDeleted value)
  userIsDeleted,
  required TResult Function(
    CanSendMessageToUserResultUserRestrictsNewChats value,
  )
  userRestrictsNewChats,
}) {
  switch (getConstructor()) {
    case CanSendMessageToUserResultOk.constructor:
      return ok.call(this as CanSendMessageToUserResultOk);
    case CanSendMessageToUserResultUserHasPaidMessages.constructor:
      return userHasPaidMessages.call(
        this as CanSendMessageToUserResultUserHasPaidMessages,
      );
    case CanSendMessageToUserResultUserIsDeleted.constructor:
      return userIsDeleted.call(
        this as CanSendMessageToUserResultUserIsDeleted,
      );
    case CanSendMessageToUserResultUserRestrictsNewChats.constructor:
      return userRestrictsNewChats.call(
        this as CanSendMessageToUserResultUserRestrictsNewChats,
      );
  }
  throw StateError('not handled type Generator');
}