Internal/Get-RequestOption.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
function Get-RequestOption { param ( [Parameter(Mandatory = $true)] [string]$Name ) if ($Name -in @( $script:allVersions $script:force $script:prerelease $script:ignoreDependencies $script:forceDependencies $script:skipPowershell )) { # Switch-option $options = $request.Options if ($options) { if ($options.ContainsKey($Name)) { return $options[$Name] -eq 'True' } elseif ($options.ContainsKey($script:switches)) { $switches = @($options[$script:switches] -split '\W') return ($switches -contains $Name) -or ($switches -contains "-$Name") } } return $false } else { # String-option $options = $request.Options if ($options -and $options.ContainsKey($Name)) { return $options[$Name] } return $null } } function Get-AllVersionsOption { return Get-RequestOption -Name $script:allVersions } function Get-ForceOption { return Get-RequestOption -Name $script:force } function Get-PrereleaseOption { return Get-RequestOption -Name $script:prerelease } function Get-IgnoreDependenciesOption { return Get-RequestOption -Name $script:ignoreDependencies } function Get-ForceDependenciesOption { return Get-RequestOption -Name $script:forceDependencies } function Get-SkipPowershellOption { return Get-RequestOption -Name $script:skipPowershell } function Get-PackageParametersOption { return Get-RequestOption -Name $script:packageParameters } function Get-CacheLocationOption { return Get-RequestOption -Name $script:cacheLocation } |