mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-09-07 11:31:28 +02:00
* Redo imports and exports for lib * Redo imports and exports for bim * Redo imports and exports for games * Remove remaining module.exports * Use export default in lib * Use export default in protocols * Fix import in genreadme.js * Make package module and solve __dirname * Fix minecraft protocol imports * Fix imports on games and make binary runnable * Renamed protocol class exports to lowercase * Export promises class as default * Update README.md to use imports instead of require * Update CHANGELOG to mention the changes. * Remove Valve unused imports * Fix iconv import
44 lines
853 B
JavaScript
44 lines
853 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();
|
|
}
|