private/Resolve-GlyBuiltInGlyph.ps1
|
function Resolve-GlyBuiltInGlyph { param( [Parameter(Mandatory)] [object] $GlyphSet, [Parameter(Mandatory)] [System.IO.FileSystemInfo] $InputObject, [GlyBuiltInSelectorDefinition] $ResolvedSelector ) if ($null -ne $ResolvedSelector -and $GlyphSet.Map.ContainsKey($ResolvedSelector.Token)) { return [string] $GlyphSet.Map[$ResolvedSelector.Token] } if ($GlyphSet.CompleteCatalog) { return [string] $GlyphSet.Map.Default } if ($null -eq $GlyphSet.RuleCache) { $GlyphSet.RuleCache = [GlyGlyphRule[]] @( foreach ($definition in Get-GlyBuiltInSelectorCatalog) { if ($GlyphSet.Map.ContainsKey($definition.Token)) { [GlyGlyphRule]@{ Selector = $definition.Selector Glyph = [string] $GlyphSet.Map[$definition.Token] } } } ) } $rule = Resolve-GlyFileSystemRule -InputObject $InputObject -Rules $GlyphSet.RuleCache if ($null -ne $rule) { return $rule.Glyph } return [string] $GlyphSet.Map.Default } |