UNPKG

@zerooneit/expressive-tea

Version:
41 lines (40 loc) 1.16 kB
"use strict"; 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;