@4players/odin-common
Version:
A collection of commonly used type definitions and utility functions across ODIN web projects
40 lines (39 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RoomNotificationsRpc = exports.RoomNotificationSchema = exports.MainNotificationsRpc = exports.MainNotificationSchema = void 0;
const z = require("zod");
const room_1 = require("../schema/room");
const peer_1 = require("../schema/peer");
const message_1 = require("../schema/message");
const webrtc_1 = require("../schema/webrtc");
exports.MainNotificationSchema = z.object({
name: z.literal('WebRtcUpdate'),
properties: webrtc_1.WebRtcUpdateSchema,
});
exports.MainNotificationsRpc = {
WebRtcUpdate: webrtc_1.WebRtcUpdateSchema,
};
exports.RoomNotificationSchema = z.union([
z.object({
name: z.literal('RoomStatusChanged'),
properties: room_1.RoomV1.RoomStatusChangedSchema,
}),
z.object({
name: z.literal('RoomUpdated'),
properties: room_1.RoomV1.RoomUpdatesSchema,
}),
z.object({
name: z.literal('PeerUpdated'),
properties: peer_1.PeerUpdateSchema,
}),
z.object({
name: z.literal('MessageReceived'),
properties: message_1.MessageReceivedSchema,
}),
]);
exports.RoomNotificationsRpc = {
RoomStatusChanged: room_1.RoomV1.RoomStatusChangedSchema,
RoomUpdated: room_1.RoomV1.RoomUpdatesSchema,
PeerUpdated: peer_1.PeerUpdateSchema,
MessageReceived: message_1.MessageReceivedSchema,
};