/*
Explanation :- A user gives a string (it can be incomplete lowercase or
partially in lowercase) and then the program converts it into a
completely (all characters in uppercase) uppercase string. The
logic we have used in the following program is: All the lowercase
characters (a-z) has [ASCII](https://en.wikipedia.org/wiki/ASCII) value ranging from 97 to 122 and their
corresponding uppercase characters (A-Z) have ASCII values 32
lesser than them. For example ‘a‘ has an ASCII value of 97
and ‘A‘ has an ASCII value of 65 (97 - 32). The same applies to other
characters.
*/
/**
* upperCaseConversion takes any case-style string and converts it to the uppercase-style string.
* @param {string} inputString Any case style string
* @returns {string} Uppercase string
*/
const upperCaseConversion = (inputString) => {
// Take a string and split it into characters.
const newString = inputString.split('').map(char => {
// Get a character code by the use charCodeAt method.
const presentCharCode = char.charCodeAt()
// If the character code lies between 97 to 122, it means they are in the lowercase so convert it.
if (presentCharCode >= 97 && presentCharCode <= 122) {
// Convert the case by use of the above explanation.
return String.fromCharCode(presentCharCode - 32)
}
// Else return the characters without any modification.
return char
})
// After modification, with the help of the join method, join all the characters and return them.
return newString.join('')
}
export { upperCaseConversion }