core/private/Resolve-JaxEntityAliases.ps1
|
function Resolve-JaxEntityAliases { [CmdletBinding()] param ( [string] $Key, [System.Collections.IDictionary] $AliasesMap, [object] $AdditionalAliases ) $commonParams = Get-JaxCommonParameters -BoundParameters $PSBoundParameters Write-Debug "FUNC: $($MyInvocation.MyCommand.Name) Args: $($PSBoundParameters | ConvertTo-Json -Depth 1 -Compress -WarningAction SilentlyContinue)" $aliases = @() if ($AliasesMap -is [System.Collections.IDictionary] -and -not [string]::IsNullOrWhiteSpace($Key)) { $normalizedKey = Convert-JaxRunEntityName -Name $Key @commonParams foreach ($mapKey in $AliasesMap.Keys) { if ([string]::IsNullOrWhiteSpace($mapKey)) { continue } if (Convert-JaxRunEntityName -Name $mapKey @commonParams -eq $normalizedKey) { $value = $AliasesMap[$mapKey] if ($value -is [string]) { $aliases += $value } elseif ($value -is [System.Collections.IEnumerable]) { $aliases += @($value) } } } } if ($null -ne $AdditionalAliases) { if ($AdditionalAliases -is [string]) { $aliases += $AdditionalAliases } elseif ($AdditionalAliases -is [System.Collections.IEnumerable]) { $aliases += @($AdditionalAliases) } } $aliases = @($aliases | ForEach-Object { $_.ToString().Trim() } | Where-Object { $_ -ne '' } | Select-Object -Unique) return $aliases } |