Modules/IdLE.Core/Private/Get-IdleProvidersFromMap.ps1
|
Set-StrictMode -Version Latest function Get-IdleProvidersFromMap { <# .SYNOPSIS Extracts provider instances from the -Providers argument. .DESCRIPTION Supports both: - hashtable map: @{ Name = <providerObject>; ... } - array/list: @( <providerObject>, ... ) Returns an array of provider objects. #> [CmdletBinding()] param( [Parameter()] [AllowNull()] [object] $Providers ) if ($null -eq $Providers) { return @() } if ($Providers -is [System.Collections.IDictionary]) { $items = @() foreach ($k in $Providers.Keys) { $items += $Providers[$k] } return @($items) } if ($Providers -is [System.Collections.IEnumerable] -and $Providers -isnot [string]) { $items = @() foreach ($p in $Providers) { $items += $p } return @($items) } return @($Providers) } |