Zod EVERYWHERE (#2027)

* Zod EVERYWHERE

* Add no-unused-vars rule to eslint in front

* Add no-unused-vars rule to eslint in pusher

* Add no-unused-vars rule to eslint in back

* Remove unused PlayerTexture guards

* Fix data providing on room connection

Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
This commit is contained in:
Alexis Faizeau
2022-04-12 14:21:19 +02:00
committed by GitHub
parent 41e62051d4
commit d1e8243c47
161 changed files with 1131 additions and 1248 deletions
+12 -16
View File
@@ -1,22 +1,18 @@
import * as tg from "generic-type-guard";
import { z } from "zod";
const isButtonDescriptor = new tg.IsInterface()
.withProperties({
label: tg.isString,
className: tg.isOptional(tg.isString),
})
.get();
export const isButtonDescriptor = z.object({
label: z.string(),
className: z.optional(z.string()),
});
export const isOpenPopupEvent = new tg.IsInterface()
.withProperties({
popupId: tg.isNumber,
targetObject: tg.isString,
message: tg.isString,
buttons: tg.isArray(isButtonDescriptor),
})
.get();
export const isOpenPopupEvent = z.object({
popupId: z.number(),
targetObject: z.string(),
message: z.string(),
buttons: z.array(isButtonDescriptor),
});
/**
* A message sent from the iFrame to the game to add a message in the chat.
*/
export type OpenPopupEvent = tg.GuardedType<typeof isOpenPopupEvent>;
export type OpenPopupEvent = z.infer<typeof isOpenPopupEvent>;