/** * @return $this|mixed */ public function presenter() { if ($this->hasPresenter()) { return $this->presenter->present($this); } return $this; }
/** * Wrapper result data. * * @param mixed $result * * @return mixed */ public function parserResult($result) { if ($this->presenter instanceof Presenter) { if ($result instanceof Collection || $result instanceof LengthAwarePaginator) { $result->each(function ($model) { if ($model instanceof Presentable) { $model->setPresenter($this->presenter); } return $model; }); } elseif ($result instanceof Presentable) { $result = $result->setPresenter($this->presenter); } if (!$this->skipPresenter) { return $this->presenter->present($result); } } return $result; }