summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--main.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/main.ts b/main.ts
index 6a485e0..418b3bf 100644
--- a/main.ts
+++ b/main.ts
@@ -48,6 +48,8 @@ export default class MAELINK extends EventEmitter {
         const client = this;
         this._ws.addEventListener('message', function (ev) {
             const data = JSON.parse(ev.data);
+            client.emit('message', data)
+            client.emit('cmd_'+data.cmd, data)
             switch (data.cmd) {
                 case 'post_home':
                     client.emit('post', data.post)
@@ -79,4 +81,17 @@ export default class MAELINK extends EventEmitter {
             reply_to: typeof message == 'object' ? message.replyTo : undefined
         }));
     }
+
+    fetchMessages(offset: number = 0) {
+        return new Promise((resolve, reject) => {
+            this._ws.send(JSON.stringify({
+                cmd: "fetch",
+                offset: offset
+            }))
+            this.once('cmd_fetch', (resp) => {
+                if (resp.status !== 'success') return reject();
+                resolve(resp.posts)
+            })
+        })
+    }
 }