diff --git a/src/Output/Types.php b/src/Output/Types.php index 171b8846..0cb0168b 100644 --- a/src/Output/Types.php +++ b/src/Output/Types.php @@ -15,13 +15,7 @@ public function __construct( public function __toString(): string { - $routes = collect($this->ziggy->toArray()['routes'])->map(function ($route) { - return collect($route['parameters'] ?? [])->map(function ($param) use ($route) { - return Arr::has($route, "bindings.{$param}") - ? ['name' => $param, 'required' => ! Str::contains($route['uri'], "{$param}?"), 'binding' => $route['bindings'][$param]] - : ['name' => $param, 'required' => ! Str::contains($route['uri'], "{$param}?")]; - }); - }); + $routes = $this->collectRoutes(); return <<toJson(JSON_PRETTY_PRINT)} JAVASCRIPT; } + + + protected function collectRoutes(): Collection + { + return collect($this->ziggy->toArray()['routes'])->map(function ($route) { + return collect($route['parameters'] ?? [])->map(function ($param) use ($route) { + return Arr::has($route, "bindings.{$param}") + ? ['name' => $param, 'required' => ! Str::contains($route['uri'], "{$param}?"), 'binding' => $route['bindings'][$param]] + : ['name' => $param, 'required' => ! Str::contains($route['uri'], "{$param}?")]; + }); + }); + } }