AnP/Public/ecma/Managers/WebSocketsClientsManager.ecma.js
2026-06-05 15:00:29 +02:00

65 lines
1.4 KiB
JavaScript

"use strict";
import {WebSocketClientModel} from "../Models/WebSocketClientModel.ecma.js";
/**
* @typedef {import("../Application/AnP.ecma.js").AnP} AnP
*/
/**
* @class WebSocketsClientsManager
* @constructor
* @param {!AnP} anp
* @param {!string} key
* @param {!(Object.<string, any|null>|Array.<any|null>)} inputs
* @returns {void}
* @access private
* @static
*/
export const WebSocketsClientsManager = (function(){
/**
* @constructs WebSocketsClientsManager
* @param {!AnP} anp
* @param {!string} key
* @param {!(Object.<string, any|null>|Array.<any|null>)} inputs
* @returns {void}
* @access private
* @static
*/
const WebSocketsClientsManager = function(anp, key, inputs){
/** @type {WebSocketsClientsManager} */
const self = this,
/** @type {Object.<string, WebSocketClientModel} */
clients = {};
/**
* @returns {void}
* @access private
*/
const constructor = () => {};
this.add = (key, url) => {
clients[key] = new WebSocketClientModel(anp, url);
};
this.remove = key => {
if(key in clients){
clients[key].close();
delete clients[key];
return true;
};
return false;
};
this.send = (key, data) => {};
constructor();
};
return WebSocketsClientsManager;
})();