Skip to content

Commit d00e944

Browse files
committed
Structure::merge() refactoring
1 parent 8de8c4e commit d00e944

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

src/Schema/Elements/Structure.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,17 @@ public function merge(mixed $value, mixed $base): mixed
135135
if ($key === $index) {
136136
$base[] = $val;
137137
$index++;
138-
} elseif (array_key_exists($key, $base)) {
139-
$itemSchema = $this->items[$key] ?? $this->otherItems;
140-
$base[$key] = $itemSchema
141-
? $itemSchema->merge($val, $base[$key])
142-
: Helpers::merge($val, $base[$key]);
143138
} else {
144-
$base[$key] = $val;
139+
$base[$key] = array_key_exists($key, $base) && ($itemSchema = $this->items[$key] ?? $this->otherItems)
140+
? $itemSchema->merge($val, $base[$key])
141+
: $val;
145142
}
146143
}
147144

148145
return $base;
149146
}
150147

151-
return Helpers::merge($value, $base);
148+
return $value ?? $base;
152149
}
153150

154151

0 commit comments

Comments
 (0)