QuantityFormatter+Guardrails.swift 741 B

123456789101112131415161718192021222324252627
  1. //
  2. // QuantityFormatter+Guardrails.swift
  3. // LoopKitUI
  4. //
  5. // Created by Rick Pasetto on 11/30/20.
  6. // Copyright © 2020 LoopKit Authors. All rights reserved.
  7. //
  8. import HealthKit
  9. import LoopKit
  10. fileprivate let mgdLFormatter = QuantityFormatter()
  11. fileprivate let mmolLFormatter: QuantityFormatter = {
  12. let result = QuantityFormatter()
  13. result.numberFormatter.maximumFractionDigits = 1
  14. return result
  15. }()
  16. extension HKQuantity {
  17. // TODO: pass in preferredUnit instead of having both units.
  18. var bothUnitsString: String {
  19. String(format: "%1$@ (%2$@)",
  20. mgdLFormatter.string(from: self, for: .milligramsPerDeciliter)!,
  21. mmolLFormatter.string(from: self, for: .millimolesPerLiter)!)
  22. }
  23. }