29 lines
1022 B
PowerShell
29 lines
1022 B
PowerShell
function Test-IsPackagePowerShellModuleV2 {
|
|
<#
|
|
.SYNOPSIS
|
|
Returns true if a particular package is considered a PowerShell module.
|
|
|
|
.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 ($_PowerShellModulePackages.Where({$PackageName -match $_}).Count -gt 0)
|
|
}
|