Peter SteinbergerRelease 0.6.0b5625b811 months agoHistory
30 lines · 891 B · Swift
RawDownload
import CodexBarCoreimport Foundation struct ProviderToggleStore {    private let userDefaults: UserDefaults    private let key = "providerToggles"     init(userDefaults: UserDefaults = .standard) {        self.userDefaults = userDefaults    }     func isEnabled(metadata: ProviderMetadata) -> Bool {        self.load()[metadata.cliName] ?? metadata.defaultEnabled    }     func setEnabled(_ enabled: Bool, metadata: ProviderMetadata) {        var toggles = self.load()        toggles[metadata.cliName] = enabled        self.userDefaults.set(toggles, forKey: self.key)    }     private func load() -> [String: Bool] {        (self.userDefaults.dictionary(forKey: self.key) as? [String: Bool]) ?? [:]    }     func purgeLegacyKeys() {        self.userDefaults.removeObject(forKey: "showCodexUsage")        self.userDefaults.removeObject(forKey: "showClaudeUsage")    }}