"use strict"; exports.__esModule = true; var messageTypes_1 = require("./messageTypes"); function parseMessage(message) { try { var data = JSON.parse(message); switch (data.type) { case 'Join': return new messageTypes_1.Join(data.name); case 'ListenerJoined': return new messageTypes_1.ListenerJoined(data.name); case 'ListenerLeft': return new messageTypes_1.ListenerLeft(data.name); case 'ListenerList': return new messageTypes_1.ListenerList(data.names); case 'SendChatMessage': return new messageTypes_1.SendChatMessage(data.message); case 'ChatMessage': return new messageTypes_1.ChatMessage(data.name, data.message); case 'SearchSong': return new messageTypes_1.SearchSong(data.query); case 'SearchSongResult': return new messageTypes_1.SearchSongResult(data.result); case 'QueueSong': return new messageTypes_1.QueueSong(data.song); case 'CurrentQueue': return new messageTypes_1.CurrentQueue(data.songs); case 'CurrentSong': return new messageTypes_1.CurrentSong(data.song); default: console.error('Unknown message type:', data.type); return null; } } catch (error) { console.error('Error parsing WebSocket message:', error); return null; // Handle parsing errors } } exports["default"] = parseMessage;