<?php

declare(strict_types=1);

namespace App\Services;

use App\Support\RussianRegions;

/**
 * Резолвит регион-тег поставщика (raw_payload['tag'] = имя субъекта или «РФ»)
 * в код субъекта 1..89. «РФ»/пусто/неизвестно → null (пул «Вся РФ»/неизвестно).
 *
 * Spec: docs/superpowers/specs/2026-05-20-project-migration-redesign-design.md §4.4.
 */
final class RegionTagResolver
{
    public function resolve(string $tag): ?int
    {
        $tag = trim($tag);

        if ($tag === '' || $tag === 'РФ') {
            return null;
        }

        return RussianRegions::nameToCode()[$tag] ?? null;
    }
}
