I would like to take text that I generated and stored in a string and use it like a template literal.
var generatedText = \"Pretend this text was generated
The interpolate function below is an extended version of this answer that adds support for simple nested object field references (e.g.: a.b.c)
function interpolate(s, obj) {
return s.replace(/[$]{([^}]+)}/g, function(_, path) {
const properties = path.split('.');
return properties.reduce((prev, curr) => prev && prev[curr], obj);
})
}
console.log(interpolate('hello ${a.b.c}', {a: {b: {c: 'world'}}}));
// Displays 'hello world'