leaguejs
Version:
Wrapper for the League of Legends API
128 lines (119 loc) • 2.68 kB
TypeScript
import {ListDTO} from './ListDTO';
import {ImageDTO} from './ImageDTO';
export interface ChampionStatsDTO {
hp: number
hpperlevel: number
mp: number
mpperlevel: number
movespeed: number
armor: number
armorperlevel: number
spellblock: number
spellblockperlevel: number
attackrange: number
hpregen: number
hpregenperlevel: number
mpregen: number
mpregenperlevel: number
crit: number
critperlevel: number
attackdamage: number
attackdamageperlevel: number
attackspeedoffset: number
attackspeedperlevel: number
}
export interface ChampionSpellDTO {
id: string
name: string
description: string
tooltip: string
leveltip: {
label: string[]
effect: string[]
}
maxrank: number
cooldown: number[]
cooldownBurn: string
cost: number[]
costBurn: string
datavalues: any // TODO: typing
effect: Array<number[]>
effectBurn: string[]
vars: Array<{ link: string, coeff: number, key: string }>
costType: string
/** numeric string */
maxammo: string
range: number[]
/** numeric string */
rangeBurn: string
resource: string
}
export interface RecommendedItemBlockDTO {
type: string
recMath: boolean
recSteps: boolean
minSummonerLevel: number
maxSummonerLevel: number
showIfSummonerSpell: string
hideIfSummonerSpell: string
appendAfterSection: string
visibleWithAllOf: string[]
hiddenWithAnyOf: string[]
items: Array<{
id: string
count: number
hideCount: boolean
}>
}
export interface ChampionRecommendedItemsDTO {
champion: string
title: string
map: string
mode: string
/** riot || ? */
type: string
customTag: string
sortrank: number
extensionPage: boolean
customPanel: any // TODO: typing
blocks: RecommendedItemBlockDTO[]
}
export interface ChampionSkinDTO {
id: number
num: number
name: string
chromas: boolean
}
export interface ChampionInfoDTO {
attack: number
defense: number
magic: number
difficulty: number
}
export interface ChampionDTO {
version: string
id: number
key: string
name: string
title: string
blurb: string
info: ChampionInfoDTO
image: ImageDTO
tags: string[]
partype: string
stats: ChampionStatsDTO
}
export interface ChampionFullDTO extends ChampionDTO {
skins: ChampionSkinDTO[]
lore: string
allytips: string[]
enemytips: string[]
spells: ChampionSpellDTO[]
passive: {name:string, description: string, image: ImageDTO}
recommended: ChampionRecommendedItemsDTO[]
}
/** keys = key */
export interface ChampionListDTO<T extends ChampionDTO> extends ListDTO<T> {
keys: { [championId: string]: string }
format: 'full' | 'standAloneComplex'
}