const printName = (name) => {
console.log(name)
}
const countLength = (name) => {
return `${name} ${name.length}`
}
const capitalize = (name) => {
return name.toUpperCase(name)
}
const trimName = (name) => {
return name.trim(name)
}
const compose = (...fns) => (val) => fns.reduceRight((prev, fn) => fn(prev), val)
// printName(countLength(capitalize(trimName(' harsh '))))
// pipe(trimName,capitalize,countLength,printName)(' harsh ')
compose(printName,countLength,capitalize,trimName)(' harsh ')