Files
maestro/src/utils/mustache.ts
T
2022-06-09 17:14:11 -03:00

8 lines
364 B
TypeScript

export const mustache = (string: string, data: Record<string, any> = {}) => {
return Object.entries(data).reduce((res, [key, value]) => {
const mainRe = new RegExp(`(?<!\\\\){{\\s*${key}\\s*}}`, 'g');
const escapeRe = new RegExp(`\\\\({{\\s*${key}\\s*}})`, 'g');
return res.replace(mainRe, value.toString()).replace(escapeRe, '$1');
}, string);
};