irelia 0.11.1

A Rust wrapper around the native LoL APIs
Documentation
extern crate irelia;
extern crate serde;
extern crate serde_derive;
extern crate serde_json;
extern crate tokio;

use serde_derive::{Deserialize, Serialize};

#[tokio::main]
async fn main() {
    let client = irelia::requests::new();

    let lcu_client = irelia::rest::LcuClient::connect_with_request_client(&client).unwrap();

    let current_summoner: CurrentSummoner = lcu_client
        .get("/lol-summoner/v1/current-summoner")
        .await
        .unwrap();

    println!("{current_summoner:?}");
}

#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CurrentSummoner {
    pub account_id: i64,
    pub display_name: String,
    pub game_name: String,
    pub internal_name: String,
    pub name_change_flag: bool,
    pub percent_complete_for_next_level: i64,
    pub privacy: String,
    pub profile_icon_id: i64,
    pub puuid: String,
    pub reroll_points: RerollPoints,
    pub summoner_id: i64,
    pub summoner_level: i64,
    pub tag_line: String,
    pub unnamed: bool,
    pub xp_since_last_level: i64,
    pub xp_until_next_level: i64,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RerollPoints {
    pub current_points: i64,
    pub max_rolls: i64,
    pub number_of_rolls: i64,
    pub points_cost_to_roll: i64,
    pub points_to_reroll: i64,
}