<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Statistiky\Services\Analyzators\Validators;

/**
 * Class LexicalFakturacia
 *
 * @package Seka\Portal\Modul\Statistiky\Services\Analyzators\Validators
 */
final class LexicalFakturacia extends Lexical
{
    /**
     * @var array|string[]
     */
    private array $availableValues = ['TRUE', 'FALSE'];

    /**
     * @param $input
     *
     * @return bool
     */
    public function validate($input): bool
    {
        parent::validate($input);

        return strlen($input) > 0 && in_array(mb_strtoupper($input), $this->availableValues);
    }

    /**
     * @param $input
     *
     * @return string
     */
    public function getErrorMsg($input): string
    {
        return sprintf('povolene hodnoty: %s, %s', implode(',', $this->availableValues), $input);
    }
}
