Crates.io | pokerust |
lib.rs | pokerust |
version | 0.3.1 |
source | src |
created_at | 2020-02-10 22:15:08.020651 |
updated_at | 2024-09-17 21:00:01.343684 |
description | Pokeapi wrapper |
homepage | https://gitlab.com/lunik1/pokerust |
repository | https://gitlab.com/lunik1/pokerust |
max_upload_size | |
id | 207178 |
size | 770,711 |
Wrapper library for https://pokeapi.co/ v2 with caching support.
Documentation for the crate can be found on docs.rs (WIP). For documentation of the API, see https://pokeapi.co/docs/v2.
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.
This software is licensed under the BSD 3-Clause "New" or "Revised" License.