<?php

declare(strict_types=1);

namespace PpPhp\Core\IconManager;

final class IconDefinition
{
    public function __construct(
        public readonly string $name,
        public readonly string $label,
        public readonly string $pack,
        public readonly string $family,
        public readonly string $style,
        public readonly string $className,
        public readonly array $categories = [],
        public readonly array $aliases = [],
        public readonly array $keywords = [],
    ) {}

    public function toArray(): array
    {
        return [
            'name' => $this->name,
            'label' => $this->label,
            'pack' => $this->pack,
            'family' => $this->family,
            'style' => $this->style,
            'className' => $this->className,
            'categories' => $this->categories,
            'aliases' => $this->aliases,
            'keywords' => $this->keywords,
        ];
    }
}
