<?php

namespace App\Modules\{{ module }}\Application\List;

{{ imports }}

final class List{{ module }}QueryHandler implements QueryHandler
{
    public function __construct(private {{ module }}Lister $lister) {}

    public function __invoke(List{{ module }}Query $query): {{ module }}Responses
    {
        return new {{ module }}Responses(...array_map(
            fn({{ module }} $item) => $item->toDTO({{ module }}Response::class),
            $this->lister->__invoke(
{{ listerArgs }}
            )
        ));
    }
}
