Сравнение регулярных выражений в 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}

Помощники DustJS

Другие вопросы по тегам