import Foundation extension UserDefaults { private static let defaults = UserDefaults.standard private static let lyricsSourceKey = "lyricsSource" private static let musixmatchTokenKey = "musixmatchToken" static var lyricsSource: LyricsSource { get { if let rawValue = defaults.object(forKey: lyricsSourceKey) as? Int { return LyricsSource(rawValue: rawValue)! } return .lrclib } set (newSource) { defaults.set(newSource.rawValue, forKey: lyricsSourceKey) } } static var musixmatchToken: String { get { defaults.string(forKey: musixmatchTokenKey) ?? "" } set (token) { defaults.set(token, forKey: musixmatchTokenKey) } } }