namespace MeetingAssistant.Recording; internal static class NotificationActivationArguments { public static IReadOnlyDictionary Parse(string argumentText) { if (string.IsNullOrWhiteSpace(argumentText)) { return new Dictionary(); } var arguments = new Dictionary(StringComparer.OrdinalIgnoreCase); foreach (var pair in argumentText.Split(['&', ';'], StringSplitOptions.RemoveEmptyEntries)) { var separatorIndex = pair.IndexOf('='); if (separatorIndex < 0) { arguments[Uri.UnescapeDataString(pair)] = ""; continue; } var key = Uri.UnescapeDataString(pair[..separatorIndex]); var value = Uri.UnescapeDataString(pair[(separatorIndex + 1)..]); arguments[key] = value; } return arguments; } }