From 584455103895f7d65d200436ce4ef8a6c73195c4 Mon Sep 17 00:00:00 2001 From: grigo Date: Wed, 10 Jun 2026 11:52:22 +0300 Subject: [PATCH] fixed rp api --- frontend/src/utils/characterCard.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend/src/utils/characterCard.ts b/frontend/src/utils/characterCard.ts index 9985120..c04ee19 100644 --- a/frontend/src/utils/characterCard.ts +++ b/frontend/src/utils/characterCard.ts @@ -69,12 +69,15 @@ function pickImageFields(data: Record): Partial): CharacterCardV2 { - if (raw.data && typeof raw.data === "object") { - const data = raw.data as Record; +export function normalizeCard(raw: unknown): CharacterCardV2 { + const obj = + raw && typeof raw === "object" ? (raw as Record) : {}; + + if (obj.data && typeof obj.data === "object") { + const data = obj.data as Record; return { - spec: (raw.spec as string) ?? "chara_card_v2", - spec_version: (raw.spec_version as string) ?? "2.0", + spec: (obj.spec as string) ?? "chara_card_v2", + spec_version: (obj.spec_version as string) ?? "2.0", data: { ...DEFAULT_CARD.data, ...(data as Partial), @@ -82,14 +85,14 @@ export function normalizeCard(raw: CharacterCardV2 | Record): C }, }; } - const flat = raw as Record; + return { spec: "chara_card_v2", spec_version: "2.0", data: { ...DEFAULT_CARD.data, - ...(flat as Partial), - ...pickImageFields(flat), + ...(obj as Partial), + ...pickImageFields(obj), }, }; }