Files
Firefly_Srtools/src/zod/enka.zod.ts
AzenKain b479708682
All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 1m18s
Update zod
2025-11-18 14:45:17 +07:00

99 lines
2.3 KiB
TypeScript

// Generated by ts-to-zod
import { z } from "zod";
const privacySettingInfoSchema = z.object({
displayCollection: z.boolean(),
displayRecord: z.boolean(),
displayRecordTeam: z.boolean(),
displayOnlineStatus: z.boolean(),
displayDiary: z.boolean()
});
const recordInfoSchema = z.object({
achievementCount: z.number(),
bookCount: z.number(),
avatarCount: z.number(),
equipmentCount: z.number(),
musicCount: z.number(),
relicCount: z.number(),
challengeInfo: z.unknown(),
maxRogueChallengeScore: z.number()
});
const subAffixSchema = z.object({
affixId: z.number(),
cnt: z.number(),
step: z.number().optional()
});
const flatPropSchema = z.object({
type: z.string(),
value: z.number()
});
const relicFlatSchema = z.object({
props: z.array(flatPropSchema),
setName: z.string(),
setID: z.number()
});
const relicSchema = z.object({
mainAffixId: z.number(),
subAffixList: z.array(subAffixSchema),
tid: z.number(),
type: z.number(),
level: z.number(),
_flat: relicFlatSchema
});
const skillTreeSchema = z.object({
pointId: z.number(),
level: z.number()
});
const equipmentFlatSchema = z.object({
props: z.array(flatPropSchema),
name: z.string()
});
const equipmentSchema = z.object({
rank: z.number(),
tid: z.number(),
promotion: z.number(),
level: z.number(),
_flat: equipmentFlatSchema
});
export const avatarEnkaDetailSchema = z.object({
relicList: z.array(relicSchema),
level: z.number(),
promotion: z.number(),
rank: z.number().optional(),
skillTreeList: z.array(skillTreeSchema),
equipment: equipmentSchema,
avatarId: z.number(),
_assist: z.boolean().optional()
});
const detailInfoSchema = z.object({
worldLevel: z.number(),
privacySettingInfo: privacySettingInfoSchema,
headIcon: z.number(),
signature: z.string(),
avatarDetailList: z.array(avatarEnkaDetailSchema),
platform: z.string(),
recordInfo: recordInfoSchema,
uid: z.number(),
level: z.number(),
nickname: z.string(),
isDisplayAvatar: z.boolean(),
friendCount: z.number(),
personalCardId: z.number()
});
export const enkaResponseSchema = z.object({
detailInfo: detailInfoSchema,
ttl: z.number(),
uid: z.string()
});