50 lines
707 B
JavaScript
50 lines
707 B
JavaScript
const basename = require('path').basename;
|
|
|
|
class Tag {
|
|
constructor(tag) {
|
|
this.tag = tag;
|
|
}
|
|
|
|
toString() {
|
|
return this.tag;
|
|
}
|
|
}
|
|
|
|
class StopCommand extends Tag {
|
|
toString() {
|
|
return "Command: STOP";
|
|
}
|
|
}
|
|
|
|
class PauseCommand extends Tag {
|
|
toString() {
|
|
return "Command: PAUSE";
|
|
}
|
|
}
|
|
|
|
class NotFoundTag extends Tag {
|
|
toString() {
|
|
return `Unknown tag: ${this.tag}`
|
|
}
|
|
}
|
|
|
|
class FileTag extends Tag {
|
|
constructor(tag, track) {
|
|
super(tag);
|
|
this.track = track;
|
|
}
|
|
|
|
toString() {
|
|
return this.track.label;
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
StopCommand: StopCommand
|
|
, PauseCommand: PauseCommand
|
|
, NotFoundTag: NotFoundTag
|
|
, FileTag: FileTag
|
|
};
|
|
|
|
// vim:ts=2 sw=2 et:
|