Ivan Valkou 5 سال پیش
والد
کامیت
dd48c654e7
3فایلهای تغییر یافته به همراه25 افزوده شده و 5 حذف شده
  1. 8 0
      FreeAPS/OpenAPS/JavaScriptWorker.swift
  2. 2 1
      FreeAPS/OpenAPS/OpenAPS.swift
  3. 15 4
      javascript/prepare.js

+ 8 - 0
FreeAPS/OpenAPS/JavaScriptWorker.swift

@@ -23,6 +23,10 @@ final class JavaScriptWorker {
         }
     }
 
+//    lazy var require: @convention(block) (String) -> (JSValue?) = { path in
+//        return nil
+//    }
+
     @discardableResult
     func evaluate(script: Script) -> JSValue! {
         context.evaluateScript(script.body)
@@ -49,4 +53,8 @@ final class JavaScriptWorker {
     func setEnviromentValue(_ value: JSON, forKey key: String) {
         evaluate(string: "freeaps.\(key) = \(value.string);")
     }
+
+    var log: String {
+        context.objectForKeyedSubscript("freeaps")!.objectForKeyedSubscript("log")!.toString()!
+    }
 }

+ 2 - 1
FreeAPS/OpenAPS/OpenAPS.swift

@@ -50,8 +50,9 @@ final class OpenAPS {
                 tsMilliseconds
             ]
         )
+        print(jsWorker.log)
         print(result)
-        print(jsWorker["logError"]!.toString()!)
+
         
     }
 

+ 15 - 4
javascript/prepare.js

@@ -1,5 +1,16 @@
-var require = function(arg) { return function(basal, profile) { return basal; }; };
+var require = function(arg) {
+    return function(basal, profile) { return basal; };
+};
+
 var module = {};
-var logError = "";
-var process = { stderr: { write: console.log } };
-var freeaps = {};
+var freeaps = {
+    log: ""
+};
+
+freeaps.print = function(...args) {
+    args.forEach(element => freeaps.log += JSON.stringify(element) + " ");
+    freeaps.log += "\n";
+}
+
+var process = { stderr: { write: freeaps.print } };
+var console = { log: freeaps.print, error: freeaps.print };