private/ConvertTo-GlyGlyphSet.ps1
|
function ConvertTo-GlyGlyphSet { param( [Parameter(Mandatory)] [object] $GlyphSet ) $result = [GlyGlyphSet]::new() $result.Name = [string] (Get-GlyValue -InputObject $GlyphSet -Name 'Name') $result.BuiltIn = [bool] (Get-GlyValue -InputObject $GlyphSet -Name 'BuiltIn' -Default $false) $default = Get-GlyValue -InputObject $GlyphSet -Name 'Default' if ($null -ne $default) { $result.Default = [string] $default } $rules = foreach ($rule in @(Get-GlyValue -InputObject $GlyphSet -Name 'Rules' -Default @())) { $typedRule = [GlyGlyphRule]::new() $typedRule.Selector = ConvertTo-GlySelector -Selector (Get-GlyValue -InputObject $rule -Name 'Selector') $typedRule.Glyph = [string] (Get-GlyValue -InputObject $rule -Name 'Glyph') $typedRule } $result.Rules = [GlyGlyphRule[]] @($rules) return $result } |