
export default class StringUtils
{
    /**
     * Normalise une chaine de caractères en retirant la casse et les caractères spéciaux, à des fins de recherche
     * par exemple
     * @param s
     */
    public static normalize(s: string): string {
        return s
            .toLowerCase()
            .replace(/[éèẽëê]/g, 'e')
            .replace(/[ç]/g, 'c')
            .replace(/[îïĩ]/g, 'i')
            .replace(/[àã]/g, 'a')
            .replace(/[öôõ]/g, 'o')
            .replace(/[ûüũ]/g, 'u')
            .replace(/[-]/g, ' ')
            .trim()
    }

    /**
     * Convertit le paramètre d'entrée en entier
     * A la différence de parseInt, cette méthode accepte aussi les nombres.
     * @param s
     */
    public static parseInt(s: string | number) {
        return typeof s === 'number' ? s : parseInt(s)
    }
}
