import { randomInt } from "node:crypto";
/**
 * Codes d'invitation — 8 caractères format XXXX-XXXX.
 * Alphabet sans caractères ambigus (0/O/1/I/L) pour la saisie manuelle.
 */
const ALPHABET = "ABCDEFGHJKMNPQRSTUVWXYZ23456789";
export function generateInvitationCode() {
    let code = "";
    for (let i = 0; i < 8; i++) {
        code += ALPHABET[randomInt(ALPHABET.length)];
    }
    return `${code.slice(0, 4)}-${code.slice(4)}`;
}
/** Normalise une saisie : majuscules, espaces/tirets ignorés, reformaté. */
export function normalizeInvitationCode(input) {
    const cleaned = input.toUpperCase().replace(/[^A-Z0-9]/g, "");
    if (cleaned.length !== 8)
        return null;
    return `${cleaned.slice(0, 4)}-${cleaned.slice(4)}`;
}
//# sourceMappingURL=codes.js.map