UNPKG

@parlour/parlour-client

Version:

The parlour websocket client

41 lines (39 loc) 1.4 kB
import DebugTool from './debug-tool'; import Counter from './counter'; import ServerEvents from './server-events'; import SocketClient from './socket-client'; export default { create: (params) => { let socketClient; function createMessageHandler() { return { [ServerEvents.Reply]: (client, event, topic, ref, payload) => { // Debug.log('[Reply] ', topic, ref, payload); socketClient.responseRef(ref, payload); client.trigger('reply', [topic, event, payload]); }, [ServerEvents.PresenceDiff]: (client, event, topic, ref, payload) => { // Debug.log('[PresenceDiff] ', topic, ref, payload); client.trigger('presence_diff', [topic, event, payload]); }, [ServerEvents.PresenceState]: (client, event, topic, ref, payload) => { // Debug.log('[PresenceState] ', topic, ref, payload); client.trigger('presence_state', [topic, event, payload]); }, 'default': (client, event, topic, ref, payload) => { // Debug.log('[Default] ', event, topic, ref, payload); client.trigger('message', [topic, event, payload]); }, }; } const messageHandler = createMessageHandler(); socketClient = new SocketClient(Object.assign(params, { messageHandler: messageHandler, Debug: new DebugTool(), refCounter: Counter.create(), refJoinCounter: Counter.create(), heartbeatInterval: 11000, })); return socketClient; } };