From 372cd36afdf6f489b00fb23893a480819883886a Mon Sep 17 00:00:00 2001 From: Florrie Date: Sun, 8 Apr 2018 11:41:22 -0300 Subject: Internal support for custom status lines --- src/general-util.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/general-util.js') diff --git a/src/general-util.js b/src/general-util.js index b37f516..63f0312 100644 --- a/src/general-util.js +++ b/src/general-util.js @@ -313,3 +313,31 @@ module.exports.makePlaylistOptions = function() { } } } + +module.exports.processTemplateString = function(string, replacements) { + let outString = '' + let currentReplacement = null + for (let i = 0; i < string.length; i++) { + const char = string[i] + + if (char === '%') { + if (currentReplacement === null) { + currentReplacement = '' + } else { + if (Object.keys(replacements).includes(currentReplacement)) { + outString += replacements[currentReplacement].toString() + } else { + outString += '%UnknownKey:' + currentReplacement + '%' + } + currentReplacement = null + } + } else { + if (currentReplacement === null) { + outString += char + } else { + currentReplacement += char + } + } + } + return outString +} -- cgit 1.3.0-6-gf8a5