4cff230256
Also: migration to Typescript 4.5 and µWebsockets 1.20.4
31 lines
970 B
TypeScript
31 lines
970 B
TypeScript
import * as tg from "generic-type-guard";
|
|
|
|
export const isBanBannedAdminMessageInterface = new tg.IsInterface()
|
|
.withProperties({
|
|
type: tg.isSingletonStringUnion("ban", "banned"),
|
|
message: tg.isString,
|
|
userUuid: tg.isString,
|
|
})
|
|
.get();
|
|
|
|
export const isUserMessageAdminMessageInterface = new tg.IsInterface()
|
|
.withProperties({
|
|
event: tg.isSingletonString("user-message"),
|
|
message: isBanBannedAdminMessageInterface,
|
|
world: tg.isString,
|
|
jwt: tg.isString,
|
|
})
|
|
.get();
|
|
|
|
export const isListenRoomsMessageInterface = new tg.IsInterface()
|
|
.withProperties({
|
|
event: tg.isSingletonString("listen"),
|
|
roomIds: tg.isArray(tg.isString),
|
|
jwt: tg.isString,
|
|
})
|
|
.get();
|
|
|
|
export const isAdminMessageInterface = tg.isUnion(isUserMessageAdminMessageInterface, isListenRoomsMessageInterface);
|
|
|
|
export type AdminMessageInterface = tg.GuardedType<typeof isAdminMessageInterface>;
|