Реестр подписок клиентов на комнаты для рассылки
Напишите createRoomRegistry(), который хранит, какие клиенты в каких комнатах. Верните объект с методами:
join(clientId, room)— добавить клиента в комнату (повторное добавление ничего не меняет);leave(clientId, room)— убрать клиента из комнаты;leaveAll(clientId)— убрать клиента из всех комнат (вызывается при отключении);members(room)— массив id клиентов комнаты, отсортированный по возрастанию;roomsOf(clientId)— массив комнат клиента, отсортированный по возрастанию.
Пустые комнаты не должны оставаться в памяти.
заготовка решения
function createRoomRegistry() {
// ваш код
return undefined;
}