2 Commits
1.1.3 ... 1.1.5

Author SHA1 Message Date
Torben Pi Jensen
e52358c620 add like 2023-12-04 20:44:18 +01:00
Torben Pi Jensen
e436719506 add Skip 2023-11-12 13:33:31 +01:00
6 changed files with 90 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
import { Song, PlayingSong, QueuedSong } from "./dataTypes";
export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong;
export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong;
export declare abstract class StuenMessage {
type: string;
constructor(type: string);
@@ -59,3 +59,13 @@ export declare class ReorderSong extends StuenMessage {
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[]);
}

28
dist/messageTypes.js vendored
View File

@@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
};
})();
exports.__esModule = true;
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.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;
@@ -157,3 +157,29 @@ var ReorderSong = /** @class */ (function (_super) {
return ReorderSong;
}(StuenMessage));
exports.ReorderSong = ReorderSong;
var SkipSong = /** @class */ (function (_super) {
__extends(SkipSong, _super);
function SkipSong() {
return _super.call(this, 'SkipSong') || this;
}
return SkipSong;
}(StuenMessage));
exports.SkipSong = SkipSong;
var ToggleSongLike = /** @class */ (function (_super) {
__extends(ToggleSongLike, _super);
function ToggleSongLike() {
return _super.call(this, 'ToggleSongLike') || this;
}
return ToggleSongLike;
}(StuenMessage));
exports.ToggleSongLike = ToggleSongLike;
var SongLikes = /** @class */ (function (_super) {
__extends(SongLikes, _super);
function SongLikes(listeners) {
var _this = _super.call(this, 'SongLikeChanged') || this;
_this.listeners = listeners;
return _this;
}
return SongLikes;
}(StuenMessage));
exports.SongLikes = SongLikes;

View File

@@ -31,6 +31,12 @@ function parseMessage(message) {
return new messageTypes_1.UnqueueSong(data.position, data.all);
case 'ReorderSong':
return new messageTypes_1.ReorderSong(data.positionToMove, data.placePosition);
case 'SkipSong':
return new messageTypes_1.SkipSong();
case 'ToggleSongLike':
return new messageTypes_1.ToggleSongLike();
case 'SongLikes':
return new messageTypes_1.SongLikes(data.listeners);
default:
console.error('Unknown message type:', data.type);
return null;

View File

@@ -1,8 +1,23 @@
import {Song, PlayingSong, QueuedSong} from "./dataTypes";
export type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong;
export type StuenMessages =
ListenerLeft
| ListenerList
| ListenerJoined
| SendChatMessage
| SearchSong
| SearchSongResult
| Join
| QueueSong
| CurrentQueue
| CurrentSong
| UnqueueSong
| ReorderSong
| SkipSong;
export abstract class StuenMessage {
constructor(public type: string) {}
constructor(public type: string) {
}
}
export class Join extends StuenMessage {
@@ -10,6 +25,7 @@ export class Join extends StuenMessage {
super('Join');
}
}
export class ListenerJoined extends StuenMessage {
constructor(public name: string) {
super('ListenerJoined');
@@ -78,8 +94,27 @@ export class UnqueueSong extends StuenMessage {
super('UnqueueSong');
}
}
export class ReorderSong extends StuenMessage {
constructor(public positionToMove: number, public placePosition: number) {
super('ReorderSong');
}
}
export class SkipSong extends StuenMessage {
constructor() {
super('SkipSong');
}
}
export class ToggleSongLike extends StuenMessage {
constructor() {
super('ToggleSongLike');
}
}
export class SongLikes extends StuenMessage {
constructor(public listeners: string[]) {
super('SongLikeChanged');
}
}

View File

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

View File

@@ -4,8 +4,8 @@ import {
ListenerJoined,
ListenerLeft,
ListenerList, QueueSong, ReorderSong, SearchSong, SearchSongResult,
SendChatMessage,
StuenMessage, UnqueueSong
SendChatMessage, SkipSong, SongLikes,
StuenMessage, ToggleSongLike, UnqueueSong
} from "./messageTypes";
export default function parseMessage(message: string): StuenMessage | null {
@@ -39,6 +39,12 @@ export default function parseMessage(message: string): StuenMessage | null {
return new UnqueueSong(data.position, data.all);
case 'ReorderSong':
return new ReorderSong(data.positionToMove, data.placePosition);
case 'SkipSong':
return new SkipSong();
case 'ToggleSongLike':
return new ToggleSongLike();
case 'SongLikes':
return new SongLikes(data.listeners);
default:
console.error('Unknown message type:', data.type);
return null;