evalLiteral method

dynamic evalLiteral(
  1. Literal literal,
  2. Map<String?, dynamic> context
)

Implementation

dynamic evalLiteral(Literal literal, Map<String?, dynamic> context) {
  var value = literal.value;
  if (value is List) return value.map((e) => eval(e, context)).toList();
  if (value is Map) {
    return value.map(
        (key, value) => MapEntry(eval(key, context), eval(value, context)));
  }
  if (value is String) {
    if (value.startsWith("___V") && context.containsKey(value)) {
      return context[value];
    }
  }
  return value;
}