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/
11 lines
363 B
TypeScript
11 lines
363 B
TypeScript
import * as tg from "generic-type-guard";
|
|
|
|
export const isWebRtcSignalMessageInterface =
|
|
new tg.IsInterface().withProperties({
|
|
userId: tg.isString,
|
|
receiverId: tg.isString,
|
|
roomId: tg.isString,
|
|
signal: tg.isUnknown
|
|
}).get();
|
|
export type WebRtcSignalMessageInterface = tg.GuardedType<typeof isWebRtcSignalMessageInterface>;
|