InsulinSensitivityScheduleEditorViewModel.swift 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. //
  2. // InsulinSensitivityScheduleEditorViewModel.swift
  3. // LoopKitUI
  4. //
  5. // Created by Nathaniel Hamming on 2021-03-15.
  6. // Copyright © 2021 LoopKit Authors. All rights reserved.
  7. //
  8. import Foundation
  9. import HealthKit
  10. import LoopKit
  11. struct InsulinSensitivityScheduleEditorViewModel {
  12. let insulinSensitivitySchedule: InsulinSensitivitySchedule?
  13. var saveInsulinSensitivitySchedule: (_ insulinSensitivitySchedule: InsulinSensitivitySchedule) -> Void
  14. init(therapySettingsViewModel: TherapySettingsViewModel,
  15. didSave: (() -> Void)? = nil)
  16. {
  17. self.insulinSensitivitySchedule = therapySettingsViewModel.insulinSensitivitySchedule
  18. self.saveInsulinSensitivitySchedule = { [weak therapySettingsViewModel] insulinSensitivitySchedule in
  19. guard let therapySettingsViewModel = therapySettingsViewModel else {
  20. return
  21. }
  22. therapySettingsViewModel.saveInsulinSensitivitySchedule(insulinSensitivitySchedule: insulinSensitivitySchedule)
  23. didSave?()
  24. }
  25. }
  26. }