Curried Function

by Carl Bowen

HTML

<div id="app"></div>

JavaScript

const curriedGreeting = (greeting) => {
	greeting = greeting.toUpperCase();

  return curriedHonorific = (honorific) => {
  	if(!honorific.includes('.'))
    	honorific = honorific += '.';
  
    return curriedFirstName = (firstName, ...middleNames) => {
    	// Added new param not requested in the initial call.
      middleNames.push('Harry');
      middleNames.push('Conner');
      middleNames = middleNames.join(' ');
    
      return curriedLastName = (lastName) => {
        document.querySelector("#app").innerHTML = `${greeting} ${honorific} ${firstName} ${middleNames} ${lastName}, I hope you are well today?`;
      }
    }
  }
}

curriedGreeting('Good afternoon')('Mr')('Carl')('Bowen');