UNPKG

nodito

Version:

Una librería para aprender juegos por turnos en node.

47 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const User_1 = require("./User"); class UserManager { constructor(sendToClient = (_, x) => x) { this.sendToClient = sendToClient; this.users = []; } add(x) { if (this.find(x.getId())) { return false; } this.users.push(x); return true; } remove(p) { this.users = this.users.filter((x) => x !== p); } find(id) { return this.users.find((x) => x.getId() === id); } findByMessage(m) { return this.users.find((x) => x.getId() === m.clientId && x.getToken() === m.token); } count() { return this.users.length; } makeUser(id, token) { const sendToClient = (msg) => this.sendToClient(id, msg); return new User_1.User(id, token, sendToClient); } sendToAll(msg) { this.users.forEach((x) => x.send(msg)); } toClient() { return this.users.map((x) => x.toClient()); } findByName(name) { return this.users.find((x) => x.getName() === name); } getUsersForRemove() { return this.users .filter((p) => p.secondsFromLastSeen() > 20 && !p.isPlaying()); } } exports.UserManager = UserManager; //# sourceMappingURL=UserManager.js.map