function Test-AlkamiWebExtensionManifest10 { <# .SYNOPSIS Please don't use this file by hand, please use Test-AlkamiManifest This function is intended to validate the WebExtensionManifest dotted object/hashtable so we can ensure that the values provided meet a minimum standard of valid .PARAMETER WebExtensionManifest A dotted object ([xml](Get-Content -Path $somePath)) or hashtable of values #> [CmdletBinding()] [OutputType([System.Collections.Hashtable])] Param( [Parameter(Position = 0, Mandatory = $true)] [ValidateNotNullOrEmpty()] [object]$WebExtensionManifest ) $success = $true $resultMessages = @() $validWebTierInstall = Get-ValidWebTierInstallLocations if ([string]::IsNullOrWhiteSpace($WebExtensionManifest.appInstall)) { $resultMessages += "packageManifest/webExtensionManifest/appInstall must be present and contain a valid value." $success = $false } if ($validWebTierInstall -notcontains $WebExtensionManifest.appInstall) { $resultMessages += "packageManifest/webExtensionManifest/appInstall contains an invalid value. Valid values are $($validWebTierInstall -join ',')" $success = $false } return @{ success = $success results = $resultMessages } }