Implemented repository mapper, and venta show

This commit is contained in:
Juan Pablo Vial
2023-08-08 23:53:49 -04:00
parent ef30ae67d2
commit 59825259b6
111 changed files with 2766 additions and 612 deletions

View File

@ -0,0 +1,41 @@
<?php
namespace Incoviba\Common\Implement\Repository;
use Incoviba\Common\Define;
use Incoviba\Common\Define\Repository\Mapper;
class MapperParser implements Define\Repository\MapperParser
{
public function __construct(?array $columns = null)
{
if ($columns !== null) {
foreach ($columns as $column) {
$this->register($column);
}
}
}
protected array $maps;
public function register(string $column, ?Mapper $mapper = null): Define\Repository\MapperParser
{
if ($mapper !== null) {
$this->maps[$column] = $mapper;
return $this;
}
$this->maps[$column] = [];
return $this;
}
public function getColumns(): array
{
return array_keys($this->maps);
}
public function hasMapper(string $column): bool
{
return is_a($this->maps[$column], Define\Repository\Mapper::class);
}
public function getMapper(string $column): Mapper
{
return $this->maps[$column];
}
}