Crate pokerust

Crate pokerust 

Source
Expand description

§Pokérust

Rust wrapper for the pokeapi https://pokeapi.co/

§Basic Usage

Get an object from an API by id

use pokerust::{Berry, FromId};
let berry = Berry::from_id(1).unwrap();

or by name

use pokerust::{Berry, FromName};
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#apiresource
APIResourceList
https://pokeapi.co/docs/v2#un-named
Ability
https://pokeapi.co/docs/v2#abilities
AbilityEffectChange
https://pokeapi.co/docs/v2#abilityeffectchange
AbilityFlavorText
https://pokeapi.co/docs/v2#abilityflavortext
AbilityPokemon
https://pokeapi.co/docs/v2#abilitypokemon
AwesomeName
https://pokeapi.co/docs/v2#awesomename
Berry
https://pokeapi.co/docs/v2#berries
BerryFirmness
https://pokeapi.co/docs/v2#berry-firmnesses
BerryFlavor
https://pokeapi.co/docs/v2#berry-flavors
BerryFlavorMap
https://pokeapi.co/docs/v2#berryflavormap
ChainLink
https://pokeapi.co/docs/v2#chainlink
Characteristic
https://pokeapi.co/docs/v2#characteristics
ContestComboDetail
https://pokeapi.co/docs/v2#contestcombodetail
ContestComboSets
https://pokeapi.co/docs/v2#contestcombosets
ContestEffect
https://pokeapi.co/docs/v2#contest-effects
ContestName
https://pokeapi.co/docs/v2#contestname
ContestType
https://pokeapi.co/docs/v2#contests-section
Description
https://pokeapi.co/docs/v2#description
Effect
https://pokeapi.co/docs/v2#effect
EggGroup
https://pokeapi.co/docs/v2#egg-groups
Encounter
https://pokeapi.co/docs/v2#encounter
EncounterCondition
https://pokeapi.co/docs/v2#encounter-conditions
EncounterConditionValue
https://pokeapi.co/docs/v2#encounter-condition-values
EncounterMethod
https://pokeapi.co/docs/v2#encounter-methods
EncounterVersionDetails
https://pokeapi.co/docs/v2#encounterversiondetails
EncouterMethodRate
https://pokeapi.co/docs/v2#encountermethodrate
EvolutionChain
https://pokeapi.co/docs/v2#evolution-chains
EvolutionDetail
https://pokeapi.co/docs/v2#evolutiondetail
EvolutionTrigger
https://pokeapi.co/docs/v2#evolution-triggers
FlavorBerryMap
https://pokeapi.co/docs/v2#flavorberrymap
FlavorText
https://pokeapi.co/docs/v2#flavortext
Gender
https://pokeapi.co/docs/v2#genders
Generation
https://pokeapi.co/docs/v2#generations
GenerationGameIndex
https://pokeapi.co/docs/v2#generationgameindex
Genus
https://pokeapi.co/docs/v2#genus
GrowthRate
https://pokeapi.co/docs/v2#growth-rates
GrowthRateExperienceLevel
https://pokeapi.co/docs/v2#growthrateexperiencelevel
Item
https://pokeapi.co/docs/v2#item
ItemAttribute
https://pokeapi.co/docs/v2#item-attributes
ItemCategory
https://pokeapi.co/docs/v2#item-categories
ItemFlingEffect
https://pokeapi.co/docs/v2#item-fling-effects
ItemHolderPokemon
https://pokeapi.co/docs/v2#itemholderpokemon
ItemHolderPokemonVersionDetail
https://pokeapi.co/docs/v2#itemholderpokemonversiondetail
ItemPocket
https://pokeapi.co/docs/v2#item-pockets
ItemSprites
https://pokeapi.co/docs/v2#itemsprites
Language
https://pokeapi.co/docs/v2#languages
Location
https://pokeapi.co/docs/v2#locations
LocationArea
https://pokeapi.co/docs/v2#location-areas
LocationAreaEncounter
https://pokeapi.co/docs/v2#locationareaencounter
Machine
https://pokeapi.co/docs/v2#machines
MachineVersionDetail
https://pokeapi.co/docs/v2#machineversiondetail
Move
https://pokeapi.co/docs/v2#moves
MoveAilment
https://pokeapi.co/docs/v2#move-ailments
MoveBattleStyle
https://pokeapi.co/docs/v2#move-battle-styles
MoveBattleStylePreference
https://pokeapi.co/docs/v2#movebattlestylepreference
MoveCategory
https://pokeapi.co/docs/v2#move-categories
MoveDamageClass
https://pokeapi.co/docs/v2#move-damage-classes
MoveFlavorText
https://pokeapi.co/docs/v2#moveflavortext
MoveLearnMethod
https://pokeapi.co/docs/v2#move-learn-methods
MoveMetaData
https://pokeapi.co/docs/v2#movemetadata
MoveStatAffect
https://pokeapi.co/docs/v2#movestataffect
MoveStatAffectSets
https://pokeapi.co/docs/v2#movestataffectsets
MoveStatChange
https://pokeapi.co/docs/v2#movestatchange
MoveTarget
https://pokeapi.co/docs/v2#move-targets
Name
https://pokeapi.co/docs/v2#name
NamedAPIResource
https://pokeapi.co/docs/v2#namedapiresource
NamedAPIResourceList
https://pokeapi.co/docs/v2#named
Nature
https://pokeapi.co/docs/v2#natures
NaturePokeathlonStatAffect
https://pokeapi.co/docs/v2#naturepokeathlonstataffect
NaturePokeathlonStatAffectSets
https://pokeapi.co/docs/v2#naturepokeathlonstataffectsets
NatureStatAffectSets
https://pokeapi.co/docs/v2#naturestataffectsets
NatureStatChange
https://pokeapi.co/docs/v2#naturestatchange
PalParkArea
https://pokeapi.co/docs/v2#pal-park-areas
PalParkEncounterArea
https://pokeapi.co/docs/v2#palparkencounterarea
PalParkEncounterSpecies
https://pokeapi.co/docs/v2#palparkencounterspecies
PastMoveStatValues
https://pokeapi.co/docs/v2#pastmovestatvalues
PokeathlonStat
https://pokeapi.co/docs/v2#pokeathlon-stats
Pokedex
https://pokeapi.co/docs/v2#pokedexes
Pokemon
https://pokeapi.co/docs/v2#pokemon
PokemonAbility
https://pokeapi.co/docs/v2#pokemonability
PokemonColor
https://pokeapi.co/docs/v2#pokemon-colors
PokemonCries
PokemonEncouter
https://pokeapi.co/docs/v2#pokemonencounter
PokemonEntry
https://pokeapi.co/docs/v2#pokemonentry
PokemonForm
https://pokeapi.co/docs/v2#pokemon-forms
PokemonFormSprites
https://pokeapi.co/docs/v2#pokemonformsprites
PokemonHabitat
https://pokeapi.co/docs/v2#pokemon-habitats
PokemonHeldItem
https://pokeapi.co/docs/v2#pokemonhelditem
PokemonHeldItemVersion
https://pokeapi.co/docs/v2#pokemonhelditemversion
PokemonMove
https://pokeapi.co/docs/v2#pokemonmove
PokemonMoveVersion
https://pokeapi.co/docs/v2#pokemonmoveversion
PokemonShape
https://pokeapi.co/docs/v2#pokemon-shapes
PokemonSpecies
https://pokeapi.co/docs/v2#pokemon-species
PokemonSpeciesDexEntry
https://pokeapi.co/docs/v2#pokemonspeciesdexentry
PokemonSpeciesGender
https://pokeapi.co/docs/v2#pokemonspeciesgender
PokemonSpeciesVariety
https://pokeapi.co/docs/v2#pokemonspeciesvariety
PokemonSprites
https://pokeapi.co/docs/v2#pokemonsprites
PokemonStat
https://pokeapi.co/docs/v2#pokemonstat
PokemonType
https://pokeapi.co/docs/v2#pokemontype
Region
https://pokeapi.co/docs/v2#regions
Stat
https://pokeapi.co/docs/v2#stats
SuperContestEffect
https://pokeapi.co/docs/v2#super-contest-effects
Type
https://pokeapi.co/docs/v2#types
TypePokemon
https://pokeapi.co/docs/v2#typepokemon
TypeRelations
https://pokeapi.co/docs/v2#typerelations
TypeRelationsPast
VerboseEffect
https://pokeapi.co/docs/v2#verboseeffect
Version
https://pokeapi.co/docs/v2#version
VersionEncounterDetail
https://pokeapi.co/docs/v2#versionencounterdetail
VersionGameIndex
https://pokeapi.co/docs/v2#versiongameindex
VersionGroup
https://pokeapi.co/docs/v2#version-groups
VersionGroupFlavorText
https://pokeapi.co/docs/v2#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.