From 500b7ffbbf20c989f73b3db3faebb4149a522c1d Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Thu, 6 Jul 2023 23:57:25 -0700 Subject: [PATCH] Add the last transformers --- transformers/AwakeningTransformer.tsx | 13 +++++++++++++ transformers/CharacterTransformer.tsx | 1 + transformers/GridCharacterTransformer.tsx | 1 + transformers/GridWeaponTransformer.tsx | 2 ++ transformers/PartyTransformer.tsx | 7 ++++--- transformers/WeaponKeyTransformer.tsx | 16 ++++++++++++++++ transformers/WeaponTransformer.tsx | 1 + types/Awakening.d.ts | 2 +- types/WeaponKey.d.ts | 2 +- 9 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 transformers/AwakeningTransformer.tsx create mode 100644 transformers/WeaponKeyTransformer.tsx diff --git a/transformers/AwakeningTransformer.tsx b/transformers/AwakeningTransformer.tsx new file mode 100644 index 00000000..db1685bc --- /dev/null +++ b/transformers/AwakeningTransformer.tsx @@ -0,0 +1,13 @@ +// Transforms API response to Awakening object +export function toObject(data: any): Awakening { + return { + id: data.id, + name: { + en: data.name.en, + ja: data.name.jp, + }, + slug: data.slug, + object_type: data.object_type, + order: data.order, + } +} diff --git a/transformers/CharacterTransformer.tsx b/transformers/CharacterTransformer.tsx index 27cef41f..c7d2e3b5 100644 --- a/transformers/CharacterTransformer.tsx +++ b/transformers/CharacterTransformer.tsx @@ -1,3 +1,4 @@ +import * as Awakening from './AwakeningTransformer' import * as Element from './ElementTransformer' // Transforms API response to Character object diff --git a/transformers/GridCharacterTransformer.tsx b/transformers/GridCharacterTransformer.tsx index 1272a3d4..48d71de4 100644 --- a/transformers/GridCharacterTransformer.tsx +++ b/transformers/GridCharacterTransformer.tsx @@ -1,3 +1,4 @@ +import * as Awakening from './AwakeningTransformer' import * as Character from './CharacterTransformer' // Transforms API response to GridCharacter object diff --git a/transformers/GridWeaponTransformer.tsx b/transformers/GridWeaponTransformer.tsx index 9d73cce2..8da02c9d 100644 --- a/transformers/GridWeaponTransformer.tsx +++ b/transformers/GridWeaponTransformer.tsx @@ -1,5 +1,7 @@ +import * as Awakening from './AwakeningTransformer' import * as Element from './ElementTransformer' import * as Weapon from './WeaponTransformer' +import * as WeaponKey from './WeaponKeyTransformer' // Transforms API response to GridWeapon object export function toObject(data: any): GridWeapon { diff --git a/transformers/PartyTransformer.tsx b/transformers/PartyTransformer.tsx index 65df9bfc..c42a1412 100644 --- a/transformers/PartyTransformer.tsx +++ b/transformers/PartyTransformer.tsx @@ -1,5 +1,6 @@ import * as Job from './JobTransformer' import * as JobAccessory from './JobAccessoryTransformer' +import * as JobSkill from './JobSkillTransformer' import * as Raid from './RaidTransformer' import * as User from './UserTransformer' @@ -25,7 +26,7 @@ export function toObject(data: any): Party { }, protagonist: { job: Job.toObject(data.job), - skills: data.job_skills, + skills: data.job_skills.map((skill: any) => JobSkill.toObject(skill)), masterLevel: data.master_level, ultimateMastery: data.ultimate_mastery, accessory: JobAccessory.toObject(data.accessory), @@ -33,8 +34,8 @@ export function toObject(data: any): Party { social: { favorited: data.favorited, remix: data.remix, - remixes: data.remixes, - sourceParty: data.source_party, + remixes: data.remixes.map((remix: any) => toObject(remix)), + sourceParty: toObject(data.source_party), }, timestamps: { createdAt: data.created_at, diff --git a/transformers/WeaponKeyTransformer.tsx b/transformers/WeaponKeyTransformer.tsx new file mode 100644 index 00000000..d5c2f5d3 --- /dev/null +++ b/transformers/WeaponKeyTransformer.tsx @@ -0,0 +1,16 @@ +// Transforms API response to Weapon Key object +export function toObject(data: any): WeaponKey { + return { + id: data.id, + granblueId: data.granblue_id, + name: { + en: data.name.en, + ja: data.name.jp, + }, + slug: data.slug, + series: data.series, + slot: data.slot, + group: data.group, + order: data.order, + } +} diff --git a/transformers/WeaponTransformer.tsx b/transformers/WeaponTransformer.tsx index 1767956e..93e4949e 100644 --- a/transformers/WeaponTransformer.tsx +++ b/transformers/WeaponTransformer.tsx @@ -1,3 +1,4 @@ +import * as Awakening from './AwakeningTransformer' import * as Element from './ElementTransformer' // Transforms API response to Weapon object diff --git a/types/Awakening.d.ts b/types/Awakening.d.ts index 59c2769b..aea316fe 100644 --- a/types/Awakening.d.ts +++ b/types/Awakening.d.ts @@ -3,7 +3,7 @@ interface Awakening { name: { [key: string]: string en: string - jp: string + ja: string } slug: string object_type?: string diff --git a/types/WeaponKey.d.ts b/types/WeaponKey.d.ts index b56221b7..e2811de6 100644 --- a/types/WeaponKey.d.ts +++ b/types/WeaponKey.d.ts @@ -1,6 +1,6 @@ interface WeaponKey { id: string - granblue_id: string + granblueId: string name: { [key: string]: string en: string