/**
 * @file string-cases.js
 * @module to-lower-case
 */

/**
 * Mettre en minuscule la première lettre d'une chaîne de caractères.
 *
 * @param {string} string
 *        Chaîne à mettre en minuscules
 *
 * @return {string}
 *         La chaîne dont la première lettre est en minuscule
 */
export const toLowerCase = function(string) {
  if (typeof string !== 'string') {
    retourner la chaîne ;
  }

  return string.replace(/./, (w) => w.toLowerCase()) ;
};

/**
 * Met en majuscule la première lettre d'une chaîne de caractères.
 *
 * @param {string} string
 *        Chaîne à mettre en majuscules
 *
 * @return {string}
 *         La chaîne dont la première lettre est en majuscule
 */
export const toTitleCase = function(string) {
  if (typeof string !== 'string') {
    retourner la chaîne ;
  }

  return string.replace(/./, (w) => w.toUpperCase()) ;
};

/**
 * Compare les versions TitleCase des deux chaînes pour vérifier l'égalité.
 *
 * @param {string} str1
 *        La première chaîne à comparer
 *
 * @param {string} str2
 *        La deuxième chaîne à comparer
 *
 * @return {boolean}
 *         Si les versions TitleCase des chaînes sont égales
 */
export const titleCaseEquals = function(str1, str2) {
  return toTitleCase(str1) === toTitleCase(str2) ;
};