awesome-im
Version:
Lightweight, extensible, JavaScript Instant Messaging.
41 lines (34 loc) • 932 B
JavaScript
import Channel from "./engine/channel"
import { eventEmitter } from './utils/eventEmitter';
import * as Message from "./engine/message"
class APIContext {
constructor() {
this.channel = null;
this.connectStatus = null;
this.Message = Message;
}
init(options) {
this.channel = new Channel({
options
})
return this.channel
}
async connect(url) {
return await this.channel.connect(url)
}
async disconnect(url) {
return await this.channel.disconnect()
}
async reconnect(url) {
return await this.channel.reconnect()
}
async send(data) {
return await this.channel._sendData(data)
}
addEventListener(eventName, listener) {
eventEmitter.on(eventName, (data) => {
listener(data)
})
}
}
export default new APIContext();