Public/Invoke-PSRunSelectorCustom.ps1
function Invoke-PSRunSelectorCustom { [CmdletBinding()] [OutputType([PowerShellRun.SelectorResult])] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PowerShellRun.SelectorEntry[]]$Entry, [Switch]$MultiSelection, [PowerShellRun.SelectorOption]$Option = $script:globalStore.defaultSelectorOption, [PowerShellRun.SelectorContext]$Context ) begin { $isPipelineInput = $MyInvocation.ExpectingInput if ($isPipelineInput) { $entries = [System.Collections.Generic.List[PowerShellRun.SelectorEntry]]::new() } } process { if ($isPipelineInput) { $entries.Add($Entry[0]) } } end { $mode = if ($MultiSelection) { [PowerShellRun.SelectorMode]::MultiSelection } else { [PowerShellRun.SelectorMode]::SingleSelection } if ($isPipelineInput) { $result = [PowerShellRun.Selector]::Open($entries, $mode, $Option, $Context) } else { $result = [PowerShellRun.Selector]::Open($Entry, $mode, $Option, $Context) } $result } } |