Private/ConvertTo-ScriptMessageBodyObject.ps1
function ConvertTo-ScriptMessageBodyObject { [CmdletBinding()] param( [Parameter( Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [AllowEmptyCollection()] [AllowNull()] [pscustomobject]$Body ) begin { if ([string]::IsNullOrEmpty($Body)) { return $null } } process { # Check if 'Body' is string. If it is, turn into a PSobject. if ($Body.GetType().Name -eq 'String') { $ScriptMessageBodyObject = [PSCustomObject]@{ ContentType = 'Text' Content = $Body } } else # Return item as properly formatted PSObject that includes the 'ContentType' property. { $ScriptMessageBodyObject = [PSCustomObject]@{ ContentType = $Body.ContentType Content = $Body.Content } } } end { return $ScriptMessageBodyObject } } |