execute method
dynamic
execute(
- String text
)
Implementation
dynamic execute(String text) {
String param = text.trim();
dynamic _stringResult() {
try {
return jsonDecode(param);
} catch (e) {
return param;
}
}
if (param.indexOf("(") > 0) {
MethodNode? m = MethodNode.parse(param, this);
if (m == null)
return _stringResult();
dynamic func = get(m.name);
if (func is Function) {
return Function.apply(func, m.arguments);
} else if (_methods.containsKey(m.name)) {
var handler = _methods[m.name]!;
return handler(m, this);
} else {
print("Warring: Can't find the method [${m.name}]");
return _stringResult();
}
} else {
if (param.startsWith("\$")) {
Match? regExp = _matchRegExp1.firstMatch(param);
if (regExp == null) {
regExp = _matchRegExp2.firstMatch(param);
}
if (regExp != null) {
return get(regExp.group(1)!);
} else {
return _stringResult();
}
} else {
return _stringResult();
}
}
}