const { EVENT_DELIMITER } = require('../libs/constants.js'); const EventEmitter = require('events'); class EventParser extends EventEmitter { constructor() { super(); this.buffer = ''; } parse(data, socket) { if (data === undefined) { return; } this.buffer += data; const indexOfEnd = this.buffer.indexOf(EVENT_DELIMITER); if (indexOfEnd === -1) { return; } const event = JSON.parse(this.buffer.substring(0, indexOfEnd)); this.buffer = ''; if (event.id === undefined) { return; } const eventId = event.id.toLowerCase(); this.emit(eventId, event.data, socket); } } module.exports = EventParser;