function Chat() {
let mpon = new Map();
let mpc = 0;
let login = function(id) {
if(mpon.has(id)===false) {
mpon.set(id,true);
}
mpc++;
}
let logout = function(id) {
if(mpon.has(id)===true) {
mpon.delete(id,true);
}
}
let isOnline = function(id) {
if(mpon.has(id)===true) {
return true;
}
else {
return false;
}
}
let countOnline = function(id) {
return mpon.size;
}
let countLogins = function() {
return mpc;
}
return {
login,
logout,
isOnline,
countOnline,
countLogins
}
}
const myChat = Chat();
myChat.login(3);
myChat.login(2);
myChat.logout(3);
console.log(myChat.countLogins()); // 1// your code goes here
ZnVuY3Rpb24gQ2hhdCgpIHsKICBsZXQgbXBvbiA9IG5ldyBNYXAoKTsKICBsZXQgbXBjID0gMDsKICBsZXQgbG9naW4gPSBmdW5jdGlvbihpZCkgewogICAgaWYobXBvbi5oYXMoaWQpPT09ZmFsc2UpIHsKICAgICAgbXBvbi5zZXQoaWQsdHJ1ZSk7CiAgICB9CiAgICBtcGMrKzsKICB9CiAgbGV0IGxvZ291dCA9IGZ1bmN0aW9uKGlkKSB7CiAgICBpZihtcG9uLmhhcyhpZCk9PT10cnVlKSB7CiAgICAgIG1wb24uZGVsZXRlKGlkLHRydWUpOwogICAgfQogIH0KICBsZXQgaXNPbmxpbmUgPSBmdW5jdGlvbihpZCkgewogICAgaWYobXBvbi5oYXMoaWQpPT09dHJ1ZSkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIGxldCBjb3VudE9ubGluZSA9IGZ1bmN0aW9uKGlkKSB7CiAgICByZXR1cm4gbXBvbi5zaXplOwogIH0KICBsZXQgY291bnRMb2dpbnMgPSBmdW5jdGlvbigpIHsKICAgIHJldHVybiBtcGM7CiAgfQogIHJldHVybiB7CiAgICBsb2dpbiwKICAgIGxvZ291dCwKICAgIGlzT25saW5lLAogICAgY291bnRPbmxpbmUsCiAgICBjb3VudExvZ2lucwogIH0KfQoKY29uc3QgbXlDaGF0ID0gQ2hhdCgpOwpteUNoYXQubG9naW4oMyk7Cm15Q2hhdC5sb2dpbigyKTsKbXlDaGF0LmxvZ291dCgzKTsKY29uc29sZS5sb2cobXlDaGF0LmNvdW50TG9naW5zKCkpOyAvLyAxLy8geW91ciBjb2RlIGdvZXMgaGVyZQ==