This commit is contained in:
100
src/zod/enka.zod.ts
Normal file
100
src/zod/enka.zod.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
// 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 challengeInfoSchema = z.object({});
|
||||
|
||||
const recordInfoSchema = z.object({
|
||||
achievementCount: z.number(),
|
||||
bookCount: z.number(),
|
||||
avatarCount: z.number(),
|
||||
equipmentCount: z.number(),
|
||||
musicCount: z.number(),
|
||||
relicCount: z.number(),
|
||||
challengeInfo: challengeInfoSchema,
|
||||
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(),
|
||||
});
|
||||
Reference in New Issue
Block a user