twitch_tohell 0.1.1

Twitch EventSub webhook and WebSocket support
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use chrono::{DateTime, FixedOffset};
use serde::{Deserialize, de::Error as DeError};

pub fn deserialize_optional_datetime<'de, D>(
    deserializer: D,
) -> Result<Option<DateTime<FixedOffset>>, D::Error>
where
    D: serde::Deserializer<'de>,
{
    let s: String = Deserialize::deserialize(deserializer)?;
    if s.is_empty() {
        Ok(None)
    } else {
        DateTime::parse_from_rfc3339(&s)
            .map(Some)
            .map_err(DeError::custom)
    }
}