<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Statistiky\Repositories\Eloquent\Transformers;

use Seka\Portal\Modul\Statistiky\Entities\Zaznam\Zaznam;
use Seka\Portal\Modul\Statistiky\Exceptions\NeznamiDruhUdajovZaznamuException;

/**
 * Trait TransformerTrait
 *
 * @package Seka\Portal\Modul\Statistiky\Repositories\Eloquent\Transformers
 */
trait TransformerTrait
{
    /**
     * @param \Seka\Portal\Modul\Statistiky\Entities\Zaznam\Zaznam $model
     * @param string                                               $instance
     *
     * @return void
     * @throws \Seka\Portal\Modul\Statistiky\Exceptions\NeznamiDruhUdajovZaznamuException
     */
    protected function checkUdajeType(Zaznam $model, string $instance): void
    {
        if ($model->udaje instanceof $instance) return;

        throw new NeznamiDruhUdajovZaznamuException('Neznami druh udajov zaznamu.');
    }
}
