pub struct Media {
pub content: Vec<MediaType>,
}
Expand description
A Media
is a collection of data associated with different Media types.
It allows for the representation of rich content that can be displayed in multiple formats.
These are found in the data
field of a DisplayData
and ExecuteResult
messages/output types.
Fields§
§content: Vec<MediaType>
A map of Media types to their corresponding data, represented as JSON Value
.
Implementations§
Source§impl Media
impl Media
Sourcepub fn richest(&self, ranker: fn(_: &MediaType) -> usize) -> Option<&MediaType>
pub fn richest(&self, ranker: fn(_: &MediaType) -> usize) -> Option<&MediaType>
Find the richest media type in the bundle, based on the provided ranker function. A rank of 0 indicates that the media type is not supported. Higher numbers indicate that the media type is preferred over other media types.
§Examples
use jupyter_protocol::media::{Media, MediaType};
let raw = r#"{
"text/plain": "FancyThing()",
"text/html": "<h1>Fancy!</h1>",
"application/json": {"fancy": true}
}"#;
let media: Media = serde_json::from_str(raw).unwrap();
let ranker = |media_type: &MediaType| match media_type {
MediaType::Html(_) => 3,
MediaType::Json(_) => 2,
MediaType::Plain(_) => 1,
_ => 0,
};
let richest = media.richest(ranker);
assert_eq!(
richest,
Some(MediaType::Html(String::from("<h1>Fancy!</h1>"))).as_ref()
);
pub fn new(content: Vec<MediaType>) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Media
impl<'de> Deserialize<'de> for Media
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Media
impl RefUnwindSafe for Media
impl Send for Media
impl Sync for Media
impl Unpin for Media
impl UnwindSafe for Media
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more