Migrate type defs
This commit is contained in:
parent
1fc179c99d
commit
7b05fa0497
35 changed files with 596 additions and 0 deletions
6
src/lib/types/AccountCookie.d.ts
vendored
Normal file
6
src/lib/types/AccountCookie.d.ts
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
interface AccountCookie {
|
||||
userId: string
|
||||
username: string
|
||||
token: string
|
||||
role: number
|
||||
}
|
||||
5
src/lib/types/AppUpdate.d.ts
vendored
Normal file
5
src/lib/types/AppUpdate.d.ts
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
interface AppUpdate {
|
||||
version: string
|
||||
update_type: string
|
||||
updated_at: string
|
||||
}
|
||||
11
src/lib/types/Awakening.d.ts
vendored
Normal file
11
src/lib/types/Awakening.d.ts
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
interface Awakening {
|
||||
id: string
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
jp: string
|
||||
}
|
||||
slug: string
|
||||
object_type?: string
|
||||
order: number
|
||||
}
|
||||
38
src/lib/types/Character.d.ts
vendored
Normal file
38
src/lib/types/Character.d.ts
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
interface Character {
|
||||
type: 'character'
|
||||
|
||||
id: string
|
||||
granblue_id: string
|
||||
character_id: readonly number[]
|
||||
element: number
|
||||
rarity: number
|
||||
gender: number
|
||||
max_level: number
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
hp: {
|
||||
min_hp: number
|
||||
max_hp: number
|
||||
max_hp_flb: number
|
||||
}
|
||||
atk: {
|
||||
min_atk: number
|
||||
max_atk: number
|
||||
max_atk_flb: number
|
||||
}
|
||||
uncap: {
|
||||
flb: boolean
|
||||
ulb: boolean
|
||||
}
|
||||
race: {
|
||||
race1: number
|
||||
race2: number
|
||||
}
|
||||
proficiency: number[]
|
||||
awakenings: Awakening[]
|
||||
position?: number
|
||||
special: boolean
|
||||
}
|
||||
4
src/lib/types/CheckedState.d.ts
vendored
Normal file
4
src/lib/types/CheckedState.d.ts
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
interface CheckedState {
|
||||
id: number
|
||||
checked: boolean
|
||||
}
|
||||
10
src/lib/types/ElementState.d.ts
vendored
Normal file
10
src/lib/types/ElementState.d.ts
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface ElementState {
|
||||
[key: string]: CheckedState
|
||||
null: CheckedState
|
||||
wind: CheckedState
|
||||
fire: CheckedState
|
||||
water: CheckedState
|
||||
earth: CheckedState
|
||||
dark: CheckedState
|
||||
light: CheckedState
|
||||
}
|
||||
23
src/lib/types/FilterSet.d.ts
vendored
Normal file
23
src/lib/types/FilterSet.d.ts
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
interface FilterSet {
|
||||
element?: number
|
||||
raid?: string
|
||||
recency?: number
|
||||
full_auto?: number
|
||||
auto_guard?: number
|
||||
charge_attack?: number
|
||||
characters_count?: number
|
||||
weapons_count?: number
|
||||
summons_count?: number
|
||||
button_count?: number
|
||||
turn_count?: number
|
||||
name_quality?: boolean
|
||||
user_quality?: boolean
|
||||
original?: boolean
|
||||
includes?: MentionItem[]
|
||||
excludes?: MentionItem[]
|
||||
}
|
||||
|
||||
interface ConvertedFilters extends Omit<FilterSet, 'includes' | 'excludes'> {
|
||||
includes: string
|
||||
excludes: string
|
||||
}
|
||||
5
src/lib/types/GranblueCookie.d.ts
vendored
Normal file
5
src/lib/types/GranblueCookie.d.ts
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
interface GranblueCookie {
|
||||
account: AccountCookie
|
||||
user: UserCookie
|
||||
locale: string
|
||||
}
|
||||
10
src/lib/types/GranblueElement.d.ts
vendored
Normal file
10
src/lib/types/GranblueElement.d.ts
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface GranblueElement {
|
||||
[key: string]: any
|
||||
id: number
|
||||
weaknessId: number
|
||||
name: {
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
slug: string
|
||||
}
|
||||
1
src/lib/types/GridArray.d.ts
vendored
Normal file
1
src/lib/types/GridArray.d.ts
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
type GridArray<T> = { [key: number]: T | undefined }
|
||||
14
src/lib/types/GridCharacter.d.ts
vendored
Normal file
14
src/lib/types/GridCharacter.d.ts
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
interface GridCharacter {
|
||||
id: string
|
||||
position: number
|
||||
object: Character
|
||||
uncap_level: number
|
||||
transcendence_step: number
|
||||
perpetuity: boolean
|
||||
over_mastery: ExtendedMastery[]
|
||||
aetherial_mastery?: ExtendedMastery
|
||||
awakening: {
|
||||
type: Awakening
|
||||
level: number
|
||||
}
|
||||
}
|
||||
10
src/lib/types/GridSummon.d.ts
vendored
Normal file
10
src/lib/types/GridSummon.d.ts
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface GridSummon {
|
||||
id: string
|
||||
main: boolean
|
||||
friend: boolean
|
||||
position: number
|
||||
object: Summon
|
||||
uncap_level: number
|
||||
quick_summon: boolean
|
||||
transcendence_step: number
|
||||
}
|
||||
15
src/lib/types/GridWeapon.d.ts
vendored
Normal file
15
src/lib/types/GridWeapon.d.ts
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
interface GridWeapon {
|
||||
id: string
|
||||
mainhand: boolean
|
||||
position: number
|
||||
object: Weapon
|
||||
uncap_level: number
|
||||
transcendence_step: number
|
||||
element: number
|
||||
weapon_keys?: Array<WeaponKey>
|
||||
ax?: Array<SimpleAxSkill>
|
||||
awakening?: {
|
||||
type: Awakening
|
||||
level: number
|
||||
}
|
||||
}
|
||||
14
src/lib/types/Guidebook.d.ts
vendored
Normal file
14
src/lib/types/Guidebook.d.ts
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
interface Guidebook {
|
||||
id: string
|
||||
granblue_id: string
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
jp: string
|
||||
}
|
||||
description: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
jp: string
|
||||
}
|
||||
}
|
||||
16
src/lib/types/ItemSkill.d.ts
vendored
Normal file
16
src/lib/types/ItemSkill.d.ts
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
interface ItemSkill {
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
id: number
|
||||
granblue_id: string
|
||||
slug: string
|
||||
minValue: number
|
||||
maxValue: number
|
||||
fractional: boolean
|
||||
suffix?: string
|
||||
secondary?: ItemSkill[]
|
||||
values?: number[]
|
||||
}
|
||||
20
src/lib/types/Job.d.ts
vendored
Normal file
20
src/lib/types/Job.d.ts
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
interface Job {
|
||||
id: string
|
||||
granblue_id: string
|
||||
row: string
|
||||
master_level: boolean
|
||||
ultimate_mastery: boolean
|
||||
order: number
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
proficiency: {
|
||||
proficiency1: number
|
||||
proficiency2: number
|
||||
}
|
||||
base_job?: Job
|
||||
accessory: boolean
|
||||
accessory_type: number
|
||||
}
|
||||
11
src/lib/types/JobAccessory.d.ts
vendored
Normal file
11
src/lib/types/JobAccessory.d.ts
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
interface JobAccessory {
|
||||
id: string
|
||||
granblue_id: string
|
||||
job: Job
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
rarity: number
|
||||
}
|
||||
16
src/lib/types/JobSkill.d.ts
vendored
Normal file
16
src/lib/types/JobSkill.d.ts
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
interface JobSkill {
|
||||
id: string
|
||||
job: Job
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
slug: string
|
||||
color: number
|
||||
main: boolean
|
||||
base: boolean
|
||||
sub: boolean
|
||||
emp: boolean
|
||||
order: number
|
||||
}
|
||||
10
src/lib/types/MentionItem.d.ts
vendored
Normal file
10
src/lib/types/MentionItem.d.ts
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface MentionItem {
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
type: string
|
||||
granblue_id: string
|
||||
element: GranblueElement
|
||||
}
|
||||
3
src/lib/types/OnClickEvent.d.ts
vendored
Normal file
3
src/lib/types/OnClickEvent.d.ts
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
type OnClickEvent = (
|
||||
event: React.MouseEvent<HTMLDivElement, MouseEvent>
|
||||
) => void
|
||||
49
src/lib/types/Party.d.ts
vendored
Normal file
49
src/lib/types/Party.d.ts
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
type JobSkillList = {
|
||||
[key: number]: JobSkill | undefined
|
||||
0: JobSkill | undefined
|
||||
1: JobSkill | undefined
|
||||
2: JobSkill | undefined
|
||||
3: JobSkill | undefined
|
||||
}
|
||||
|
||||
type GuidebookList = {
|
||||
[key: number]: Guidebook | undefined
|
||||
0: Guidebook | undefined
|
||||
1: Guidebook | undefined
|
||||
2: Guidebook | undefined
|
||||
}
|
||||
|
||||
interface Party {
|
||||
id: string
|
||||
name: string
|
||||
description: string
|
||||
raid: Raid
|
||||
full_auto: boolean
|
||||
auto_guard: boolean
|
||||
auto_summon: boolean
|
||||
charge_attack: boolean
|
||||
clear_time: number
|
||||
button_count?: number
|
||||
turn_count?: number
|
||||
chain_count?: number
|
||||
source_party?: Party
|
||||
job: Job
|
||||
master_level?: number
|
||||
ultimate_mastery?: number
|
||||
job_skills: JobSkillList
|
||||
accessory: JobAccessory
|
||||
shortcode: string
|
||||
extra: boolean
|
||||
guidebooks: GuidebookList
|
||||
favorited: boolean
|
||||
characters: Array<GridCharacter>
|
||||
weapons: Array<GridWeapon>
|
||||
summons: Array<GridSummon>
|
||||
user: User
|
||||
local_id?: string
|
||||
remix: boolean
|
||||
remixes: Party[]
|
||||
visibility: number
|
||||
created_at: string
|
||||
updated_at: string
|
||||
}
|
||||
13
src/lib/types/ProficiencyState.d.ts
vendored
Normal file
13
src/lib/types/ProficiencyState.d.ts
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
interface ProficiencyState {
|
||||
[key: string]: CheckedState
|
||||
sabre: CheckedState
|
||||
dagger: CheckedState
|
||||
spear: CheckedState
|
||||
axe: CheckedState
|
||||
staff: CheckedState
|
||||
melee: CheckedState
|
||||
gun: CheckedState
|
||||
bow: CheckedState
|
||||
harp: CheckedState
|
||||
katana: CheckedState
|
||||
}
|
||||
12
src/lib/types/Raid.d.ts
vendored
Normal file
12
src/lib/types/Raid.d.ts
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
interface Raid {
|
||||
id: string
|
||||
group: RaidGroup
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
slug: string
|
||||
level: number
|
||||
element: number
|
||||
}
|
||||
15
src/lib/types/RaidGroup.d.ts
vendored
Normal file
15
src/lib/types/RaidGroup.d.ts
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
interface RaidGroup {
|
||||
id: string
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
raids: Raid[]
|
||||
difficulty: number
|
||||
section: number
|
||||
order: number
|
||||
extra: boolean
|
||||
guidebooks: boolean
|
||||
hl: boolean
|
||||
}
|
||||
5
src/lib/types/RarityState.d.ts
vendored
Normal file
5
src/lib/types/RarityState.d.ts
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
interface RarityState {
|
||||
[key: string]: CheckedState
|
||||
sr: CheckedState
|
||||
ssr: CheckedState
|
||||
}
|
||||
4
src/lib/types/SimpleAxSkill.d.ts
vendored
Normal file
4
src/lib/types/SimpleAxSkill.d.ts
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
interface SimpleAxSkill {
|
||||
modifier: number
|
||||
strength: number
|
||||
}
|
||||
33
src/lib/types/Summon.d.ts
vendored
Normal file
33
src/lib/types/Summon.d.ts
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
interface Summon {
|
||||
type: 'summon'
|
||||
|
||||
id: string
|
||||
granblue_id: number
|
||||
element: number
|
||||
max_level: number
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
hp: {
|
||||
min_hp: number
|
||||
max_hp: number
|
||||
max_hp_flb: number
|
||||
max_hp_ulb: number
|
||||
max_hp_xlb: number
|
||||
}
|
||||
atk: {
|
||||
min_atk: number
|
||||
max_atk: number
|
||||
max_atk_flb: number
|
||||
max_atk_ulb: number
|
||||
max_atk_xlb: number
|
||||
}
|
||||
uncap: {
|
||||
flb: boolean
|
||||
ulb: boolean
|
||||
transcendence: boolean
|
||||
}
|
||||
position?: number
|
||||
}
|
||||
8
src/lib/types/TeamElement.d.ts
vendored
Normal file
8
src/lib/types/TeamElement.d.ts
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
interface TeamElement {
|
||||
id: number
|
||||
opposite_id: number
|
||||
name: {
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
}
|
||||
11
src/lib/types/User.d.ts
vendored
Normal file
11
src/lib/types/User.d.ts
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
interface User {
|
||||
id: string
|
||||
username: string
|
||||
granblueId: string
|
||||
avatar: {
|
||||
picture: string
|
||||
element: string
|
||||
}
|
||||
gender: number
|
||||
role: number
|
||||
}
|
||||
7
src/lib/types/UserCookie.d.ts
vendored
Normal file
7
src/lib/types/UserCookie.d.ts
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
interface UserCookie {
|
||||
picture: string
|
||||
element: string
|
||||
language: string
|
||||
gender: number
|
||||
theme: string
|
||||
}
|
||||
38
src/lib/types/Weapon.d.ts
vendored
Normal file
38
src/lib/types/Weapon.d.ts
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
interface Weapon {
|
||||
type: 'weapon'
|
||||
|
||||
id: string
|
||||
granblue_id: number
|
||||
element: number
|
||||
proficiency: number
|
||||
max_level: number
|
||||
max_skill_level: number
|
||||
max_awakening_level: number
|
||||
series: number
|
||||
ax: boolean
|
||||
ax_type: number
|
||||
awakenings: Awakening[]
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
hp: {
|
||||
min_hp: number
|
||||
max_hp: number
|
||||
max_hp_flb: number
|
||||
max_hp_ulb: number
|
||||
}
|
||||
atk: {
|
||||
min_atk: number
|
||||
max_atk: number
|
||||
max_atk_flb: number
|
||||
max_atk_ulb: number
|
||||
}
|
||||
uncap: {
|
||||
flb: boolean
|
||||
ulb: boolean
|
||||
transcendence: boolean
|
||||
}
|
||||
position?: number
|
||||
}
|
||||
14
src/lib/types/WeaponKey.d.ts
vendored
Normal file
14
src/lib/types/WeaponKey.d.ts
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
interface WeaponKey {
|
||||
id: string
|
||||
granblue_id: string
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
ja: string
|
||||
}
|
||||
slug: string
|
||||
series: integer[]
|
||||
slot: integer
|
||||
group: integer
|
||||
order: integer
|
||||
}
|
||||
27
src/lib/types/WeaponSeries.d.ts
vendored
Normal file
27
src/lib/types/WeaponSeries.d.ts
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
interface WeaponSeriesState {
|
||||
[key: string]: CheckedState
|
||||
seraphic: CheckedState
|
||||
grand: CheckedState
|
||||
opus: CheckedState
|
||||
draconic: CheckedState
|
||||
ultima: CheckedState
|
||||
bahamut: CheckedState
|
||||
omega: CheckedState
|
||||
primal: CheckedState
|
||||
olden_primal: CheckedState
|
||||
militis: CheckedState
|
||||
beast: CheckedState
|
||||
rose: CheckedState
|
||||
xeno: CheckedState
|
||||
hollowsky: CheckedState
|
||||
astral: CheckedState
|
||||
epic: CheckedState
|
||||
ennead: CheckedState
|
||||
cosmic: CheckedState
|
||||
ancestral: CheckedState
|
||||
superlative: CheckedState
|
||||
vintage: CheckedState
|
||||
class_champion: CheckedState
|
||||
sephira: CheckedState
|
||||
new_world: CheckedState
|
||||
}
|
||||
7
src/lib/types/declarations.d.ts
vendored
Normal file
7
src/lib/types/declarations.d.ts
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
declare module '*.jpg'
|
||||
|
||||
declare module '*.svg' {
|
||||
import React from 'react'
|
||||
const SVG: React.FunctionComponent<React.SVGProps<SVGSVGElement>>
|
||||
export default SVG
|
||||
}
|
||||
111
src/lib/types/index.d.ts
vendored
Normal file
111
src/lib/types/index.d.ts
vendored
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
export type SearchableObject =
|
||||
| Character
|
||||
| Weapon
|
||||
| Summon
|
||||
| JobSkill
|
||||
| Guidebook
|
||||
export type SearchableObjectArray = (Character | Weapon | Summon | JobSkill)[]
|
||||
export type JobSkillObject = {
|
||||
[key: number]: JobSkill | undefined
|
||||
0: JobSkill | undefined
|
||||
1: JobSkill | undefined
|
||||
2: JobSkill | undefined
|
||||
3: JobSkill | undefined
|
||||
}
|
||||
|
||||
export type FilterObject = {
|
||||
raid?: string
|
||||
element?: number
|
||||
recency?: number
|
||||
}
|
||||
|
||||
export type PaginationObject = {
|
||||
count: number
|
||||
totalPages: number
|
||||
perPage: number
|
||||
}
|
||||
|
||||
export type DetailsObject = {
|
||||
[key: string]: boolean | number | string | string[] | Raid | undefined
|
||||
fullAuto?: boolean
|
||||
autoGuard?: boolean
|
||||
autoSummon?: boolean
|
||||
chargeAttack?: boolean
|
||||
clearTime?: number
|
||||
buttonCount?: number
|
||||
turnCount?: number
|
||||
chainCount?: number
|
||||
name?: string
|
||||
description?: string
|
||||
raid?: Raid
|
||||
job?: Job
|
||||
guidebooks?: string[]
|
||||
visibility?: number
|
||||
}
|
||||
|
||||
export type ExtendedMastery = {
|
||||
modifier?: number
|
||||
strength?: number
|
||||
}
|
||||
|
||||
export type CharacterOverMastery = ExtendedMastery[]
|
||||
|
||||
export interface MasteryBonuses {
|
||||
awakening?: {
|
||||
type: Awakening
|
||||
level: number
|
||||
}
|
||||
over_mastery?: CharacterOverMastery
|
||||
aetherial_mastery?: ExtendedMastery
|
||||
}
|
||||
|
||||
export interface GridCharacterObject {
|
||||
character: {
|
||||
rings: ExtendedMastery[]
|
||||
earring: ExtendedMastery
|
||||
awakening?: {
|
||||
id: string
|
||||
level: number
|
||||
}
|
||||
transcendence_step: number
|
||||
perpetuity: boolean
|
||||
}
|
||||
}
|
||||
|
||||
interface GridWeaponObject {
|
||||
weapon: {
|
||||
element?: number
|
||||
weapon_key1_id?: string
|
||||
weapon_key2_id?: string
|
||||
weapon_key3_id?: string
|
||||
ax_modifier1?: number
|
||||
ax_modifier2?: number
|
||||
ax_strength1?: number
|
||||
ax_strength2?: number
|
||||
awakening_id?: string
|
||||
awakening_level?: Number
|
||||
}
|
||||
}
|
||||
|
||||
interface PerpetuityObject {
|
||||
character: {
|
||||
perpetuity: boolean
|
||||
}
|
||||
}
|
||||
|
||||
interface PageContextObj {
|
||||
user?: User
|
||||
teams?: Party[]
|
||||
party?: Party
|
||||
jobs?: Job[]
|
||||
jobSkills?: JobSkill[]
|
||||
raidGroups: RaidGroup[]
|
||||
weaponKeys?: GroupedWeaponKeys
|
||||
pagination?: PaginationObject
|
||||
meta?: { [key: string]: string }
|
||||
}
|
||||
|
||||
interface ResponseStatus {
|
||||
code: number
|
||||
text: string
|
||||
}
|
||||
Loading…
Reference in a new issue