From e07050c08cfe1b78dc0ad411e00427380e0fdeb3 Mon Sep 17 00:00:00 2001 From: mrFq1 <1xxbx0il0@mozmail.com> Date: Mon, 19 Jun 2023 15:02:00 +0800 Subject: [PATCH] chore: ClashProxyType ignore case --- .../ClashX Links/Models/ClashProxy.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Sources/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift b/Sources/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift index c0b74da..f0dad7f 100644 --- a/Sources/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift +++ b/Sources/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift @@ -9,7 +9,7 @@ import Cocoa import SwiftyJSON -enum ClashProxyType: String, Codable { +enum ClashProxyType: String, Codable, CaseIterable { case urltest = "URLTest" case fallback = "Fallback" case loadBalance = "LoadBalance" @@ -27,13 +27,19 @@ enum ClashProxyType: String, Codable { case vless = "Vless" case hysteria = "Hysteria" - case wireguardMeta = "WireGuard" case wireguard = "Wireguard" case tuic = "Tuic" case pass = "Pass" case unknown = "Unknown" + + init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + let rawString = try container.decode(String.self) + + self = ClashProxyType.allCases.first(where: { $0.rawValue.caseInsensitiveCompare(rawString) == .orderedSame }) ?? .unknown + } static let proxyGroups: [ClashProxyType] = [.select, .urltest, .fallback, .loadBalance]