resolveEntitySourceValueVariables method
Implementation
Object? resolveEntitySourceValueVariables(
String key, Object? value, Map<String, dynamic> variables) {
if (value == null) return null;
if (variables.isEmpty) {
return value;
}
if (value is String) {
if (value.startsWith('%') && value.endsWith('%')) {
var varName = value.substring(1, value.length - 1);
var varValue = variables[varName] ?? value;
return varValue;
} else {
return value;
}
} else if (value is num || value is bool) {
return value;
} else if (value is Map) {
if (value is Map<String, dynamic>) {
return value.map((k, v) {
var val = resolveEntitySourceValueVariables(k, v, variables);
return MapEntry<String, dynamic>(k, val);
});
} else {
return value.map((k, v) {
var val = resolveEntitySourceValueVariables(k, v, variables);
return MapEntry(k, val);
});
}
} else if (value is List) {
return value.map((e) {
var val = resolveEntitySourceValueVariables(key, e, variables);
return val;
}).toList();
} else {
return value;
}
}