using Nonemm.Contests.Multipliers; namespace Nonemm.Contests; /// Every value an exchange field can hold, where the field has a list behind /// it. A serial number or a report has none, so those get an empty list rather /// than a guess. public static class ExchangeValues { private static readonly IReadOnlyList StatesAndProvincesList = [.. StatesAndProvinces.AllStates.Concat(StatesAndProvinces.Provinces).Order(StringComparer.Ordinal)]; private static readonly IReadOnlyList Sections = [.. ArrlSections.All.Order(StringComparer.Ordinal)]; public static IReadOnlyList For(ExchangeFieldKind kind) => kind switch { ExchangeFieldKind.ArrlSection => Sections, ExchangeFieldKind.UsStateOrCanadianProvince => StatesAndProvincesList, _ => [], }; }