Skip to content

Commit 6006ffc

Browse files
committed
feat: add JS code validation method in DevMode class
1 parent cdadb42 commit 6006ffc

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

modules/ensemble/lib/framework/devmode.dart

+16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import 'package:ensemble/framework/data_context.dart';
22
import 'package:ensemble_ts_interpreter/invokables/invokable.dart';
3+
import 'package:ensemble_ts_interpreter/parser/newjs_interpreter.dart';
4+
import 'package:jsparser/jsparser.dart';
35

46
class DevMode {
57
static bool debug = false;
@@ -53,4 +55,18 @@ class DevMode {
5355

5456
return context;
5557
}
58+
59+
static Map<String, dynamic> validateJsCode(String jsCode, DataContext ctx) {
60+
try {
61+
Program p = JSInterpreter.parseCode(jsCode);
62+
JSInterpreter(jsCode, p, ctx).evaluate();
63+
return {
64+
'error': null,
65+
};
66+
} catch (e) {
67+
return {
68+
'error': e.toString(),
69+
};
70+
}
71+
}
5672
}

0 commit comments

Comments
 (0)