From c15b298268ff7f8a19503be2df3ff6bb92a575f3 Mon Sep 17 00:00:00 2001 From: Raven Scott Date: Sat, 8 Jun 2024 16:13:20 -0400 Subject: [PATCH] Tests --- app.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/app.js b/app.js index 49a8509..06a3904 100644 --- a/app.js +++ b/app.js @@ -6,6 +6,7 @@ import Localdrive from 'localdrive'; import fs from 'fs'; import Hyperdrive from 'hyperdrive'; import Corestore from 'corestore'; +import { EventEmitter } from 'events'; const store = new Corestore('./storage'); const drive = new Hyperdrive(store); @@ -18,6 +19,7 @@ let userAvatar = ''; let registeredUsers = JSON.parse(localStorage.getItem('registeredUsers')) || {}; let peerCount = 0; let currentRoom = null; +const eventEmitter = new EventEmitter(); async function initialize() { swarm = new Hyperswarm(); @@ -64,6 +66,16 @@ async function initialize() { registerDiv.classList.remove('hidden'); } + eventEmitter.on('onMessage', (messageObj) => { + if (messageObj.type === 'icon') { + const username = messageObj.username; + const avatarBuffer = Buffer.from(messageObj.avatar, 'base64'); + updateIcon(username, avatarBuffer); + } else { + onMessageAdded(messageObj.name, messageObj.message, messageObj.avatar); + } + }); + swarm.on('connection', async (connection, info) => { peerCount++; updatePeerCount(); @@ -80,16 +92,9 @@ async function initialize() { connection.write(iconMessage); } - connection.on('data', async (data) => { + connection.on('data', (data) => { const messageObj = JSON.parse(data.toString()); - if (messageObj.type === 'icon') { - const username = messageObj.username; - const avatarBuffer = Buffer.from(messageObj.avatar, 'base64'); - await drive.put(`/icons/${username}.png`, avatarBuffer); - updateIcon(username, avatarBuffer); - } else { - onMessageAdded(messageObj.name, messageObj.message, messageObj.avatar); - } + eventEmitter.emit('onMessage', messageObj); }); connection.on('close', () => {