/** * @fileoverview Interpolate keys from an object into a string with {{ }} markers. * @author Jed Fox */ "use strict"; //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ module.exports = (text, data) => { if (!data) { return text; } // Substitution content for any {{ }} markers. return text.replace(/\{\{([^{}]+?)\}\}/gu, (fullMatch, termWithWhitespace) => { const term = termWithWhitespace.trim(); if (term in data) { return data[term]; } // Preserve old behavior: If parameter name not provided, don't replace it. return fullMatch; }); };