blob: 420cf48898c39cf83268131bc68cc5ead6e45a4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import {inject, injectable} from 'inversify';
import {TYPES} from '../types.js';
import Player from '../services/player.js';
import FileCacheProvider from '../services/file-cache.js';
@injectable()
export default class {
private readonly guildPlayers: Map<string, Player>;
private readonly fileCache: FileCacheProvider;
constructor(@inject(TYPES.FileCache) fileCache: FileCacheProvider) {
this.guildPlayers = new Map();
this.fileCache = fileCache;
}
get(guildId: string): Player {
let player = this.guildPlayers.get(guildId);
if (!player) {
player = new Player(this.fileCache, guildId);
this.guildPlayers.set(guildId, player);
}
return player;
}
}
|