// Do not edit. This file is generated.
// MoonBit type: PlaybackDirection
// Specifications: web-animations.idl
///|
pub(all) enum PlaybackDirection {
Normal
Reverse
Alternate
AlternateReverse
} derive(Eq)
///|
pub impl Show for PlaybackDirection with output(
self : PlaybackDirection,
logger : &Logger,
) -> Unit {
match self {
PlaybackDirection::Normal => logger.write_string("Normal")
PlaybackDirection::Reverse => logger.write_string("Reverse")
PlaybackDirection::Alternate => logger.write_string("Alternate")
PlaybackDirection::AlternateReverse =>
logger.write_string("AlternateReverse")
}
}
///|
pub impl TJsValue for PlaybackDirection with to_js(self : PlaybackDirection) -> JsValue {
match self {
PlaybackDirection::Normal => TJsValue::to_js("normal")
PlaybackDirection::Reverse => TJsValue::to_js("reverse")
PlaybackDirection::Alternate => TJsValue::to_js("alternate")
PlaybackDirection::AlternateReverse => TJsValue::to_js("alternate-reverse")
}
}
///|
pub fn PlaybackDirection::from(value : String) -> PlaybackDirection? {
match value {
"normal" => Some(PlaybackDirection::Normal)
"reverse" => Some(PlaybackDirection::Reverse)
"alternate" => Some(PlaybackDirection::Alternate)
"alternate-reverse" => Some(PlaybackDirection::AlternateReverse)
_ => None
}
}
///|
fn PlaybackDirection::from_unchecked(value : String) -> PlaybackDirection {
match value {
"normal" => PlaybackDirection::Normal
"reverse" => PlaybackDirection::Reverse
"alternate" => PlaybackDirection::Alternate
"alternate-reverse" => PlaybackDirection::AlternateReverse
_ => PlaybackDirection::Normal
}
}
///|
pub fn PlaybackDirection::value(self : PlaybackDirection) -> String {
match self {
PlaybackDirection::Normal => "normal"
PlaybackDirection::Reverse => "reverse"
PlaybackDirection::Alternate => "alternate"
PlaybackDirection::AlternateReverse => "alternate-reverse"
}
}
///|
pub impl FromJsAny for PlaybackDirection with from_js_any(value : JsAny) -> PlaybackDirection {
PlaybackDirection::from_unchecked(value)
}