use crate::{types::Response, wit};
#[derive(Debug)]
pub enum SubscriptionItem {
Single(Response),
Multiple(Vec<Response>),
}
impl From<Response> for SubscriptionItem {
fn from(value: Response) -> Self {
SubscriptionItem::Single(value)
}
}
impl From<Vec<Response>> for SubscriptionItem {
fn from(value: Vec<Response>) -> Self {
SubscriptionItem::Multiple(value)
}
}
impl From<SubscriptionItem> for wit::SubscriptionItem {
fn from(value: SubscriptionItem) -> Self {
match value {
SubscriptionItem::Single(response) => wit::SubscriptionItem::Single(response.into()),
SubscriptionItem::Multiple(responses) => {
wit::SubscriptionItem::Multiple(responses.into_iter().map(Into::into).collect())
}
}
}
}