changed network log format, player settings
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user