<?php

declare(strict_types=1);

namespace League\MimeTypeDetection;

class ExtensionToMimeTypeMapClass implements ExtensionToMimeTypeMap, ExtensionLookup
{
    /**
     * @var array<string, string>
     *
     * @internal
     */
    public const MIME_TYPES_FOR_EXTENSIONS = ['ext2mime'];

    /**
     * @var array<string, string>
     *
     * @internal
     */
    public const EXTENSIONS_FOR_MIME_TIMES = ['mime2ext'];

    public function lookupMimeType(string $extension): ?string
    {
        return self::MIME_TYPES_FOR_EXTENSIONS[$extension] ?? null;
    }

    public function lookupExtension(string $mimetype): ?string
    {
        return self::EXTENSIONS_FOR_MIME_TIMES[$mimetype][0] ?? null;
    }

    /**
     * @return string[]
     */
    public function lookupAllExtensions(string $mimetype): array
    {
        return self::EXTENSIONS_FOR_MIME_TIMES[$mimetype] ?? [];
    }
}
