/**
 * Comparateurs du tableau de l'onglet Réservations, purs et testés à part.
 * Une date jj/mm/aaaa triée comme du texte range le 31/10/2024 avant le
 * 28/05/2025 : on compare donc les valeurs `*_iso` (aaaa-mm-jj…, dont l'ordre
 * du texte est celui des dates) et les montants bruts, jamais l'affichage.
 * Une date inconnue ('') compte comme la plus ancienne.
 */

/** Ordre « texte » : sans tenir compte de la casse ni des accents, nombres dans l'ordre naturel. */
export function compareText(a: string, b: string): number {
    return a.localeCompare(b, 'fr', { sensitivity: 'base', numeric: true });
}

export function compareIso(a: string, b: string): number {
    if (a === b) {
        return 0;
    }
    return a < b ? -1 : 1;
}

export function compareNumber(a: number, b: number): number {
    return (Number.isFinite(a) ? a : 0) - (Number.isFinite(b) ? b : 0);
}
