[−][src]Crate pokerust
Pokérust
Rust wrapper for the pokeapi https://pokeapi.co/
Basic Usage
Get an object from an API by id
use pokerust::{Berry, FromId}; fn main() { let berry = Berry::from_id(1).unwrap(); }
or by name
use pokerust::{Berry, FromName}; fn main() { let berry = Berry::from_name("cheri").unwrap(); }
API responses are automatically cached.
You can also fetch the resource lists:
let items = Item::list(5, 20)?; // ?offset=5&limit=20 // get the lists referenced in the next and previous fields items.previous_list()?; items.next_list()?; // you can also just get the full list let all_items = Item::full_list()?;
To get resources pointed to by (Named)APIResource
, use get()
:
let berry = Berry::from_name("cheri")?; let berry_item = berry.item.get()?; // berry_item is an Item
This can be chained:
let marill = PokemonSpecies::from_name("marill")?; let sea_incense = marill.evolution_chain.get()?.baby_trigger_item.unwrap().get()?;
The location of the pokeapi used can be changed by setting the POKERUST_ENDPOINT environment variable. Defaults to the public instance at https://pokeapi.co/api/v2/. Please consult the pokeapi documentation and read the fair use policy before using the public API instance.
Structs
Traits
Endpoint | Trait for API objects with an associated endpoint. |
FromId | API resources that can be retrived from an ID. |
FromName | API resources that can be retrived from a name. |
Id | Trait for API objects with an ID. |
List | Trait for lists of |
Named | Trait for API objects with a name. |