| /** | 
|  * @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; | 
|     }); | 
| }; |