pluginengine01 / crates /bex-wire /src /converters.rs
krystv's picture
Upload 107 files
3374e90 verified
//! Type conversion traits and utilities for wire types.
//!
//! This module provides helpers for converting between different
//! representations of the same data types. The actual WIT → FlatBuffer
//! conversion is in `bex_runtime::convert` since it depends on `bex_core`.
// Re-export all wire types for convenience
pub use crate::bex_common_generated::bex::wire::*;
pub use crate::bex_media_generated::bex::wire::*;
pub use crate::bex_stream_generated::bex::wire::*;
pub use crate::bex_event_generated::bex::wire::*;
/// Get the variant name of a `MediaKind` as a static string.
pub fn media_kind_name(kind: MediaKind) -> &'static str {
match kind {
MediaKind::Movie => "Movie",
MediaKind::Series => "Series",
MediaKind::Anime => "Anime",
MediaKind::Short => "Short",
MediaKind::Special => "Special",
MediaKind::Documentary => "Documentary",
MediaKind::Music => "Music",
MediaKind::Podcast => "Podcast",
MediaKind::Book => "Book",
MediaKind::Live => "Live",
MediaKind::Unknown => "Unknown",
_ => "Unknown",
}
}
/// Get the variant name of a `Status` as a static string.
pub fn status_name(status: Status) -> &'static str {
match status {
Status::Unknown => "Unknown",
Status::Upcoming => "Upcoming",
Status::Ongoing => "Ongoing",
Status::Completed => "Completed",
Status::Cancelled => "Cancelled",
Status::Paused => "Paused",
_ => "Unknown",
}
}
/// Get the variant name of a `StreamFormat` as a static string.
pub fn stream_format_name(fmt: StreamFormat) -> &'static str {
match fmt {
StreamFormat::Hls => "Hls",
StreamFormat::Dash => "Dash",
StreamFormat::Progressive => "Progressive",
StreamFormat::Unknown => "Unknown",
_ => "Unknown",
}
}