export default class StringFormatter{ /** * Replaces tokens in a string with their corresponding values. * * Each token in the string should match a key in the `values` array. * For example, given `s = "Hi :name !"` and `values = [{ key: ":name", value: "Foo" }]`, * the function will return "Hi Foo !". * * @param {string} s - The string containing tokens to replace. * @param {Array<{key: string, value: string}>} values - An array of objects mapping each token (`key`) to its replacement (`value`). * @returns {string} The string with tokens replaced by their corresponding values. */ static format(s, values) { values.forEach(v => { s = s.replace(`:${v.key}`, v.value); }); return s; } }