HKUnit.swift 924 B

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // HKUnit.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 1/17/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import HealthKit
  9. extension HKUnit {
  10. static let milligramsPerDeciliter: HKUnit = {
  11. return HKUnit.gramUnit(with: .milli).unitDivided(by: .literUnit(with: .deci))
  12. }()
  13. static let millimolesPerLiter: HKUnit = {
  14. return HKUnit.moleUnit(with: .milli, molarMass: HKUnitMolarMassBloodGlucose).unitDivided(by: .liter())
  15. }()
  16. var foundationUnit: Unit? {
  17. if self == HKUnit.milligramsPerDeciliter {
  18. return UnitConcentrationMass.milligramsPerDeciliter
  19. }
  20. if self == HKUnit.millimolesPerLiter {
  21. return UnitConcentrationMass.millimolesPerLiter(withGramsPerMole: HKUnitMolarMassBloodGlucose)
  22. }
  23. if self == HKUnit.gram() {
  24. return UnitMass.grams
  25. }
  26. return nil
  27. }
  28. }