jka-core
Version:
Library for working with Jedi Academy servers
24 lines (23 loc) • 1.22 kB
JavaScript
;
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) })), {});
}