use std::rc::Rc;
use derive_more::{Display, From};
use crate::{platform, utils::Caused};
#[derive(Caused, Clone, Debug, Display, From)]
#[cause(error = platform::Error)]
pub enum RtcStatsError {
#[display(fmt = "RTCStats.id is undefined")]
UndefinedId,
#[display(fmt = "RTCStats.stats are undefined")]
UndefinedStats,
#[display(fmt = "Unexpected platform error: {}", _0)]
Platform(platform::Error),
#[display(fmt = "RTCStats.entries are undefined")]
UndefinedEntries,
#[display(fmt = "Failed to deserialize into RtcStats: {}", _0)]
ParseError(Rc<serde_json::Error>),
}