refactor(eventsub): generate entire files (#5897)

This commit is contained in:
nerix
2025-02-05 16:53:25 +01:00
committed by GitHub
parent 5e3412c3bb
commit 449aefc6bc
54 changed files with 972 additions and 922 deletions
@@ -1,7 +1,5 @@
#pragma once
#include "twitch-eventsub-ws/errors.hpp"
#include <boost/json.hpp>
#include <optional>
@@ -33,9 +31,6 @@ struct Metadata {
const std::optional<std::string> subscriptionVersion;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Metadata, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Metadata>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/messages/metadata.inc"
} // namespace chatterino::eventsub::lib::messages
@@ -0,0 +1,2 @@
boost::json::result_for<Metadata, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Metadata>, const boost::json::value &jvRoot);
@@ -97,12 +97,6 @@ struct Payload {
const Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/channel-ban-v1.inc"
} // namespace chatterino::eventsub::lib::payload::channel_ban::v1
@@ -0,0 +1,5 @@
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -149,37 +149,6 @@ struct Payload {
const Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Badge, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Badge>, const boost::json::value &jvRoot);
boost::json::result_for<Cheermote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Cheermote>, const boost::json::value &jvRoot);
boost::json::result_for<Emote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Emote>, const boost::json::value &jvRoot);
boost::json::result_for<Mention, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Mention>, const boost::json::value &jvRoot);
boost::json::result_for<MessageFragment, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<MessageFragment>,
const boost::json::value &jvRoot);
boost::json::result_for<Message, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Message>, const boost::json::value &jvRoot);
boost::json::result_for<Cheer, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Cheer>, const boost::json::value &jvRoot);
boost::json::result_for<Reply, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Reply>, const boost::json::value &jvRoot);
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/channel-chat-message-v1.inc"
} // namespace chatterino::eventsub::lib::payload::channel_chat_message::v1
@@ -0,0 +1,30 @@
boost::json::result_for<Badge, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Badge>, const boost::json::value &jvRoot);
boost::json::result_for<Cheermote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Cheermote>, const boost::json::value &jvRoot);
boost::json::result_for<Emote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Emote>, const boost::json::value &jvRoot);
boost::json::result_for<Mention, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Mention>, const boost::json::value &jvRoot);
boost::json::result_for<MessageFragment, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<MessageFragment>,
const boost::json::value &jvRoot);
boost::json::result_for<Message, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Message>, const boost::json::value &jvRoot);
boost::json::result_for<Cheer, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Cheer>, const boost::json::value &jvRoot);
boost::json::result_for<Reply, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Reply>, const boost::json::value &jvRoot);
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -187,81 +187,6 @@ struct Payload {
const Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Badge, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Badge>, const boost::json::value &jvRoot);
boost::json::result_for<Cheermote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Cheermote>, const boost::json::value &jvRoot);
boost::json::result_for<Emote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Emote>, const boost::json::value &jvRoot);
boost::json::result_for<Mention, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Mention>, const boost::json::value &jvRoot);
boost::json::result_for<MessageFragment, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<MessageFragment>,
const boost::json::value &jvRoot);
boost::json::result_for<Subcription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Subcription>,
const boost::json::value &jvRoot);
boost::json::result_for<Resubscription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Resubscription>,
const boost::json::value &jvRoot);
boost::json::result_for<GiftSubscription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<GiftSubscription>,
const boost::json::value &jvRoot);
boost::json::result_for<CommunityGiftSubscription, boost::json::value>::type
tag_invoke(boost::json::try_value_to_tag<CommunityGiftSubscription>,
const boost::json::value &jvRoot);
boost::json::result_for<GiftPaidUpgrade, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<GiftPaidUpgrade>,
const boost::json::value &jvRoot);
boost::json::result_for<PrimePaidUpgrade, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<PrimePaidUpgrade>,
const boost::json::value &jvRoot);
boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Raid>, const boost::json::value &jvRoot);
boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unraid>, const boost::json::value &jvRoot);
boost::json::result_for<PayItForward, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<PayItForward>,
const boost::json::value &jvRoot);
boost::json::result_for<Announcement, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Announcement>,
const boost::json::value &jvRoot);
boost::json::result_for<CharityDonationAmount, boost::json::value>::type
tag_invoke(boost::json::try_value_to_tag<CharityDonationAmount>,
const boost::json::value &jvRoot);
boost::json::result_for<CharityDonation, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<CharityDonation>,
const boost::json::value &jvRoot);
boost::json::result_for<BitsBadgeTier, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<BitsBadgeTier>,
const boost::json::value &jvRoot);
boost::json::result_for<Message, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Message>, const boost::json::value &jvRoot);
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/channel-chat-notification-v1.inc"
} // namespace chatterino::eventsub::lib::payload::channel_chat_notification::v1
@@ -0,0 +1,74 @@
boost::json::result_for<Badge, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Badge>, const boost::json::value &jvRoot);
boost::json::result_for<Cheermote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Cheermote>, const boost::json::value &jvRoot);
boost::json::result_for<Emote, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Emote>, const boost::json::value &jvRoot);
boost::json::result_for<Mention, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Mention>, const boost::json::value &jvRoot);
boost::json::result_for<MessageFragment, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<MessageFragment>,
const boost::json::value &jvRoot);
boost::json::result_for<Subcription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Subcription>,
const boost::json::value &jvRoot);
boost::json::result_for<Resubscription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Resubscription>,
const boost::json::value &jvRoot);
boost::json::result_for<GiftSubscription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<GiftSubscription>,
const boost::json::value &jvRoot);
boost::json::result_for<CommunityGiftSubscription, boost::json::value>::type
tag_invoke(boost::json::try_value_to_tag<CommunityGiftSubscription>,
const boost::json::value &jvRoot);
boost::json::result_for<GiftPaidUpgrade, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<GiftPaidUpgrade>,
const boost::json::value &jvRoot);
boost::json::result_for<PrimePaidUpgrade, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<PrimePaidUpgrade>,
const boost::json::value &jvRoot);
boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Raid>, const boost::json::value &jvRoot);
boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unraid>, const boost::json::value &jvRoot);
boost::json::result_for<PayItForward, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<PayItForward>,
const boost::json::value &jvRoot);
boost::json::result_for<Announcement, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Announcement>,
const boost::json::value &jvRoot);
boost::json::result_for<CharityDonationAmount, boost::json::value>::type
tag_invoke(boost::json::try_value_to_tag<CharityDonationAmount>,
const boost::json::value &jvRoot);
boost::json::result_for<CharityDonation, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<CharityDonation>,
const boost::json::value &jvRoot);
boost::json::result_for<BitsBadgeTier, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<BitsBadgeTier>,
const boost::json::value &jvRoot);
boost::json::result_for<Message, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Message>, const boost::json::value &jvRoot);
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -388,65 +388,6 @@ struct Payload {
Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Action, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Action>, const boost::json::value &jvRoot);
boost::json::result_for<Followers, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Followers>, const boost::json::value &jvRoot);
boost::json::result_for<Slow, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Slow>, const boost::json::value &jvRoot);
boost::json::result_for<Vip, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Vip>, const boost::json::value &jvRoot);
boost::json::result_for<Unvip, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unvip>, const boost::json::value &jvRoot);
boost::json::result_for<Mod, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Mod>, const boost::json::value &jvRoot);
boost::json::result_for<Unmod, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unmod>, const boost::json::value &jvRoot);
boost::json::result_for<Ban, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Ban>, const boost::json::value &jvRoot);
boost::json::result_for<Unban, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unban>, const boost::json::value &jvRoot);
boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Timeout>, const boost::json::value &jvRoot);
boost::json::result_for<Untimeout, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Untimeout>, const boost::json::value &jvRoot);
boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Raid>, const boost::json::value &jvRoot);
boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unraid>, const boost::json::value &jvRoot);
boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Delete>, const boost::json::value &jvRoot);
boost::json::result_for<AutomodTerms, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<AutomodTerms>,
const boost::json::value &jvRoot);
boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<UnbanRequest>,
const boost::json::value &jvRoot);
boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Warn>, const boost::json::value &jvRoot);
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/channel-moderate-v2.inc"
} // namespace chatterino::eventsub::lib::payload::channel_moderate::v2
@@ -0,0 +1,58 @@
boost::json::result_for<Action, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Action>, const boost::json::value &jvRoot);
boost::json::result_for<Followers, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Followers>, const boost::json::value &jvRoot);
boost::json::result_for<Slow, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Slow>, const boost::json::value &jvRoot);
boost::json::result_for<Vip, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Vip>, const boost::json::value &jvRoot);
boost::json::result_for<Unvip, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unvip>, const boost::json::value &jvRoot);
boost::json::result_for<Mod, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Mod>, const boost::json::value &jvRoot);
boost::json::result_for<Unmod, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unmod>, const boost::json::value &jvRoot);
boost::json::result_for<Ban, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Ban>, const boost::json::value &jvRoot);
boost::json::result_for<Unban, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unban>, const boost::json::value &jvRoot);
boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Timeout>, const boost::json::value &jvRoot);
boost::json::result_for<Untimeout, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Untimeout>, const boost::json::value &jvRoot);
boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Raid>, const boost::json::value &jvRoot);
boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Unraid>, const boost::json::value &jvRoot);
boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Delete>, const boost::json::value &jvRoot);
boost::json::result_for<AutomodTerms, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<AutomodTerms>,
const boost::json::value &jvRoot);
boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<UnbanRequest>,
const boost::json::value &jvRoot);
boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Warn>, const boost::json::value &jvRoot);
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -38,12 +38,6 @@ struct Payload {
const Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/channel-update-v1.inc"
} // namespace chatterino::eventsub::lib::payload::channel_update::v1
@@ -0,0 +1,5 @@
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -1,7 +1,5 @@
#pragma once
#include "twitch-eventsub-ws/errors.hpp"
#include <boost/json.hpp>
#include <string>
@@ -28,9 +26,6 @@ struct Payload {
const std::string id;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/session-welcome.inc"
} // namespace chatterino::eventsub::lib::payload::session_welcome
@@ -0,0 +1,2 @@
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -24,12 +24,6 @@ struct Payload {
const Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/stream-offline-v1.inc"
} // namespace chatterino::eventsub::lib::payload::stream_offline::v1
@@ -0,0 +1,5 @@
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -34,12 +34,6 @@ struct Payload {
const Event event;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/stream-online-v1.inc"
} // namespace chatterino::eventsub::lib::payload::stream_online::v1
@@ -0,0 +1,5 @@
boost::json::result_for<Event, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Event>, const boost::json::value &jvRoot);
boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Payload>, const boost::json::value &jvRoot);
@@ -54,13 +54,6 @@ struct Subscription {
const int cost;
};
// DESERIALIZATION DEFINITION START
boost::json::result_for<Transport, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Transport>, const boost::json::value &jvRoot);
boost::json::result_for<Subscription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Subscription>,
const boost::json::value &jvRoot);
// DESERIALIZATION DEFINITION END
#include "twitch-eventsub-ws/payloads/subscription.inc"
} // namespace chatterino::eventsub::lib::payload::subscription
@@ -0,0 +1,6 @@
boost::json::result_for<Transport, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Transport>, const boost::json::value &jvRoot);
boost::json::result_for<Subscription, boost::json::value>::type tag_invoke(
boost::json::try_value_to_tag<Subscription>,
const boost::json::value &jvRoot);