UNPKG

jka-core

Version:

Library for working with Jedi Academy servers

28 lines (27 loc) 1.31 kB
"use strict"; 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;