Get-BoxChar.ps1
<#
.Synopsis Generates ASCII strings for drawing boxes. .Description Generates ASCII strings for drawing boxes. Also supports transforming an entire string. .Parameter Count How many ASCII characters to emit. .Parameter Style Which style to use, Single or Double. .Parameter Name Which box art to emit. .Parameter Text String that references box art aliases. #> function Get-BoxChar { param([ValidateRange(1,1000)][int]$Count = 1 , [ValidateSet("Double","Single")][string]$Style = "Double" , [Parameter(Mandatory, ParameterSetName="byName")][ValidateSet("Cross", "DownLeft", "DownRight", "Horizontal", "HorizontalUpDownOther", "SplitDown", "SplitDownOther", "SplitLeft", "SplitLeftOther", "SplitRight", "SplitRightOther", "SplitUp", "SplitUpOther", "UpLeft", "UpRight", "Vertical", "VerticalRightLeftOther")] [string]$Name , [Parameter(Mandatory, ParameterSetName="byAlias")] [string]$Text ) if($PSCmdlet.ParameterSetName -eq "byName") { [BoxClass]::$Style.$Name * $count } else { [BoxClass]::Transform($Text, $Style) } } |