function Test-IsPackageComponentizedWebApplication { <# .SYNOPSIS Returns true if a particular package is a legacy web application that has been componentized into a chocolatey package. .PARAMETER PackageName The package name to check .PARAMETER Package The package to check #> [CmdletBinding(DefaultParameterSetName = 'PackageName')] [OutputType([bool])] Param ( [Parameter(Mandatory = $true, Position = 0, ParameterSetName = 'PackageName')] [ValidateScript({ if ($PSCmdlet.ParameterSetName -eq 'PackageName') { return -NOT (Test-IsStringNullOrWhiteSpace -Value $_) } 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 } $isComponentizedWebApp = $PackageName -in $_ComponentizedWebApplications return $isComponentizedWebApp }