in trimpath/template.js [345:362]
var emitExpression = function(exprArr, index, funcText) {
// Ex: foo|a:x|b:y1,y2|c:z1,z2 is emitted as c(b(a(foo,x),y1,y2),z1,z2)
var expr = exprArr[index]; // Ex: exprArr == [firstName,capitalize,default:"John Doe"]
if (index <= 0) { // Ex: expr == 'default:"John Doe"'
funcText.push(expr);
return;
}
var parts = expr.split(':');
funcText.push('_MODIFIERS["');
funcText.push(parts[0]); // The parts[0] is a modifier function name, like capitalize.
funcText.push('"](');
emitExpression(exprArr, index - 1, funcText);
if (parts.length > 1) {
funcText.push(',');
funcText.push(parts[1]);
}
funcText.push(')');
}