From dae3e9303122531b79758463178aefa56ae368fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C3=B6ls?= <6608231+Abrynos@users.noreply.github.com> Date: Sun, 5 Jun 2022 15:59:34 +0200 Subject: [PATCH] Make use of "or" keyword in switch statements (#2598) --- ArchiSteamFarm/Core/Utilities.cs | 4 +- ArchiSteamFarm/IPC/Startup.cs | 3 +- ArchiSteamFarm/Steam/Bot.cs | 19 +------ ArchiSteamFarm/Steam/Interaction/Commands.cs | 60 +++++++------------- ArchiSteamFarm/Web/WebBrowser.cs | 3 +- 5 files changed, 26 insertions(+), 63 deletions(-) diff --git a/ArchiSteamFarm/Core/Utilities.cs b/ArchiSteamFarm/Core/Utilities.cs index 050bf7086..5df9065bc 100644 --- a/ArchiSteamFarm/Core/Utilities.cs +++ b/ArchiSteamFarm/Core/Utilities.cs @@ -320,9 +320,7 @@ public static class Utilities { // Skip translation progress for English and invariant (such as "C") cultures switch (CultureInfo.CurrentUICulture.TwoLetterISOLanguageName) { - case "en": - case "iv": - case "qps": + case "en" or "iv" or "qps": return; } diff --git a/ArchiSteamFarm/IPC/Startup.cs b/ArchiSteamFarm/IPC/Startup.cs index af899f192..0ea7e416e 100644 --- a/ArchiSteamFarm/IPC/Startup.cs +++ b/ArchiSteamFarm/IPC/Startup.cs @@ -107,8 +107,7 @@ internal sealed class Startup { CacheControlHeaderValue cacheControl = new(); switch (extension.ToUpperInvariant()) { - case ".CSS": - case ".JS": + case ".CSS" or ".JS": // Add support for SRI-protected static files // SRI requires from us to notify the caller (especially proxy) to avoid modifying the data cacheControl.NoTransform = true; diff --git a/ArchiSteamFarm/Steam/Bot.cs b/ArchiSteamFarm/Steam/Bot.cs index 5cce8cc2a..6f0fd536f 100644 --- a/ArchiSteamFarm/Steam/Bot.cs +++ b/ArchiSteamFarm/Steam/Bot.cs @@ -1100,8 +1100,7 @@ public sealed class Bot : IAsyncDisposable { switch (releaseState!.ToUpperInvariant()) { case "RELEASED": break; - case "PRELOADONLY": - case "PRERELEASE": + case "PRELOADONLY" or "PRERELEASE": return (0, DateTime.MaxValue, true); default: ArchiLogger.LogGenericError(string.Format(CultureInfo.CurrentCulture, Strings.WarningUnknownValuePleaseReport, nameof(releaseState), releaseState)); @@ -1119,22 +1118,10 @@ public sealed class Bot : IAsyncDisposable { // We must convert this to uppercase, since Valve doesn't stick to any convention and we can have a case mismatch // ReSharper disable once RedundantSuppressNullableWarningExpression - required for .NET Framework switch (type!.ToUpperInvariant()) { - case "APPLICATION": - case "EPISODE": - case "GAME": - case "MOD": - case "MOVIE": - case "SERIES": - case "TOOL": - case "VIDEO": + case "APPLICATION" or "EPISODE" or "GAME" or "MOD" or "MOVIE" or "SERIES" or "TOOL" or "VIDEO": // Types that can be idled return (appID, DateTime.MinValue, true); - case "ADVERTISING": - case "DEMO": - case "DLC": - case "GUIDE": - case "HARDWARE": - case "MUSIC": + case "ADVERTISING" or "DEMO" or "DLC" or "GUIDE" or "HARDWARE" or "MUSIC": // Types that can't be idled break; default: diff --git a/ArchiSteamFarm/Steam/Interaction/Commands.cs b/ArchiSteamFarm/Steam/Interaction/Commands.cs index 31dff7a2a..864ae1d58 100644 --- a/ArchiSteamFarm/Steam/Interaction/Commands.cs +++ b/ArchiSteamFarm/Steam/Interaction/Commands.cs @@ -191,11 +191,9 @@ public sealed class Commands { return await Response2FAConfirm(access, Utilities.GetArgsAsText(args, 1, ","), false, steamID).ConfigureAwait(false); case "2FAOK": return await Response2FAConfirm(access, Utilities.GetArgsAsText(args, 1, ","), true, steamID).ConfigureAwait(false); - case "ADDLICENCE" when args.Length > 2: - case "ADDLICENSE" when args.Length > 2: + case "ADDLICENCE" or "ADDLICENSE" when args.Length > 2: return await ResponseAddLicense(access, args[1], Utilities.GetArgsAsText(args, 2, ","), steamID).ConfigureAwait(false); - case "ADDLICENCE": - case "ADDLICENSE": + case "ADDLICENCE" or "ADDLICENSE": return await ResponseAddLicense(access, args[1]).ConfigureAwait(false); case "BALANCE": return await ResponseWalletBalance(access, Utilities.GetArgsAsText(args, 1, ","), steamID).ConfigureAwait(false); @@ -285,17 +283,13 @@ public sealed class Commands { return await ResponsePrivacy(access, args[1], Utilities.GetArgsAsText(args, 2, ","), steamID).ConfigureAwait(false); case "PRIVACY": return await ResponsePrivacy(access, args[1]).ConfigureAwait(false); - case "R" when args.Length > 2: - case "REDEEM" when args.Length > 2: + case "R" or "REDEEM" when args.Length > 2: return await ResponseRedeem(access, args[1], Utilities.GetArgsAsText(args, 2, ","), steamID: steamID).ConfigureAwait(false); - case "R": - case "REDEEM": + case "R" or "REDEEM": return await ResponseRedeem(access, args[1], steamID).ConfigureAwait(false); - case "R^" when args.Length > 3: - case "REDEEM^" when args.Length > 3: + case "R^" or "REDEEM^" when args.Length > 3: return await ResponseAdvancedRedeem(access, args[1], args[2], Utilities.GetArgsAsText(args, 3, ","), steamID).ConfigureAwait(false); - case "R^" when args.Length > 2: - case "REDEEM^" when args.Length > 2: + case "R^" or "REDEEM^" when args.Length > 2: return await ResponseAdvancedRedeem(access, args[1], args[2], steamID).ConfigureAwait(false); case "RESET": return await ResponseReset(access, Utilities.GetArgsAsText(args, 1, ","), steamID).ConfigureAwait(false); @@ -654,8 +648,7 @@ public sealed class Commands { } switch (type.ToUpperInvariant()) { - case "A": - case "APP": + case "A" or "APP": SteamApps.FreeLicenseCallback callback; try { @@ -799,53 +792,43 @@ public sealed class Commands { foreach (string flag in flags) { switch (flag.ToUpperInvariant()) { - case "FAWK": - case "FORCEASSUMEWALLETKEY": + case "FAWK" or "FORCEASSUMEWALLETKEY": redeemFlags |= ERedeemFlags.ForceAssumeWalletKeyOnBadActivationCode; break; - case "FD": - case "FORCEDISTRIBUTING": + case "FD" or "FORCEDISTRIBUTING": redeemFlags |= ERedeemFlags.ForceDistributing; break; - case "FF": - case "FORCEFORWARDING": + case "FF" or "FORCEFORWARDING": redeemFlags |= ERedeemFlags.ForceForwarding; break; - case "FKMG": - case "FORCEKEEPMISSINGGAMES": + case "FKMG" or "FORCEKEEPMISSINGGAMES": redeemFlags |= ERedeemFlags.ForceKeepMissingGames; break; - case "SAWK": - case "SKIPASSUMEWALLETKEY": + case "SAWK" or "SKIPASSUMEWALLETKEY": redeemFlags |= ERedeemFlags.SkipAssumeWalletKeyOnBadActivationCode; break; - case "SD": - case "SKIPDISTRIBUTING": + case "SD" or "SKIPDISTRIBUTING": redeemFlags |= ERedeemFlags.SkipDistributing; break; - case "SF": - case "SKIPFORWARDING": + case "SF" or "SKIPFORWARDING": redeemFlags |= ERedeemFlags.SkipForwarding; break; - case "SI": - case "SKIPINITIAL": + case "SI" or "SKIPINITIAL": redeemFlags |= ERedeemFlags.SkipInitial; break; - case "SKMG": - case "SKIPKEEPMISSINGGAMES": + case "SKMG" or "SKIPKEEPMISSINGGAMES": redeemFlags |= ERedeemFlags.SkipKeepMissingGames; break; - case "V": - case "VALIDATE": + case "V" or "VALIDATE": redeemFlags |= ERedeemFlags.Validate; break; @@ -1954,8 +1937,7 @@ public sealed class Commands { } switch (type.ToUpperInvariant()) { - case "A" when uint.TryParse(game, out uint appID) && (appID > 0): - case "APP" when uint.TryParse(game, out appID) && (appID > 0): + case "A" or "APP" when uint.TryParse(game, out uint appID) && (appID > 0): HashSet? packageIDs = ASF.GlobalDatabase?.GetPackageIDs(appID, Bot.OwnedPackageIDs.Keys); if (packageIDs?.Count > 0) { @@ -1986,8 +1968,7 @@ public sealed class Commands { } break; - case "R": - case "REGEX": + case "R" or "REGEX": Regex regex; try { @@ -2023,8 +2004,7 @@ public sealed class Commands { } continue; - case "S" when uint.TryParse(game, out uint packageID) && (packageID > 0): - case "SUB" when uint.TryParse(game, out packageID) && (packageID > 0): + case "S" or "SUB" when uint.TryParse(game, out uint packageID) && (packageID > 0): if (Bot.OwnedPackageIDs.ContainsKey(packageID)) { result[$"sub/{packageID}"] = packageID.ToString(CultureInfo.InvariantCulture); response.AppendLine(FormatBotResponse(string.Format(CultureInfo.CurrentCulture, Strings.BotOwnedAlready, $"sub/{packageID}"))); diff --git a/ArchiSteamFarm/Web/WebBrowser.cs b/ArchiSteamFarm/Web/WebBrowser.cs index c88c7a6b9..1c64f4965 100644 --- a/ArchiSteamFarm/Web/WebBrowser.cs +++ b/ArchiSteamFarm/Web/WebBrowser.cs @@ -867,8 +867,7 @@ public sealed class WebBrowser : IDisposable { if (redirectUri.IsAbsoluteUri) { switch (redirectUri.Scheme) { - case "http": - case "https": + case "http" or "https": break; case "steammobile": // Those redirections are invalid, but we're aware of that and we have extra logic for them