changed network log format, player settings

This commit is contained in:
2025-07-26 00:17:14 -04:00
parent e604c7a437
commit 2302290d34
8 changed files with 126 additions and 27 deletions

View File

@@ -18,13 +18,17 @@ export const typedZValidator = <T extends z.ZodSchema>(
>;
};
export const transformStringToEnum = <T>(anEnum: { [s: number]: string }) => {
return (arg: string, ctx: z.RefinementCtx<string>) => {
const int = parseInt(arg);
if (isNaN(int)) ctx.addIssue("Must be parseable as a number");
else {
if (anEnum[int]) return int as T;
else ctx.addIssue("Number must be a valid enum member");
export const transformStringToEnum = <T>(anEnum: { [s: string]: string | number }, str?: boolean) => {
return (arg: string, ctx: z.RefinementCtx<string | number>) => {
if (!str) {
const int = parseInt(arg);
if (isNaN(int) || !Number.isSafeInteger(int)) ctx.addIssue("number was not valid");
else if (anEnum[int]) return int as T;
else ctx.addIssue("number was not a valid enum member");
} else {
const vals = Object.values(anEnum);
if (vals.includes(arg)) return arg as T;
else ctx.addIssue("string was not a valid enum member");
}
}
}