Files
MultiRoombaRover/server/src/services/chatService/broadcast.js
T
2026-04-29 13:45:19 -04:00

21 lines
650 B
JavaScript

// Chat Broadcast Pipeline
// Purpose: Publishes chat message and typing payloads to event bus while preserving in-memory history.
// Scope: Encapsulates chat fan-out side effects and recent-history accessors.
const { publishEvent } = require('../eventBus');
const { pushHistory, getRecentMessages } = require('./state');
function broadcastMessage(message) {
pushHistory(message);
publishEvent({ source: 'chat', type: 'chat:message', payload: message });
}
function broadcastTyping(payload) {
publishEvent({ source: 'chat', type: 'chat:typing', payload });
}
module.exports = {
broadcastMessage,
broadcastTyping,
getRecentMessages,
};