UNPKG

@4players/odin

Version:

A cross-platform SDK enabling developers to integrate real-time VoIP chat technology into their projects

116 lines (115 loc) 3.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EVENT_SCHEMAS = void 0; const schema_validation_1 = require("./schema-validation"); const MEDIA = (0, schema_validation_1.create)({ type: 'Object', optional: true, fields: { id: { type: 'Number' }, paused: { type: 'Boolean', optional: true }, properties: { type: 'Object', fields: { kind: { type: 'String', optional: true, }, }, }, }, }); const MEDIAS = (0, schema_validation_1.create)({ array: true, type: 'Object', fields: { id: { type: 'Number' }, paused: { type: 'Boolean', optional: true }, properties: { type: 'Object', fields: { kind: { type: 'String', optional: true, }, }, }, }, }); const PEER = (0, schema_validation_1.create)({ type: 'Object', fields: { id: { type: 'Number' }, medias: MEDIAS, user_data: { type: 'U8' }, user_id: { type: 'String' }, }, optional: true, }); const PEERS = (0, schema_validation_1.create)({ array: true, type: 'Object', fields: { id: { type: 'Number' }, medias: MEDIAS, user_data: { type: 'U8' }, user_id: { type: 'String' }, }, }); const ROOM = (0, schema_validation_1.create)({ type: 'Object', fields: { customer: { type: 'String' }, id: { type: 'String' }, peers: PEERS, user_data: { type: 'U8' }, }, optional: true, }); exports.EVENT_SCHEMAS = { RoomUpdated: (0, schema_validation_1.create)({ type: 'Object', fields: { updates: { type: 'Object', array: true, fields: { kind: { type: 'String' }, media_ids: { array: true, type: 'Number', optional: true }, own_peer_id: { type: 'Number', optional: true }, room: ROOM, peer: PEER, user_data: { type: 'U8', optional: true }, peer_id: { type: 'Number', optional: true }, }, }, }, }), PeerUpdated: (0, schema_validation_1.create)({ type: 'Object', fields: { kind: { type: 'String' }, peer_id: { type: 'Number' }, media: MEDIA, properties: { type: 'Object', fields: { kind: { type: 'String', optional: true }, }, optional: true, }, media_id: { type: 'Number', optional: true }, user_data: { type: 'U8', optional: true, }, }, }), MessageReceived: (0, schema_validation_1.create)({ type: 'Object', fields: { sender_peer_id: { type: 'Number' }, message: { type: 'U8' }, }, }), };