Data/Hashtable/Add-HashtableItem.ps1

<#
.SYNOPSIS
    Add the item to the hashtable if it has a value. Useful for splatting.
.NOTES
    See the alternative approach using Remove-HashtableItem
.LINK
    Remove-HashtableItem
#>

function Add-HashtableItem
{
[CmdletBinding()]
param(
    [alias("ht")]
    [parameter(Position = 1, Mandatory = $true)]
    [Hashtable] $Hashtable

,   [alias("k")]
    [parameter(Position = 2, Mandatory = $true)]
    [string] $Key

,   [alias("v")]
    [parameter(Position = 3, Mandatory = $false)]
    [object] $Value
)
Write-Debug "Add-HashtableItem: Checking adding $Value to $Key"
if ($null -ne $Value -and $Value -ne '')
{
    Write-Debug "Add-HashtableItem: Adding to Hashtable $Key = $Value"
    $Hashtable.Add($Key ,$Value)
}
}