<?php
declare(strict_types=1);

namespace App\Framework\Console;

use App\Framework\Core\AttributeMapper;

final readonly class ConsoleCommandMapper implements AttributeMapper
{
    public function getAttributeClass(): string
    {
        return ConsoleCommand::class;
    }

    public function map(object $reflectionTarget, object $attributeInstance): ?array
    {
        return [
            'name' => $attributeInstance->name,
            'description' => $attributeInstance->description,
            'class' => $reflectionTarget->getDeclaringClass()->getName(),
            'method' => $reflectionTarget->getName(),
        ];
    }
}
