poke-sdk-typescript
Version:
204 lines (203 loc) • 4.59 kB
TypeScript
export interface Pokemon {
abilities: Ability[];
base_experience: number;
forms: Species[];
game_indices: GameIndex[];
height: number;
held_items: any[];
id: number;
is_default: boolean;
location_area_encounters: string;
moves: Move[];
name: string;
order: number;
past_types: any[];
species: Species;
sprites: Sprites;
stats: PokemonStat[];
types: Type[];
weight: number;
}
export interface Ability {
ability: Species;
is_hidden: boolean;
slot: number;
}
export interface Species {
name: string;
url: string;
}
export interface GameIndex {
game_index: number;
version: Species;
}
export interface Move {
move: Species;
version_group_details: VersionGroupDetail[];
}
export interface VersionGroupDetail {
level_learned_at: number;
move_learn_method: Species;
version_group: Species;
}
export interface GenerationV {
'black-white': Sprites;
}
export interface GenerationIv {
'diamond-pearl': Sprites;
'heartgold-soulsilver': Sprites;
platinum: Sprites;
}
export interface Versions {
'generation-i': GenerationI;
'generation-ii': GenerationIi;
'generation-iii': GenerationIii;
'generation-iv': GenerationIv;
'generation-v': GenerationV;
'generation-vi': {
[key: string]: Home;
};
'generation-vii': GenerationVii;
'generation-viii': GenerationViii;
}
export interface Sprites {
back_default: string;
back_female: null;
back_shiny: string;
back_shiny_female: null;
front_default: string;
front_female: null;
front_shiny: string;
front_shiny_female: null;
other?: Other;
versions?: Versions;
animated?: Sprites;
}
export interface GenerationI {
'red-blue': RedBlue;
yellow: RedBlue;
}
export interface RedBlue {
back_default: string;
back_gray: string;
back_transparent: string;
front_default: string;
front_gray: string;
front_transparent: string;
}
export interface GenerationIi {
crystal: Crystal;
gold: Gold;
silver: Gold;
}
export interface Crystal {
back_default: string;
back_shiny: string;
back_shiny_transparent: string;
back_transparent: string;
front_default: string;
front_shiny: string;
front_shiny_transparent: string;
front_transparent: string;
}
export interface Gold {
back_default: string;
back_shiny: string;
front_default: string;
front_shiny: string;
front_transparent?: string;
}
export interface GenerationIii {
emerald: OfficialArtwork;
'firered-leafgreen': Gold;
'ruby-sapphire': Gold;
}
export interface OfficialArtwork {
front_default: string;
front_shiny: string;
}
export interface Home {
front_default: string;
front_female: null;
front_shiny: string;
front_shiny_female: null;
}
export interface GenerationVii {
icons: DreamWorld;
'ultra-sun-ultra-moon': Home;
}
export interface DreamWorld {
front_default: string;
front_female: null;
}
export interface GenerationViii {
icons: DreamWorld;
}
export interface Other {
dream_world: DreamWorld;
home: Home;
'official-artwork': OfficialArtwork;
}
export interface PokemonStat {
base_stat: number;
effort: number;
stat: Species;
}
export interface Type {
slot: number;
type: Species;
}
export interface Nature {
decreased_stat: null;
hates_flavor: null;
id: number;
increased_stat: null;
likes_flavor: null;
move_battle_style_preferences: MoveBattleStylePreference[];
name: string;
names: Name[];
pokeathlon_stat_changes: PokeathlonStatChange[];
}
export interface MoveBattleStylePreference {
high_hp_preference: number;
low_hp_preference: number;
move_battle_style: MoveBattleStyle;
}
export interface MoveBattleStyle {
name: string;
url: string;
}
export interface Name {
language: MoveBattleStyle;
name: string;
}
export interface PokeathlonStatChange {
max_change: number;
pokeathlon_stat: MoveBattleStyle;
}
export interface Stat {
affecting_moves: Affecting;
affecting_natures: Affecting;
characteristics: Characteristic[];
game_index: number;
id: number;
is_battle_only: boolean;
move_damage_class: null;
name: string;
names: Name[];
}
export interface Affecting {
decrease: any[];
increase: any[];
}
export interface Characteristic {
url: string;
}
export interface Name {
language: Language;
name: string;
}
export interface Language {
name: string;
url: string;
}