grafbase_sdk/types/
subscription_item.rs1use crate::{types::Response, wit};
2
3#[derive(Debug)]
5pub enum SubscriptionItem {
6 Single(Response),
8 Multiple(Vec<Response>),
10}
11
12impl From<Response> for SubscriptionItem {
13 fn from(value: Response) -> Self {
14 SubscriptionItem::Single(value)
15 }
16}
17
18impl From<Vec<Response>> for SubscriptionItem {
19 fn from(value: Vec<Response>) -> Self {
20 SubscriptionItem::Multiple(value)
21 }
22}
23
24impl From<SubscriptionItem> for wit::SubscriptionItem {
25 fn from(value: SubscriptionItem) -> Self {
26 match value {
27 SubscriptionItem::Single(response) => wit::SubscriptionItem::Single(response.into()),
28 SubscriptionItem::Multiple(responses) => {
29 wit::SubscriptionItem::Multiple(responses.into_iter().map(Into::into).collect())
30 }
31 }
32 }
33}