| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- //
- // DeliveryLimits.swift
- // LoopKit
- //
- // Created by Rick Pasetto on 7/15/20.
- // Copyright © 2020 LoopKit Authors. All rights reserved.
- //
- import HealthKit
- public struct DeliveryLimits: Equatable {
- public enum Setting: Equatable {
- case maximumBasalRate
- case maximumBolus
- }
- private var settings: [Setting: HKQuantity]
- public init(maximumBasalRate: HKQuantity?, maximumBolus: HKQuantity?) {
- settings = [:]
- settings[.maximumBasalRate] = maximumBasalRate
- settings[.maximumBolus] = maximumBolus
- }
- public var maximumBasalRate: HKQuantity? {
- get { settings[.maximumBasalRate] }
- set { settings[.maximumBasalRate] = newValue }
- }
- public var maximumBolus: HKQuantity? {
- get { settings[.maximumBolus] }
- set { settings[.maximumBolus] = newValue }
- }
- }
- public extension DeliveryLimits.Setting {
- // The following comes from https://tidepool.atlassian.net/browse/IFU-24
- var title: String {
- switch self {
- case .maximumBasalRate:
- return LocalizedString("Maximum Basal Rate", comment: "Title text for maximum basal rate configuration")
- case .maximumBolus:
- return LocalizedString("Maximum Bolus", comment: "Title text for maximum bolus configuration")
- }
- }
-
- func localizedDescriptiveText(appName: String) -> String {
- switch self {
- case .maximumBasalRate:
- return String(format: LocalizedString("Maximum Basal Rate is the highest temporary basal rate %1$@ is allowed to set.", comment: "Descriptive text for maximum basal rate (1: app name)"), appName)
- case .maximumBolus:
- return LocalizedString("Maximum Bolus is the highest bolus amount you can deliver at one time to cover carbs or bring down high glucose.", comment: "Descriptive text for maximum bolus")
- }
- }
- }
|