render method
Recursively renders placeholders within strings, maps, and lists.
Implementation
Object? render(Object? value,
{TemplateContext context = const TemplateContext()}) {
if (value is Map<String, Object?>) {
return value.map(
(key, nestedValue) =>
MapEntry(key, render(nestedValue, context: context)),
);
}
if (value is Map) {
return value.map(
(key, nestedValue) => MapEntry(
key.toString(),
render(nestedValue, context: context),
),
);
}
if (value is List<Object?>) {
return value
.map((item) => render(item, context: context))
.toList(growable: false);
}
if (value is String) {
return _renderString(value, context);
}
return value;
}