namespace AvParser.Core.Parsing; /// Read-only view over every registered text parser. public interface IParserCatalog { /// All registered parsers, ordered by . IReadOnlyList Parsers { get; } /// The parser used when nothing has been chosen yet. ITextParser DefaultParser { get; } /// Finds a parser by its stable id; when unknown. ITextParser? Find(string? id); /// Finds a parser by id, falling back to . ITextParser FindOrDefault(string? id) => Find(id) ?? DefaultParser; }