fix: Merge action arguments without overwriting

This commit is contained in:
Dan Harrin
2025-09-16 16:50:03 +01:00
parent 34ed27f392
commit 67e29cfaec
2 changed files with 13 additions and 6 deletions
+12 -5
View File
@@ -29,12 +29,19 @@ trait HasArguments
/**
* @param array<string, mixed> $arguments
*/
public function mergeArguments(array $arguments): static
public function mergeArguments(array $arguments, bool $shouldOverwriteExistingArguments = true): static
{
$this->arguments = [
...$this->arguments ?? [],
...$arguments,
];
if ($shouldOverwriteExistingArguments) {
$this->arguments = [
...$this->arguments ?? [],
...$arguments,
];
} else {
$this->arguments = [
...$arguments,
...$this->arguments ?? [],
];
}
return $this;
}
@@ -495,7 +495,7 @@ trait InteractsWithActions
continue;
}
$resolvedAction->mergeArguments($action['arguments'] ?? []);
$resolvedAction->mergeArguments($action['arguments'] ?? [], shouldOverwriteExistingArguments: false);
$resolvedAction->nestingIndex($actionNestingIndex);
$resolvedAction->boot();