matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
24 lines (19 loc) • 729 B
text/typescript
import { ClientRouter } from './roborockCommunication/broadcast/clientRouter.js';
import { UserData } from './roborockCommunication/index.js';
import { AnsiLogger } from 'matterbridge/logger';
export default class ClientManager {
private readonly clients = new Map<string, ClientRouter>();
private logger: AnsiLogger;
public constructor(logger: AnsiLogger) {
this.logger = logger;
}
public get(username: string, userdata: UserData): ClientRouter {
if (!this.clients.has(username)) {
this.clients.set(username, new ClientRouter(this.logger, userdata));
}
return this.clients.get(username) as ClientRouter;
}
public destroy(username: string): void {
this.clients.delete(username);
}
}