This commit is contained in:
vd
2026-10-12 20:38:04 +02:00
parent 18172b4004
commit 4a01f0d7a9
132 changed files with 3809 additions and 4830 deletions
+13 -1
View File
@@ -59,4 +59,16 @@ UDN.requestMailbox();
## 1.0.6
- add error handling with `connect()`
- add `onmailboxdelete` listener
- add `onmailboxdelete` listener
## 1.0.7
- add `uuid` property to Message
## 1.0.8
- fix bug where messages would be considered sent even if the WebSocket is not ready
## 1.0.9
- send confirmation to server that a message was received, necessary for mailboxes to function safely
+14 -7
View File
@@ -1,4 +1,6 @@
export interface Message {
uuid?: string; // to be assigned by
// connecting to server
requestingServerConnection?: boolean;
@@ -15,21 +17,24 @@ export interface Message {
unsubscribeChannel?: string;
subscribed?: boolean; // sent by server
//sending message
// sending message
messageChannel?: string;
messageBody?: string;
// confirming message
confirmingMessageReceived?: boolean;
}
export default class UDNFrontend {
ws: WebSocket | undefined;
// HANDLERS
private connectionHandler = () => {};
private disconnectionHandler = () => {};
private messageHandler = (data: Message) => {};
private mailboxHandler = (mailboxId: string) => {};
private mailboxConnectionHandler = (mailboxId: string) => {};
private mailboxDeleteHandler = (mailboxId: string) => {};
private connectionHandler = () => { };
private disconnectionHandler = () => { };
private messageHandler = (data: Message) => { };
private mailboxHandler = (mailboxId: string) => { };
private mailboxConnectionHandler = (mailboxId: string) => { };
private mailboxDeleteHandler = (mailboxId: string) => { };
// INIT
set onconnect(handler: () => void) {
@@ -54,6 +59,7 @@ export default class UDNFrontend {
// UTILITY METHODS
private send(messageObject: Message): boolean {
if (this.ws == undefined) return false;
if (this.ws.readyState != 1) return false;
const messageString = JSON.stringify(messageObject);
this.ws.send(messageString);
@@ -80,6 +86,7 @@ export default class UDNFrontend {
} else if (data.deletedMailbox) {
return this.mailboxDeleteHandler(data.deletedMailbox);
} else {
this.send({ uuid: data.uuid, confirmingMessageReceived: true });
this.messageHandler(data);
}
});
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "udn-frontend",
"version": "1.0.6",
"version": "1.0.9",
"description": "TypeScript library for UDN apps",
"main": "index.ts",
"scripts": {