gamesocket.io
Version:
Simple event-oriented API for uWebSocket.js
43 lines (42 loc) • 1.14 kB
JavaScript
'use strict'
Object.defineProperty(exports, '__esModule', { value: true })
exports.AliasPool = void 0
class AliasPool {
_aliases = new Map()
set(socketAlias, id) {
let idArray = this._aliases.get(socketAlias)
if (!idArray) this._aliases.set(socketAlias, [id])
else idArray.push(id)
}
swap(oldSocketAlias, newSocketAlias) {
let tmp = this.get(oldSocketAlias)
if (!tmp) return false
this.remove(oldSocketAlias)
this._aliases.set(newSocketAlias, tmp)
return true
}
isSet(socketAlias) {
if (!this._aliases.get(socketAlias)) return false
return true
}
get(socketAlias) {
return this._aliases.get(socketAlias)
}
getId(socketAlias, id) {
let tmpArray = this._aliases.get(socketAlias)
if (!tmpArray) return false
return tmpArray.includes(id)
}
remove(socketAlias) {
return this._aliases.delete(socketAlias)
}
delete(socketAlias, id) {
const buffer = this._aliases.get(socketAlias)
if (!buffer) return false
let index = buffer.indexOf(id)
if (!~index) return false
buffer.splice(index, 1)
return true
}
}
exports.AliasPool = AliasPool