Skip to content

Commit b90e1d4

Browse files
committed
feat: added return value on script evaluation
1 parent 3de1087 commit b90e1d4

File tree

4 files changed

+8
-22
lines changed

4 files changed

+8
-22
lines changed

api/src/main/java/com/instancify/scriptify/api/script/Script.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
/**
77
* Defines the structure of a script that can be executed.
88
*/
9-
public interface Script {
9+
public interface Script<T> {
1010

1111
/**
1212
* Retrieves the function manager associated with this script.
@@ -43,5 +43,5 @@ public interface Script {
4343
/**
4444
* Evaluates and executes this script.
4545
*/
46-
void eval(String script);
46+
T eval(String script);
4747
}

script-js-graalvm/src/main/java/com/instancify/scriptify/script/JsScript.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.instancify.scriptify.api.script.function.ScriptFunctionManager;
88
import org.graalvm.polyglot.*;
99

10-
public class JsScript implements Script {
10+
public class JsScript implements Script<Value> {
1111

1212
private final Context context = Context.create();
1313
private ScriptFunctionManager functionManager;
@@ -34,7 +34,7 @@ public void setConstantManager(ScriptConstantManager constantManager) {
3434
}
3535

3636
@Override
37-
public void eval(String script) {
37+
public Value eval(String script) {
3838
Value bindings = context.getBindings("js");
3939

4040
if (functionManager != null) {
@@ -49,6 +49,6 @@ public void eval(String script) {
4949
}
5050
}
5151

52-
context.eval("js", script);
52+
return context.eval("js", script);
5353
}
5454
}

script-js-rhino/src/main/java/com/instancify/scriptify/script/JsScript.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.mozilla.javascript.Context;
99
import org.mozilla.javascript.ScriptableObject;
1010

11-
public class JsScript implements Script {
11+
public class JsScript implements Script<Object> {
1212

1313
private final Context context = Context.enter();
1414
private final ScriptableObject scope = context.initStandardObjects();
@@ -36,7 +36,7 @@ public void setConstantManager(ScriptConstantManager constantManager) {
3636
}
3737

3838
@Override
39-
public void eval(String script) {
39+
public Object eval(String script) {
4040
if (functionManager != null) {
4141
for (ScriptFunction function : functionManager.getFunctions().values()) {
4242
scope.put(function.getName(), scope, new JsFunction(this, function));
@@ -49,6 +49,6 @@ public void eval(String script) {
4949
}
5050
}
5151

52-
context.evaluateString(scope, script, null, 1, null);
52+
return context.evaluateString(scope, script, null, 1, null);
5353
}
5454
}

script-js-rhino/src/main/java/com/instancify/scriptify/script/Test.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)