Сравнение регулярных выражений в Dust
Есть ли способ использовать сравнение выражений регулярных выражений с помощью шаблона пыли.
например: @select key="{notes}"}
{@eq value="s+"}
sample: {notes}
{/eq}
{@default}
{notes}
{/default}
{/select}
Я хочу, чтобы любые заметки с 's' в начале были напечатаны как "sample: {notes} ", иначе он будет напрямую печатать {notes}.
Возможно ли это сделать с помощью любого внешнего помощника?
1 ответ
Вы можете использовать вспомогательную функцию
помощник
dust.helpers.regexp = function(chunk, context, bodies, params) {
var regexp = new RegExp(params.pattern, params.flag);
if (regexp.test(params.term)) {
return chunk.render(bodies.block, context);
} else {
return chunk.render(bodies['else'], context);
}
}
использование
{@regexp term=notes pattern="^[sS](\w+)" flag="g"}
sample: {notes}
{:else}
{notes}
{/regexp}