in src/PSRule/Configuration/BaselineOption.cs [112:152]
internal static void Load(IBaselineSpec option, Dictionary<string, object> properties)
{
if (properties.TryPopValue("Binding.Field", out Hashtable map))
option.Binding.Field = new FieldMap(map);
if (properties.TryPopBool("Binding.IgnoreCase", out var ignoreCase))
option.Binding.IgnoreCase = ignoreCase;
if (properties.TryPopString("Binding.NameSeparator", out var nameSeparator))
option.Binding.NameSeparator = nameSeparator;
if (properties.TryPopBool("Binding.PreferTargetInfo", out var preferTargetInfo))
option.Binding.PreferTargetInfo = preferTargetInfo;
if (properties.TryPopStringArray("Binding.TargetName", out var targetName))
option.Binding.TargetName = targetName;
if (properties.TryPopStringArray("Binding.TargetType", out var targetType))
option.Binding.TargetType = targetType;
if (properties.TryPopValue("Binding.UseQualifiedName", out bool useQualifiedName))
option.Binding.UseQualifiedName = useQualifiedName;
if (properties.TryPopString("Rule.Baseline", out var baseline))
option.Rule.Baseline = baseline;
if (properties.TryPopStringArray("Rule.Exclude", out var exclude))
option.Rule.Exclude = exclude;
if (properties.TryPopBool("Rule.IncludeLocal", out var includeLocal))
option.Rule.IncludeLocal = includeLocal;
if (properties.TryPopStringArray("Rule.Include", out var include))
option.Rule.Include = include;
if (properties.TryPopValue("Rule.Tag", out Hashtable tag))
option.Rule.Tag = tag;
// Process configuration values
option.Configuration.Load(properties);
}