[][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

APIResource

https://pokeapi.co/docs/v2.html#apiresource

APIResourceList

https://pokeapi.co/docs/v2.html#un-named

Ability

https://pokeapi.co/docs/v2.html#abilities

AbilityEffectChange

https://pokeapi.co/docs/v2.html#abilityeffectchange

AbilityFlavorText

https://pokeapi.co/docs/v2.html#abilityflavortext

AbilityPokemon

https://pokeapi.co/docs/v2.html#abilitypokemon

AwesomeName

https://pokeapi.co/docs/v2.html#awesomename

Berry

https://pokeapi.co/docs/v2.html#berries

BerryFirmness

https://pokeapi.co/docs/v2.html#berry-firmnesses

BerryFlavor

https://pokeapi.co/docs/v2.html#berry-flavors

BerryFlavorMap

https://pokeapi.co/docs/v2.html#berryflavormap

ChainLink

https://pokeapi.co/docs/v2.html#chainlink

Characteristic

https://pokeapi.co/docs/v2.html#characteristics

ContestComboDetail

https://pokeapi.co/docs/v2.html#contestcombodetail

ContestComboSets

https://pokeapi.co/docs/v2.html#contestcombosets

ContestEffect

https://pokeapi.co/docs/v2.html#contest-effects

ContestName

https://pokeapi.co/docs/v2.html#contestname

ContestType

https://pokeapi.co/docs/v2.html#contests-section

Description

https://pokeapi.co/docs/v2.html#description

ENDPOINT

Pokeapi endpoint. Can be set with the POKERUST_ENDPOINT environment variable. Defaults to https://pokeapi.co/api/v2/.

Effect

https://pokeapi.co/docs/v2.html#effect

EggGroup

https://pokeapi.co/docs/v2.html#egg-groups

Encounter

https://pokeapi.co/docs/v2.html#encounter

EncounterCondition

https://pokeapi.co/docs/v2.html#encounter-conditions

EncounterConditionValue

https://pokeapi.co/docs/v2.html#encounter-condition-values

EncounterMethod

https://pokeapi.co/docs/v2.html#encounter-methods

EncounterVersionDetails

https://pokeapi.co/docs/v2.html#encounterversiondetails

EncouterMethodRate

https://pokeapi.co/docs/v2.html#encountermethodrate

EvolutionChain

https://pokeapi.co/docs/v2.html#evolution-chains

EvolutionDetail

https://pokeapi.co/docs/v2.html#evolutiondetail

EvolutionTrigger

https://pokeapi.co/docs/v2.html#evolution-triggers

FlavorBerryMap

https://pokeapi.co/docs/v2.html#flavorberrymap

FlavorText

https://pokeapi.co/docs/v2.html#flavortext

Gender

https://pokeapi.co/docs/v2.html#genders

Generation

https://pokeapi.co/docs/v2.html#generations

GenerationGameIndex

https://pokeapi.co/docs/v2.html#generationgameindex

Genus

https://pokeapi.co/docs/v2.html#genus

GrowthRate

https://pokeapi.co/docs/v2.html#growth-rates

GrowthRateExperienceLevel

https://pokeapi.co/docs/v2.html#growthrateexperiencelevel

Item

https://pokeapi.co/docs/v2.html#item

ItemAttribute

https://pokeapi.co/docs/v2.html#item-attributes

ItemCategory

https://pokeapi.co/docs/v2.html#item-categories

ItemFlingEffect

https://pokeapi.co/docs/v2.html#item-fling-effects

ItemHolderPokemon

https://pokeapi.co/docs/v2.html#itemholderpokemon

ItemHolderPokemonVersionDetail

https://pokeapi.co/docs/v2.html#itemholderpokemonversiondetail

ItemPocket

https://pokeapi.co/docs/v2.html#item-pockets

ItemSprites

https://pokeapi.co/docs/v2.html#itemsprites

Language

https://pokeapi.co/docs/v2.html#languages

Location

https://pokeapi.co/docs/v2.html#locations

LocationArea

https://pokeapi.co/docs/v2.html#location-areas

LocationAreaEncounter

https://pokeapi.co/docs/v2.html#locationareaencounter

Machine

https://pokeapi.co/docs/v2.html#machines

MachineVersionDetail

https://pokeapi.co/docs/v2.html#machineversiondetail

Move

https://pokeapi.co/docs/v2.html#moves

MoveAilment

https://pokeapi.co/docs/v2.html#move-ailments

MoveBattleStyle

https://pokeapi.co/docs/v2.html#move-battle-styles

MoveBattleStylePreference

https://pokeapi.co/docs/v2.html#movebattlestylepreference

MoveCategory

https://pokeapi.co/docs/v2.html#move-categories

MoveDamageClass

https://pokeapi.co/docs/v2.html#move-damage-classes

MoveFlavorText

https://pokeapi.co/docs/v2.html#moveflavortext

MoveLearnMethod

https://pokeapi.co/docs/v2.html#move-learn-methods

MoveMetaData

https://pokeapi.co/docs/v2.html#movemetadata

MoveStatAffect

https://pokeapi.co/docs/v2.html#movestataffect

MoveStatAffectSets

https://pokeapi.co/docs/v2.html#movestataffectsets

MoveStatChange

https://pokeapi.co/docs/v2.html#movestatchange

MoveTarget

https://pokeapi.co/docs/v2.html#move-targets

Name

https://pokeapi.co/docs/v2.html#name

NamedAPIResource

https://pokeapi.co/docs/v2.html#namedapiresource

NamedAPIResourceList

https://pokeapi.co/docs/v2.html#named

Nature

https://pokeapi.co/docs/v2.html#natures

NaturePokeathlonStatAffect

https://pokeapi.co/docs/v2.html#naturepokeathlonstataffect

NaturePokeathlonStatAffectSets

https://pokeapi.co/docs/v2.html#naturepokeathlonstataffectsets

NatureStatAffectSets

https://pokeapi.co/docs/v2.html#naturestataffectsets

NatureStatChange

https://pokeapi.co/docs/v2.html#naturestatchange

PalParkArea

https://pokeapi.co/docs/v2.html#pal-park-areas

PalParkEncounterArea

https://pokeapi.co/docs/v2.html#palparkencounterarea

PalParkEncounterSpecies

https://pokeapi.co/docs/v2.html#palparkencounterspecies

PastMoveStatValues

https://pokeapi.co/docs/v2.html#pastmovestatvalues

PokeathlonStat

https://pokeapi.co/docs/v2.html#pokeathlon-stats

Pokedex

https://pokeapi.co/docs/v2.html#pokedexes

Pokemon

https://pokeapi.co/docs/v2.html#pokemon

PokemonAbility

https://pokeapi.co/docs/v2.html#pokemonability

PokemonColor

https://pokeapi.co/docs/v2.html#pokemon-colors

PokemonEncouter

https://pokeapi.co/docs/v2.html#pokemonencounter

PokemonEntry

https://pokeapi.co/docs/v2.html#pokemonentry

PokemonForm

https://pokeapi.co/docs/v2.html#pokemon-forms

PokemonFormSprites

https://pokeapi.co/docs/v2.html#pokemonformsprites

PokemonHabitat

https://pokeapi.co/docs/v2.html#pokemon-habitats

PokemonHeldItem

https://pokeapi.co/docs/v2.html#pokemonhelditem

PokemonHeldItemVersion

https://pokeapi.co/docs/v2.html#pokemonhelditemversion

PokemonMove

https://pokeapi.co/docs/v2.html#pokemonmove

PokemonMoveVersion

https://pokeapi.co/docs/v2.html#pokemonmoveversion

PokemonShape

https://pokeapi.co/docs/v2.html#pokemon-shapes

PokemonSpecies

https://pokeapi.co/docs/v2.html#pokemon-species

PokemonSpeciesDexEntry

https://pokeapi.co/docs/v2.html#pokemonspeciesdexentry

PokemonSpeciesGender

https://pokeapi.co/docs/v2.html#pokemonspeciesgender

PokemonSpeciesVariety

https://pokeapi.co/docs/v2.html#pokemonspeciesvariety

PokemonSprites

https://pokeapi.co/docs/v2.html#pokemonsprites

PokemonStat

https://pokeapi.co/docs/v2.html#pokemonstat

PokemonType

https://pokeapi.co/docs/v2.html#pokemontype

Region

https://pokeapi.co/docs/v2.html#regions

Stat

https://pokeapi.co/docs/v2.html#stats

SuperContestEffect

https://pokeapi.co/docs/v2.html#super-contest-effects

Type

https://pokeapi.co/docs/v2.html#types

TypePokemon

https://pokeapi.co/docs/v2.html#typepokemon

TypeRelations

https://pokeapi.co/docs/v2.html#typerelations

VerboseEffect

https://pokeapi.co/docs/v2.html#verboseeffect

Version

https://pokeapi.co/docs/v2.html#version

VersionEncounterDetail

https://pokeapi.co/docs/v2.html#versionencounterdetail

VersionGameIndex

https://pokeapi.co/docs/v2.html#versiongameindex

VersionGroup

https://pokeapi.co/docs/v2.html#version-groups

VersionGroupFlavorText

https://pokeapi.co/docs/v2.html#versiongroupflavortext

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)APIResources

Named

Trait for API objects with a name.