Browse Source

enum OpenAPSName

Ivan Valkou 5 years ago
parent
commit
a473a4cf32
2 changed files with 18 additions and 3 deletions
  1. 3 0
      FreeAPS/Helpers/JSON.swift
  2. 15 3
      FreeAPS/OpenAPS/OpenAPS.swift

+ 3 - 0
FreeAPS/Helpers/JSON.swift

@@ -38,3 +38,6 @@ extension Int: JSON {}
 
 extension Bool: JSON {}
 
+extension OpenAPSName: JSON {
+    var string: String { rawValue }
+}

+ 15 - 3
FreeAPS/OpenAPS/OpenAPS.swift

@@ -29,14 +29,14 @@ final class OpenAPS {
         let profile = loadJSON(name: "profile")
         let autosensData = Autosens(ratio: 1.0)
         let mealData = loadJSON(name: "meal")
-        let tempBasalFunctions = "tempBasalFunctions"
+        let tempBasalFunctions: OpenAPSName = .tempBasalFunctions
         let microBolusAllowed = true
         let reservoir = 100
         let tsMilliseconds = 1527924300000
 
-        let glucoseStatus = jsWorker.call(function: "getLastGlucose", with: [glucose])
+        let glucoseStatus = jsWorker.call(function: .getLastGlucose, with: [glucose])
         let result = jsWorker.call(
-            function: "determine_basal",
+            function: .determineBasal,
             with: [
                 glucoseStatus,
                 currentTemp,
@@ -59,3 +59,15 @@ final class OpenAPS {
         try! String(contentsOf: Bundle.main.url(forResource: "json/\(name)", withExtension: "json")!)
     }
 }
+
+enum OpenAPSName: String {
+    case tempBasalFunctions
+    case getLastGlucose
+    case determineBasal = "determine_basal"
+}
+
+extension JavaScriptWorker {
+    func call(function: OpenAPSName, with arguments: [JSON]) -> JSON {
+        call(function: function.string, with: arguments)
+    }
+}