canSelfOverride static method

bool canSelfOverride(
  1. String current,
  2. String target
)

Whether a self-override from current to target is allowed. Users can skip forward at most 2 levels, and never directly to 'mastery'.

Implementation

static bool canSelfOverride(String current, String target) {
  final currentIdx = levels.indexOf(current);
  final targetIdx = levels.indexOf(target);
  if (currentIdx < 0 || targetIdx < 0) return false;
  if (targetIdx <= currentIdx) return false;
  if (target == 'mastery') return false;
  return (targetIdx - currentIdx) <= 2;
}