pub mod content;
pub mod dublin_core;
pub mod itunes;
pub mod media;
pub mod podcast;
pub mod podlove;
pub(super) mod names;
pub(super) mod parse;
pub(super) mod write;
pub use content::Content;
pub use dublin_core::{DublinCore, DublinCoreFeed};
pub use itunes::{ITunes, ITunesFeed};
pub use media::{MediaContent, MediaRss, MediaThumbnail};
pub use podcast::{
Podcast, PodcastAlternateEnclosure, PodcastChapters, PodcastEpisode, PodcastFeed,
PodcastFunding, PodcastIntegrity, PodcastLocation, PodcastPerson, PodcastRemoteItem,
PodcastSeason, PodcastSoundbite, PodcastSource, PodcastTrailer, PodcastTranscript,
};
pub use podlove::{PodloveChapter, PodloveChapters};
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ItemExtensions {
pub itunes: Option<Box<ITunes>>,
pub podcast: Option<Box<Podcast>>,
pub dublin_core: Option<Box<DublinCore>>,
pub content: Option<Box<Content>>,
pub media: Option<Box<MediaRss>>,
pub podlove: Option<Box<PodloveChapters>>,
}
impl ItemExtensions {
#[must_use]
pub fn is_empty(&self) -> bool {
self.itunes.is_none()
&& self.podcast.is_none()
&& self.dublin_core.is_none()
&& self.content.is_none()
&& self.media.is_none()
&& self.podlove.is_none()
}
}
#[derive(Debug, Clone, Default, PartialEq)]
pub struct FeedExtensions {
pub itunes: Option<Box<ITunesFeed>>,
pub podcast: Option<Box<PodcastFeed>>,
pub dublin_core: Option<Box<DublinCoreFeed>>,
}
impl FeedExtensions {
#[must_use]
pub fn is_empty(&self) -> bool {
self.itunes.is_none() && self.podcast.is_none() && self.dublin_core.is_none()
}
}