Public/New-YearsObject.ps1
function New-YearsObject { [CmdletBinding(SupportsShouldProcess)] Param ( [Parameter(Mandatory,ValueFromPipeline)] [string]$Year, [int]$Depth ) begin { $YearsObject = New-Object PSObject } process { $YearObject = New-YearObject $YearsObject | Add-Member -MemberType NoteProperty -Name $Year -Value $YearObject } end { switch ($Depth) { 1 { $YearsObject | ConvertTo-Json -Depth 1 | ConvertFrom-Json } 2 { $YearsObject | ConvertTo-Json -Depth 2 | ConvertFrom-Json } 3 { $YearsObject | ConvertTo-Json -Depth 3 | ConvertFrom-Json } default { $YearsObject } } } } |