2 Commits
1.2.7 ... 1.2.9

Author SHA1 Message Date
Torben Pi Jensen
d47379aacc Added remove playlist 2024-02-04 08:51:53 +01:00
Torben Pi Jensen
01b8319aef Added shuffle 2024-02-03 19:18:22 +01:00
6 changed files with 51 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
import { Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription } from "./dataTypes";
export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | ToggleTag;
export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | RemovePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | ToggleTag | Shuffle;
export declare abstract class StuenMessage {
type: string;
constructor(type: string);
@@ -73,6 +73,10 @@ export declare class CreatePlaylist extends StuenMessage {
title: string;
constructor(title: string);
}
export declare class RemovePlaylist extends StuenMessage {
title: string;
constructor(title: string);
}
export declare class Playlists extends StuenMessage {
playlists: PlaylistDescription[];
constructor(playlists: PlaylistDescription[]);
@@ -100,3 +104,6 @@ export declare class ToggleTag extends StuenMessage {
tag: string;
constructor(song: Song, tag: string);
}
export declare class Shuffle extends StuenMessage {
constructor();
}

20
dist/messageTypes.js vendored
View File

@@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
};
})();
exports.__esModule = true;
exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = 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.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0;
exports.Shuffle = exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = 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.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0;
var StuenMessage = /** @class */ (function () {
function StuenMessage(type) {
this.type = type;
@@ -193,6 +193,16 @@ var CreatePlaylist = /** @class */ (function (_super) {
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;
}
return RemovePlaylist;
}(StuenMessage));
exports.RemovePlaylist = RemovePlaylist;
var Playlists = /** @class */ (function (_super) {
__extends(Playlists, _super);
function Playlists(playlists) {
@@ -256,3 +266,11 @@ var ToggleTag = /** @class */ (function (_super) {
return ToggleTag;
}(StuenMessage));
exports.ToggleTag = ToggleTag;
var Shuffle = /** @class */ (function (_super) {
__extends(Shuffle, _super);
function Shuffle() {
return _super.call(this, 'Shuffle') || this;
}
return Shuffle;
}(StuenMessage));
exports.Shuffle = Shuffle;

View File

@@ -45,12 +45,16 @@ function parseMessage(message) {
return new messageTypes_1.PlaylistSongs(data.playlist);
case 'CreatePlaylist':
return new messageTypes_1.CreatePlaylist(data.title);
case 'RemovePlaylist':
return new messageTypes_1.RemovePlaylist(data.title);
case 'AddSongToPlaylist':
return new messageTypes_1.AddSongToPlaylist(data.song, data.playlist);
case 'RemoveSongFromPlaylist':
return new messageTypes_1.RemoveSongFromPlaylist(data.song, data.playlist);
case 'ToggleTag':
return new messageTypes_1.ToggleTag(data.song, data.tag);
case 'Shuffle':
return new messageTypes_1.Shuffle();
default:
console.error('Unknown message type:', data.type);
return null;

View File

@@ -17,12 +17,14 @@ export type StuenMessages =
| SongLikes
| ToggleSongLike
| CreatePlaylist
| RemovePlaylist
| AddSongToPlaylist
| RemoveSongFromPlaylist
| Playlists
| GetPlaylist
| PlaylistSongs
| ToggleTag
| Shuffle
export abstract class StuenMessage {
constructor(public type: string) {
@@ -133,6 +135,11 @@ export class CreatePlaylist extends StuenMessage {
super('CreatePlaylist');
}
}
export class RemovePlaylist extends StuenMessage {
constructor(public title: string) {
super('RemovePlaylist');
}
}
export class Playlists extends StuenMessage {
constructor(public playlists: PlaylistDescription[]) {
@@ -168,3 +175,9 @@ export class ToggleTag extends StuenMessage {
super('ToggleTag');
}
}
export class Shuffle extends StuenMessage {
constructor() {
super('Shuffle');
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "stuen-common",
"version": "1.2.7",
"version": "1.2.9",
"main": "dist/common.js",
"type": "commonjs",
"types": "dist/common.d.ts",

View File

@@ -11,12 +11,12 @@ import {
ListenerList,
Playlists,
PlaylistSongs,
QueueSong,
QueueSong, RemovePlaylist,
RemoveSongFromPlaylist,
ReorderSong,
SearchSong,
SearchSongResult,
SendChatMessage,
SendChatMessage, Shuffle,
SkipSong,
SongLikes,
StuenMessage,
@@ -69,12 +69,16 @@ export default function parseMessage(message: string): StuenMessage | null {
return new PlaylistSongs(data.playlist);
case 'CreatePlaylist':
return new CreatePlaylist(data.title);
case 'RemovePlaylist':
return new RemovePlaylist(data.title);
case 'AddSongToPlaylist':
return new AddSongToPlaylist(data.song, data.playlist);
case 'RemoveSongFromPlaylist':
return new RemoveSongFromPlaylist(data.song, data.playlist);
case 'ToggleTag':
return new ToggleTag(data.song, data.tag);
case 'Shuffle':
return new Shuffle();
default:
console.error('Unknown message type:', data.type);
return null;