UNPKG

jka-core

Version:

Library for working with Jedi Academy servers

24 lines (23 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getStatusRawParser = void 0; const index_1 = require("../../../index"); const clientUsersFromStatus_parser_1 = require("../clientUsers/clientUsersFromStatus.parser"); const cvarValueFromStatus_parser_1 = require("./cvarValueFromStatus.parser"); function getStatusRawParser(strToParse) { const str = strToParse.replace(/����statusResponse\n/, ''); const cvars = Object.values(index_1.EGetStatusFields).map((field) => ({ cvarName: field, returnType: field === index_1.EGetStatusFields.G_GAMETYPE ? cvarValueFromStatus_parser_1.EGetStatusParseValueType.GAMETYPE : cvarValueFromStatus_parser_1.EGetStatusParseValueType.STRING, })); return { cvars: processCvars(str, cvars), clients: (0, clientUsersFromStatus_parser_1.parseClientUsersFromStatus)(str), }; } exports.getStatusRawParser = getStatusRawParser; function processCvars(strToParse, cvars) { return cvars.reduce((acc, el) => (Object.assign(Object.assign({}, acc), { [el.cvarName]: (0, cvarValueFromStatus_parser_1.parseCvarValueFromStatus)(strToParse, el.cvarName, el.returnType) })), {}); }