tallgrass/pokemon
Types
pub type Pokemon {
Pokemon(
id: Int,
name: String,
abilities: List(PokemonAbility),
base_experience: Int,
cries: PokemonCries,
forms: List(Resource),
game_indices: List(VersionGameIndex),
height: Int,
is_default: Bool,
location_area_encounters: String,
moves: List(PokemonMove),
order: Int,
species: Resource,
stats: List(PokemonStat),
types: List(PokemonType),
weight: Int,
)
}
Constructors
-
Pokemon( id: Int, name: String, abilities: List(PokemonAbility), base_experience: Int, cries: PokemonCries, forms: List(Resource), game_indices: List(VersionGameIndex), height: Int, is_default: Bool, location_area_encounters: String, moves: List(PokemonMove), order: Int, species: Resource, stats: List(PokemonStat), types: List(PokemonType), weight: Int, )
pub type PokemonAbility {
PokemonAbility(ability: Resource, is_hidden: Bool, slot: Int)
}
Constructors
-
PokemonAbility(ability: Resource, is_hidden: Bool, slot: Int)
pub type PokemonCries {
PokemonCries(latest: String, legacy: String)
}
Constructors
-
PokemonCries(latest: String, legacy: String)
pub type PokemonMove {
PokemonMove(
move: Resource,
version_details: List(PokemonMoveVersion),
)
}
Constructors
-
PokemonMove( move: Resource, version_details: List(PokemonMoveVersion), )
pub type PokemonMoveVersion {
PokemonMoveVersion(
learn_level: Int,
learn_method: Resource,
version_group: Resource,
)
}
Constructors
-
PokemonMoveVersion( learn_level: Int, learn_method: Resource, version_group: Resource, )
pub type PokemonStat {
PokemonStat(stat: Resource, base_stat: Int, effort: Int)
}
Constructors
-
PokemonStat(stat: Resource, base_stat: Int, effort: Int)
Functions
pub fn fetch(client: Client) -> Result(PaginatedResource, Error)
Fetches a paginated list of pokemon resources.
Example
let result = pokemon.new() |> pokemon.fetch()
pub fn fetch_by_id(
client: Client,
id: Int,
) -> Result(Pokemon, Error)
Fetches a pokemon given the pokemon ID.
Example
let result = pokemon.new() |> pokemon.fetch_by_id(1)
pub fn fetch_by_name(
client: Client,
name: String,
) -> Result(Pokemon, Error)
Fetches a pokemon given the pokemon name.
Example
let result = pokemon.new() |> pokemon.fetch_by_name("ditto")
pub fn fetch_resource(
client: Client,
resource: Resource,
) -> Result(Pokemon, Error)
Fetches a pokemon given a pokemon resource.
Example
let client = pokemon.new()
use res <- result.try(client |> pokemon.fetch())
let assert Ok(first) = res.results |> list.first
client |> pokemon.fetch_resource(first)