@zerooneit/expressive-tea
Version:
A REST API over Express and Typescript
41 lines (40 loc) • 1.16 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const https = require("https");
class WebsocketService {
constructor(ws, wss) {
this.isDetached = false;
if (WebsocketService.instance) {
return WebsocketService.instance;
}
this.ws = ws;
this.wss = wss;
WebsocketService.instance = this;
}
getWebsocket(serverKind) {
return (serverKind instanceof https.Server) ? this.wss : this.ws;
}
setHttpServer(server) {
if (server instanceof https.Server) {
this.httpsServer = server;
}
else {
this.httpServer = server;
}
}
static getInstance(ws, wss) {
if (!WebsocketService.instance) {
WebsocketService.instance = new WebsocketService(ws, wss);
}
return WebsocketService.instance;
}
static init(ws, wss) {
if (!WebsocketService.instance) {
WebsocketService.instance = new WebsocketService(ws, wss);
}
}
static clear() {
delete WebsocketService.instance;
}
}
exports.default = WebsocketService;
;