mancala/src/rtmt/rtmt.ts

18 lines
827 B
TypeScript
Raw Normal View History

2022-09-02 00:01:55 +03:00
import EventEmitter2, { Listener } from "eventemitter2"
2021-06-29 03:28:53 +03:00
export type Bytes = Uint8Array
2022-04-23 12:53:08 +03:00
export type OnMessage = (message : Object) => any
2021-06-27 19:28:55 +03:00
2022-09-04 01:06:07 +03:00
export type ConnectionState = "none" | "connecting" | "error" | "connected" | "closed" | "reconnecting";
2022-09-02 00:01:55 +03:00
export type RtmtEventTypes = "open" | "close" | "connected" | "error" | "disconnected" | "message";
export interface RTMT extends EventEmitter2 {
2022-09-04 01:06:07 +03:00
get connectionState() : ConnectionState;
2022-09-02 00:01:55 +03:00
sendMessage: (channel: string, message: Object) => void;
addMessageListener(channel: string, callback: (message: any) => void);
removeMessageListener(channel: string, callback: (message: any) => void);
on(event: RtmtEventTypes, callback: (...value: any[]) => void): Listener | this;
off(event: RtmtEventTypes, callback: (...value: any[]) => void): this;
dispose();
2021-06-27 19:28:55 +03:00
}