CGMViewModel.swift 579 B

123456789101112131415161718192021
  1. import SwiftUI
  2. extension CGM {
  3. class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: CGMProvider {
  4. @Injected() var settingsManager: SettingsManager!
  5. @Published var cgm: CGMType = .nightscout
  6. override func subscribe() {
  7. cgm = settingsManager.settings.cgm ?? .nightscout
  8. $cgm
  9. .removeDuplicates()
  10. .sink { [weak self] value in
  11. self?.settingsManager.settings.cgm = value
  12. }
  13. .store(in: &lifetime)
  14. }
  15. }
  16. }