@bbc/timeline-state-resolver-types
Version:
Have timeline, control stuff
25 lines • 951 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.interpolateTemplateStringIfNeeded = exports.interpolateTemplateString = void 0;
/**
* Interpolate a translation style string
*/
function interpolateTemplateString(key, args) {
if (!args || typeof key !== 'string') {
return String(key);
}
let interpolated = String(key);
for (const placeholder of key.match(/[^{}]+(?=})/g) || []) {
const value = args[placeholder] || placeholder;
interpolated = interpolated.replace(`{{${placeholder}}}`, value);
}
return interpolated;
}
exports.interpolateTemplateString = interpolateTemplateString;
function interpolateTemplateStringIfNeeded(str) {
if (typeof str === 'string')
return str;
return interpolateTemplateString(str.key, str.args);
}
exports.interpolateTemplateStringIfNeeded = interpolateTemplateStringIfNeeded;
//# sourceMappingURL=templateString.js.map