This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
SmartWebSocket/SmartWebSocketServer.js

27 lines
649 B
JavaScript

module.exports = upgradeWebSocketServer;
function upgradeWebSocketServer(wss) {
wss.on("connection", (ws) => {
upgradeWebSocket(ws);
});
wss.sendEvent = function(event, data) {
wss.clients.forEach((ws) => {
ws.sendEvent(event, data);
});
}
}
function upgradeWebSocket(ws) {
ws.on("message", (message) => {
let parsedMessage = null;
try {
parsedMessage = JSON.parse(message);
if ("event" in parsedMessage && "data" in parsedMessage) {
ws.emit(parsedMessage.event, parsedMessage.data);
}
} catch {}
});
ws.sendEvent = function(event, data) {
return ws.send(JSON.stringify({"event" : event, "data" : data}));
}
}