UNPKG

@payloadcms/plugin-form-builder

Version:

Form builder plugin for Payload CMS

30 lines (29 loc) 1.18 kB
import escapeHTML from 'escape-html'; import { keyValuePairToHtmlTable } from './keyValuePairToHtmlTable.js'; export const replaceDoubleCurlys = (str, variables)=>{ const regex = /\{\{(.+?)\}\}/g; if (str && variables) { return str.replace(regex, (_, variable)=>{ if (variable.includes('*')) { if (variable === '*') { return variables.map(({ field, value })=>`${escapeHTML(field)} : ${escapeHTML(value)}`).join(' <br /> '); } else if (variable === '*:table') { return keyValuePairToHtmlTable(variables.reduce((acc, { field, value })=>{ acc[field] = value; return acc; }, {})); } } else { const foundVariable = variables.find(({ field: fieldName })=>{ return variable === fieldName; }); if (foundVariable) { return escapeHTML(foundVariable.value); } } return variable; }); } return str; }; //# sourceMappingURL=replaceDoubleCurlys.js.map