Public/Get-FIFATeamStanding.ps1


function Get-FIFATeamStanding {
    
    param (
        
        [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
        [String[]]$TeamName,
        
        [AsStringOptions]$AsString
    )
    
    BEGIN {
        $Response = Get-FIFAEndpoint 'teams/results' 
    }

    PROCESS {
        foreach ($T1 in $TeamName) {
            
            # find team
            $Team = $Response | ? Country -eq $T1
            if (!$Team) {$Team = $Response | ? fifa_code -eq $T1}
            if (!$Team) {
                Write-Warning "Team $T1 not found"
                continue
            } elseif ($Team.count -gt 1) {
                Write-Warning "Multiple teams found: $($Team.fifa_code -join ',')"
                continue
            }
            
            # return value
            if ($AsString) {
                Convert-FIFATeamToString $Team $AsString
            } else {
                $Team
            }        
        }
    }

    END {
        # no actions
    }
}