namespace Godosa.Core.Diagnostics; /// Opt-in debug categories from one environment value: a comma list, /// case-insensitive; all turns on every category but not /// switches (perf experiments like nohud). public sealed class DebugFlags { private readonly string[] _names; public DebugFlags(string? value) => _names = (value ?? "").Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); public bool On(string category) => Array.Exists(_names, n => n.Equals(category, StringComparison.OrdinalIgnoreCase) || n.Equals("all", StringComparison.OrdinalIgnoreCase)); public bool Exact(string name) => Array.Exists(_names, n => n.Equals(name, StringComparison.OrdinalIgnoreCase)); }