#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum AlchemicalSymbols {
AlchemicalSymbolForQuintessence,
AlchemicalSymbolForAir,
AlchemicalSymbolForFire,
AlchemicalSymbolForEarth,
AlchemicalSymbolForWater,
AlchemicalSymbolForAquafortis,
AlchemicalSymbolForAquaRegia,
AlchemicalSymbolForAquaRegiaDash2,
AlchemicalSymbolForAquaVitae,
AlchemicalSymbolForAquaVitaeDash2,
AlchemicalSymbolForVinegar,
AlchemicalSymbolForVinegarDash2,
AlchemicalSymbolForVinegarDash3,
AlchemicalSymbolForSulfur,
AlchemicalSymbolForPhilosophersSulfur,
AlchemicalSymbolForBlackSulfur,
AlchemicalSymbolForMercurySublimate,
AlchemicalSymbolForMercurySublimateDash2,
AlchemicalSymbolForMercurySublimateDash3,
AlchemicalSymbolForCinnabar,
AlchemicalSymbolForSalt,
AlchemicalSymbolForNitre,
AlchemicalSymbolForVitriol,
AlchemicalSymbolForVitriolDash2,
AlchemicalSymbolForRockSalt,
AlchemicalSymbolForRockSaltDash2,
AlchemicalSymbolForGold,
AlchemicalSymbolForSilver,
AlchemicalSymbolForIronOre,
AlchemicalSymbolForIronOreDash2,
AlchemicalSymbolForCrocusOfIron,
AlchemicalSymbolForRegulusOfIron,
AlchemicalSymbolForCopperOre,
AlchemicalSymbolForIronDashCopperOre,
AlchemicalSymbolForSublimateOfCopper,
AlchemicalSymbolForCrocusOfCopper,
AlchemicalSymbolForCrocusOfCopperDash2,
AlchemicalSymbolForCopperAntimoniate,
AlchemicalSymbolForSaltOfCopperAntimoniate,
AlchemicalSymbolForSublimateOfSaltOfCopper,
AlchemicalSymbolForVerdigris,
AlchemicalSymbolForTinOre,
AlchemicalSymbolForLeadOre,
AlchemicalSymbolForAntimonyOre,
AlchemicalSymbolForSublimateOfAntimony,
AlchemicalSymbolForSaltOfAntimony,
AlchemicalSymbolForSublimateOfSaltOfAntimony,
AlchemicalSymbolForVinegarOfAntimony,
AlchemicalSymbolForRegulusOfAntimony,
AlchemicalSymbolForRegulusOfAntimonyDash2,
AlchemicalSymbolForRegulus,
AlchemicalSymbolForRegulusDash2,
AlchemicalSymbolForRegulusDash3,
AlchemicalSymbolForRegulusDash4,
AlchemicalSymbolForAlkali,
AlchemicalSymbolForAlkaliDash2,
AlchemicalSymbolForMarcasite,
AlchemicalSymbolForSalDashAmmoniac,
AlchemicalSymbolForArsenic,
AlchemicalSymbolForRealgar,
AlchemicalSymbolForRealgarDash2,
AlchemicalSymbolForAuripigment,
AlchemicalSymbolForBismuthOre,
AlchemicalSymbolForTartar,
AlchemicalSymbolForTartarDash2,
AlchemicalSymbolForQuickLime,
AlchemicalSymbolForBorax,
AlchemicalSymbolForBoraxDash2,
AlchemicalSymbolForBoraxDash3,
AlchemicalSymbolForAlum,
AlchemicalSymbolForOil,
AlchemicalSymbolForSpirit,
AlchemicalSymbolForTincture,
AlchemicalSymbolForGum,
AlchemicalSymbolForWax,
AlchemicalSymbolForPowder,
AlchemicalSymbolForCalx,
AlchemicalSymbolForTutty,
AlchemicalSymbolForCaputMortuum,
AlchemicalSymbolForScepterOfJove,
AlchemicalSymbolForCaduceus,
AlchemicalSymbolForTrident,
AlchemicalSymbolForStarredTrident,
AlchemicalSymbolForLodestone,
AlchemicalSymbolForSoap,
AlchemicalSymbolForUrine,
AlchemicalSymbolForHorseDung,
AlchemicalSymbolForAshes,
AlchemicalSymbolForPotAshes,
AlchemicalSymbolForBrick,
AlchemicalSymbolForPowderedBrick,
AlchemicalSymbolForAmalgam,
AlchemicalSymbolForStratumSuperStratum,
AlchemicalSymbolForStratumSuperStratumDash2,
AlchemicalSymbolForSublimation,
AlchemicalSymbolForPrecipitate,
AlchemicalSymbolForDistill,
AlchemicalSymbolForDissolve,
AlchemicalSymbolForDissolveDash2,
AlchemicalSymbolForPurify,
AlchemicalSymbolForPutrefaction,
AlchemicalSymbolForCrucible,
AlchemicalSymbolForCrucibleDash2,
AlchemicalSymbolForCrucibleDash3,
AlchemicalSymbolForCrucibleDash4,
AlchemicalSymbolForCrucibleDash5,
AlchemicalSymbolForAlembic,
AlchemicalSymbolForBathOfMary,
AlchemicalSymbolForBathOfVapours,
AlchemicalSymbolForRetort,
AlchemicalSymbolForHour,
AlchemicalSymbolForNight,
AlchemicalSymbolForDayDashNight,
AlchemicalSymbolForMonth,
AlchemicalSymbolForHalfDram,
AlchemicalSymbolForHalfOunce,
}
impl Into<char> for AlchemicalSymbols {
fn into(self) -> char {
match self {
AlchemicalSymbols::AlchemicalSymbolForQuintessence => '🜀',
AlchemicalSymbols::AlchemicalSymbolForAir => '🜁',
AlchemicalSymbols::AlchemicalSymbolForFire => '🜂',
AlchemicalSymbols::AlchemicalSymbolForEarth => '🜃',
AlchemicalSymbols::AlchemicalSymbolForWater => '🜄',
AlchemicalSymbols::AlchemicalSymbolForAquafortis => '🜅',
AlchemicalSymbols::AlchemicalSymbolForAquaRegia => '🜆',
AlchemicalSymbols::AlchemicalSymbolForAquaRegiaDash2 => '🜇',
AlchemicalSymbols::AlchemicalSymbolForAquaVitae => '🜈',
AlchemicalSymbols::AlchemicalSymbolForAquaVitaeDash2 => '🜉',
AlchemicalSymbols::AlchemicalSymbolForVinegar => '🜊',
AlchemicalSymbols::AlchemicalSymbolForVinegarDash2 => '🜋',
AlchemicalSymbols::AlchemicalSymbolForVinegarDash3 => '🜌',
AlchemicalSymbols::AlchemicalSymbolForSulfur => '🜍',
AlchemicalSymbols::AlchemicalSymbolForPhilosophersSulfur => '🜎',
AlchemicalSymbols::AlchemicalSymbolForBlackSulfur => '🜏',
AlchemicalSymbols::AlchemicalSymbolForMercurySublimate => '🜐',
AlchemicalSymbols::AlchemicalSymbolForMercurySublimateDash2 => '🜑',
AlchemicalSymbols::AlchemicalSymbolForMercurySublimateDash3 => '🜒',
AlchemicalSymbols::AlchemicalSymbolForCinnabar => '🜓',
AlchemicalSymbols::AlchemicalSymbolForSalt => '🜔',
AlchemicalSymbols::AlchemicalSymbolForNitre => '🜕',
AlchemicalSymbols::AlchemicalSymbolForVitriol => '🜖',
AlchemicalSymbols::AlchemicalSymbolForVitriolDash2 => '🜗',
AlchemicalSymbols::AlchemicalSymbolForRockSalt => '🜘',
AlchemicalSymbols::AlchemicalSymbolForRockSaltDash2 => '🜙',
AlchemicalSymbols::AlchemicalSymbolForGold => '🜚',
AlchemicalSymbols::AlchemicalSymbolForSilver => '🜛',
AlchemicalSymbols::AlchemicalSymbolForIronOre => '🜜',
AlchemicalSymbols::AlchemicalSymbolForIronOreDash2 => '🜝',
AlchemicalSymbols::AlchemicalSymbolForCrocusOfIron => '🜞',
AlchemicalSymbols::AlchemicalSymbolForRegulusOfIron => '🜟',
AlchemicalSymbols::AlchemicalSymbolForCopperOre => '🜠',
AlchemicalSymbols::AlchemicalSymbolForIronDashCopperOre => '🜡',
AlchemicalSymbols::AlchemicalSymbolForSublimateOfCopper => '🜢',
AlchemicalSymbols::AlchemicalSymbolForCrocusOfCopper => '🜣',
AlchemicalSymbols::AlchemicalSymbolForCrocusOfCopperDash2 => '🜤',
AlchemicalSymbols::AlchemicalSymbolForCopperAntimoniate => '🜥',
AlchemicalSymbols::AlchemicalSymbolForSaltOfCopperAntimoniate => '🜦',
AlchemicalSymbols::AlchemicalSymbolForSublimateOfSaltOfCopper => '🜧',
AlchemicalSymbols::AlchemicalSymbolForVerdigris => '🜨',
AlchemicalSymbols::AlchemicalSymbolForTinOre => '🜩',
AlchemicalSymbols::AlchemicalSymbolForLeadOre => '🜪',
AlchemicalSymbols::AlchemicalSymbolForAntimonyOre => '🜫',
AlchemicalSymbols::AlchemicalSymbolForSublimateOfAntimony => '🜬',
AlchemicalSymbols::AlchemicalSymbolForSaltOfAntimony => '🜭',
AlchemicalSymbols::AlchemicalSymbolForSublimateOfSaltOfAntimony => '🜮',
AlchemicalSymbols::AlchemicalSymbolForVinegarOfAntimony => '🜯',
AlchemicalSymbols::AlchemicalSymbolForRegulusOfAntimony => '🜰',
AlchemicalSymbols::AlchemicalSymbolForRegulusOfAntimonyDash2 => '🜱',
AlchemicalSymbols::AlchemicalSymbolForRegulus => '🜲',
AlchemicalSymbols::AlchemicalSymbolForRegulusDash2 => '🜳',
AlchemicalSymbols::AlchemicalSymbolForRegulusDash3 => '🜴',
AlchemicalSymbols::AlchemicalSymbolForRegulusDash4 => '🜵',
AlchemicalSymbols::AlchemicalSymbolForAlkali => '🜶',
AlchemicalSymbols::AlchemicalSymbolForAlkaliDash2 => '🜷',
AlchemicalSymbols::AlchemicalSymbolForMarcasite => '🜸',
AlchemicalSymbols::AlchemicalSymbolForSalDashAmmoniac => '🜹',
AlchemicalSymbols::AlchemicalSymbolForArsenic => '🜺',
AlchemicalSymbols::AlchemicalSymbolForRealgar => '🜻',
AlchemicalSymbols::AlchemicalSymbolForRealgarDash2 => '🜼',
AlchemicalSymbols::AlchemicalSymbolForAuripigment => '🜽',
AlchemicalSymbols::AlchemicalSymbolForBismuthOre => '🜾',
AlchemicalSymbols::AlchemicalSymbolForTartar => '🜿',
AlchemicalSymbols::AlchemicalSymbolForTartarDash2 => '🝀',
AlchemicalSymbols::AlchemicalSymbolForQuickLime => '🝁',
AlchemicalSymbols::AlchemicalSymbolForBorax => '🝂',
AlchemicalSymbols::AlchemicalSymbolForBoraxDash2 => '🝃',
AlchemicalSymbols::AlchemicalSymbolForBoraxDash3 => '🝄',
AlchemicalSymbols::AlchemicalSymbolForAlum => '🝅',
AlchemicalSymbols::AlchemicalSymbolForOil => '🝆',
AlchemicalSymbols::AlchemicalSymbolForSpirit => '🝇',
AlchemicalSymbols::AlchemicalSymbolForTincture => '🝈',
AlchemicalSymbols::AlchemicalSymbolForGum => '🝉',
AlchemicalSymbols::AlchemicalSymbolForWax => '🝊',
AlchemicalSymbols::AlchemicalSymbolForPowder => '🝋',
AlchemicalSymbols::AlchemicalSymbolForCalx => '🝌',
AlchemicalSymbols::AlchemicalSymbolForTutty => '🝍',
AlchemicalSymbols::AlchemicalSymbolForCaputMortuum => '🝎',
AlchemicalSymbols::AlchemicalSymbolForScepterOfJove => '🝏',
AlchemicalSymbols::AlchemicalSymbolForCaduceus => '🝐',
AlchemicalSymbols::AlchemicalSymbolForTrident => '🝑',
AlchemicalSymbols::AlchemicalSymbolForStarredTrident => '🝒',
AlchemicalSymbols::AlchemicalSymbolForLodestone => '🝓',
AlchemicalSymbols::AlchemicalSymbolForSoap => '🝔',
AlchemicalSymbols::AlchemicalSymbolForUrine => '🝕',
AlchemicalSymbols::AlchemicalSymbolForHorseDung => '🝖',
AlchemicalSymbols::AlchemicalSymbolForAshes => '🝗',
AlchemicalSymbols::AlchemicalSymbolForPotAshes => '🝘',
AlchemicalSymbols::AlchemicalSymbolForBrick => '🝙',
AlchemicalSymbols::AlchemicalSymbolForPowderedBrick => '🝚',
AlchemicalSymbols::AlchemicalSymbolForAmalgam => '🝛',
AlchemicalSymbols::AlchemicalSymbolForStratumSuperStratum => '🝜',
AlchemicalSymbols::AlchemicalSymbolForStratumSuperStratumDash2 => '🝝',
AlchemicalSymbols::AlchemicalSymbolForSublimation => '🝞',
AlchemicalSymbols::AlchemicalSymbolForPrecipitate => '🝟',
AlchemicalSymbols::AlchemicalSymbolForDistill => '🝠',
AlchemicalSymbols::AlchemicalSymbolForDissolve => '🝡',
AlchemicalSymbols::AlchemicalSymbolForDissolveDash2 => '🝢',
AlchemicalSymbols::AlchemicalSymbolForPurify => '🝣',
AlchemicalSymbols::AlchemicalSymbolForPutrefaction => '🝤',
AlchemicalSymbols::AlchemicalSymbolForCrucible => '🝥',
AlchemicalSymbols::AlchemicalSymbolForCrucibleDash2 => '🝦',
AlchemicalSymbols::AlchemicalSymbolForCrucibleDash3 => '🝧',
AlchemicalSymbols::AlchemicalSymbolForCrucibleDash4 => '🝨',
AlchemicalSymbols::AlchemicalSymbolForCrucibleDash5 => '🝩',
AlchemicalSymbols::AlchemicalSymbolForAlembic => '🝪',
AlchemicalSymbols::AlchemicalSymbolForBathOfMary => '🝫',
AlchemicalSymbols::AlchemicalSymbolForBathOfVapours => '🝬',
AlchemicalSymbols::AlchemicalSymbolForRetort => '🝭',
AlchemicalSymbols::AlchemicalSymbolForHour => '🝮',
AlchemicalSymbols::AlchemicalSymbolForNight => '🝯',
AlchemicalSymbols::AlchemicalSymbolForDayDashNight => '🝰',
AlchemicalSymbols::AlchemicalSymbolForMonth => '🝱',
AlchemicalSymbols::AlchemicalSymbolForHalfDram => '🝲',
AlchemicalSymbols::AlchemicalSymbolForHalfOunce => '🝳',
}
}
}
impl std::convert::TryFrom<char> for AlchemicalSymbols {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'🜀' => Ok(AlchemicalSymbols::AlchemicalSymbolForQuintessence),
'🜁' => Ok(AlchemicalSymbols::AlchemicalSymbolForAir),
'🜂' => Ok(AlchemicalSymbols::AlchemicalSymbolForFire),
'🜃' => Ok(AlchemicalSymbols::AlchemicalSymbolForEarth),
'🜄' => Ok(AlchemicalSymbols::AlchemicalSymbolForWater),
'🜅' => Ok(AlchemicalSymbols::AlchemicalSymbolForAquafortis),
'🜆' => Ok(AlchemicalSymbols::AlchemicalSymbolForAquaRegia),
'🜇' => Ok(AlchemicalSymbols::AlchemicalSymbolForAquaRegiaDash2),
'🜈' => Ok(AlchemicalSymbols::AlchemicalSymbolForAquaVitae),
'🜉' => Ok(AlchemicalSymbols::AlchemicalSymbolForAquaVitaeDash2),
'🜊' => Ok(AlchemicalSymbols::AlchemicalSymbolForVinegar),
'🜋' => Ok(AlchemicalSymbols::AlchemicalSymbolForVinegarDash2),
'🜌' => Ok(AlchemicalSymbols::AlchemicalSymbolForVinegarDash3),
'🜍' => Ok(AlchemicalSymbols::AlchemicalSymbolForSulfur),
'🜎' => Ok(AlchemicalSymbols::AlchemicalSymbolForPhilosophersSulfur),
'🜏' => Ok(AlchemicalSymbols::AlchemicalSymbolForBlackSulfur),
'🜐' => Ok(AlchemicalSymbols::AlchemicalSymbolForMercurySublimate),
'🜑' => Ok(AlchemicalSymbols::AlchemicalSymbolForMercurySublimateDash2),
'🜒' => Ok(AlchemicalSymbols::AlchemicalSymbolForMercurySublimateDash3),
'🜓' => Ok(AlchemicalSymbols::AlchemicalSymbolForCinnabar),
'🜔' => Ok(AlchemicalSymbols::AlchemicalSymbolForSalt),
'🜕' => Ok(AlchemicalSymbols::AlchemicalSymbolForNitre),
'🜖' => Ok(AlchemicalSymbols::AlchemicalSymbolForVitriol),
'🜗' => Ok(AlchemicalSymbols::AlchemicalSymbolForVitriolDash2),
'🜘' => Ok(AlchemicalSymbols::AlchemicalSymbolForRockSalt),
'🜙' => Ok(AlchemicalSymbols::AlchemicalSymbolForRockSaltDash2),
'🜚' => Ok(AlchemicalSymbols::AlchemicalSymbolForGold),
'🜛' => Ok(AlchemicalSymbols::AlchemicalSymbolForSilver),
'🜜' => Ok(AlchemicalSymbols::AlchemicalSymbolForIronOre),
'🜝' => Ok(AlchemicalSymbols::AlchemicalSymbolForIronOreDash2),
'🜞' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrocusOfIron),
'🜟' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulusOfIron),
'🜠' => Ok(AlchemicalSymbols::AlchemicalSymbolForCopperOre),
'🜡' => Ok(AlchemicalSymbols::AlchemicalSymbolForIronDashCopperOre),
'🜢' => Ok(AlchemicalSymbols::AlchemicalSymbolForSublimateOfCopper),
'🜣' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrocusOfCopper),
'🜤' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrocusOfCopperDash2),
'🜥' => Ok(AlchemicalSymbols::AlchemicalSymbolForCopperAntimoniate),
'🜦' => Ok(AlchemicalSymbols::AlchemicalSymbolForSaltOfCopperAntimoniate),
'🜧' => Ok(AlchemicalSymbols::AlchemicalSymbolForSublimateOfSaltOfCopper),
'🜨' => Ok(AlchemicalSymbols::AlchemicalSymbolForVerdigris),
'🜩' => Ok(AlchemicalSymbols::AlchemicalSymbolForTinOre),
'🜪' => Ok(AlchemicalSymbols::AlchemicalSymbolForLeadOre),
'🜫' => Ok(AlchemicalSymbols::AlchemicalSymbolForAntimonyOre),
'🜬' => Ok(AlchemicalSymbols::AlchemicalSymbolForSublimateOfAntimony),
'🜭' => Ok(AlchemicalSymbols::AlchemicalSymbolForSaltOfAntimony),
'🜮' => Ok(AlchemicalSymbols::AlchemicalSymbolForSublimateOfSaltOfAntimony),
'🜯' => Ok(AlchemicalSymbols::AlchemicalSymbolForVinegarOfAntimony),
'🜰' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulusOfAntimony),
'🜱' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulusOfAntimonyDash2),
'🜲' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulus),
'🜳' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulusDash2),
'🜴' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulusDash3),
'🜵' => Ok(AlchemicalSymbols::AlchemicalSymbolForRegulusDash4),
'🜶' => Ok(AlchemicalSymbols::AlchemicalSymbolForAlkali),
'🜷' => Ok(AlchemicalSymbols::AlchemicalSymbolForAlkaliDash2),
'🜸' => Ok(AlchemicalSymbols::AlchemicalSymbolForMarcasite),
'🜹' => Ok(AlchemicalSymbols::AlchemicalSymbolForSalDashAmmoniac),
'🜺' => Ok(AlchemicalSymbols::AlchemicalSymbolForArsenic),
'🜻' => Ok(AlchemicalSymbols::AlchemicalSymbolForRealgar),
'🜼' => Ok(AlchemicalSymbols::AlchemicalSymbolForRealgarDash2),
'🜽' => Ok(AlchemicalSymbols::AlchemicalSymbolForAuripigment),
'🜾' => Ok(AlchemicalSymbols::AlchemicalSymbolForBismuthOre),
'🜿' => Ok(AlchemicalSymbols::AlchemicalSymbolForTartar),
'🝀' => Ok(AlchemicalSymbols::AlchemicalSymbolForTartarDash2),
'🝁' => Ok(AlchemicalSymbols::AlchemicalSymbolForQuickLime),
'🝂' => Ok(AlchemicalSymbols::AlchemicalSymbolForBorax),
'🝃' => Ok(AlchemicalSymbols::AlchemicalSymbolForBoraxDash2),
'🝄' => Ok(AlchemicalSymbols::AlchemicalSymbolForBoraxDash3),
'🝅' => Ok(AlchemicalSymbols::AlchemicalSymbolForAlum),
'🝆' => Ok(AlchemicalSymbols::AlchemicalSymbolForOil),
'🝇' => Ok(AlchemicalSymbols::AlchemicalSymbolForSpirit),
'🝈' => Ok(AlchemicalSymbols::AlchemicalSymbolForTincture),
'🝉' => Ok(AlchemicalSymbols::AlchemicalSymbolForGum),
'🝊' => Ok(AlchemicalSymbols::AlchemicalSymbolForWax),
'🝋' => Ok(AlchemicalSymbols::AlchemicalSymbolForPowder),
'🝌' => Ok(AlchemicalSymbols::AlchemicalSymbolForCalx),
'🝍' => Ok(AlchemicalSymbols::AlchemicalSymbolForTutty),
'🝎' => Ok(AlchemicalSymbols::AlchemicalSymbolForCaputMortuum),
'🝏' => Ok(AlchemicalSymbols::AlchemicalSymbolForScepterOfJove),
'🝐' => Ok(AlchemicalSymbols::AlchemicalSymbolForCaduceus),
'🝑' => Ok(AlchemicalSymbols::AlchemicalSymbolForTrident),
'🝒' => Ok(AlchemicalSymbols::AlchemicalSymbolForStarredTrident),
'🝓' => Ok(AlchemicalSymbols::AlchemicalSymbolForLodestone),
'🝔' => Ok(AlchemicalSymbols::AlchemicalSymbolForSoap),
'🝕' => Ok(AlchemicalSymbols::AlchemicalSymbolForUrine),
'🝖' => Ok(AlchemicalSymbols::AlchemicalSymbolForHorseDung),
'🝗' => Ok(AlchemicalSymbols::AlchemicalSymbolForAshes),
'🝘' => Ok(AlchemicalSymbols::AlchemicalSymbolForPotAshes),
'🝙' => Ok(AlchemicalSymbols::AlchemicalSymbolForBrick),
'🝚' => Ok(AlchemicalSymbols::AlchemicalSymbolForPowderedBrick),
'🝛' => Ok(AlchemicalSymbols::AlchemicalSymbolForAmalgam),
'🝜' => Ok(AlchemicalSymbols::AlchemicalSymbolForStratumSuperStratum),
'🝝' => Ok(AlchemicalSymbols::AlchemicalSymbolForStratumSuperStratumDash2),
'🝞' => Ok(AlchemicalSymbols::AlchemicalSymbolForSublimation),
'🝟' => Ok(AlchemicalSymbols::AlchemicalSymbolForPrecipitate),
'🝠' => Ok(AlchemicalSymbols::AlchemicalSymbolForDistill),
'🝡' => Ok(AlchemicalSymbols::AlchemicalSymbolForDissolve),
'🝢' => Ok(AlchemicalSymbols::AlchemicalSymbolForDissolveDash2),
'🝣' => Ok(AlchemicalSymbols::AlchemicalSymbolForPurify),
'🝤' => Ok(AlchemicalSymbols::AlchemicalSymbolForPutrefaction),
'🝥' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrucible),
'🝦' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrucibleDash2),
'🝧' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrucibleDash3),
'🝨' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrucibleDash4),
'🝩' => Ok(AlchemicalSymbols::AlchemicalSymbolForCrucibleDash5),
'🝪' => Ok(AlchemicalSymbols::AlchemicalSymbolForAlembic),
'🝫' => Ok(AlchemicalSymbols::AlchemicalSymbolForBathOfMary),
'🝬' => Ok(AlchemicalSymbols::AlchemicalSymbolForBathOfVapours),
'🝭' => Ok(AlchemicalSymbols::AlchemicalSymbolForRetort),
'🝮' => Ok(AlchemicalSymbols::AlchemicalSymbolForHour),
'🝯' => Ok(AlchemicalSymbols::AlchemicalSymbolForNight),
'🝰' => Ok(AlchemicalSymbols::AlchemicalSymbolForDayDashNight),
'🝱' => Ok(AlchemicalSymbols::AlchemicalSymbolForMonth),
'🝲' => Ok(AlchemicalSymbols::AlchemicalSymbolForHalfDram),
'🝳' => Ok(AlchemicalSymbols::AlchemicalSymbolForHalfOunce),
_ => Err(()),
}
}
}
impl Into<u32> for AlchemicalSymbols {
fn into(self) -> u32 {
let c: char = self.into();
let hex = c
.escape_unicode()
.to_string()
.replace("\\u{", "")
.replace("}", "");
u32::from_str_radix(&hex, 16).unwrap()
}
}
impl std::convert::TryFrom<u32> for AlchemicalSymbols {
type Error = ();
fn try_from(u: u32) -> Result<Self, Self::Error> {
if let Ok(c) = char::try_from(u) {
Self::try_from(c)
} else {
Err(())
}
}
}
impl Iterator for AlchemicalSymbols {
type Item = Self;
fn next(&mut self) -> Option<Self> {
let index: u32 = (*self).into();
use std::convert::TryFrom;
Self::try_from(index + 1).ok()
}
}
impl AlchemicalSymbols {
pub fn new() -> Self {
AlchemicalSymbols::AlchemicalSymbolForQuintessence
}
pub fn name(&self) -> String {
let s = std::format!("AlchemicalSymbols{:#?}", self);
string_morph::to_sentence_case(&s)
}
}