Private/Action/SplatParameters.ps1
function JsonMenu.Action.SplatParameters { <# .SYNOPSIS Splats the Parameters into a hashtable .DESCRIPTION .EXAMPLE .INPUTS .OUTPUTS .NOTES #> [CmdletBinding()] [OutputType([Hashtable])] param ( [PSObject] $Parameters ) process { $splattedParameters = @{} foreach ($parameter in $Parameters) { # expanding on parameters is disabled because # $True becomes True for Boolean values # Is there really a need for this. Maybe a little bit overdone if ( $parameter -is [string] ) { $name = $parameter $value = $null } else { $name = $parameter.PSObject.Properties.Name $value = $parameter.PSObject.Properties.Value } $splattedParameters.Add($name, $value) } return $splattedParameters } } |