fixed rp api

This commit is contained in:
2026-06-10 11:52:22 +03:00
parent f407e41b6d
commit 5844551038
+11 -8
View File
@@ -69,12 +69,15 @@ function pickImageFields(data: Record<string, unknown>): Partial<CharacterCardDa
return out; return out;
} }
export function normalizeCard(raw: CharacterCardV2 | Record<string, unknown>): CharacterCardV2 { export function normalizeCard(raw: unknown): CharacterCardV2 {
if (raw.data && typeof raw.data === "object") { const obj =
const data = raw.data as Record<string, unknown>; raw && typeof raw === "object" ? (raw as Record<string, unknown>) : {};
if (obj.data && typeof obj.data === "object") {
const data = obj.data as Record<string, unknown>;
return { return {
spec: (raw.spec as string) ?? "chara_card_v2", spec: (obj.spec as string) ?? "chara_card_v2",
spec_version: (raw.spec_version as string) ?? "2.0", spec_version: (obj.spec_version as string) ?? "2.0",
data: { data: {
...DEFAULT_CARD.data, ...DEFAULT_CARD.data,
...(data as Partial<CharacterCardData>), ...(data as Partial<CharacterCardData>),
@@ -82,14 +85,14 @@ export function normalizeCard(raw: CharacterCardV2 | Record<string, unknown>): C
}, },
}; };
} }
const flat = raw as Record<string, unknown>;
return { return {
spec: "chara_card_v2", spec: "chara_card_v2",
spec_version: "2.0", spec_version: "2.0",
data: { data: {
...DEFAULT_CARD.data, ...DEFAULT_CARD.data,
...(flat as Partial<CharacterCardData>), ...(obj as Partial<CharacterCardData>),
...pickImageFields(flat), ...pickImageFields(obj),
}, },
}; };
} }