parseEnumsAndRanges static method

(List<String>?, (double, double)?) parseEnumsAndRanges(
  1. String? enumsStr,
  2. String? rangeStr
)

Parse optional lists of enums and double ranges from the given strings.

Implementation

static (List<String>?, (double min, double max)?) parseEnumsAndRanges(
  String? enumsStr,
  String? rangeStr,
) {
  // Parse enums.
  List<String>? enums;
  if (enumsStr != null) {
    enums =
        enumsStr
            .substring(1, enumsStr.length - 1)
            .split(',')
            .map((e) => e.trim())
            .toList();
  }

  // Parse range.
  (double min, double max)? range;
  if (rangeStr != null) {
    final rangeParts =
        rangeStr
            .substring(1, rangeStr.length - 1)
            .split(':')
            .map((e) => double.parse(e.trim()))
            .toList();
    if (rangeParts.length == 2) {
      range = (rangeParts[0], rangeParts[1]);
    }
  }

  return (enums, range);
}