¿Para "combinar" funciones en javascript de manera funcional?
Estoy aprendiendo programación funcional y me pregunto si hay una manera de "combinar" funciones como esta:
function triple(x) {
return x * 3;
}
function plusOne(x) {
return x + 1;
}
function isZero(x) {
return x === 0;
}
combine(1); //1
combine(triple)(triple)(plusOne)(1); // 10
combine(plusOne)(triple)(isZero)(-1); // true
Si el para es una función, "combina" la función en sí misma, y si no, devolverá el resultado final. ¡Gracias!