mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-11-16 08:48:32 +01:00
93a9095d99
* Add initial prettier and eslint configs * Modify prettierrc * Run eslint on everything * Actually remove prettier * Fix some eslints * Remove label in gs2 * Update CHANGELOG * Update eslintrc to specify es2021
42 lines
788 B
JavaScript
42 lines
788 B
JavaScript
export class Player {
|
|
name = ''
|
|
raw = {}
|
|
|
|
constructor (data) {
|
|
if (typeof data === 'string') {
|
|
this.name = data
|
|
} else {
|
|
const { name, ...raw } = data
|
|
if (name) this.name = name
|
|
if (raw) this.raw = raw
|
|
}
|
|
}
|
|
}
|
|
|
|
export class Players extends Array {
|
|
setNum (num) {
|
|
// If the server specified some ridiculous number of players (billions), we don't want to
|
|
// run out of ram allocating these objects.
|
|
num = Math.min(num, 10000)
|
|
|
|
while (this.length < num) {
|
|
this.push({})
|
|
}
|
|
}
|
|
|
|
push (data) {
|
|
super.push(new Player(data))
|
|
}
|
|
}
|
|
|
|
export class Results {
|
|
name = ''
|
|
map = ''
|
|
password = false
|
|
|
|
raw = {}
|
|
|
|
maxplayers = 0
|
|
players = new Players()
|
|
bots = new Players()
|
|
}
|