parseListFromString function

List<String> parseListFromString(
  1. String input, {
  2. String delimiter = ',',
})

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();
}