node-gamedig/lib/Results.js

43 lines
788 B
JavaScript
Raw Normal View History

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()
}