UNPKG

@hyperflake/socket-broker

Version:
47 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SocketClient = void 0; const socket_io_client_1 = require("socket.io-client"); const utils_1 = require("../utils"); const defaultSocketClientOptions = { withCredentials: true, }; class SocketClient { constructor(uri, options = defaultSocketClientOptions) { const { groupId, query, ...rest } = options; const socketQuery = query || {}; if (groupId) { socketQuery.groupId = groupId; } this.socket = (0, socket_io_client_1.io)(uri, { query: socketQuery, ...rest }); this.init(); } get id() { return this.socket.id; } init() { this.socket.on('connect', () => { utils_1.logger.log(`Socket client connected to broker - [SocketId]:${this.socket.id}.`); }); this.socket.on('connect_error', (err) => { utils_1.logger.error(`Socket client failed to connect.`, err.message); }); this.socket.on('disconnect', () => { utils_1.logger.warn(`Socket client disconnected.`); }); } on(event, listener) { this.socket.on(event, listener); } emit(event, ...args) { this.socket.emit(event, ...args); } disconnect() { this.socket.disconnect(); } getSocket() { return this.socket; } } exports.SocketClient = SocketClient; //# sourceMappingURL=socket-client.js.map