common/dist/messageTypes.d.ts
2024-05-04 16:09:35 +02:00

112 lines
3.6 KiB
TypeScript

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;
export declare abstract class StuenMessage {
type: string;
constructor(type: string);
}
export declare class Join extends StuenMessage {
name: string;
constructor(name: string);
}
export declare class ListenerList extends StuenMessage {
names: string[];
constructor(names: string[]);
}
export declare class SendChatMessage extends StuenMessage {
message: string;
constructor(message: string);
}
export declare class ChatMessage extends StuenMessage {
name: string;
message: string;
constructor(name: string, message: string);
}
export declare class SearchSong extends StuenMessage {
query: string;
constructor(query: string);
}
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: QueuedSong[];
constructor(songs: QueuedSong[]);
}
export declare class CurrentSong extends StuenMessage {
song: PlayingSong | null;
constructor(song: PlayingSong | null);
}
export declare class UnqueueSong extends StuenMessage {
position: number | null;
all: boolean | undefined;
constructor(position: number | null, all?: boolean | undefined);
}
export declare class ReorderSong extends StuenMessage {
positionToMove: number;
placePosition: number;
constructor(positionToMove: number, placePosition: number);
}
export declare class SkipSong extends StuenMessage {
constructor();
}
export declare class ToggleSongLike extends StuenMessage {
constructor();
}
export declare class SongLikes extends StuenMessage {
listeners: string[];
constructor(listeners: string[]);
}
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[]);
}
export declare class GetPlaylist extends StuenMessage {
playlist: PlaylistDescription;
constructor(playlist: PlaylistDescription);
}
export declare class PlaylistSongs extends StuenMessage {
playlist: Playlist;
constructor(playlist: Playlist);
}
export declare class GetOtherPlaylists extends StuenMessage {
constructor();
}
export declare class OthersPlaylists extends StuenMessage {
playlists: PlaylistDescription[];
constructor(playlists: PlaylistDescription[]);
}
export declare class AddSongToPlaylist extends StuenMessage {
song: Song;
playlist: string;
constructor(song: Song, playlist: string);
}
export declare class RemoveSongFromPlaylist extends StuenMessage {
song: Song;
playlist: string;
constructor(song: Song, playlist: string);
}
export declare class ToggleTag extends StuenMessage {
song: Song;
tag: string;
constructor(song: Song, tag: string);
}
export declare class Shuffle extends StuenMessage {
constructor();
}
export declare class RemoveFromAutoPlay extends StuenMessage {
constructor();
}