inet-core
Version:
iNet Core
52 lines (51 loc) • 1.37 kB
TypeScript
import { Subject } from 'rxjs';
export declare abstract class WebSocketAbstract {
onMessage: Subject<EnvelopBody>;
onStateChange: Subject<number>;
stateChange(): void;
abstract readyState: number;
abstract connect(options: any, username: string): any;
abstract close(): any;
abstract send(envelop: WebSocketEnvelop): Promise<boolean>;
}
export declare enum WebSocketType {
SEND = "send",
PUBLISH = "publish"
}
export declare class WebSocketEnvelop {
type: WebSocketType | string;
address: string;
socialOrgid?: string;
body: EnvelopBody | CustomEnvelopBody<any>;
}
export declare class EnvelopBody {
uuid: string;
application: string;
message: EnvelopMessage;
sender: string;
alias: string[];
sent: number;
channelIds?: string;
socialOrgid?: string;
categories?: string | string[];
}
export declare class EnvelopMessage {
sender: string;
alert: string;
content: string;
joins: string;
duration: string;
channelIds?: string;
constructor(sender: string, content: string, joins?: string, duration?: string);
}
export declare class CustomEnvelopBody<T> {
uuid: string;
application: string;
message: T;
sender: string;
alias: string[];
sent: number;
channelIds?: string;
socialOrgid?: string;
categories?: string | string[];
}