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
|
||||
position: number
|
||||
object: Character
|
||||
uncap_level: number
|
||||
transcendence_step: number
|
||||
over_mastery: CharacterOverMastery
|
||||
aetherial_mastery: ExtendedMastery
|
||||
awakening: {
|
||||
type: Awakening
|
||||
level: number
|
||||
uncapLevel: number
|
||||
transcendenceStep: number
|
||||
mastery: {
|
||||
overMastery: CharacterOverMastery
|
||||
aetherialMastery: ExtendedMastery
|
||||
awakening: {
|
||||
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