Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit 2ff389c

Browse files
committed
Update some formatting
1 parent e2ecf40 commit 2ff389c

File tree

1 file changed

+83
-68
lines changed

1 file changed

+83
-68
lines changed

src/channels/presence-channel.ts

+83-68
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
var _ = require('lodash');
2-
import { Channel } from './channel';
31
import { Database } from './../database';
42
import { Log } from './../log';
3+
var _ = require("lodash");
54

65
export class PresenceChannel {
76
/**
@@ -20,25 +19,32 @@ export class PresenceChannel {
2019
* Get the members of a presence channel.
2120
*/
2221
getMembers(channel: string): Promise<any> {
23-
return this.db.get(channel + ':members');
22+
return this.db.get(channel + ":members");
2423
}
2524

2625
/**
2726
* Check if a user is on a presence channel.
2827
*/
2928
isMember(channel: string, member: any): Promise<boolean> {
3029
return new Promise((resolve, reject) => {
31-
this.getMembers(channel).then(members => {
32-
this.removeInactive(channel, members, member).then((members: any) => {
33-
let search = members.filter(m => m.user_id == member.user_id);
34-
35-
if (search && search.length) {
36-
resolve(true);
37-
}
38-
39-
resolve(false);
40-
});
41-
}, error => Log.error(error));
30+
this.getMembers(channel).then(
31+
(members) => {
32+
this.removeInactive(channel, members, member).then(
33+
(members: any) => {
34+
let search = members.filter(
35+
(m) => m.user_id == member.user_id
36+
);
37+
38+
if (search && search.length) {
39+
resolve(true);
40+
}
41+
42+
resolve(false);
43+
}
44+
);
45+
},
46+
(error) => Log.error(error)
47+
);
4248
});
4349
}
4450

@@ -47,16 +53,19 @@ export class PresenceChannel {
4753
*/
4854
removeInactive(channel: string, members: any[], member: any): Promise<any> {
4955
return new Promise((resolve, reject) => {
50-
this.io.of('/').in(channel).clients((error, clients) => {
51-
members = members || [];
52-
members = members.filter(member => {
53-
return clients.indexOf(member.socketId) >= 0;
56+
this.io
57+
.of("/")
58+
.in(channel)
59+
.clients((error, clients) => {
60+
members = members || [];
61+
members = members.filter((member) => {
62+
return clients.indexOf(member.socketId) >= 0;
63+
});
64+
65+
this.db.set(channel + ":members", members);
66+
67+
resolve(members);
5468
});
55-
56-
this.db.set(channel + ':members', members);
57-
58-
resolve(members);
59-
});
6069
});
6170
}
6271

@@ -67,81 +76,87 @@ export class PresenceChannel {
6776
join(socket: any, channel: string, member: any) {
6877
if (!member) {
6978
if (this.options.devMode) {
70-
Log.error('Unable to join channel. Member data for presence channel missing');
79+
Log.error(
80+
"Unable to join channel. Member data for presence channel missing"
81+
);
7182
}
7283

7384
return;
7485
}
7586

76-
this.isMember(channel, member).then(is_member => {
77-
this.getMembers(channel).then(members => {
78-
members = members || [];
79-
member.socketId = socket.id;
80-
members.push(member);
81-
82-
this.db.set(channel + ':members', members);
83-
84-
members = _.uniqBy(members.reverse(), 'user_id');
85-
86-
this.onSubscribed(socket, channel, members);
87-
88-
if (!is_member) {
89-
this.onJoin(socket, channel, member);
90-
}
91-
}, error => Log.error(error));
92-
}, () => {
93-
Log.error('Error retrieving pressence channel members.');
94-
});
87+
this.isMember(channel, member).then(
88+
(is_member) => {
89+
this.getMembers(channel).then(
90+
(members) => {
91+
members = members || [];
92+
member.socketId = socket.id;
93+
members.push(member);
94+
95+
this.db.set(channel + ":members", members);
96+
97+
members = _.uniqBy(members.reverse(), "user_id");
98+
99+
this.onSubscribed(socket, channel, members);
100+
101+
if (!is_member) {
102+
this.onJoin(socket, channel, member);
103+
}
104+
},
105+
(error) => Log.error(error)
106+
);
107+
},
108+
() => {
109+
Log.error("Error retrieving pressence channel members.");
110+
}
111+
);
95112
}
96113

97114
/**
98115
* Remove a member from a presenece channel and broadcast they have left
99116
* only if not other presence channel instances exist.
100117
*/
101118
leave(socket: any, channel: string): void {
102-
this.getMembers(channel).then(members => {
103-
members = members || [];
104-
let member = members.find(member => member.socketId == socket.id);
105-
members = members.filter(m => m.socketId != member.socketId);
106-
107-
this.db.set(channel + ':members', members);
108-
109-
this.isMember(channel, member).then(is_member => {
110-
if (!is_member) {
111-
delete member.socketId;
112-
this.onLeave(channel, member);
113-
}
114-
});
115-
}, error => Log.error(error));
119+
this.getMembers(channel).then(
120+
(members) => {
121+
members = members || [];
122+
let member = members.find(
123+
(member) => member.socketId == socket.id
124+
);
125+
members = members.filter((m) => m.socketId != member.socketId);
126+
127+
this.db.set(channel + ":members", members);
128+
129+
this.isMember(channel, member).then((is_member) => {
130+
if (!is_member) {
131+
delete member.socketId;
132+
this.onLeave(channel, member);
133+
}
134+
});
135+
},
136+
(error) => Log.error(error)
137+
);
116138
}
117139

118140
/**
119141
* On join event handler.
120142
*/
121143
onJoin(socket: any, channel: string, member: any): void {
122-
this.io
123-
.sockets
124-
.connected[socket.id]
125-
.broadcast
144+
this.io.sockets.connected[socket.id].broadcast
126145
.to(channel)
127-
.emit('presence:joining', channel, member);
146+
.emit("presence:joining", channel, member);
128147
}
129148

130149
/**
131150
* On leave emitter.
132151
*/
133152
onLeave(channel: string, member: any): void {
134-
this.io
135-
.to(channel)
136-
.emit('presence:leaving', channel, member);
153+
this.io.to(channel).emit("presence:leaving", channel, member);
137154
}
138155

139156
/**
140157
* On subscribed event emitter.
141158
*/
142159
onSubscribed(socket: any, channel: string, members: any[]) {
143-
this.io
144-
.to(socket.id)
145-
.emit('presence:subscribed', channel, members);
160+
this.io.to(socket.id).emit("presence:subscribed", channel, members);
146161
}
147162
}

0 commit comments

Comments
 (0)