Add transformer for GridCharacter
This commit is contained in:
parent
511d7ee0ec
commit
7cd87bd4a7
3 changed files with 63 additions and 8 deletions
39
transformers/GridCharacterTransformer.tsx
Normal file
39
transformers/GridCharacterTransformer.tsx
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
import * as Character from './CharacterTransformer'
|
||||||
|
|
||||||
|
// Transforms API response to GridCharacter object
|
||||||
|
export function toObject(data: any): GridCharacter {
|
||||||
|
return {
|
||||||
|
id: data.id,
|
||||||
|
object: Character.toObject(data.object),
|
||||||
|
position: data.position,
|
||||||
|
uncapLevel: data.uncap_level,
|
||||||
|
transcendenceStep: data.transcendence_step,
|
||||||
|
mastery: {
|
||||||
|
overMastery: data.over_mastery,
|
||||||
|
aetherialMastery: data.aetherial_mastery,
|
||||||
|
awakening: {
|
||||||
|
type: Awakening.toObject(data.awakening.type),
|
||||||
|
level: data.awakening.awakening_level,
|
||||||
|
},
|
||||||
|
perpetuity: data.perpetuity,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Transforms User object into API parameters
|
||||||
|
export function toParams(data: GridCharacter): GridCharacterParams {
|
||||||
|
return {
|
||||||
|
character_id: data.id,
|
||||||
|
position: data.position,
|
||||||
|
uncap_level: data.uncapLevel,
|
||||||
|
transcendence_step: data.transcendenceStep,
|
||||||
|
ring1: data.mastery.overMastery[1],
|
||||||
|
ring2: data.mastery.overMastery[2],
|
||||||
|
ring3: data.mastery.overMastery[3],
|
||||||
|
ring4: data.mastery.overMastery[4],
|
||||||
|
earring: data.mastery.aetherialMastery,
|
||||||
|
awakening_id: data.mastery.awakening.type.id,
|
||||||
|
awakening_level: data.mastery.awakening.level,
|
||||||
|
perpetuity: data.mastery.perpetuity,
|
||||||
|
}
|
||||||
|
}
|
||||||
18
types/GridCharacter.d.ts
vendored
18
types/GridCharacter.d.ts
vendored
|
|
@ -2,13 +2,15 @@ interface GridCharacter {
|
||||||
id: string
|
id: string
|
||||||
position: number
|
position: number
|
||||||
object: Character
|
object: Character
|
||||||
uncap_level: number
|
uncapLevel: number
|
||||||
transcendence_step: number
|
transcendenceStep: number
|
||||||
over_mastery: CharacterOverMastery
|
mastery: {
|
||||||
aetherial_mastery: ExtendedMastery
|
overMastery: CharacterOverMastery
|
||||||
awakening: {
|
aetherialMastery: ExtendedMastery
|
||||||
type: Awakening
|
awakening: {
|
||||||
level: number
|
type: Awakening
|
||||||
|
level: number
|
||||||
|
}
|
||||||
|
perpetuity: boolean
|
||||||
}
|
}
|
||||||
perpetuity: boolean
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
types/GridCharacterParams.d.ts
vendored
Normal file
14
types/GridCharacterParams.d.ts
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
interface GridCharacterParams {
|
||||||
|
character_id: string
|
||||||
|
position?: number
|
||||||
|
uncap_level?: number
|
||||||
|
transcendence_step?: number
|
||||||
|
ring1?: ExtendedMastery
|
||||||
|
ring2?: ExtendedMastery
|
||||||
|
ring3?: ExtendedMastery
|
||||||
|
ring4?: ExtendedMastery
|
||||||
|
earring: ExtendedMastery
|
||||||
|
awakening_id?: string
|
||||||
|
awakening_level?: number
|
||||||
|
perpetuity?: boolean
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue