/** * @return $this|mixed */ public function presenter() { if ($this->hasPresenter()) { return $this->presenter->present($this); } return $this; }
/** * @return $this|mixed */ public function presenter() { if (isset($this->presenter) && $this->presenter instanceof PresenterInterface) { return $this->presenter->present($this); } return $this; }
/** * Wrapper result data * * @param mixed $result * * @return mixed */ public function parserResult($result) { if ($this->presenter instanceof PresenterInterface) { 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; }