$ idx e $ len em uma instrução condicional dust.js

A documentação sobre poeira é apenashorrível, Eu já examinei tudo o que posso encontrar e não consigo descobrir como isso deve funcionar.

Eu estou tendo este problema com os valores supostamente especiais $ idx e $ len, que, se eu adivinhei corretamente, retornar o índice atual, enquanto iterar sobre uma seção de matriz e o comprimento da referida seção de matriz. Eu tenho uma condição @if (na verdade, vários) que estou tentando exercitar para formatar um modelo, e os valores não estão funcionando tão perto quanto eu posso dizer, o que me leva às seguintes perguntas:

São $ idx e $ len reais especiais em dust.js?Você pode usá-los em um @ if, e se sim, como?Assumindo que 1 = verdadeiro, é $ idx baseado em zero?

Aqui está o meu modelo:

{#myArray}
  {name}{@sep}, {/sep}{@if cond="('{$idx}' == '{$len} - 2')"}and {/if}{@if cond="('{$idx}' == '{$len} - 1')"}{@if cond="('{$len}' == '1')"} is {:else} are {/if}here.{/if}
{/myArray}

O que é suposto fazer:

Se houver uma pessoa, processe a string "Jake está aqui".Se houver duas pessoas, processe a string "Jake e John estão aqui".Se houver três ou mais pessoas, processe a string "Jake, John e Bill estão aqui". (obviamente, adicionando os nomes separados por vírgula conforme necessário)

Se os $ idx e $ len specials funcionarem da maneira que se pensa que funcionam, este template faria o que eu quero, o mais próximo que eu possa dizer, no entanto, eu não acho nem $ idx ou $ len (ou ambos) são implementados. Se não estiverem, como faço para criar um modelo que faça o que eu quero?

questionAnswers(2)

yourAnswerToTheQuestion