Skip to content

Commit 3f2d28d

Browse files
Merge pull request #706 from rodrigopedra/2.x
[2.x] Resolve Closure before checking if a prop implements the Arrayable contract
2 parents 13fc77e + 0b2f826 commit 3f2d28d

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/Response.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,10 @@ public function resolvePartialProperties(array $props, Request $request): array
176176
public function resolveArrayableProperties(array $props, Request $request, bool $unpackDotProps = true): array
177177
{
178178
foreach ($props as $key => $value) {
179+
if ($value instanceof Closure) {
180+
$value = App::call($value);
181+
}
182+
179183
if ($value instanceof Arrayable) {
180184
$value = $value->toArray();
181185
}
@@ -184,10 +188,6 @@ public function resolveArrayableProperties(array $props, Request $request, bool
184188
$value = $this->resolveArrayableProperties($value, $request, false);
185189
}
186190

187-
if ($value instanceof Closure) {
188-
$value = App::call($value);
189-
}
190-
191191
if ($unpackDotProps && str_contains($key, '.')) {
192192
Arr::set($props, $key, $value);
193193
unset($props[$key]);

0 commit comments

Comments
 (0)