jka-core
Version:
Library for working with Jedi Academy servers
28 lines (27 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseCvarValueFromStatus = exports.EGetStatusParseValueType = void 0;
const gametype_mapper_1 = require("../../mappers/gametype.mapper");
var EGetStatusParseValueType;
(function (EGetStatusParseValueType) {
EGetStatusParseValueType["STRING"] = "string";
EGetStatusParseValueType["NUMBER"] = "number";
EGetStatusParseValueType["GAMETYPE"] = "gametype";
})(EGetStatusParseValueType = exports.EGetStatusParseValueType || (exports.EGetStatusParseValueType = {}));
function parseCvarValueFromStatus(strToParse, cvarName, type) {
const match = strToParse.match(new RegExp(`${cvarName}\\\\(.+?)\[\\\\\\n\]`));
if (!match)
return null;
const result = match[1];
switch (type) {
case EGetStatusParseValueType.STRING:
return result;
case EGetStatusParseValueType.NUMBER:
return isNaN(parseInt(result)) ? 0 : parseInt(result);
case EGetStatusParseValueType.GAMETYPE:
return (0, gametype_mapper_1.gametypeNumToNamesMapper)(result);
default:
throw new Error(`Incorrect result type provided! Must be one of these: ${Object.values(EGetStatusParseValueType)}`);
}
}
exports.parseCvarValueFromStatus = parseCvarValueFromStatus;