private/StatusMessage/Set-StatusMessageColor.ps1
|
function Set-StatusMessageColor { <# .DESCRIPTION Sets the color of the status message based on the message type. #> [OutputType([HashTable])] [CmdletBinding()] param ( [Parameter(Mandatory,ValueFromPipeline)] [HashTable] $MessageObject ) process { try { try { $test = [System.Convert]::ToBoolean($MessageObject.TypeTestResult) } catch [FormatException] { $test = $false } $MessageObject.MessageColor = switch ( $MessageObject.Type ) { "SuccessOrFailure" { $test ? "DarkGreen" : "DarkRed" ; break } "SuccessOrWarning" { $test ? "DarkGreen" : "DarkYellow" ; break } "ActionOrFailure" { $test ? "Gray" : "DarkRed" ; break } "ActionOrWarning" { $test ? "Gray" : "DarkYellow" ; break } "Header" { "Magenta" ; break } "Process" { "Cyan" ; break } "Action" { "Gray" ; break } "Information" { "DarkGray" ; break } "Debug" { "DarkGray" ; break } "Success" { "DarkGreen" ; break } "Warning" { "DarkYellow" ; break } "Failure" { "DarkRed" ; break } "Error" { "Red" ; break } "Exception" { "Red" ; break } "InvocationSource" { "DarkGray" ; break } default { "Gray" ; break } } Write-Output $MessageObject } catch { Write-ExceptionMessage -e $_ } } } |