Repository navigation
Invoke-PkProcessBatch: accept $null -Commands as an empty batch - #3
Merged
Merged
Conversation
A foreach that matches nothing yields $null rather than an empty array, so building the command list the usual way failed with a parameter-binding error when no files matched. -Commands now allows $null, and null entries are skipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was wrong: building the command list with a
foreach(as the README does) gives$null, not an empty array, when nothing matches.Invoke-PkProcessBatchthen failed with "Cannot bind argument to parameter 'Commands' because it is null."[AllowEmptyCollection()]showed an empty batch was meant to work, but it doesn't cover$null.What changed:
-Commandsnow also has[AllowNull()], so$nullruns as an empty batch and returns no results. Null entries inside the list are skipped too, instead of failing with "Cannot index into a null array".Tested: added a harness assertion in section F that passes
$nullfrom an emptyforeach. It failed before the fix (1 FAILED, 169 passed) and passes after (ALL PASSED (170 assertions)).🤖 Generated with Claude Code