execExpressionToValue method

dynamic execExpressionToValue(
  1. String expressionStr
)

Implementation

dynamic execExpressionToValue(String expressionStr) {
  try {
    var expression = Expression.parse(expressionStr);
    Map<String, dynamic> context = {
      'now': () => DateTime.now(),
      'isEmpty': _isEmpty,
      'isNotEmpty': (value) => !_isEmpty(value),
      'fd': fd,
      'sum': sum,
      'toString': toStringFunc,
      'safeAdd': safeAdd,
      'safeSub': safeSub,
      'safeMul': safeMul,
      'safeDiv': safeDiv
    };
    context.addAll(dataSource);
    return evaluator.eval(expression, context);
  } catch (_) {
    return null;
  }
}