Sources/DDMock/DDMockSettingsBundleHelper.swift (38 lines of code) (raw):

import Foundation class DDMockSettingsBundleHelper { private static let statusCode = "_status_code" private static let responseTime = "_response_time" private static let endpoint = "_endpoint" private static let mockFile = "_mock_file" private static let useRealApi = "_use_real_api" private static let globalUseRealApis = "use_real_apis" static func getSelectedMockFile(key: String) -> Int { return UserDefaults.standard.integer(forKey: getSettingsBundleKey(key: key) + mockFile) } static func getStatusCode(key: String) -> Int { let userDefaultKey = getSettingsBundleKey(key: key) + statusCode if (UserDefaults.standard.object(forKey: userDefaultKey) == nil) { return MockEntry.defaultStatusCode } else { return UserDefaults.standard.integer(forKey: userDefaultKey) } } static func getResponseTime(key: String) -> Int { let userDefaultKey = getSettingsBundleKey(key: key) + responseTime if (UserDefaults.standard.object(forKey: userDefaultKey) == nil) { return MockEntry.defaultResponseTime } else { return UserDefaults.standard.integer(forKey: userDefaultKey) } } static func useRealAPI(key: String) -> Bool { let userDefaultKey = getSettingsBundleKey(key: key) + useRealApi return UserDefaults.standard.object(forKey: userDefaultKey) as? Bool ?? false } static func globalUseRealAPIs() -> Bool { return UserDefaults.standard.object(forKey: globalUseRealApis) as? Bool ?? false } private static func getSettingsBundleKey(key: String) -> String { return key.replacingOccurrences(of: "/", with: ".") } }