@payloadcms/plugin-form-builder
Version:
Form builder plugin for Payload CMS
29 lines (28 loc) • 1.1 kB
JavaScript
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 })=>`${field} : ${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 foundVariable.value;
}
}
return variable;
});
}
return str;
};
//# sourceMappingURL=replaceDoubleCurlys.js.map