export const userID = { uuid: null } export const sendListener = { callback: null } export const broadcastListener = { callback: null } const eventListeners = new Map() export const getEventListener = (room, event) => eventListeners.get(`${room}:${event}`) class MockConnection { constructor({ room }) { this.room = room setTimeout( () => getEventListener(room, "roomJoined") && getEventListener(room, "roomJoined")(), 0, ) } getUserID() { return userID.uuid } getPeerHandle(/*uid*/) { return undefined } getPeerFootprint(/*uid*/) { return Promise.resolve(Date.now()) } send(uid, channel, message) { if (sendListener.callback) { sendListener.callback(uid, channel, message) } } broadcast(channel, message) { if (broadcastListener.callback) { broadcastListener.callback(channel, message) } } terminatePeer() { // Twiddle thumbs } destructor() { sendListener.callback = null broadcastListener.callback = null eventListeners.clear() } addEventListener(event, callback) { eventListeners.set(`${this.room}:${event}`, callback) } } export default MockConnection