From 8b2ab7958f0ad13a4da16ee7e175f103e3ae84c2 Mon Sep 17 00:00:00 2001 From: Torben Pi Jensen Date: Sat, 9 May 2026 13:12:37 +0200 Subject: [PATCH] Upgrade with history search --- dataTypes.ts | 7 +- dist/common.js | 1 + dist/dataTypes.d.ts | 11 +- dist/dataTypes.js | 78 ++++---- dist/dataTypes.js.map | 2 +- dist/messageTypes.d.ts | 16 +- dist/messageTypes.js | 382 ++++++++++++++++----------------------- dist/messageTypes.js.map | 2 +- dist/parseMessage.js | 13 +- dist/parseMessage.js.map | 2 +- messageTypes.ts | 23 ++- parseMessage.ts | 9 + tsconfig.json | 2 +- 13 files changed, 262 insertions(+), 286 deletions(-) diff --git a/dataTypes.ts b/dataTypes.ts index 42a6e57..2bbe321 100644 --- a/dataTypes.ts +++ b/dataTypes.ts @@ -17,11 +17,16 @@ export class QueuedSong extends Song { } export class PlayingSong extends QueuedSong { - constructor(type: SongType, title: string, songId: string, image: string, tags: string[], listener: string, public length: number, public position: number, public inAutoPlay: boolean) { + constructor(type: SongType, title: string, songId: string, image: string, tags: string[], listener: string, public inAutoPlay: boolean) { super(type, title, songId, image, tags, listener, inAutoPlay); } } +export class PlayerControl { + constructor(public type: SongType, public songId: string, public position: number, public length: number) { + } +} + export class Playlist { constructor(public title: string, public listener: string, public type: SongType, public songs: Song[]) { } diff --git a/dist/common.js b/dist/common.js index 6fdfbb0..6393633 100644 --- a/dist/common.js +++ b/dist/common.js @@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./dataTypes"), exports); __exportStar(require("./messageTypes"), exports); __exportStar(require("./parseMessage"), exports); +//# sourceMappingURL=common.js.map \ No newline at end of file diff --git a/dist/dataTypes.d.ts b/dist/dataTypes.d.ts index 5afe7f6..bdc8145 100644 --- a/dist/dataTypes.d.ts +++ b/dist/dataTypes.d.ts @@ -17,10 +17,15 @@ export declare class QueuedSong extends Song { constructor(type: SongType, title: string, songId: string, image: string, tags: string[], listener: string, inAutoPlay: boolean); } export declare class PlayingSong extends QueuedSong { - length: number; - position: number; inAutoPlay: boolean; - constructor(type: SongType, title: string, songId: string, image: string, tags: string[], listener: string, length: number, position: number, inAutoPlay: boolean); + constructor(type: SongType, title: string, songId: string, image: string, tags: string[], listener: string, inAutoPlay: boolean); +} +export declare class PlayerControl { + type: SongType; + songId: string; + position: number; + length: number; + constructor(type: SongType, songId: string, position: number, length: number); } export declare class Playlist { title: string; diff --git a/dist/dataTypes.js b/dist/dataTypes.js index f758a5a..c5c89ab 100644 --- a/dist/dataTypes.js +++ b/dist/dataTypes.js @@ -1,28 +1,13 @@ "use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.PlaylistDescription = exports.Playlist = exports.PlayingSong = exports.QueuedSong = exports.Song = exports.SongType = void 0; +exports.PlaylistDescription = exports.Playlist = exports.PlayerControl = exports.PlayingSong = exports.QueuedSong = exports.Song = exports.SongType = void 0; var SongType; (function (SongType) { SongType[SongType["YouTube"] = 0] = "YouTube"; SongType[SongType["Spotify"] = 1] = "Spotify"; })(SongType || (exports.SongType = SongType = {})); -var Song = /** @class */ (function () { - function Song(type, title, songId, image, tags, inAutoPlay) { +class Song { + constructor(type, title, songId, image, tags, inAutoPlay) { this.type = type; this.title = title; this.songId = songId; @@ -30,48 +15,47 @@ var Song = /** @class */ (function () { this.tags = tags; this.inAutoPlay = inAutoPlay; } - return Song; -}()); +} exports.Song = Song; -var QueuedSong = /** @class */ (function (_super) { - __extends(QueuedSong, _super); - function QueuedSong(type, title, songId, image, tags, listener, inAutoPlay) { - var _this = _super.call(this, type, title, songId, image, tags, inAutoPlay) || this; - _this.listener = listener; - _this.inAutoPlay = inAutoPlay; - return _this; +class QueuedSong extends Song { + constructor(type, title, songId, image, tags, listener, inAutoPlay) { + super(type, title, songId, image, tags, inAutoPlay); + this.listener = listener; + this.inAutoPlay = inAutoPlay; } - return QueuedSong; -}(Song)); +} exports.QueuedSong = QueuedSong; -var PlayingSong = /** @class */ (function (_super) { - __extends(PlayingSong, _super); - function PlayingSong(type, title, songId, image, tags, listener, length, position, inAutoPlay) { - var _this = _super.call(this, type, title, songId, image, tags, listener, inAutoPlay) || this; - _this.length = length; - _this.position = position; - _this.inAutoPlay = inAutoPlay; - return _this; +class PlayingSong extends QueuedSong { + constructor(type, title, songId, image, tags, listener, inAutoPlay) { + super(type, title, songId, image, tags, listener, inAutoPlay); + this.inAutoPlay = inAutoPlay; } - return PlayingSong; -}(QueuedSong)); +} exports.PlayingSong = PlayingSong; -var Playlist = /** @class */ (function () { - function Playlist(title, listener, type, songs) { +class PlayerControl { + constructor(type, songId, position, length) { + this.type = type; + this.songId = songId; + this.position = position; + this.length = length; + } +} +exports.PlayerControl = PlayerControl; +class Playlist { + constructor(title, listener, type, songs) { this.title = title; this.listener = listener; this.type = type; this.songs = songs; } - return Playlist; -}()); +} exports.Playlist = Playlist; -var PlaylistDescription = /** @class */ (function () { - function PlaylistDescription(title, listener, type) { +class PlaylistDescription { + constructor(title, listener, type) { this.title = title; this.listener = listener; this.type = type; } - return PlaylistDescription; -}()); +} exports.PlaylistDescription = PlaylistDescription; +//# sourceMappingURL=dataTypes.js.map \ No newline at end of file diff --git a/dist/dataTypes.js.map b/dist/dataTypes.js.map index c1f4f6e..ad516dd 100644 --- a/dist/dataTypes.js.map +++ b/dist/dataTypes.js.map @@ -1 +1 @@ -{"version":3,"file":"dataTypes.js","sourceRoot":"","sources":["../dataTypes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,6CAAO,CAAA;IACP,6CAAO,CAAA;AACX,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAGD;IACI,cAAmB,IAAc,EAAS,KAAa,EAAS,MAAc,EAAS,KAAa;QAAjF,SAAI,GAAJ,IAAI,CAAU;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;IAEpG,CAAC;IACL,WAAC;AAAD,CAAC,AAJD,IAIC;AAJY,oBAAI;AAMjB;IAAgC,8BAAI;IAChC,oBAAY,IAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAS,QAAgB;QAAjG,YACI,kBAAM,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,SACpC;QAFgF,cAAQ,GAAR,QAAQ,CAAQ;;IAEjG,CAAC;IACL,iBAAC;AAAD,CAAC,AAJD,CAAgC,IAAI,GAInC;AAJY,gCAAU;AAMvB;IAAiC,+BAAU;IACvC,qBAAY,IAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,QAAgB,EAAS,MAAc,EAAS,QAAgB;QAA1I,YACI,kBAAM,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,SAC9C;QAFkG,YAAM,GAAN,MAAM,CAAQ;QAAS,cAAQ,GAAR,QAAQ,CAAQ;;IAE1I,CAAC;IACL,kBAAC;AAAD,CAAC,AAJD,CAAiC,UAAU,GAI1C;AAJY,kCAAW"} \ No newline at end of file +{"version":3,"file":"dataTypes.js","sourceRoot":"","sources":["../dataTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,6CAAO,CAAA;IACP,6CAAO,CAAA;AACX,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAGD,MAAa,IAAI;IACb,YAAmB,IAAc,EAAS,KAAa,EAAS,MAAc,EAAS,KAAa,EAAS,IAAc,EAAS,UAAmB;QAApI,SAAI,GAAJ,IAAI,CAAU;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAU;QAAS,eAAU,GAAV,UAAU,CAAS;IAEvJ,CAAC;CACJ;AAJD,oBAIC;AAED,MAAa,UAAW,SAAQ,IAAI;IAChC,YAAY,IAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,IAAc,EAAS,QAAgB,EAAS,UAAmB;QACzI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QADyC,aAAQ,GAAR,QAAQ,CAAQ;QAAS,eAAU,GAAV,UAAU,CAAS;IAE7I,CAAC;CACJ;AAJD,gCAIC;AAED,MAAa,WAAY,SAAQ,UAAU;IACvC,YAAY,IAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,IAAc,EAAE,QAAgB,EAAS,UAAmB;QAClI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QADiD,eAAU,GAAV,UAAU,CAAS;IAEtI,CAAC;CACJ;AAJD,kCAIC;AAED,MAAa,aAAa;IACtB,YAAmB,IAAc,EAAS,MAAc,EAAS,QAAgB,EAAS,MAAc;QAArF,SAAI,GAAJ,IAAI,CAAU;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;IACxG,CAAC;CACJ;AAHD,sCAGC;AAED,MAAa,QAAQ;IACjB,YAAmB,KAAa,EAAS,QAAgB,EAAS,IAAc,EAAS,KAAa;QAAnF,UAAK,GAAL,KAAK,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAU;QAAS,UAAK,GAAL,KAAK,CAAQ;IACtG,CAAC;CACJ;AAHD,4BAGC;AAED,MAAa,mBAAmB;IAC5B,YAAmB,KAAa,EAAS,QAAgB,EAAS,IAAc;QAA7D,UAAK,GAAL,KAAK,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAU;IAChF,CAAC;CACJ;AAHD,kDAGC"} \ No newline at end of file diff --git a/dist/messageTypes.d.ts b/dist/messageTypes.d.ts index 48409fe..bd0eebc 100644 --- a/dist/messageTypes.d.ts +++ b/dist/messageTypes.d.ts @@ -1,5 +1,5 @@ -import { Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription } from "./dataTypes"; -export type StuenMessages = ListenerList | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | RemovePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | GetOtherPlaylists | ToggleTag | Shuffle | RemoveFromAutoPlay; +import { Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription, PlayerControl } from "./dataTypes"; +export type StuenMessages = ListenerList | SendChatMessage | SearchSong | SearchSongResult | SearchHistory | HistoryContent | Join | QueueSong | CurrentQueue | CurrentSong | CurrentPlayerControl | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | RemovePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | GetOtherPlaylists | ToggleTag | Shuffle | RemoveFromAutoPlay; export declare abstract class StuenMessage { type: string; constructor(type: string); @@ -29,6 +29,14 @@ export declare class SearchSongResult extends StuenMessage { result: Song[]; constructor(result: Song[]); } +export declare class SearchHistory extends StuenMessage { + query: string; + constructor(query: string); +} +export declare class HistoryContent extends StuenMessage { + result: Song[]; + constructor(result: Song[]); +} export declare class QueueSong extends StuenMessage { song: Song; constructor(song: Song); @@ -41,6 +49,10 @@ export declare class CurrentSong extends StuenMessage { song: PlayingSong | null; constructor(song: PlayingSong | null); } +export declare class CurrentPlayerControl extends StuenMessage { + playerControl: PlayerControl | null; + constructor(playerControl: PlayerControl | null); +} export declare class UnqueueSong extends StuenMessage { position: number | null; all: boolean | undefined; diff --git a/dist/messageTypes.js b/dist/messageTypes.js index 2067b1f..d76c3e1 100644 --- a/dist/messageTypes.js +++ b/dist/messageTypes.js @@ -1,282 +1,214 @@ "use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.RemoveFromAutoPlay = exports.Shuffle = exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.OthersPlaylists = exports.GetOtherPlaylists = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = exports.RemovePlaylist = exports.CreatePlaylist = exports.SongLikes = exports.ToggleSongLike = exports.SkipSong = exports.ReorderSong = exports.UnqueueSong = exports.CurrentSong = exports.CurrentQueue = exports.QueueSong = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.Join = exports.StuenMessage = void 0; -var StuenMessage = /** @class */ (function () { - function StuenMessage(type) { +exports.RemoveFromAutoPlay = exports.Shuffle = exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.OthersPlaylists = exports.GetOtherPlaylists = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = exports.RemovePlaylist = exports.CreatePlaylist = exports.SongLikes = exports.ToggleSongLike = exports.SkipSong = exports.ReorderSong = exports.UnqueueSong = exports.CurrentPlayerControl = exports.CurrentSong = exports.CurrentQueue = exports.QueueSong = exports.HistoryContent = exports.SearchHistory = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.Join = exports.StuenMessage = void 0; +class StuenMessage { + constructor(type) { this.type = type; } - return StuenMessage; -}()); +} exports.StuenMessage = StuenMessage; -var Join = /** @class */ (function (_super) { - __extends(Join, _super); - function Join(name) { - var _this = _super.call(this, 'Join') || this; - _this.name = name; - return _this; +class Join extends StuenMessage { + constructor(name) { + super('Join'); + this.name = name; } - return Join; -}(StuenMessage)); +} exports.Join = Join; -var ListenerList = /** @class */ (function (_super) { - __extends(ListenerList, _super); - function ListenerList(names) { - var _this = _super.call(this, 'ListenerList') || this; - _this.names = names; - return _this; +class ListenerList extends StuenMessage { + constructor(names) { + super('ListenerList'); + this.names = names; } - return ListenerList; -}(StuenMessage)); +} exports.ListenerList = ListenerList; -var SendChatMessage = /** @class */ (function (_super) { - __extends(SendChatMessage, _super); - function SendChatMessage(message) { - var _this = _super.call(this, 'SendChatMessage') || this; - _this.message = message; - return _this; +class SendChatMessage extends StuenMessage { + constructor(message) { + super('SendChatMessage'); + this.message = message; } - return SendChatMessage; -}(StuenMessage)); +} exports.SendChatMessage = SendChatMessage; -var ChatMessage = /** @class */ (function (_super) { - __extends(ChatMessage, _super); - function ChatMessage(name, message) { - var _this = _super.call(this, 'ChatMessage') || this; - _this.name = name; - _this.message = message; - return _this; +class ChatMessage extends StuenMessage { + constructor(name, message) { + super('ChatMessage'); + this.name = name; + this.message = message; } - return ChatMessage; -}(StuenMessage)); +} exports.ChatMessage = ChatMessage; -var SearchSong = /** @class */ (function (_super) { - __extends(SearchSong, _super); - function SearchSong(query) { - var _this = _super.call(this, 'SearchSong') || this; - _this.query = query; - return _this; +class SearchSong extends StuenMessage { + constructor(query) { + super('SearchSong'); + this.query = query; } - return SearchSong; -}(StuenMessage)); +} exports.SearchSong = SearchSong; -var SearchSongResult = /** @class */ (function (_super) { - __extends(SearchSongResult, _super); - function SearchSongResult(result) { - var _this = _super.call(this, 'SearchSongResult') || this; - _this.result = result; - return _this; +class SearchSongResult extends StuenMessage { + constructor(result) { + super('SearchSongResult'); + this.result = result; } - 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; +class SearchHistory extends StuenMessage { + constructor(query) { + super('SearchHistory'); + this.query = query; } - return QueueSong; -}(StuenMessage)); +} +exports.SearchHistory = SearchHistory; +class HistoryContent extends StuenMessage { + constructor(result) { + super('HistoryContent'); + this.result = result; + } +} +exports.HistoryContent = HistoryContent; +class QueueSong extends StuenMessage { + constructor(song) { + super('QueueSong'); + this.song = song; + } +} 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; +class CurrentQueue extends StuenMessage { + constructor(songs) { + super('CurrentQueue'); + this.songs = songs; } - return CurrentQueue; -}(StuenMessage)); +} exports.CurrentQueue = CurrentQueue; -var CurrentSong = /** @class */ (function (_super) { - __extends(CurrentSong, _super); - function CurrentSong(song) { - var _this = _super.call(this, 'CurrentSong') || this; - _this.song = song; - return _this; +class CurrentSong extends StuenMessage { + constructor(song) { + super('CurrentSong'); + this.song = song; } - return CurrentSong; -}(StuenMessage)); +} exports.CurrentSong = CurrentSong; -var UnqueueSong = /** @class */ (function (_super) { - __extends(UnqueueSong, _super); - function UnqueueSong(position, all) { - if (all === void 0) { all = false; } - var _this = _super.call(this, 'UnqueueSong') || this; - _this.position = position; - _this.all = all; - return _this; +class CurrentPlayerControl extends StuenMessage { + constructor(playerControl) { + super('CurrentPlayerControl'); + this.playerControl = playerControl; } - return UnqueueSong; -}(StuenMessage)); +} +exports.CurrentPlayerControl = CurrentPlayerControl; +class UnqueueSong extends StuenMessage { + constructor(position, all = false) { + super('UnqueueSong'); + this.position = position; + this.all = all; + } +} exports.UnqueueSong = UnqueueSong; -var ReorderSong = /** @class */ (function (_super) { - __extends(ReorderSong, _super); - function ReorderSong(positionToMove, placePosition) { - var _this = _super.call(this, 'ReorderSong') || this; - _this.positionToMove = positionToMove; - _this.placePosition = placePosition; - return _this; +class ReorderSong extends StuenMessage { + constructor(positionToMove, placePosition) { + super('ReorderSong'); + this.positionToMove = positionToMove; + this.placePosition = placePosition; } - return ReorderSong; -}(StuenMessage)); +} exports.ReorderSong = ReorderSong; -var SkipSong = /** @class */ (function (_super) { - __extends(SkipSong, _super); - function SkipSong() { - return _super.call(this, 'SkipSong') || this; +class SkipSong extends StuenMessage { + constructor() { + super('SkipSong'); } - return SkipSong; -}(StuenMessage)); +} exports.SkipSong = SkipSong; -var ToggleSongLike = /** @class */ (function (_super) { - __extends(ToggleSongLike, _super); - function ToggleSongLike() { - return _super.call(this, 'ToggleSongLike') || this; +class ToggleSongLike extends StuenMessage { + constructor() { + super('ToggleSongLike'); } - return ToggleSongLike; -}(StuenMessage)); +} exports.ToggleSongLike = ToggleSongLike; -var SongLikes = /** @class */ (function (_super) { - __extends(SongLikes, _super); - function SongLikes(listeners) { - var _this = _super.call(this, 'SongLikes') || this; - _this.listeners = listeners; - return _this; +class SongLikes extends StuenMessage { + constructor(listeners) { + super('SongLikes'); + this.listeners = listeners; } - return SongLikes; -}(StuenMessage)); +} exports.SongLikes = SongLikes; -var CreatePlaylist = /** @class */ (function (_super) { - __extends(CreatePlaylist, _super); - function CreatePlaylist(title) { - var _this = _super.call(this, 'CreatePlaylist') || this; - _this.title = title; - return _this; +class CreatePlaylist extends StuenMessage { + constructor(title) { + super('CreatePlaylist'); + this.title = title; } - return CreatePlaylist; -}(StuenMessage)); +} exports.CreatePlaylist = CreatePlaylist; -var RemovePlaylist = /** @class */ (function (_super) { - __extends(RemovePlaylist, _super); - function RemovePlaylist(title) { - var _this = _super.call(this, 'RemovePlaylist') || this; - _this.title = title; - return _this; +class RemovePlaylist extends StuenMessage { + constructor(title) { + super('RemovePlaylist'); + this.title = title; } - return RemovePlaylist; -}(StuenMessage)); +} exports.RemovePlaylist = RemovePlaylist; -var Playlists = /** @class */ (function (_super) { - __extends(Playlists, _super); - function Playlists(playlists) { - var _this = _super.call(this, 'Playlists') || this; - _this.playlists = playlists; - return _this; +class Playlists extends StuenMessage { + constructor(playlists) { + super('Playlists'); + this.playlists = playlists; } - return Playlists; -}(StuenMessage)); +} exports.Playlists = Playlists; -var GetPlaylist = /** @class */ (function (_super) { - __extends(GetPlaylist, _super); - function GetPlaylist(playlist) { - var _this = _super.call(this, 'GetPlaylist') || this; - _this.playlist = playlist; - return _this; +class GetPlaylist extends StuenMessage { + constructor(playlist) { + super('GetPlaylist'); + this.playlist = playlist; } - return GetPlaylist; -}(StuenMessage)); +} exports.GetPlaylist = GetPlaylist; -var PlaylistSongs = /** @class */ (function (_super) { - __extends(PlaylistSongs, _super); - function PlaylistSongs(playlist) { - var _this = _super.call(this, 'PlaylistSongs') || this; - _this.playlist = playlist; - return _this; +class PlaylistSongs extends StuenMessage { + constructor(playlist) { + super('PlaylistSongs'); + this.playlist = playlist; } - return PlaylistSongs; -}(StuenMessage)); +} exports.PlaylistSongs = PlaylistSongs; -var GetOtherPlaylists = /** @class */ (function (_super) { - __extends(GetOtherPlaylists, _super); - function GetOtherPlaylists() { - return _super.call(this, 'GetOtherPlaylists') || this; +class GetOtherPlaylists extends StuenMessage { + constructor() { + super('GetOtherPlaylists'); } - return GetOtherPlaylists; -}(StuenMessage)); +} exports.GetOtherPlaylists = GetOtherPlaylists; -var OthersPlaylists = /** @class */ (function (_super) { - __extends(OthersPlaylists, _super); - function OthersPlaylists(playlists) { - var _this = _super.call(this, 'OthersPlaylists') || this; - _this.playlists = playlists; - return _this; +class OthersPlaylists extends StuenMessage { + constructor(playlists) { + super('OthersPlaylists'); + this.playlists = playlists; } - return OthersPlaylists; -}(StuenMessage)); +} exports.OthersPlaylists = OthersPlaylists; -var AddSongToPlaylist = /** @class */ (function (_super) { - __extends(AddSongToPlaylist, _super); - function AddSongToPlaylist(song, playlist) { - var _this = _super.call(this, 'AddSongToPlaylist') || this; - _this.song = song; - _this.playlist = playlist; - return _this; +class AddSongToPlaylist extends StuenMessage { + constructor(song, playlist) { + super('AddSongToPlaylist'); + this.song = song; + this.playlist = playlist; } - return AddSongToPlaylist; -}(StuenMessage)); +} exports.AddSongToPlaylist = AddSongToPlaylist; -var RemoveSongFromPlaylist = /** @class */ (function (_super) { - __extends(RemoveSongFromPlaylist, _super); - function RemoveSongFromPlaylist(song, playlist) { - var _this = _super.call(this, 'RemoveSongFromPlaylist') || this; - _this.song = song; - _this.playlist = playlist; - return _this; +class RemoveSongFromPlaylist extends StuenMessage { + constructor(song, playlist) { + super('RemoveSongFromPlaylist'); + this.song = song; + this.playlist = playlist; } - return RemoveSongFromPlaylist; -}(StuenMessage)); +} exports.RemoveSongFromPlaylist = RemoveSongFromPlaylist; -var ToggleTag = /** @class */ (function (_super) { - __extends(ToggleTag, _super); - function ToggleTag(song, tag) { - var _this = _super.call(this, 'ToggleTag') || this; - _this.song = song; - _this.tag = tag; - return _this; +class ToggleTag extends StuenMessage { + constructor(song, tag) { + super('ToggleTag'); + this.song = song; + this.tag = tag; } - return ToggleTag; -}(StuenMessage)); +} exports.ToggleTag = ToggleTag; -var Shuffle = /** @class */ (function (_super) { - __extends(Shuffle, _super); - function Shuffle() { - return _super.call(this, 'Shuffle') || this; +class Shuffle extends StuenMessage { + constructor() { + super('Shuffle'); } - return Shuffle; -}(StuenMessage)); +} exports.Shuffle = Shuffle; -var RemoveFromAutoPlay = /** @class */ (function (_super) { - __extends(RemoveFromAutoPlay, _super); - function RemoveFromAutoPlay() { - return _super.call(this, 'RemoveFromAutoPlay') || this; +class RemoveFromAutoPlay extends StuenMessage { + constructor() { + super('RemoveFromAutoPlay'); } - return RemoveFromAutoPlay; -}(StuenMessage)); +} exports.RemoveFromAutoPlay = RemoveFromAutoPlay; +//# sourceMappingURL=messageTypes.js.map \ No newline at end of file diff --git a/dist/messageTypes.js.map b/dist/messageTypes.js.map index 59142c4..7ed32e0 100644 --- a/dist/messageTypes.js.map +++ b/dist/messageTypes.js.map @@ -1 +1 @@ -{"version":3,"file":"messageTypes.js","sourceRoot":"","sources":["../messageTypes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"messageTypes.js","sourceRoot":"","sources":["../messageTypes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/parseMessage.js b/dist/parseMessage.js index 7e28de4..c2e6785 100644 --- a/dist/parseMessage.js +++ b/dist/parseMessage.js @@ -1,9 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var messageTypes_1 = require("./messageTypes"); +exports.default = parseMessage; +const messageTypes_1 = require("./messageTypes"); function parseMessage(message) { try { - var data = JSON.parse(message); + const data = JSON.parse(message); switch (data.type) { case 'Join': return new messageTypes_1.Join(data.name); @@ -17,12 +18,18 @@ function parseMessage(message) { return new messageTypes_1.SearchSong(data.query); case 'SearchSongResult': return new messageTypes_1.SearchSongResult(data.result); + case 'SearchHistory': + return new messageTypes_1.SearchHistory(data.query); + case 'HistoryContent': + return new messageTypes_1.HistoryContent(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); + case 'CurrentPlayerControl': + return new messageTypes_1.CurrentPlayerControl(data.playerControl); case 'UnqueueSong': return new messageTypes_1.UnqueueSong(data.position, data.all); case 'ReorderSong': @@ -67,4 +74,4 @@ function parseMessage(message) { return null; // Handle parsing errors } } -exports.default = parseMessage; +//# sourceMappingURL=parseMessage.js.map \ No newline at end of file diff --git a/dist/parseMessage.js.map b/dist/parseMessage.js.map index 0a48e51..9fdf36a 100644 --- a/dist/parseMessage.js.map +++ b/dist/parseMessage.js.map @@ -1 +1 @@ -{"version":3,"file":"parseMessage.js","sourceRoot":"","sources":["../parseMessage.ts"],"names":[],"mappings":";;AAAA,+CAQwB;AAExB,SAAwB,YAAY,CAAC,OAAe;IAChD,IAAI;QACA,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,MAAM;gBACP,OAAO,IAAI,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,gBAAgB;gBACjB,OAAO,IAAI,6BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,cAAc;gBACf,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,cAAc;gBACf,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,iBAAiB;gBAClB,OAAO,IAAI,8BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,KAAK,aAAa;gBACd,OAAO,IAAI,0BAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,KAAK,YAAY;gBACb,OAAO,IAAI,yBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,kBAAkB;gBACnB,OAAO,IAAI,+BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,KAAK,WAAW;gBACZ,OAAO,IAAI,wBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,cAAc;gBACf,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvC,KAAK,aAAa;gBACd,OAAO,IAAI,0BAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,aAAa;gBACd,OAAO,IAAI,0BAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,KAAK,aAAa;gBACd,OAAO,IAAI,0BAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACpE,KAAK,UAAU;gBACX,OAAO,IAAI,uBAAQ,EAAE,CAAC;YAC1B,KAAK,gBAAgB;gBACjB,OAAO,IAAI,6BAAc,EAAE,CAAC;YAChC,KAAK,WAAW;gBACZ,OAAO,IAAI,wBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC;gBACI,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;SACnB;KACJ;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC,wBAAwB;KACxC;AACL,CAAC;AA7CD,+BA6CC"} \ No newline at end of file +{"version":3,"file":"parseMessage.js","sourceRoot":"","sources":["../parseMessage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/messageTypes.ts b/messageTypes.ts index c82110e..d6f2afb 100644 --- a/messageTypes.ts +++ b/messageTypes.ts @@ -1,14 +1,17 @@ -import {Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription} from "./dataTypes"; +import {Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription, PlayerControl} from "./dataTypes"; export type StuenMessages = ListenerList | SendChatMessage | SearchSong | SearchSongResult + | SearchHistory + | HistoryContent | Join | QueueSong | CurrentQueue | CurrentSong + | CurrentPlayerControl | UnqueueSong | ReorderSong | SkipSong @@ -70,6 +73,18 @@ export class SearchSongResult extends StuenMessage { } } +export class SearchHistory extends StuenMessage { + constructor(public query: string) { + super('SearchHistory'); + } +} + +export class HistoryContent extends StuenMessage { + constructor(public result: Song[]) { + super('HistoryContent'); + } +} + export class QueueSong extends StuenMessage { constructor(public song: Song) { super('QueueSong'); @@ -88,6 +103,12 @@ export class CurrentSong extends StuenMessage { } } +export class CurrentPlayerControl extends StuenMessage { + constructor(public playerControl: PlayerControl | null) { + super('CurrentPlayerControl'); + } +} + export class UnqueueSong extends StuenMessage { constructor(public position: number | null, public all: boolean | undefined = false) { super('UnqueueSong'); diff --git a/parseMessage.ts b/parseMessage.ts index d30f2c8..9d23160 100644 --- a/parseMessage.ts +++ b/parseMessage.ts @@ -3,8 +3,10 @@ import { ChatMessage, CreatePlaylist, CurrentQueue, + CurrentPlayerControl, CurrentSong, GetPlaylist, + HistoryContent, Join, ListenerList, Playlists, @@ -13,6 +15,7 @@ import { QueueSong, RemoveFromAutoPlay, RemovePlaylist, RemoveSongFromPlaylist, ReorderSong, + SearchHistory, SearchSong, SearchSongResult, SendChatMessage, Shuffle, @@ -40,12 +43,18 @@ export default function parseMessage(message: string): StuenMessage | null { return new SearchSong(data.query); case 'SearchSongResult': return new SearchSongResult(data.result); + case 'SearchHistory': + return new SearchHistory(data.query); + case 'HistoryContent': + return new HistoryContent(data.result); case 'QueueSong': return new QueueSong(data.song); case 'CurrentQueue': return new CurrentQueue(data.songs) case 'CurrentSong': return new CurrentSong(data.song); + case 'CurrentPlayerControl': + return new CurrentPlayerControl(data.playerControl); case 'UnqueueSong': return new UnqueueSong(data.position, data.all); case 'ReorderSong': diff --git a/tsconfig.json b/tsconfig.json index 6b661b4..c8aad2d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "module": "commonjs", - "target": "es5", + "target": "es6", "sourceMap": true, "declaration": true, },