a373626e24
To do this, I used generic-type-guard package which generates both an interface AND a valid type guard from code. With this, we are 100% sure that the messages we receive are validated at runtime! The client cannot pass us an object that is invalid! \o/
9 lines
286 B
TypeScript
9 lines
286 B
TypeScript
import * as tg from "generic-type-guard";
|
|
|
|
export const isSetPlayerDetailsMessage =
|
|
new tg.IsInterface().withProperties({
|
|
name: tg.isString,
|
|
character: tg.isString
|
|
}).get();
|
|
export type SetPlayerDetailsMessage = tg.GuardedType<typeof isSetPlayerDetailsMessage>;
|