solution = $solution; } public static function fromSolution(SolutionContract $solution): self { return new self($solution); } /** * @return array */ public function toArray(): array { $isRunnable = ($this->solution instanceof RunnableSolution); return [ 'class' => get_class($this->solution), 'title' => $this->solution->getSolutionTitle(), 'description' => $this->solution->getSolutionDescription(), 'links' => $this->solution->getDocumentationLinks(), /** @phpstan-ignore-next-line */ 'action_description' => $isRunnable ? $this->solution->getSolutionActionDescription() : null, 'is_runnable' => $isRunnable, ]; } }