1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 1x 4x 8x | /**
* @typedef {string} Template
*/
/**
* @param {Template} template
* @param {Object<string|number|bool>} values
*/
export const format = (template, values) =>
template.replace(
/\{\s*(.+?)(?:\s*=\s*"(.+?)")?\s*\}/g,
(match, name, defaultValue) => values[name] || defaultValue || ''
);
|