Fix transformers and types
Dozens of tiny errors from me freehanding it
This commit is contained in:
parent
d42927623e
commit
b2f64f1d78
25 changed files with 118 additions and 90 deletions
|
|
@ -14,7 +14,7 @@ import { appState } from '~utils/appState'
|
|||
import { GroupedWeaponKeys, groupWeaponKeys } from '~utils/groupWeaponKeys'
|
||||
|
||||
import * as JobTransformer from '~transformers/JobTransformer'
|
||||
import * as JobSkillTransformer from '~transformers/JobTransformer'
|
||||
import * as JobSkillTransformer from '~transformers/JobSkillTransformer'
|
||||
import * as PartyTransformer from '~transformers/PartyTransformer'
|
||||
import * as RaidGroupTransformer from '~transformers/RaidGroupTransformer'
|
||||
import * as WeaponKeyTransformer from '~transformers/WeaponKeyTransformer'
|
||||
|
|
@ -171,7 +171,7 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
|
|||
.getAll()
|
||||
.then((response) =>
|
||||
response.data.map((job: any) => JobTransformer.toObject(job))
|
||||
)
|
||||
)
|
||||
|
||||
const jobSkills: JobSkill[] = await api
|
||||
.allJobSkills()
|
||||
|
|
@ -190,7 +190,7 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
|
|||
|
||||
// Fetch the party
|
||||
if (!query.party) throw new Error('No party code')
|
||||
|
||||
|
||||
const party: Party | undefined = await api.endpoints.parties.getOne({
|
||||
id: query.party,
|
||||
}).then((response) => PartyTransformer.toObject(response.data.party))
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ export function toObject(data: any): Awakening {
|
|||
id: data.id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
slug: data.slug,
|
||||
object_type: data.object_type,
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ export function toObject(data: any): Character {
|
|||
return {
|
||||
type: 'character',
|
||||
id: data.id,
|
||||
granblueId: data.granblueId,
|
||||
granblueId: data.granblue_id,
|
||||
characterId: data.character_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
element: Element.toObject(data.element),
|
||||
rarity: data.rarity,
|
||||
|
|
@ -18,16 +18,16 @@ export function toObject(data: any): Character {
|
|||
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,
|
||||
min: data.hp.min_hp,
|
||||
max: data.hp.max_hp,
|
||||
flb: data.hp.max_hp_flb ? data.hp.max_hp_flb : null,
|
||||
ulb: data.hp.max_hp_ulb ? data.hp.max_hp_ulb : null,
|
||||
},
|
||||
atk: {
|
||||
min: data.atk.min,
|
||||
max: data.atk.max,
|
||||
flb: data.atk.max_atk_flb,
|
||||
ulb: data.atk.max_atk_ulb,
|
||||
min: data.atk.min_atk,
|
||||
max: data.atk.max_atk,
|
||||
flb: data.atk.max_atk_flb ? data.atk.max_atk_flb : null,
|
||||
ulb: data.atk.max_atk_ulb ? data.atk.max_atk_ulb : null,
|
||||
},
|
||||
uncap: {
|
||||
flb: data.uncap.flb,
|
||||
|
|
|
|||
|
|
@ -7,14 +7,16 @@ export function toObject(data: any): GridCharacter {
|
|||
id: data.id,
|
||||
object: Character.toObject(data.object),
|
||||
position: data.position,
|
||||
uncapLevel: data.uncapLevel,
|
||||
transcendenceStep: data.transcendence_step,
|
||||
uncapLevel: data.uncap_level,
|
||||
transcendenceStep: data.transcendence_step ? data.transcendence_step : null,
|
||||
mastery: {
|
||||
overMastery: data.over_mastery,
|
||||
aetherialMastery: data.aetherial_mastery,
|
||||
overMastery: data.over_mastery
|
||||
? data.over_mastery
|
||||
: [null, null, null, null],
|
||||
aetherialMastery: data.aetherial_mastery ? data.aetherial_mastery : null,
|
||||
awakening: {
|
||||
type: Awakening.toObject(data.awakening.type),
|
||||
level: data.awakening.awakening_level,
|
||||
level: data.awakening.level,
|
||||
},
|
||||
perpetuity: data.perpetuity,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ export function toObject(data: any): GridSummon {
|
|||
position: data.position,
|
||||
main: data.main,
|
||||
friend: data.friend,
|
||||
uncapLevel: data.uncapLevel,
|
||||
transcendenceStep: data.transcendence_step,
|
||||
uncapLevel: data.uncap_level,
|
||||
transcendenceStep: data.transcendence_step ? data.transcendence_step : null,
|
||||
quickSummon: data.quick_summon,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,25 +4,26 @@ import * as GridCharacter from '~transformers/GridCharacterTransformer'
|
|||
|
||||
// Transforms API response to Party object
|
||||
export function toObject(data: any): Grid {
|
||||
const mainSummon = data.summons.find((summon: any) => summon.main === true)
|
||||
const friendSummon = data.summons.find(
|
||||
(summon: any) => summon.friend === true
|
||||
)
|
||||
const mainWeapon = data.weapons.find(
|
||||
(weapon: any) => weapon.mainhand === true
|
||||
)
|
||||
return {
|
||||
characters: data.characters.map((character: any) =>
|
||||
GridCharacter.toObject(character)
|
||||
),
|
||||
summons: {
|
||||
mainSummon: GridSummon.toObject(
|
||||
data.summons.find((summon: any) => summon.main === true)
|
||||
),
|
||||
friendSummon: GridSummon.toObject(
|
||||
data.summons.find((summon: any) => summon.friend === true)
|
||||
),
|
||||
mainSummon: mainSummon ? GridSummon.toObject(mainSummon) : null,
|
||||
friendSummon: friendSummon ? GridSummon.toObject(friendSummon) : null,
|
||||
allSummons: data.summons.map((summon: any) => {
|
||||
if (!summon.main && !summon.friend) return GridSummon.toObject(summon)
|
||||
}),
|
||||
},
|
||||
weapons: {
|
||||
mainWeapon: GridWeapon.toObject(
|
||||
data.weapons.find((weapon: any) => weapon.mainhand === true)
|
||||
),
|
||||
mainWeapon: mainWeapon ? GridWeapon.toObject(mainWeapon) : null,
|
||||
allWeapons: data.weapons.map((weapon: any) => {
|
||||
if (!weapon.mainhand) return GridWeapon.toObject(weapon)
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ export function toObject(data: any): GridWeapon {
|
|||
object: Weapon.toObject(data.object),
|
||||
position: data.position,
|
||||
mainhand: data.mainhand,
|
||||
uncapLevel: data.uncapLevel,
|
||||
uncapLevel: data.uncap_level,
|
||||
element: Element.toObject(data.element),
|
||||
weaponKeys: data.weapon_keys.map((key: any) => WeaponKey.toObject(key)),
|
||||
ax: data.ax,
|
||||
|
|
|
|||
15
transformers/GuidebookTransformer.tsx
Normal file
15
transformers/GuidebookTransformer.tsx
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
// Transforms API response to Guidebook object
|
||||
export function toObject(data: any): Guidebook {
|
||||
return {
|
||||
id: data.id,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
},
|
||||
description: {
|
||||
en: data.description.en,
|
||||
ja: data.description.jp,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ import * as Job from './JobTransformer'
|
|||
export function toObject(data: any): JobAccessory {
|
||||
return {
|
||||
id: data.id,
|
||||
granblueId: data.granblueId,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export function toObject(data: any): JobSkill {
|
|||
id: data.id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
job: Job.toObject(data.job),
|
||||
slug: data.slug,
|
||||
|
|
|
|||
|
|
@ -2,19 +2,18 @@
|
|||
export function toObject(data: any): Job {
|
||||
return {
|
||||
id: data.id,
|
||||
granblueId: data.granblueId,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
baseJob: toObject(data.base_job),
|
||||
row: data.row,
|
||||
order: data.order,
|
||||
masterLevel: data.master_level,
|
||||
ultimateMastery: data.ultimate_mastery,
|
||||
proficiency: {
|
||||
proficiency1: data.proficiency1,
|
||||
proficiency2: data.proficiency2,
|
||||
proficiency1: data.proficiency?.[0] ?? null,
|
||||
proficiency2: data.proficiency?.[1] ?? null,
|
||||
},
|
||||
accessory: data.accessory,
|
||||
accessory_type: data.accessory_type,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import * as Grid from './GridTransformer'
|
||||
import * as Guidebook from './GuidebookTransformer'
|
||||
import * as Job from './JobTransformer'
|
||||
import * as JobAccessory from './JobAccessoryTransformer'
|
||||
import * as JobSkill from './JobSkillTransformer'
|
||||
|
|
@ -32,24 +33,33 @@ export function toObject(data: any): Party {
|
|||
chainCount: data.chain_count,
|
||||
},
|
||||
protagonist: {
|
||||
job: Job.toObject(data.job),
|
||||
skills: data.job_skills.map((skill: any) => JobSkill.toObject(skill)),
|
||||
job: data.job && Job.toObject(data.job),
|
||||
skills: {
|
||||
0: data.job_skills[0] && JobSkill.toObject(data.job_skills[0]),
|
||||
1: data.job_skills[1] && JobSkill.toObject(data.job_skills[1]),
|
||||
2: data.job_skills[2] && JobSkill.toObject(data.job_skills[2]),
|
||||
3: data.job_skills[3] && JobSkill.toObject(data.job_skills[3]),
|
||||
},
|
||||
masterLevel: data.master_level,
|
||||
ultimateMastery: data.ultimate_mastery,
|
||||
accessory: JobAccessory.toObject(data.accessory),
|
||||
accessory: data.accessory && JobAccessory.toObject(data.accessory),
|
||||
},
|
||||
social: {
|
||||
favorited: data.favorited,
|
||||
remix: data.remix,
|
||||
remixes: data.remixes.map((remix: any) => toObject(remix)),
|
||||
sourceParty: toObject(data.source_party),
|
||||
sourceParty: data.source_party && toObject(data.source_party),
|
||||
},
|
||||
timestamps: {
|
||||
createdAt: data.created_at,
|
||||
updatedAt: data.updated_at,
|
||||
},
|
||||
raid: Raid.toObject(data.raid),
|
||||
guidebooks: data.guidebooks,
|
||||
raid: data.raid && Raid.toObject(data.raid),
|
||||
guidebooks: {
|
||||
0: data.guidebooks[1] && Guidebook.toObject(data.guidebooks[1]),
|
||||
1: data.guidebooks[2] && Guidebook.toObject(data.guidebooks[2]),
|
||||
2: data.guidebooks[3] && Guidebook.toObject(data.guidebooks[3]),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -69,7 +79,7 @@ export function toParams(party: Party): PartyParams {
|
|||
turn_count: party.details.turnCount,
|
||||
chain_count: party.details.chainCount,
|
||||
raid_id: party.raid?.id,
|
||||
job_id: party.protagonist.job.id,
|
||||
job_id: party.protagonist.job?.id,
|
||||
master_level: party.protagonist.masterLevel,
|
||||
ultimate_mastery: party.protagonist.ultimateMastery,
|
||||
guidebook1_id: party.guidebooks[0]?.id,
|
||||
|
|
|
|||
|
|
@ -5,10 +5,12 @@ export function toObject(data: any): RaidGroup {
|
|||
return {
|
||||
id: data.id,
|
||||
name: {
|
||||
en: data.name_en,
|
||||
ja: data.name_jp,
|
||||
en: data.name.en,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
raids: data.raids.map((raid: any) => Raid.toObject(raid)),
|
||||
raids: data.raids
|
||||
? data.raids.map((raid: any) => Raid.toObject(raid))
|
||||
: null,
|
||||
difficulty: data.difficulty,
|
||||
section: data.section,
|
||||
order: data.order,
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ import * as RaidGroup from './RaidGroupTransformer'
|
|||
export function toObject(data: any): Raid {
|
||||
return {
|
||||
id: data.id,
|
||||
group: RaidGroup.toObject(data.group),
|
||||
group: data.group && RaidGroup.toObject(data.group),
|
||||
name: {
|
||||
en: data.name_en,
|
||||
ja: data.name_jp,
|
||||
en: data.name.en,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
element: Element.toObject(data.element),
|
||||
level: data.level,
|
||||
|
|
|
|||
|
|
@ -5,27 +5,27 @@ export function toObject(data: any): Summon {
|
|||
return {
|
||||
type: 'summon',
|
||||
id: data.id,
|
||||
granblueId: data.granblueId,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
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,
|
||||
min: data.hp.min_hp,
|
||||
max: data.hp.max_hp,
|
||||
flb: data.hp.max_hp_flb ? data.hp.max_hp_flb : null,
|
||||
ulb: data.hp.max_hp_ulb ? data.hp.max_hp_ulb : null,
|
||||
xlb: data.hp.max_hp_xlb ? data.hp.max_hp_xlb : null,
|
||||
},
|
||||
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,
|
||||
min: data.atk.min_atk,
|
||||
max: data.atk.max_atk,
|
||||
flb: data.atk.max_atk_flb ? data.atk.max_atk_flb : null,
|
||||
ulb: data.atk.max_atk_ulb ? data.atk.max_atk_ulb : null,
|
||||
xlb: data.atk.max_atk_xlb ? data.atk.max_atk_xlb : null,
|
||||
},
|
||||
uncap: {
|
||||
flb: data.uncap.flb,
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
export function toObject(data: any): WeaponKey {
|
||||
return {
|
||||
id: data.id,
|
||||
granblueId: data.granblueId,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
slug: data.slug,
|
||||
series: data.series,
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ export function toObject(data: any): Weapon {
|
|||
return {
|
||||
type: 'weapon',
|
||||
id: data.id,
|
||||
granblueId: data.granblueId,
|
||||
granblueId: data.granblue_id,
|
||||
name: {
|
||||
en: data.name.en,
|
||||
ja: data.name.jp,
|
||||
ja: data.name.ja,
|
||||
},
|
||||
element: Element.toObject(data.element),
|
||||
rarity: data.rarity,
|
||||
|
|
@ -18,16 +18,16 @@ export function toObject(data: any): Weapon {
|
|||
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,
|
||||
min: data.hp.min_hp,
|
||||
max: data.hp.max_hp,
|
||||
flb: data.hp.max_hp_flb ? data.hp.max_hp_flb : null,
|
||||
ulb: data.hp.max_hp_ulb ? data.hp.max_hp_ulb : null,
|
||||
},
|
||||
atk: {
|
||||
min: data.atk.min,
|
||||
max: data.atk.max,
|
||||
flb: data.atk.max_atk_flb,
|
||||
ulb: data.atk.max_atk_ulb,
|
||||
min: data.atk.min_atk,
|
||||
max: data.atk.max_atk,
|
||||
flb: data.atk.max_atk_flb ? data.atk.max_atk_flb : null,
|
||||
ulb: data.atk.max_atk_ulb ? data.atk.max_atk_ulb : null,
|
||||
},
|
||||
uncap: {
|
||||
flb: data.uncap.flb,
|
||||
|
|
|
|||
6
types/Grid.d.ts
vendored
6
types/Grid.d.ts
vendored
|
|
@ -1,11 +1,11 @@
|
|||
interface Grid {
|
||||
weapons: {
|
||||
mainWeapon: GridWeapon | undefined
|
||||
mainWeapon?: GridWeapon | undefined
|
||||
allWeapons: GridArray<GridWeapon>
|
||||
}
|
||||
summons: {
|
||||
mainSummon: GridSummon | undefined
|
||||
friendSummon: GridSummon | undefined
|
||||
mainSummon?: GridSummon | undefined
|
||||
friendSummon?: GridSummon | undefined
|
||||
allSummons: GridArray<GridSummon>
|
||||
}
|
||||
characters: GridArray<GridCharacter>
|
||||
|
|
|
|||
8
types/GridCharacter.d.ts
vendored
8
types/GridCharacter.d.ts
vendored
|
|
@ -3,13 +3,13 @@ interface GridCharacter {
|
|||
position: number
|
||||
object: Character
|
||||
uncapLevel: number
|
||||
transcendenceStep: number
|
||||
transcendenceStep?: number
|
||||
mastery: {
|
||||
overMastery: CharacterOverMastery
|
||||
aetherialMastery: ExtendedMastery
|
||||
overMastery?: CharacterOverMastery
|
||||
aetherialMastery?: ExtendedMastery
|
||||
awakening: {
|
||||
type: Awakening
|
||||
level: number
|
||||
level?: number
|
||||
}
|
||||
perpetuity: boolean
|
||||
}
|
||||
|
|
|
|||
2
types/GridSummon.d.ts
vendored
2
types/GridSummon.d.ts
vendored
|
|
@ -5,6 +5,6 @@ interface GridSummon {
|
|||
position: number
|
||||
object: Summon
|
||||
uncapLevel: number
|
||||
transcendenceStep: number
|
||||
transcendenceStep?: number
|
||||
quickSummon: boolean
|
||||
}
|
||||
|
|
|
|||
4
types/Guidebook.d.ts
vendored
4
types/Guidebook.d.ts
vendored
|
|
@ -4,11 +4,11 @@ interface Guidebook {
|
|||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
jp: string
|
||||
ja: string
|
||||
}
|
||||
description: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
jp: string
|
||||
ja: string
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1
types/Job.d.ts
vendored
1
types/Job.d.ts
vendored
|
|
@ -1,7 +1,6 @@
|
|||
interface Job {
|
||||
id: string
|
||||
granblueId: string
|
||||
baseJob?: Job
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
|
|
|
|||
4
types/Party.d.ts
vendored
4
types/Party.d.ts
vendored
|
|
@ -35,11 +35,11 @@ interface Party {
|
|||
chainCount?: number
|
||||
}
|
||||
protagonist: {
|
||||
job: Job
|
||||
job?: Job
|
||||
skills: JobSkillList
|
||||
masterLevel?: number
|
||||
ultimateMastery?: number
|
||||
accessory: JobAccessory
|
||||
accessory?: JobAccessory
|
||||
}
|
||||
social: {
|
||||
favorited: boolean
|
||||
|
|
|
|||
2
types/Raid.d.ts
vendored
2
types/Raid.d.ts
vendored
|
|
@ -1,6 +1,6 @@
|
|||
interface Raid {
|
||||
id: string
|
||||
group: RaidGroup
|
||||
group?: RaidGroup
|
||||
name: {
|
||||
[key: string]: string
|
||||
en: string
|
||||
|
|
|
|||
2
types/RaidGroup.d.ts
vendored
2
types/RaidGroup.d.ts
vendored
|
|
@ -5,7 +5,7 @@ interface RaidGroup {
|
|||
en: string
|
||||
ja: string
|
||||
}
|
||||
raids: Raid[]
|
||||
raids?: Raid[]
|
||||
difficulty: number
|
||||
section: number
|
||||
order: number
|
||||
|
|
|
|||
Loading…
Reference in a new issue