mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 17:01:08 -04:00
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Karsten Hassel <hassel@gmx.de> Co-authored-by: Malte Hallström <46646495+SkySails@users.noreply.github.com> Co-authored-by: Veeck <github@veeck.de> Co-authored-by: veeck <michael@veeck.de> Co-authored-by: dWoolridge <dwoolridge@charter.net> Co-authored-by: Johan <jojjepersson@yahoo.se> Co-authored-by: Dario Mratovich <dario_mratovich@hotmail.com> Co-authored-by: Dario Mratovich <dario.mratovich@outlook.com> Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com> Co-authored-by: Naveen <172697+naveensrinivasan@users.noreply.github.com> Co-authored-by: buxxi <buxxi@omfilm.net> Co-authored-by: Thomas Hirschberger <47733292+Tom-Hirschberger@users.noreply.github.com> Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com> Co-authored-by: Dave Child <dave@addedbytes.com> Co-authored-by: grenagit <46225780+grenagit@users.noreply.github.com> Co-authored-by: Grena <grena@grenabox.fr> Co-authored-by: Magnus Marthinsen <magmar@online.no> Co-authored-by: Patrick <psieg@users.noreply.github.com> Co-authored-by: Piotr Rajnisz <56397164+rajniszp@users.noreply.github.com> Co-authored-by: Suthep Yonphimai <tomzt@users.noreply.github.com> Co-authored-by: CarJem Generations (Carter Wallace) <cwallacecs@gmail.com> Co-authored-by: Nicholas Fogal <nfogal.misc@gmail.com> Co-authored-by: JakeBinney <126349119+JakeBinney@users.noreply.github.com> Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com> Co-authored-by: Oscar Björkman <17575446+oscarb@users.noreply.github.com> Co-authored-by: Ismar Slomic <ismar@slomic.no> Co-authored-by: Jørgen Veum-Wahlberg <jorgen.wahlberg@amedia.no> Co-authored-by: Eddie Hung <6740044+eddiehung@users.noreply.github.com> Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr> Co-authored-by: bugsounet <bugsounet@bugsounet.fr> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
/* global io */
|
|
|
|
/* MagicMirror²
|
|
* TODO add description
|
|
*
|
|
* By Michael Teeuw https://michaelteeuw.nl
|
|
* MIT Licensed.
|
|
*/
|
|
const MMSocket = function (moduleName) {
|
|
if (typeof moduleName !== "string") {
|
|
throw new Error("Please set the module name for the MMSocket.");
|
|
}
|
|
|
|
this.moduleName = moduleName;
|
|
|
|
// Private Methods
|
|
let base = "/";
|
|
if (typeof config !== "undefined" && typeof config.basePath !== "undefined") {
|
|
base = config.basePath;
|
|
}
|
|
this.socket = io(`/${this.moduleName}`, {
|
|
path: `${base}socket.io`
|
|
});
|
|
|
|
let notificationCallback = function () {};
|
|
|
|
const onevent = this.socket.onevent;
|
|
this.socket.onevent = (packet) => {
|
|
const args = packet.data || [];
|
|
onevent.call(this.socket, packet); // original call
|
|
packet.data = ["*"].concat(args);
|
|
onevent.call(this.socket, packet); // additional call to catch-all
|
|
};
|
|
|
|
// register catch all.
|
|
this.socket.on("*", (notification, payload) => {
|
|
if (notification !== "*") {
|
|
notificationCallback(notification, payload);
|
|
}
|
|
});
|
|
|
|
// Public Methods
|
|
this.setNotificationCallback = (callback) => {
|
|
notificationCallback = callback;
|
|
};
|
|
|
|
this.sendNotification = (notification, payload = {}) => {
|
|
this.socket.emit(notification, payload);
|
|
};
|
|
};
|