42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
class ChannelBase {
|
|
constructor(id) {
|
|
this.clients = [];
|
|
this.id = id;
|
|
console.log('channel created');
|
|
}
|
|
addClient(client) {
|
|
console.log(client.data);
|
|
if (this.clientExists(client.id)) {
|
|
console.log('client already exits in channel');
|
|
}
|
|
else {
|
|
this.clients.push(client);
|
|
console.log('added client to channel');
|
|
}
|
|
}
|
|
clientExists(id) {
|
|
for (let client of this.clients) {
|
|
if (client.id == id) {
|
|
return client;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
broadcastMessage(from, message) {
|
|
for (let client of this.clients) {
|
|
if (client != from) {
|
|
client.ws.send(message);
|
|
console.log(`sent to ${client.id}: %s`, message);
|
|
console.log(message);
|
|
}
|
|
else {
|
|
console.log('client is same as sender');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
;
|
|
exports.default = ChannelBase;
|
|
//# sourceMappingURL=channelBase.js.map
|