valorant_api_official 0.0.1

A library for interacting with the Official Valorant API.
Documentation
use serde::{Deserialize, Serialize};
use std::str::FromStr;

#[derive(Serialize, Deserialize, Debug)]
#[serde(rename_all = "lowercase")]
#[derive(PartialEq, Eq, Hash)]
pub enum Shard {
    EU,
    AP,
    NA,
    KR,
    ESPORTS,
    PBE,
}

impl ToString for Shard {
    fn to_string(&self) -> String {
        match self {
            Shard::EU => "eu",
            Shard::AP => "ap",
            Shard::NA => "na",
            Shard::KR => "kr",
            Shard::ESPORTS => "esports",
            Shard::PBE => "pbe",
        }
        .to_string()
    }
}

impl FromStr for Shard {
    type Err = ();

    fn from_str(s: &str) -> Result<Shard, ()> {
        match s.to_lowercase().as_str() {
            "eu" => Ok(Shard::EU),
            "ap" => Ok(Shard::AP),
            "na" => Ok(Shard::NA),
            "kr" => Ok(Shard::KR),
            "esports" => Ok(Shard::ESPORTS),
            "pbe" => Ok(Shard::PBE),
            _ => Err(()),
        }
    }
}