A Typescript server emulator for Box Critters, a defunct virtual world.
1import { z } from "zod"; 2import parties from "../constants/parties.json" with { type: "json" }; 3 4/* 5 LOGIN API 6*/ 7export const login = z.object({ 8 nickname: z.string().nonempty().max(25), 9 critterId: z.enum([ 10 "hamster", 11 "beaver", 12 "lizard", 13 "raccoon", 14 "penguin", 15 "snail", 16 "snow_greeter", 17 "snowkeeper", 18 "snowgirl", 19 "snow_patrol", 20 "snowgrandma", 21 ]).default("hamster"), 22 partyId: z.enum([ 23 ...Object.keys(parties) as [string, ...string[]], 24 "today2019", 25 "today2020", 26 "today2021" 27 ]).default("default"), 28 persistent: z.boolean().default(false), 29 mods: z.array(z.enum(["roomExits"])).default([]), 30}).strict(); // Strict to disallow extra keys