
const localePrefixes = {
        "fr-FR": "+33",
        // Ajoutez d'autres locales et leurs préfixes ici
};


export function formatPhoneNumber(phoneString, fromFormat = 'XX-XX-XX-XX-XX', toFormat = 'LX-XX-XX-XX-XX', locale = "fr-FR") {
    // Extraire les chiffres du numéro de téléphone
    const digits = phoneString.replace(/\D/g, '');

    // Déterminer le préfixe international en fonction de la locale


    let prefix = localePrefixes[locale] || '';

    // Si le format d'entrée commence par 'L', détecter la locale
    if (fromFormat.startsWith('L')) {
        const detectedPrefix = phoneString.match(/^\+\d+/);
        if (detectedPrefix) {
            prefix = detectedPrefix[0];
            phoneString = phoneString.replace(prefix, '');
        }
    }

    // Remplacer 'L' par le préfixe et 'X' par les chiffres du numéro de téléphone
    let formattedNumber = toFormat.replace('L', prefix);
    let digitIndex = 0;

    formattedNumber = formattedNumber.replace(/X/g, () => {
        return digits[digitIndex++] || '';
    });

    return formattedNumber;
}
