Update:JSDocs for task manager

This commit is contained in:
advplyr 2023-10-20 16:39:32 -05:00
parent 5644a40a03
commit 6f65350269
8 changed files with 64 additions and 23 deletions

View file

@ -1,15 +1,27 @@
const SocketAuthority = require('../SocketAuthority')
const Task = require('../objects/Task')
class TaskManager {
constructor() {
/** @type {Task[]} */
this.tasks = []
}
/**
* Add task and emit socket task_started event
*
* @param {Task} task
*/
addTask(task) {
this.tasks.push(task)
SocketAuthority.emitter('task_started', task.toJSON())
}
/**
* Remove task and emit task_finished event
*
* @param {Task} task
*/
taskFinished(task) {
if (this.tasks.some(t => t.id === task.id)) {
this.tasks = this.tasks.filter(t => t.id !== task.id)
@ -17,4 +29,4 @@ class TaskManager {
}
}
}
module.exports = TaskManager
module.exports = new TaskManager()