use std::fmt;
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub enum Preview {
Wyandotte,
BarredRock,
AntMan,
SquirrelGirl,
Mockingbird,
MisterFantastic,
MachineMan,
Inertia,
Cloak,
BlackPanther,
GiantSentryFist,
Mercy,
ScarletWitch,
Hellcat,
Nightshade,
SailorV,
Dazzler,
Echo,
Symmetra,
Zzzax,
LukeCage,
Hagar,
Antiope,
Starfox,
Fury,
Flash,
Surtur,
Corsair,
Sombra,
ShadowCat,
Switcheroo,
Groot,
Gambit,
}
impl Preview {
pub fn name(self) -> &'static str {
match self {
Preview::Wyandotte => "wyandotte",
Preview::BarredRock => "barred-rock",
Preview::AntMan => "ant-man",
Preview::SquirrelGirl => "squirrel-girl",
Preview::Mockingbird => "mocking-bird",
Preview::MisterFantastic => "mister-fantastic",
Preview::MachineMan => "machine-man",
Preview::Inertia => "inertia",
Preview::Cloak => "clock",
Preview::BlackPanther => "black-panther",
Preview::GiantSentryFist => "giant-sentry-fist",
Preview::Mercy => "mercy",
Preview::ScarletWitch => "scarlet-witch",
Preview::Hellcat => "hellcat",
Preview::Nightshade => "nightshade",
Preview::SailorV => "sailor-v",
Preview::Dazzler => "dazzler",
Preview::Echo => "echo",
Preview::Symmetra => "symmetra",
Preview::Zzzax => "zzzax",
Preview::LukeCage => "luke-cage",
Preview::Hagar => "hagar",
Preview::Antiope => "antiope",
Preview::Starfox => "starfox",
Preview::Fury => "fury",
Preview::Flash => "flash",
Preview::Surtur => "surtur",
Preview::Corsair => "corsair",
Preview::Sombra => "sombra",
Preview::ShadowCat => "shadow-cat",
Preview::Switcheroo => "switcheroo",
Preview::Groot => "groot",
Preview::Gambit => "gambit",
}
}
pub fn media_type(self) -> String {
format!("application/vnd.github.{}-preview+json", self.name())
}
}
impl fmt::Display for Preview {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(self.name())
}
}