UNPKG

smoke

Version:

Simple yet powerful file-based mock server with recording abilities

15 lines (13 loc) 494 B
import {Eta} from 'eta'; export function render(str, data) { const eta = new Eta({useWith: true}); // Transform legacy lodash.template delimiters to Eta default tags const tpl = str // {{{ }}} -> escape (HTML-escape) -> <%= %> .replaceAll(/{{{([\s\S]+?)}}}/g, '<%=$1%>') // {{ }} -> raw (no-escape) -> <%~ %> .replaceAll(/{{([\s\S]+?)}}/g, '<%~$1%>') // <{ }> -> evaluate -> <% %> .replaceAll(/<{([\s\S]+?)}>/g, '<%$1%>'); return eta.renderString(tpl, data); }