parseEffortValue method

EffortValue? parseEffortValue(
  1. Object? value
)

Parse an effort value from an unknown input.

Implementation

EffortValue? parseEffortValue(Object? value) {
  if (value == null || (value is String && value.isEmpty)) return null;

  if (value is int && _isValidNumericEffort(value)) {
    return EffortNumericValue(value);
  }

  final str = value.toString().toLowerCase();
  final level = EffortLevel.tryParse(str);
  if (level != null) return EffortLevelValue(level);

  final numericValue = int.tryParse(str);
  if (numericValue != null && _isValidNumericEffort(numericValue)) {
    return EffortNumericValue(numericValue);
  }

  return null;
}