map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult success(
    1. InviteGroupCallParticipantResultSuccess value
    ),
  2. required TResult userAlreadyParticipant(
    1. InviteGroupCallParticipantResultUserAlreadyParticipant value
    ),
  3. required TResult userPrivacyRestricted(
    1. InviteGroupCallParticipantResultUserPrivacyRestricted value
    ),
  4. required TResult userWasBanned(
    1. InviteGroupCallParticipantResultUserWasBanned value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(InviteGroupCallParticipantResultSuccess value)
  success,
  required TResult Function(
    InviteGroupCallParticipantResultUserAlreadyParticipant value,
  )
  userAlreadyParticipant,
  required TResult Function(
    InviteGroupCallParticipantResultUserPrivacyRestricted value,
  )
  userPrivacyRestricted,
  required TResult Function(
    InviteGroupCallParticipantResultUserWasBanned value,
  )
  userWasBanned,
}) {
  switch (getConstructor()) {
    case InviteGroupCallParticipantResultSuccess.constructor:
      return success.call(this as InviteGroupCallParticipantResultSuccess);
    case InviteGroupCallParticipantResultUserAlreadyParticipant.constructor:
      return userAlreadyParticipant.call(
        this as InviteGroupCallParticipantResultUserAlreadyParticipant,
      );
    case InviteGroupCallParticipantResultUserPrivacyRestricted.constructor:
      return userPrivacyRestricted.call(
        this as InviteGroupCallParticipantResultUserPrivacyRestricted,
      );
    case InviteGroupCallParticipantResultUserWasBanned.constructor:
      return userWasBanned.call(
        this as InviteGroupCallParticipantResultUserWasBanned,
      );
  }
  throw StateError('not handled type Generator');
}