Skip to content

Commit

Permalink
Merge pull request #13 from Psychopoulet/develop
Browse files Browse the repository at this point in the history
correction on multiple args
  • Loading branch information
Psychopoulet committed Dec 4, 2017
2 parents b669947 + 14ce78d commit d344ccb
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 15 deletions.
58 changes: 50 additions & 8 deletions lib/main.js
Expand Up @@ -173,7 +173,7 @@ module.exports = class MultiSocketServers extends require("node-multi-webserver"

}

emit (eventName, data) {
emit (eventName, ...data) {

return Promise.resolve().then(() => {

Expand All @@ -196,11 +196,24 @@ module.exports = class MultiSocketServers extends require("node-multi-webserver"

if (server.sockets) {

if ("undefined" !== typeof data) {
if ("undefined" === typeof data) {
server.sockets.emit(eventName);
}
else if (!(data instanceof Array)) {
server.sockets.emit(eventName, data);
}
else if (1 === data.length) {

if ("undefined" === typeof data[0]) {
server.sockets.emit(eventName);
}
else {
server.sockets.emit(eventName, data[0]);
}

}
else {
server.sockets.emit(eventName);
server.sockets.emit(eventName, ...data);
}

}
Expand All @@ -213,7 +226,7 @@ module.exports = class MultiSocketServers extends require("node-multi-webserver"

}

broadcast (socket, server, eventName, data) {
broadcast (socket, server, eventName, ...data) {

return Promise.resolve().then(() => {

Expand Down Expand Up @@ -248,21 +261,50 @@ module.exports = class MultiSocketServers extends require("node-multi-webserver"

if (_server.sockets) {

// other server
if (_server.options.port !== server.options.port) {

if ("undefined" !== typeof data) {
if ("undefined" === typeof data) {
_server.sockets.emit(eventName);
}
else if (!(data instanceof Array)) {
_server.sockets.emit(eventName, data);
}
else if (1 === data.length) {

if ("undefined" === typeof data[0]) {
_server.sockets.emit(eventName);
}
else {
_server.sockets.emit(eventName, data[0]);
}

}
else {
_server.sockets.emit(eventName);
_server.sockets.emit(eventName, ...data);
}

}
else if ("undefined" !== typeof data) {

// same server
else if ("undefined" === typeof data) {
socket.broadcast.emit(eventName);
}
else if (!(data instanceof Array)) {
socket.broadcast.emit(eventName, data);
}
else if (1 === data.length) {

if ("undefined" === typeof data[0]) {
socket.broadcast.emit(eventName);
}
else {
socket.broadcast.emit(eventName, data[0]);
}

}
else {
socket.broadcast.emit(eventName);
socket.broadcast.emit(eventName, ...data);
}

}
Expand Down
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "node-multi-socketservers",
"version": "0.2.10",
"version": "0.2.11",
"description": "A multi http & socket servers manager, based on node-multi-webserver",
"main": "lib/main.js",
"scripts": {
Expand Down
12 changes: 6 additions & 6 deletions tests/tests.js
Expand Up @@ -770,12 +770,12 @@ describe("broadcast", () => {

if (1338 === server.options.port) {

multiServers.broadcast(socket, server, "testwithdata", false).then(() => {

return multiServers.broadcast(socket, server, "answer").then(() => {
socket.disconnect();
});

multiServers.broadcast(socket, server, "testwithonedata", false).then(() => {
return multiServers.broadcast(socket, server, "testwithmultipledata", false, true);
}).then(() => {
return multiServers.broadcast(socket, server, "answer");
}).then(() => {
socket.disconnect();
});

}
Expand Down

0 comments on commit d344ccb

Please sign in to comment.