BloodGlucoseExtensions.swift 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import Foundation
  2. import LibreTransmitter
  3. import LoopKit
  4. extension BloodGlucose.Direction {
  5. init(trend: Int) {
  6. guard trend < Int(Int8.max) else {
  7. self = .none
  8. return
  9. }
  10. switch trend {
  11. case let x where x <= -30:
  12. self = .doubleDown
  13. case let x where x <= -20:
  14. self = .singleDown
  15. case let x where x <= -10:
  16. self = .fortyFiveDown
  17. case let x where x < 10:
  18. self = .flat
  19. case let x where x < 20:
  20. self = .fortyFiveUp
  21. case let x where x < 30:
  22. self = .singleUp
  23. default:
  24. self = .doubleUp
  25. }
  26. }
  27. init(trendType: LoopKit.GlucoseTrend?) {
  28. switch trendType {
  29. case .upUpUp:
  30. self = .doubleUp
  31. case .upUp:
  32. self = .singleUp
  33. case .up:
  34. self = .fortyFiveUp
  35. case .flat:
  36. self = .flat
  37. case .down:
  38. self = .fortyFiveDown
  39. case .downDown:
  40. self = .singleDown
  41. case .downDownDown:
  42. self = .doubleDown
  43. default:
  44. self = .none
  45. }
  46. }
  47. }