HKUnit.swift 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. static let internationalUnitsPerHour: HKUnit = {
  17. return HKUnit.internationalUnit().unitDivided(by: .hour())
  18. }()
  19. var foundationUnit: Unit? {
  20. if self == HKUnit.milligramsPerDeciliter {
  21. return UnitConcentrationMass.milligramsPerDeciliter
  22. }
  23. if self == HKUnit.millimolesPerLiter {
  24. return UnitConcentrationMass.millimolesPerLiter(withGramsPerMole: HKUnitMolarMassBloodGlucose)
  25. }
  26. if self == HKUnit.gram() {
  27. return UnitMass.grams
  28. }
  29. return nil
  30. }
  31. }