# Aurilion - A Rust library for easier interaction with Data Dragon Aurilion is a small rust library that provides some useful functions to hep facilitate easier access to the Riot Games Data Dragon Web API. ## Usage Get started by adding the library to your project. ``` cargo add aurilion ``` ## Getting the data At the time of writing, there are only four functions included: - `get_versions()` - To get all patch versions. - `get_all_champions()` - To get brief information about all available champions. - `get_single_champion()` - To get detailed information about a single champion. - `get_all_items()` - To get detailed information about all items. ## Example An example of implementation of all the functions would be something like this: ```rs async fn do_everything() { // get all versions let versions = get_versions().await.unwrap(); //The first version in the list is always the latest version let latest_version = versions.first().unwrap(); // get all champions, this function requires the version you are requesting champions for let all_champions = get_all_champions(latest_version.clone()).await.unwrap(); /* do something here with the champions we cycle through and list out all champion names and their title for now. */ all_champions.data.into_iter().for_each(|value| { println!("{} : {}", value.1.id, value.1.title); }); let single_champion = get_single_champion("Ahri".to_string(), latest_version.clone()) .await .unwrap(); // Get the champion from the Map received (must be the same as supplied to get_single_champion()) // In our case, it is "Ahri" let champion_data = single_champion.data.get("Ahri").unwrap(); // Just print the name of the champions and their skills for now. println!("\n\n{} Skill Names: ", champion_data.id); for (num, x) in champion_data.spells.clone().into_iter().enumerate() { println!("Skill {}: {}", num + 1, x.name) } } ```