<?php

declare(strict_types=1);

namespace App\Support;

final class PhoneNormalizer
{
    /**
     * Нормализует российский номер к виду +7XXXXXXXXXX (12 символов) или null, если невалиден.
     */
    public static function normalize(string $raw): ?string
    {
        $digits = preg_replace('/\D+/', '', $raw) ?? '';

        if (strlen($digits) === 11 && ($digits[0] === '8' || $digits[0] === '7')) {
            $digits = '7'.substr($digits, 1);
        } elseif (strlen($digits) === 10) {
            $digits = '7'.$digits;
        } else {
            return null;
        }

        return '+'.$digits;
    }
}
