import Combine import Foundation import Swinject protocol NetworkManager {} final class BaseNetworkManager: NetworkManager, Injectable { @Injected() private var keychain: Keychain! private var nightscoutAPI: NightscoutAPI? { guard let urlString = keychain.getValue(String.self, forKey: NightscoutConfig.Config.urlKey), let url = URL(string: urlString), let secret = keychain.getValue(String.self, forKey: NightscoutConfig.Config.secretKey) else { return nil } return NightscoutAPI(url: url, secret: secret) } init(resolver: Resolver) { injectServices(resolver) } }