using System; using System.Collections.Generic; using static StellaOps.Localization.T; namespace StellaOps.Configuration; public sealed partial class StellaOpsAuthorityOptions { private static void ValidateLifetime(TimeSpan value, string propertyName, TimeSpan maximum) { if (value <= TimeSpan.Zero) { throw new InvalidOperationException(_t("config.authority.property_greater_than_zero", propertyName)); } if (value > maximum) { throw new InvalidOperationException(_t("config.authority.property_max", propertyName, maximum)); } } private static void NormaliseList(IList values) { if (values.Count == 0) { return; } var unique = new HashSet(StringComparer.OrdinalIgnoreCase); for (var index = values.Count - 1; index >= 0; index--) { var entry = values[index]; if (string.IsNullOrWhiteSpace(entry)) { values.RemoveAt(index); continue; } var trimmed = entry.Trim(); if (!unique.Add(trimmed)) { values.RemoveAt(index); continue; } values[index] = trimmed; } } }