UNPKG

echo.io

Version:

A socket.io server implementation for laravel-echo

83 lines (65 loc) 2.48 kB
'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var ClientEvents = function () { function ClientEvents(server) { _classCallCheck(this, ClientEvents); this.server = server; } /** * Get an instance of the class. * * @return {ClientEvents} */ _createClass(ClientEvents, [{ key: 'handle', /** * Middleware handler. * * @param socket * @param next */ value: function handle(socket, next) { this.addListener(socket); return next(); } /** * Add a new socket event listener. * * @param socket */ }, { key: 'addListener', value: function addListener(socket) { var _this = this; socket.on('client event', function (message) { return _this.onclientmessage(socket, message); }); } /** * When client event is emmitted. * * @param socket * @param message * * @return {void} */ }, { key: 'onclientmessage', value: function onclientmessage(socket, _ref) { var channel = _ref.channel, event = _ref.event, data = _ref.data; if (socket.rooms && socket.rooms[channel]) { this.server.onclientmessage(channel, { socket: socket, event: event, data: { channel: channel, data: data } }); } } }], [{ key: 'getInstance', value: function getInstance(server) { return new ClientEvents(server); } }]); return ClientEvents; }(); module.exports = ClientEvents;