mirror of
https://github.com/stoatchat/javascript-client-sdk.git
synced 2026-07-25 08:25:23 -04:00
feat: emit delete events with objects if present
This commit is contained in:
+4
-4
@@ -3,7 +3,7 @@ import EventEmitter from "eventemitter3";
|
||||
import defaultsDeep from "lodash.defaultsdeep";
|
||||
import { action, makeObservable, observable } from "mobx";
|
||||
import type { Session } from "revolt-api/types/Auth";
|
||||
import type { Attachment, AttachmentMetadata, SizeOptions } from "revolt-api/types/Autumn";
|
||||
import type { AttachmentMetadata, SizeOptions } from "revolt-api/types/Autumn";
|
||||
import type { RevoltConfiguration } from "revolt-api/types/Core";
|
||||
import { MemberCompositeKey, Role } from "revolt-api/types/Servers";
|
||||
|
||||
@@ -66,14 +66,14 @@ export declare interface Client {
|
||||
|
||||
on(event: "message", listener: (message: Message) => void): this;
|
||||
on(event: "message/update", listener: (message: Message) => void): this;
|
||||
on(event: "message/delete", listener: (id: string) => void): this;
|
||||
on(event: "message/delete", listener: (id: string, message?: Message) => void): this;
|
||||
|
||||
on(event: "channel/create", listener: (channel: Channel) => void): this;
|
||||
on(event: "channel/update", listener: (channel: Channel) => void): this;
|
||||
on(event: "channel/delete", listener: (id: string) => void): this;
|
||||
on(event: "channel/delete", listener: (id: string, channel?: Channel) => void): this;
|
||||
|
||||
on(event: "server/update", listener: (server: Server) => void): this;
|
||||
on(event: "server/delete", listener: (id: string) => void): this;
|
||||
on(event: "server/delete", listener: (id: string, server?: Server) => void): this;
|
||||
|
||||
on(
|
||||
event: "role/update",
|
||||
|
||||
+12
-6
@@ -277,8 +277,9 @@ export class WebSocketClient {
|
||||
}
|
||||
|
||||
case "MessageDelete": {
|
||||
const msg = this.client.messages.get(packet.id);
|
||||
this.client.messages.delete(packet.id);
|
||||
this.client.emit("message/delete", packet.id);
|
||||
this.client.emit("message/delete", packet.id, msg);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -311,8 +312,9 @@ export class WebSocketClient {
|
||||
}
|
||||
|
||||
case "ChannelDelete": {
|
||||
this.client.channels.get(packet.id)?.delete(true);
|
||||
this.client.emit("channel/delete", packet.id);
|
||||
const channel = this.client.channels.get(packet.id);
|
||||
channel?.delete(true);
|
||||
this.client.emit("channel/delete", packet.id, channel);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -340,8 +342,9 @@ export class WebSocketClient {
|
||||
}
|
||||
|
||||
case "ServerDelete": {
|
||||
this.client.servers.get(packet.id)?.delete(true);
|
||||
this.client.emit("server/delete", packet.id);
|
||||
const server = this.client.servers.get(packet.id);
|
||||
server?.delete(true);
|
||||
this.client.emit("server/delete", packet.id, server);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -452,7 +455,10 @@ export class WebSocketClient {
|
||||
case "UserRelationship": {
|
||||
const user = this.client.users.get(packet.user._id);
|
||||
if (user) {
|
||||
user.update({ relationship: packet.status });
|
||||
user.update({
|
||||
...packet.user,
|
||||
relationship: packet.status
|
||||
});
|
||||
} else {
|
||||
this.client.users.createObj(packet.user);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user