39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
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,
|
|
}
|
|
}
|