mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-09-07 11:31:28 +02:00
* Rename raw.steamappid and raw.gameid to raw.appId in steam protocol * Don't query valve rules by default, unless requestRules option is set Fixes #176
52 lines
987 B
JavaScript
52 lines
987 B
JavaScript
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
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.players.length < num) {
|
|
this.push({});
|
|
}
|
|
}
|
|
|
|
push(data) {
|
|
super.push(new Player(data));
|
|
}
|
|
}
|
|
|
|
class Results {
|
|
name = '';
|
|
map = '';
|
|
password = false;
|
|
|
|
raw = {};
|
|
|
|
maxplayers = 0;
|
|
players = new Players();
|
|
bots = new Players();
|
|
|
|
set players(num) {
|
|
this.players.setNum(num);
|
|
}
|
|
set bots(num) {
|
|
this.bots.setNum(num);
|
|
}
|
|
}
|
|
|
|
module.exports = Results;
|