ps/Modules/Alkami.PowerShell.Choco/Public/Test-IsPackageInstallerV2.ps1
2023-05-30 22:51:22 -07:00

29 lines
1009 B
PowerShell

function Test-IsPackageInstallerV2 {
<#
.SYNOPSIS
Returns true if a particular package is an installer package.
.PARAMETER PackageName
[string] The package name to check
.PARAMETER Package
[object] The package to check
#>
[CmdletBinding(DefaultParameterSetName = 'PackageName')]
[OutputType([bool])]
Param (
[Parameter(Mandatory = $true, Position = 0, ParameterSetName = 'PackageName')]
[ValidateScript({if ($PSCmdlet.ParameterSetName -eq 'PackageName') {return ![string]::IsNullOrWhiteSpace($_)} else {return $true}})]
[string]$PackageName,
[Parameter(Mandatory = $true, Position = 0, ParameterSetName = 'Package')]
[ValidateScript({if ($PSCmdlet.ParameterSetName -eq 'Package') {return $null -ne $_} else {return $true}})]
[object]$Package
)
if ($PSCmdlet.ParameterSetName -eq 'Package') {
$PackageName = $Package.Name
}
return ($_InstallerPackages.Where({$PackageName -like $_}).Where({$_}).Count -gt 0)
}