UNPKG

gamesocket.io

Version:
63 lines (62 loc) 1.72 kB
'use strict' var __importDefault = (this && this.__importDefault) || function (mod) { return mod && mod.__esModule ? mod : { default: mod } } Object.defineProperty(exports, '__esModule', { value: true }) exports.NmspManager = void 0 const io_1 = require('../io') const List_1 = require('../SocketList/List') const Logger_1 = __importDefault(require('../Logger/Logger')) class NamespaceList extends List_1.List { set(nmsp) { if (this.has(nmsp.name)) return super.addOne(nmsp) } get(nmsp) { for (let i = 0; i < this._elements?.length; i++) { if (this._elements[i]?.name == nmsp) return this._elements[i] } return undefined } has(nmsp) { for (let i = 0; i < this._elements?.length; i++) { if (this._elements[i]?.name == nmsp) return true } return false } } class NmspManager { static _spaces = new NamespaceList() static _managers = new Map() static get(name) { let space if (name.startsWith('/')) name = name.split('/')[1] if (!this.has(name)) { if (Logger_1.default.flags.debug) Logger_1.default.debug(`Created namespace: "${name}"`) let manager = new io_1.EventManager(name) space = new io_1.Namespace(name, manager) this.setManager(name, manager) this.setNamespace(space) return space } return this._spaces.get(name) } static get managers() { return this._managers } static get spaces() { return this._spaces.values() } static has(name) { return this._spaces.has(name) } static setManager(name, manager) { return this._managers.set(name, manager) } static setNamespace(nmsp) { return this._spaces.set(nmsp) } } exports.NmspManager = NmspManager