tallgrass/pokemon/ability

Types

pub type Ability {
  Ability(
    id: Int,
    name: String,
    is_main_series: Bool,
    generation: Resource,
    names: List(Name),
    effect_entries: List(VerboseEffect),
    flavor_text_entries: List(FlavorTextVersionGroup),
    pokemon: List(AbilityPokemon),
  )
}

Constructors

  • Ability(
      id: Int,
      name: String,
      is_main_series: Bool,
      generation: Resource,
      names: List(Name),
      effect_entries: List(VerboseEffect),
      flavor_text_entries: List(FlavorTextVersionGroup),
      pokemon: List(AbilityPokemon),
    )
pub type AbilityPokemon {
  AbilityPokemon(is_hidden: Bool, slot: Int, pokemon: Resource)
}

Constructors

  • AbilityPokemon(is_hidden: Bool, slot: Int, pokemon: Resource)

Functions

pub fn fetch(client: Client) -> Result(PaginatedResource, Error)

Fetches a paginated list of pokemon ability resources.

Example

let result = ability.new() |> ability.fetch()
pub fn fetch_by_id(
  client: Client,
  id: Int,
) -> Result(Ability, Error)

Fetches a pokemon ability given the pokemon ability ID.

Example

let result = ability.new() |> ability.fetch_by_id(1)
pub fn fetch_by_name(
  client: Client,
  name: String,
) -> Result(Ability, Error)

Fetches a pokemon ability given the pokemon ability name.

Example

let result = ability.new() |> ability.fetch_by_name("stench")
pub fn fetch_resource(
  client: Client,
  resource: Resource,
) -> Result(Ability, Error)

Fetches a pokemon ability given a pokemon ability resource.

Example

let client = ability.new()
use res <- result.try(client |> ability.fetch())
let assert Ok(first) = res.results |> list.first
client |> ability.fetch_resource(first)
pub fn new() -> Client

Creates a new Client. This is a re-export of client.new, for the sake of convenience.

Search Document