feat : update
This commit is contained in:
@@ -30,6 +30,7 @@ const characterRecommendationSchema = z.strictObject({
|
||||
weaponKey: z.string().min(1).max(64).nullable().default(null),
|
||||
artifactKey: z.string().min(1).max(64).nullable().default(null),
|
||||
constellationLevel: z.number().int().min(0).max(6).nullable().default(null),
|
||||
refinement: z.number().int().min(1).max(5).nullable().default(null),
|
||||
});
|
||||
|
||||
const catalogItemSchema = z.discriminatedUnion("kind", [
|
||||
@@ -37,16 +38,10 @@ const catalogItemSchema = z.discriminatedUnion("kind", [
|
||||
z.strictObject({ kind: z.literal("weapon"), catalogKey: z.string().min(1).max(64) }),
|
||||
z.strictObject({ kind: z.literal("artifact"), catalogKey: z.string().min(1).max(64) }),
|
||||
z.strictObject({ kind: z.literal("element"), element: z.enum(stygianElements) }),
|
||||
z.strictObject({
|
||||
kind: z.literal("constellation"),
|
||||
characterKey: z.string().min(1).max(64),
|
||||
constellationLevel: z.number().int().min(1).max(6),
|
||||
}),
|
||||
]);
|
||||
|
||||
function recommendationKey(item: z.infer<typeof catalogItemSchema>) {
|
||||
if (item.kind === "element") return `${item.kind}:${item.element}`;
|
||||
if (item.kind === "constellation") return `${item.kind}:${item.characterKey}:${item.constellationLevel}`;
|
||||
return `${item.kind}:${item.catalogKey}`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user