DateRelativeCarbEntry.swift 913 B

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // DateRelativeCarbEntry.swift
  3. // LoopTestingKit
  4. //
  5. // Created by Michael Pangburn on 4/20/19.
  6. // Copyright © 2019 LoopKit Authors. All rights reserved.
  7. //
  8. import HealthKit
  9. import LoopKit
  10. struct DateRelativeCarbEntry: DateRelativeQuantity, Codable {
  11. var gramValue: Double
  12. var dateOffset: TimeInterval
  13. var enteredAtOffset: TimeInterval?
  14. var absorptionTime: TimeInterval
  15. var quantity: HKQuantity {
  16. return HKQuantity(unit: .gram(), doubleValue: gramValue)
  17. }
  18. func newCarbEntry(relativeTo referenceDate: Date) -> NewCarbEntry {
  19. let startDate = referenceDate.addingTimeInterval(dateOffset)
  20. return NewCarbEntry(quantity: quantity, startDate: startDate, foodType: nil, absorptionTime: absorptionTime)
  21. }
  22. func enteredAt(relativeTo referenceDate: Date) -> Date {
  23. return referenceDate.addingTimeInterval(enteredAtOffset ?? dateOffset)
  24. }
  25. }