JSFiddle - React, Tailwind, and code Playground
JavaScript
String.prototype.template = function(data, prefix) {
if (this == null) {
return '';
}
if (!prefix) {
prefix = '';
} else {
prefix += '.';
}
var result = String(this);
forEach(params, function(key, value) {
if (typeof value == 'object') {
result = result.template(value, prefix+key);
} else {
result = result.replace('{'+prefix+key+'}', (typeof value == 'function' ? value() : value));
}
});
return result;
};