Skip to content

Commit 5b111ff

Browse files
committed
wip
1 parent f3ecdc0 commit 5b111ff

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/Mergeable.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ public function matchesOn();
4040
public function shouldAppend();
4141

4242
/**
43-
* Determine if the property should merge at the root level (vs at specific paths).
43+
* Determine if the property has nested merge paths instead of just top-level merging.
4444
*
4545
* @return bool
4646
*/
47-
public function shouldMergeAtRootLevel();
47+
public function hasNestedMergePaths();
4848

4949
/**
5050
* Get the paths to append when merging.

src/MergesProps.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ public function prepend(string|bool $key = true, ?string $matchOn = null): self
145145
/**
146146
* Determine if the property should merge at the root level (vs at specific paths).
147147
*/
148-
public function shouldMergeAtRootLevel(): bool
148+
public function hasNestedMergePaths(): bool
149149
{
150-
return count($this->appendPaths) === 0 && count($this->prependPaths) === 0;
150+
return count($this->appendPaths) > 0 || count($this->prependPaths) > 0;
151151
}
152152

153153
/**

src/Response.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -484,12 +484,12 @@ public function resolveMergeProps(Request $request): array
484484
*/
485485
protected function resolveAppendMergeProps(Collection $mergeProps): array
486486
{
487-
[$rootMergeProps, $nestedMergeProps] = $mergeProps
487+
[$nestedMergeProps, $rootMergeProps] = $mergeProps
488488
->reject(fn (Mergeable $prop) => $prop->shouldDeepMerge())
489-
->partition(fn (Mergeable $prop) => $prop->shouldMergeAtRootLevel());
489+
->partition(fn (Mergeable $prop) => $prop->hasNestedMergePaths());
490490

491491
return $nestedMergeProps
492-
->flatMap(fn (Mergeable $prop, string $key) => collect($prop->appendPaths())->map(fn ($path) => $path ? $key.'.'.$path : $key))
492+
->flatMap(fn (Mergeable $prop, string $key) => collect($prop->appendPaths())->map(fn ($path) => $key.'.'.$path))
493493
->merge($rootMergeProps->filter(fn (Mergeable $prop) => $prop->shouldAppend())->keys())
494494
->unique()
495495
->values()
@@ -504,12 +504,12 @@ protected function resolveAppendMergeProps(Collection $mergeProps): array
504504
*/
505505
protected function resolvePrependMergeProps(Collection $mergeProps): array
506506
{
507-
[$rootMergeProps, $nestedMergeProps] = $mergeProps
507+
[$nestedMergeProps, $rootMergeProps] = $mergeProps
508508
->reject(fn (Mergeable $prop) => $prop->shouldDeepMerge())
509-
->partition(fn (Mergeable $prop) => $prop->shouldMergeAtRootLevel());
509+
->partition(fn (Mergeable $prop) => $prop->hasNestedMergePaths());
510510

511511
return $nestedMergeProps
512-
->flatMap(fn (Mergeable $prop, string $key) => collect($prop->prependPaths())->map(fn ($path) => $path ? $key.'.'.$path : $key))
512+
->flatMap(fn (Mergeable $prop, string $key) => collect($prop->prependPaths())->map(fn ($path) => $key.'.'.$path))
513513
->merge($rootMergeProps->filter(fn (Mergeable $prop) => ! $prop->shouldAppend())->keys())
514514
->unique()
515515
->values()

0 commit comments

Comments
 (0)