All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 1m18s
99 lines
2.3 KiB
TypeScript
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()
|
|
});
|