Skip to content

Commit

Permalink
Merge pull request #391 from twitch-rs/only-serde
Browse files Browse the repository at this point in the history
decouple serde and serde_derive
  • Loading branch information
Emilgardis authored Nov 5, 2023
2 parents 093b7c3 + a77b5f5 commit f7168f4
Show file tree
Hide file tree
Showing 70 changed files with 93 additions and 78 deletions.
3 changes: 3 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ typed-builder = { version = "0.18.0", optional = true }
url = "2.4.1"
once_cell = "1.18.0"
twitch_oauth2 = { workspace = true, optional = true }
serde = { version = "1.0.190", features = ["derive"] }
serde = { version = "1.0.190" }
serde_derive = { version = "1.0.190" }
serde_path_to_error = { version = "0.1.14", optional = true }
async-trait = { version = "0.1.74", optional = true }
serde_json = { version = "1.0.107", optional = true }
Expand Down
2 changes: 1 addition & 1 deletion examples/channel_information_custom.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async fn run() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>>
/// Return Values for Get Channel Information
///
/// [`get-channel-information`](https://dev.twitch.tv/docs/api/reference#get-channel-information)
#[derive(PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug, Clone)]
#[derive(PartialEq, Eq, serde::Deserialize, serde_derive::Serialize, Debug, Clone)]
pub struct CustomChannelInformation<'a> {
/// Twitch User ID of this channel owner
pub broadcaster_id: &'a types::UserIdRef,
Expand Down
5 changes: 3 additions & 2 deletions examples/eventsub/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
askama = { version = "0.11", features = ["with-axum"], git = "https://github.com/djc/askama", rev = "eeec6f0" }
askama = { version = "0.11", features = ["with-axum"], git = "https://github.com/djc/askama", rev = "eeec6f0", default-features = false }
askama_axum = { version = "0.1", git = "https://github.com/djc/askama", rev = "eeec6f0" }
axum = { version = "0.6.20", features = ["tower-log", "http2", "ws"] }
clap = { version = "4.4.7", features = ["derive", "env"] }
Expand All @@ -17,7 +17,8 @@ futures = "0.3.28"
hyper = "0.14"
reqwest = "0.11.22"
retainer = "0.3.0"
serde = { version = "1", features = ["derive"] }
serde = "1.0.190"
serde_derive = "1.0.190"
serde_json = { version = "1" }
tokio = { version = "1.33.0", features = ["macros", "rt-multi-thread"] }
tokio-tungstenite = "0.20.1"
Expand Down
2 changes: 1 addition & 1 deletion examples/eventsub/src/twitch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ impl LiveStatus {
pub fn is_offline(&self) -> bool { matches!(self, Self::Offline { .. }) }

pub fn to_message(&self) -> eyre::Result<ws::Message> {
#[derive(serde::Serialize)]
#[derive(serde_derive::Serialize)]
struct Msg {
html: String,
live: bool,
Expand Down
2 changes: 1 addition & 1 deletion examples/eventsub_websocket/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ eyre = { version = "0.6" }
futures = "0.3.28"
hyper = "0.14"
reqwest = { version = "0.11.22", features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde = "1"
serde_json = { version = "1" }
tokio = { version = "1.33.0", features = ["macros", "rt-multi-thread"] }
tokio-tungstenite = { version = "0.20.1", features = ["native-tls"] }
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/channel_points_custom_reward/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! Custom channel points rewards on specific channel has been changed, removed or updated.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod add;
pub mod remove;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! A viewer has redeemed a custom channel points reward or a redemption of a channel points custom reward has been updated for the specified channel.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod add;
pub mod update;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/charity_campaign/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! Poll on a specific channel has been begun, ended or progressed.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod donate;
pub mod progress;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/goal/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! A broadcaster has started, progressed or ended a goal.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod begin;
pub mod end;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/hypetrain/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! A hype train has started, progressed or ended.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod begin;
pub mod end;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! Subscription types regarding channels
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod ban;
pub mod channel_points_custom_reward;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/poll/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! Poll on a specific channel has been begun, ended or progressed.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod begin;
pub mod end;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/prediction/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! Prediction on the specified channel begins, progresses, locks or ends.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod begin;
pub mod end;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/shield_mode/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! Shield mode on the specified channel begins or ends.
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod begin;
pub mod end;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/shoutout/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! Subscription for when a Shoutout has happened
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod create;
pub mod receive;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/channel/subscription/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! Subscription on a specified channel has changed
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod end;
pub mod gift;
Expand Down
4 changes: 2 additions & 2 deletions src/eventsub/event.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pub mod websocket;

use std::borrow::Cow;

use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

use super::*;

Expand Down Expand Up @@ -512,7 +512,7 @@ fn get_version_event_type_and_message_type_from_http<B>(
request: &http::Request<B>,
) -> Result<(Cow<'_, str>, EventType, Cow<'_, [u8]>), PayloadParseError>
where B: AsRef<[u8]> {
use serde::de::IntoDeserializer;
use serde::{de::IntoDeserializer, Deserialize};
match (
request
.headers()
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/event/websocket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
use std::borrow::Cow;

use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

use super::{Event, EventType};

Expand Down
7 changes: 4 additions & 3 deletions src/eventsub/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@
use std::borrow::Cow;

use crate::types;
use serde::{de::DeserializeOwned, Deserialize, Serialize};
use serde::de::DeserializeOwned;
use serde_derive::{Deserialize, Serialize};

use crate::parse_json;

Expand All @@ -93,9 +94,9 @@ pub use event::{Event, EventType};
pub use event::websocket::*;

/// An EventSub subscription.
pub trait EventSubscription: DeserializeOwned + Serialize + PartialEq + Clone {
pub trait EventSubscription: DeserializeOwned + serde::Serialize + PartialEq + Clone {
/// Payload for given subscription
type Payload: PartialEq + std::fmt::Debug + DeserializeOwned + Serialize + Clone;
type Payload: PartialEq + std::fmt::Debug + DeserializeOwned + serde::Serialize + Clone;

/// Scopes needed by this subscription
#[cfg(feature = "twitch_oauth2")]
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/stream/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod offline;
pub mod online;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/user/authorization/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Authorization from a user has been granted or revoked to a specific client ID
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod grant;
pub mod revoke;
Expand Down
2 changes: 1 addition & 1 deletion src/eventsub/user/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
use super::{EventSubscription, EventType};
use crate::types;
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};

pub mod authorization;
pub mod update;
Expand Down
2 changes: 1 addition & 1 deletion src/extra.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#[cfg(any(feature = "eventsub", feature = "helix"))]
#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[derive(Clone, Debug, PartialEq, Eq, serde_derive::Serialize, serde_derive::Deserialize)]
#[cfg_attr(feature = "deny_unknown_fields", serde(deny_unknown_fields))]
#[non_exhaustive]
/// Represents a donation "amount"
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/bits/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_bits_leaderboard;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/channels/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod add_channel_vip;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/charity/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_charity_campaign;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/chat/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::{
helix::{self, Request},
types::{self, EmoteUrlBuilder},
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_channel_chat_badges;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/clips/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_clips;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/eventsub/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod create_eventsub_subscription;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/games/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_games;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/goals/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_creator_goals;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/hypetrain/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod get_hypetrain_events;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/moderation/get_shield_mode_status.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ pub struct ShieldModeStatus {
pub last_shield_mode: Option<LastShieldMode>,
}

impl<'de> Deserialize<'de> for ShieldModeStatus {
impl<'de> serde::Deserialize<'de> for ShieldModeStatus {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: serde::Deserializer<'de> {
#[derive(Deserialize)]
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/moderation/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod add_blocked_term;
Expand Down
4 changes: 2 additions & 2 deletions src/helix/endpoints/points/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod create_custom_rewards;
Expand All @@ -51,7 +51,7 @@ pub use update_redemption_status::{
UpdateRedemptionStatusBody, UpdateRedemptionStatusInformation, UpdateRedemptionStatusRequest,
};
/// Custom reward redemption statuses: UNFULFILLED, FULFILLED or CANCELED
#[derive(PartialEq, Eq, serde::Serialize, serde::Deserialize, Copy, Clone, Debug)]
#[derive(PartialEq, Eq, Serialize, Deserialize, Copy, Clone, Debug)]
#[non_exhaustive]
pub enum CustomRewardRedemptionStatus {
/// Unfulfilled reward - the user has claimed it but it is still pending.
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/polls/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod create_poll;
Expand Down
2 changes: 1 addition & 1 deletion src/helix/endpoints/predictions/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::{
helix::{self, Request},
types,
};
use serde::{Deserialize, Serialize};
use serde_derive::{Deserialize, Serialize};
use std::borrow::Cow;

pub mod create_prediction;
Expand Down
Loading

0 comments on commit f7168f4

Please sign in to comment.