UNPKG

ddnet

Version:

A typescript npm package for interacting with data from ddnet.org

90 lines 2.15 kB
import { DDNetError } from '../../util.js'; /** * Represents the different DDNet server types. */ export var ServerType; (function (ServerType) { ServerType["novice"] = "Novice"; ServerType["moderate"] = "Moderate"; ServerType["brutal"] = "Brutal"; ServerType["insane"] = "Insane"; ServerType["dummy"] = "Dummy"; ServerType["ddmaxEasy"] = "DDmaX.Easy"; ServerType["ddmaxNext"] = "DDmaX.Next"; ServerType["ddmaxPro"] = "DDmaX.Pro"; ServerType["ddmaxNut"] = "DDmaX.Nut"; ServerType["oldschool"] = "Oldschool"; ServerType["solo"] = "Solo"; ServerType["race"] = "Race"; ServerType["fun"] = "Fun"; ServerType["unknown"] = "UNKNOWN"; })(ServerType || (ServerType = {})); /** * Wrapper class for all player server types. */ export class Servers { /** * Novice server stats. */ [ServerType.novice]; /** * Moderate server stats. */ [ServerType.moderate]; /** * Brutal server stats. */ [ServerType.brutal]; /** * Insane server stats. */ [ServerType.insane]; /** * Dummy server stats. */ [ServerType.dummy]; /** * DDmaX.Easy server stats. */ [ServerType.ddmaxEasy]; /** * DDmaX.Next server stats. */ [ServerType.ddmaxNext]; /** * DDmaX.Pro server stats. */ [ServerType.ddmaxPro]; /** * DDmaX.Nut server stats. */ [ServerType.ddmaxNut]; /** * Oldschool server stats. */ [ServerType.oldschool]; /** * Solo server stats. */ [ServerType.solo]; /** * Race server stats. */ [ServerType.race]; /** * Fun server stats. */ [ServerType.fun]; constructor(data) { for (const k in ServerType) { const key = k; if (key === 'unknown') continue; const stats = data.find(server => server.name === ServerType[key]); if (!stats) throw new DDNetError(`\`${ServerType[key]}\` server not found in data!`); this[ServerType[key]] = stats; } } } //# sourceMappingURL=Servers.js.map