Add transformers for core entities
canonical Characters, Weapons and Summons
This commit is contained in:
parent
587153a9e2
commit
2838622335
6 changed files with 158 additions and 43 deletions
40
transformers/CharacterTransformer.tsx
Normal file
40
transformers/CharacterTransformer.tsx
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import * as Element from './ElementTransformer'
|
||||
|
||||
// Transforms API response to Party object
|
||||
export function toObject(data: any): Character {
|
||||
return {
|
||||
type: 'character',
|
||||
id: data.id,
|
||||
granblueId: data.granblue_id,
|
||||
characterId: data.character_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
},
|
||||
element: Element.toObject(data.element),
|
||||
rarity: data.rarity,
|
||||
proficiency: data.proficiency,
|
||||
gender: data.gender,
|
||||
race: data.race,
|
||||
hp: {
|
||||
min: data.hp.min,
|
||||
max: data.hp.max,
|
||||
flb: data.hp.max_hp_flb,
|
||||
ulb: data.hp.max_hp_ulb,
|
||||
},
|
||||
atk: {
|
||||
min: data.atk.min,
|
||||
max: data.atk.max,
|
||||
flb: data.atk.max_atk_flb,
|
||||
ulb: data.atk.max_atk_ulb,
|
||||
},
|
||||
uncap: {
|
||||
flb: data.uncap.flb,
|
||||
ulb: data.uncap.ulb,
|
||||
},
|
||||
awakenings: data.awakenings.map((awakening: any) =>
|
||||
Awakening.toObject(awakening)
|
||||
),
|
||||
special: data.special,
|
||||
}
|
||||
}
|
||||
36
transformers/SummonTransformer.tsx
Normal file
36
transformers/SummonTransformer.tsx
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
import * as Element from './ElementTransformer'
|
||||
|
||||
// Transforms API response to Party object
|
||||
export function toObject(data: any): Summon {
|
||||
return {
|
||||
type: 'summon',
|
||||
id: data.id,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
},
|
||||
element: Element.toObject(data.element),
|
||||
rarity: data.rarity,
|
||||
maxLevel: data.max_level,
|
||||
hp: {
|
||||
min: data.hp.min,
|
||||
max: data.hp.max,
|
||||
flb: data.hp.max_hp_flb,
|
||||
ulb: data.hp.max_hp_ulb,
|
||||
xlb: data.hp.max_hp_xlb,
|
||||
},
|
||||
atk: {
|
||||
min: data.atk.min,
|
||||
max: data.atk.max,
|
||||
flb: data.atk.max_atk_flb,
|
||||
ulb: data.atk.max_atk_ulb,
|
||||
xlb: data.atk.max_atk_xlb,
|
||||
},
|
||||
uncap: {
|
||||
flb: data.uncap.flb,
|
||||
ulb: data.uncap.ulb,
|
||||
xlb: data.uncap.xlb,
|
||||
},
|
||||
}
|
||||
}
|
||||
42
transformers/WeaponTransformer.tsx
Normal file
42
transformers/WeaponTransformer.tsx
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import * as Element from './ElementTransformer'
|
||||
|
||||
// Transforms API response to Party object
|
||||
export function toObject(data: any): Weapon {
|
||||
return {
|
||||
type: 'weapon',
|
||||
id: data.id,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
},
|
||||
element: Element.toObject(data.element),
|
||||
rarity: data.rarity,
|
||||
proficiency: data.proficiency,
|
||||
series: data.series,
|
||||
maxLevel: data.max_level,
|
||||
maxSkillLevel: data.max_skill_level,
|
||||
hp: {
|
||||
min: data.hp.min,
|
||||
max: data.hp.max,
|
||||
flb: data.hp.max_hp_flb,
|
||||
ulb: data.hp.max_hp_ulb,
|
||||
},
|
||||
atk: {
|
||||
min: data.atk.min,
|
||||
max: data.atk.max,
|
||||
flb: data.atk.max_atk_flb,
|
||||
ulb: data.atk.max_atk_ulb,
|
||||
},
|
||||
uncap: {
|
||||
flb: data.uncap.flb,
|
||||
ulb: data.uncap.ulb,
|
||||
},
|
||||
ax: data.ax,
|
||||
axType: data.ax_type,
|
||||
awakenings: data.awakenings.map((awakening: any) =>
|
||||
Awakening.toObject(awakening)
|
||||
),
|
||||
maxAwakeningLevel: data.max_awakening_level,
|
||||
}
|
||||
}
|
||||
23
types/Character.d.ts
vendored
23
types/Character.d.ts
vendored
|
|
@ -1,27 +1,27 @@
|
|||
interface Character {
|
||||
type: 'character'
|
||||
|
||||
id: string
|
||||
granblue_id: string
|
||||
character_id: readonly number[]
|
||||
element: number
|
||||
granblueId: string
|
||||
characterId: number[]
|
||||
element: GranblueElement
|
||||
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
|
||||
min: number
|
||||
max: number
|
||||
flb: number
|
||||
ulb: number
|
||||
}
|
||||
atk: {
|
||||
min_atk: number
|
||||
max_atk: number
|
||||
max_atk_flb: number
|
||||
min: number
|
||||
max: number
|
||||
flb: number
|
||||
ulb: number
|
||||
}
|
||||
uncap: {
|
||||
flb: boolean
|
||||
|
|
@ -33,6 +33,5 @@ interface Character {
|
|||
}
|
||||
proficiency: number[]
|
||||
awakenings: Awakening[]
|
||||
position?: number
|
||||
special: boolean
|
||||
}
|
||||
|
|
|
|||
29
types/Summon.d.ts
vendored
29
types/Summon.d.ts
vendored
|
|
@ -1,33 +1,32 @@
|
|||
interface Summon {
|
||||
type: 'summon'
|
||||
|
||||
id: string
|
||||
granblue_id: number
|
||||
element: number
|
||||
max_level: number
|
||||
granblueId: string
|
||||
element: GranblueElement
|
||||
maxLevel: number
|
||||
rarity: 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
|
||||
min: number
|
||||
max: number
|
||||
flb: number
|
||||
ulb: number
|
||||
xlb: number
|
||||
}
|
||||
atk: {
|
||||
min_atk: number
|
||||
max_atk: number
|
||||
max_atk_flb: number
|
||||
max_atk_ulb: number
|
||||
max_atk_xlb: number
|
||||
min: number
|
||||
max: number
|
||||
flb: number
|
||||
ulb: number
|
||||
xlb: number
|
||||
}
|
||||
uncap: {
|
||||
flb: boolean
|
||||
ulb: boolean
|
||||
xlb: boolean
|
||||
}
|
||||
position?: number
|
||||
}
|
||||
|
|
|
|||
31
types/Weapon.d.ts
vendored
31
types/Weapon.d.ts
vendored
|
|
@ -1,16 +1,16 @@
|
|||
interface Weapon {
|
||||
type: 'weapon'
|
||||
|
||||
id: string
|
||||
granblue_id: number
|
||||
element: number
|
||||
granblueId: number
|
||||
element: GranblueElement
|
||||
proficiency: number
|
||||
max_level: number
|
||||
max_skill_level: number
|
||||
max_awakening_level: number
|
||||
rarity: number
|
||||
maxLevel: number
|
||||
maxSkillLevel: number
|
||||
maxAwakeningLevel: number
|
||||
series: number
|
||||
ax: boolean
|
||||
ax_type: number
|
||||
axType: number
|
||||
awakenings: Awakening[]
|
||||
name: {
|
||||
[key: string]: string
|
||||
|
|
@ -18,20 +18,19 @@ interface Weapon {
|
|||
ja: string
|
||||
}
|
||||
hp: {
|
||||
min_hp: number
|
||||
max_hp: number
|
||||
max_hp_flb: number
|
||||
max_hp_ulb: number
|
||||
min: number
|
||||
max: number
|
||||
flb: number
|
||||
ulb: number
|
||||
}
|
||||
atk: {
|
||||
min_atk: number
|
||||
max_atk: number
|
||||
max_atk_flb: number
|
||||
max_atk_ulb: number
|
||||
min: number
|
||||
max: number
|
||||
flb: number
|
||||
ulb: number
|
||||
}
|
||||
uncap: {
|
||||
flb: boolean
|
||||
ulb: boolean
|
||||
}
|
||||
position?: number
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue