如何检查 Dust.js 中不区分大小写的值?

How do I check case-insensitive values in Dust.js?

如果这看起来很愚蠢,请原谅我,因为它确实看起来很愚蠢。

我正在处理别人的代码,基本上是这样工作的:

{@select key=name}
    {@eq value="Alice"}
    {@eq value="ALICE"}
    {@eq value="alice"}
    {@any} Your name is Alice! {/any}
    {@none} Your name isn't Alice! {/none}
{/select}

有什么方法可以合并那些非常相似的{@eq}语句吗?

并发症:

经过团队的一些讨论,您执行此操作的最佳方法似乎是添加灰尘过滤器而不是助手。像这样的东西可以添加到灰尘全局:

dust.filters.lc = function lowercaseFilter(str) {
  if (typeof str === 'string') {
    return str.toLowerCase();
  }
  return str;
};

那么你可以这样做:

{@eq key="{name|lc}" value="alice"}Your name is most definitely Alice.{/eq}