pokedex/internal/api/pokeapi/pokemon.go

87 lines
2.9 KiB
Go

package pokeapi
type Pokemon struct {
ID int `json:"id"`
Name string `json:"name"`
BaseExperience int `json:"base_experience"`
Height int `json:"height"`
IsDefault bool `json:"is_default"`
Order int `json:"order"`
Weight int `json:"weight"`
Abilities []PokemonAbility `json:"abilities"`
Forms []NamedAPIResource `json:"forms"`
GameIndices []VersionGameIndex `json:"game_indices"`
HeldItems []PokemonHeldItems `json:"held_items"`
LocationAreaEncounters string `json:"location_area_encounters"`
Moves []PokemonMoves `json:"moves"`
PastTypes []PokemonTypePast `json:"past_types"`
Sprites PokemonSprites `json:"sprites"`
Cries PokemonCries `json:"cries"`
Species NamedAPIResource `json:"species"`
Stats []PokemonStat `json:"stats"`
Types []PokemonType `json:"types"`
}
type PokemonAbility struct {
IsHidden bool `json:"is_hidden"`
Slot int `json:"slot"`
Ability NamedAPIResource `json:"ability"`
}
type VersionGameIndex struct {
GameIndex int `json:"game_index"`
Version NamedAPIResource `json:"version"`
}
type PokemonHeldItems struct {
Item NamedAPIResource `json:"item"`
VersionDetails []PokemonHeldItemVersion `json:"version_details"`
}
type PokemonHeldItemVersion struct {
Version NamedAPIResource `json:"version"`
Rarity int `json:"rarity"`
}
type PokemonMoves struct {
Move NamedAPIResource `json:"move"`
VersionGroupDetails []PokemonMoveVersion `json:"version_group_details"`
}
type PokemonMoveVersion struct {
MoveLearnMethod NamedAPIResource `json:"move_learn_method"`
VersionGroup NamedAPIResource `json:"version_group"`
LevelLearnedAt int
}
type PokemonTypePast struct {
Generation NamedAPIResource `json:"generation"`
Types PokemonType `json:"types"`
}
type PokemonSprites struct {
FrontDefault string `json:"front_default"`
FrontShiny string `json:"front_shiny"`
FrontFemale string `json:"front_female"`
FrontShinyFemale string `json:"front_shiny_female"`
BackDefault string `json:"back_default"`
BackShiny string `json:"back_shiny"`
BackFemale string `json:"back_female"`
BackShinyFemale string `json:"back_shiny_female"`
}
type PokemonCries struct {
Latest string `json:"latest"`
Legacy string `json:"legacy"`
}
type PokemonStat struct {
Stat NamedAPIResource `json:"stat"`
Effort int `json:"effort"`
BaseStat int `json:"base_stat"`
}
type PokemonType struct {
Slot int `json:"slot"`
Type NamedAPIResource `json:"type"`
}