<?php

declare(strict_types=1);

namespace Seka\Vzdelavanie\Dtos\Kniznica\Backend;

use Kalnoy\Nestedset\Collection;
use Seka\Vzdelavanie\Models\Kniznica\Sekcia;
use Spatie\DataTransferObject\DataTransferObjectCollection;

/**
 * Class SekciaCollectionDTO
 *
 * @package Seka\Vzdelavanie\Dtos\Kniznica\Backend
 */
final class SekciaCollectionDTO extends DataTransferObjectCollection
{
    /**
     * @param \Kalnoy\Nestedset\Collection $collection
     *
     * @return static
     */
    public static function fromCollection(Collection $collection): self
    {
        $_collection = $collection->map(function (Sekcia $sekcia) {
            return new SekciaDTO($sekcia->toArray());
        });

        return new self($_collection->toArray());
    }
}
