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]; } }