replaceValueSymbols.js 502 B

12345678910111213141516171819202122
  1. const matchValueName = /[$]?[\w-]+/g;
  2. const replaceValueSymbols = (value, replacements) => {
  3. let matches;
  4. while ((matches = matchValueName.exec(value))) {
  5. const replacement = replacements[matches[0]];
  6. if (replacement) {
  7. value =
  8. value.slice(0, matches.index) +
  9. replacement +
  10. value.slice(matchValueName.lastIndex);
  11. matchValueName.lastIndex -= matches[0].length - replacement.length;
  12. }
  13. }
  14. return value;
  15. };
  16. module.exports = replaceValueSymbols;