Queue message

This commit is contained in:
Torben Pi Jensen 2023-11-05 20:55:43 +01:00
parent 1e98cc84d5
commit f8104ffbfe
5 changed files with 52 additions and 5 deletions

View File

@ -1,5 +1,5 @@
import { Song } from "./dataTypes";
export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join;
export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue;
export declare abstract class StuenMessage {
type: string;
constructor(type: string);
@ -37,3 +37,11 @@ export declare class SearchSongResult extends StuenMessage {
result: Song[];
constructor(result: Song[]);
}
export declare class QueueSong extends StuenMessage {
song: Song;
constructor(song: Song);
}
export declare class CurrentQueue extends StuenMessage {
songs: Song[];
constructor(songs: Song[]);
}

22
dist/messageTypes.js vendored
View File

@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
};
})();
exports.__esModule = true;
exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0;
exports.CurrentQueue = exports.QueueSong = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0;
var StuenMessage = /** @class */ (function () {
function StuenMessage(type) {
this.type = type;
@ -104,3 +104,23 @@ var SearchSongResult = /** @class */ (function (_super) {
return SearchSongResult;
}(StuenMessage));
exports.SearchSongResult = SearchSongResult;
var QueueSong = /** @class */ (function (_super) {
__extends(QueueSong, _super);
function QueueSong(song) {
var _this = _super.call(this, 'QueueSong') || this;
_this.song = song;
return _this;
}
return QueueSong;
}(StuenMessage));
exports.QueueSong = QueueSong;
var CurrentQueue = /** @class */ (function (_super) {
__extends(CurrentQueue, _super);
function CurrentQueue(songs) {
var _this = _super.call(this, 'CurrentQueue') || this;
_this.songs = songs;
return _this;
}
return CurrentQueue;
}(StuenMessage));
exports.CurrentQueue = CurrentQueue;

View File

@ -21,6 +21,10 @@ function parseMessage(message) {
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);
default:
console.error('Unknown message type:', data.type);
return null;

View File

@ -1,6 +1,6 @@
import {Song} from "./dataTypes";
export type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join;
export type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue;
export abstract class StuenMessage {
constructor(public type: string) {}
}
@ -55,3 +55,14 @@ export class SearchSongResult extends StuenMessage {
}
}
export class QueueSong extends StuenMessage {
constructor(public song: Song) {
super('QueueSong');
}
}
export class CurrentQueue extends StuenMessage {
constructor(public songs: Song[]) {
super('CurrentQueue');
}
}

View File

@ -1,9 +1,9 @@
import {
ChatMessage,
ChatMessage, CurrentQueue,
Join,
ListenerJoined,
ListenerLeft,
ListenerList, SearchSong, SearchSongResult,
ListenerList, QueueSong, SearchSong, SearchSongResult,
SendChatMessage,
StuenMessage
} from "./messageTypes";
@ -29,6 +29,10 @@ export default function parseMessage(message: string): StuenMessage | null {
return new SearchSong(data.query);
case 'SearchSongResult':
return new SearchSongResult(data.result);
case 'QueueSong':
return new QueueSong(data.song);
case 'CurrentQueue':
return new CurrentQueue(data.songs)
default:
console.error('Unknown message type:', data.type);
return null;