tryExecuteFunction method
Tries to execute a function with variations of positionalParameters
.
Implementation
Future<ASTValue?> tryExecuteFunction(String namespace, String functionName,
[List? positionalParameters]) async {
positionalParameters ??= [];
if (await getFunction(namespace, functionName, positionalParameters) !=
null) {
return await executeFunction(namespace, functionName,
positionalParameters: positionalParameters);
} else if (await getFunction(
namespace, functionName, [positionalParameters]) !=
null) {
return await executeFunction(namespace, functionName,
positionalParameters: [positionalParameters]);
} else if (await getFunction(
namespace, functionName, [ASTTypeArray.instanceOfString]) !=
null) {
return await executeFunction(namespace, functionName,
positionalParameters: [
positionalParameters.map((e) => '$e').toList()
]);
} else if (await getFunction(
namespace, functionName, [ASTTypeArray.instanceOfDynamic]) !=
null) {
return await executeFunction(namespace, functionName,
positionalParameters: [positionalParameters]);
}
return null;
}