public/Write-CmdletLink.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function Write-CmdletLink() {
    Param(
        [Parameter(Position = 0)]
        [PsCustomObject] $Model,

        [Parameter(Position = 1)]
        [String] $HeaderTemplate,

        [Parameter(Position = 2)]
        [String] $ItemTemplate
    )

    $links = $Model.Links 
    if($links -and $links.Length) {
        if([String]::IsNullOrWhitespace($HeaderTemplate)) {
            $HeaderTemplate = @"
## Links
 
"@


        }

        if([String]::IsNullOrWhitespace($ItemTemplate)) {
            $ItemTemplate = @"
- [{0}]({1})
"@

        }

        $out = ""
        $out+= $HeaderTemplate;

        $model.Links | ForEach-Object {
            if($_ -eq $Null) {
                return;
            }
            $name = $_.Name 
            $link = $_.Link

            $out += [String]::Format($ItemTemplate, $name, $link)
        }

        $out += "`n`n"
        
        return $out;
    }
   

    return "";
}