aboutsummaryrefslogtreecommitdiff
path: root/client/js/events.js
diff options
context:
space:
mode:
authorrr-2016-04-07 19:03:49 +0200
committerrr-2016-04-08 09:48:47 +0200
commit8a1140eff651084b2d71cc322d0a382f1d726776 (patch)
treeab61f8dd400d9e2f23642ee7e5ce1e716f3c8536 /client/js/events.js
parentc1816a292f6649e70e6781ecc3269c03b6efe913 (diff)
client/api: convert messages to events
Diffstat (limited to 'client/js/events.js')
-rw-r--r--client/js/events.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/client/js/events.js b/client/js/events.js
new file mode 100644
index 0000000..8fb42d4
--- /dev/null
+++ b/client/js/events.js
@@ -0,0 +1,28 @@
+'use strict';
+
+let listeners = [];
+
+function listen(messageClass, handler) {
+ if (!(messageClass in listeners)) {
+ listeners[messageClass] = [];
+ }
+ listeners[messageClass].push(handler);
+}
+
+function notify(messageClass, message) {
+ if (!(messageClass in listeners)) {
+ return;
+ }
+ for (let handler of listeners[messageClass]) {
+ handler(message);
+ }
+}
+
+module.exports = {
+ Success: 1,
+ Error: 2,
+ Authentication: 3,
+
+ notify: notify,
+ listen: listen,
+};

© 2015 - 2026 Jakob L. Kreuze