coerceStringList function
Reads and returns field
on value
as a list of strings.
Unlike DartObject#getField
, this also traverses super
if available.
If the value is missing or not a list, returns defaultTo
.
Implementation
List<String> coerceStringList(
DartObject? value,
String field, {
List<String> defaultTo = const [],
}) {
final list = getField(value, field)?.toListValue();
return list != null
? list.map((o) => o.toStringValue()).whereType<String>().toList()
: defaultTo;
}