Underscore.js: como encadear funções personalizadas
UsandoUnderscore.js, Eu posso escrever o seguinte que retorna42
:
_([42, 43]).chain()
.first()
.value()
Eu tenho uma função personalizada, não parte do Underscore.js chamadadouble()
:
function double(value) { return value * 2; };
Gostaria de poder chamar essa função em uma cadeia de sublinhado, como se fosse parte do sublinhado. Gostaria de escrever o seguinte, que gostaria de retornar84
:
_([42, 43]).chain()
.first()
.double()
.value()
Isso não pode funcionar, pois o Underscore não defineDuplo(). eu poderia usartap()
como em:
_([42, 43]).chain()
.first()
.tap(double)
.value()
Isso é válido, mastap
aplica a função ao seu argumento e retorna o argumento, não o resultado da função. Então, parece-me que eu precisaria de uma espécie detap
que retorna o resultado da função aplicada ao seu argumento. Existe algo assim no Underscore.js? Estou sentindo falta de algo terrivelmente óbvio?