github
457 of 540 branches covered (84.63%)
Branch coverage included in aggregate %.
4 of 4 new or added lines in 2 files covered. (100.0%)
161 existing lines in 11 files now uncovered.1595 of 1759 relevant lines covered (90.68%)
37.31 hits per line
| 1 |
import { ScheduledTask } from "./tasks/scheduled-task";
|
1✔ |
| 2 |
|
1✔ |
| 3 |
const tasks = new Map<string, ScheduledTask> (); |
|
| 4 |
|
1✔ |
| 5 |
export class TaskRegistry { |
|
| 6 |
add(task: ScheduledTask): void{
|
|
| 7 |
if(this.has(task.id)){ |
|
|
UNCOV
8
|
throw Error(`task ${task.id} already registred!`) |
× |
|
UNCOV
9
|
} |
× |
| 10 |
|
13✔ |
| 11 |
tasks.set(task.id, task); |
|
| 12 |
|
1✔ |
| 13 |
task.on('task:destroyed', () => { |
|
| 14 |
this.remove(task);
|
1✔ |
| 15 |
}); |
1✔ |
| 16 |
} |
1✔ |
| 17 |
|
1✔ |
| 18 |
get(taskId: string): ScheduledTask | undefined {
|
1✔ |
|
UNCOV
19
|
return tasks.get(taskId);
|
|
| 20 |
} |
1✔ |
| 21 |
|
1✔ |
| 22 |
remove(task: ScheduledTask ){
|
|
| 23 |
if(this.has(task.id)){ |
1✔ |
| 24 |
task?.destroy(); |
1✔ |
| 25 |
tasks.delete(task.id);
|
1✔ |
| 26 |
} |
1✔ |
| 27 |
} |
1✔ |
| 28 |
|
1✔ |
| 29 |
all(): typeof tasks {
|
1✔ |
|
UNCOV
30
|
return tasks;
|
× |
|
UNCOV
31
|
} |
× |
| 32 |
|
1✔ |
| 33 |
has(taskId: string): boolean {
|
|
| 34 |
return tasks.has(taskId);
|
14✔ |
| 35 |
} |
14✔ |
| 36 |
|
1✔ |
| 37 |
killAll() {
|
1✔ |
|
UNCOV
38
|
tasks.forEach(id => this.remove(id));
|
|
|
UNCOV
39
|
} |
× |
|
UNCOV
40
|
} |
× |