Public/Test-GitHubCacheHit.ps1

function Test-GitHubCacheHit {
    [CmdletBinding(DefaultParameterSetName = 'Value')]
    [OutputType([bool])]
    param(
        [Parameter(ParameterSetName = 'Value', Position = 0, ValueFromPipeline)]
        [AllowNull()]
        [AllowEmptyString()]
        [string] $Value,

        [Parameter(Mandatory, ParameterSetName = 'EnvironmentVariable')]
        [ValidateNotNullOrEmpty()]
        [string] $EnvironmentVariableName
    )

    process {
        $currentValue = $Value
        if ($PSCmdlet.ParameterSetName -eq 'EnvironmentVariable') {
            $currentValue = [System.Environment]::GetEnvironmentVariable($EnvironmentVariableName, 'Process')
        }

        [string]::Equals($currentValue, 'true', [System.StringComparison]::OrdinalIgnoreCase)
    }
}