parseListFromString function
Parse list from string (e.g. "a,b,c" or JSON array string). Roadmap #154.
Implementation
List<String> parseListFromString(String input, {String delimiter = ','}) {
final String s = input.trim();
if (s.isEmpty) return <String>[];
if (s.startsWith('[') && s.endsWith(']')) {
try {
final Object? decoded = _jsonDecode(s);
if (decoded is List<dynamic>) {
return decoded.map((dynamic e) => e?.toString() ?? '').toList();
}
} on Object catch (e) {
dev.log(_kLogParseListJsonFailed, error: e);
}
}
return s.split(delimiter).map((String x) => x.trim()).where((String x) => x.isNotEmpty).toList();
}