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