class Dependabot::Uv::FileParser

def marker_satisfied?(marker, python_version)

def marker_satisfied?(marker, python_version)
  conditions = marker.split(/\s+(and|or)\s+/)
  result = T.let(evaluate_condition(conditions.shift, python_version), T::Boolean)
  until conditions.empty?
    operator = conditions.shift
    next_condition = conditions.shift
    next_result = evaluate_condition(next_condition, python_version)
    result = if operator == "and"
               result && next_result
             else
               result || next_result
             end
  end
  result
end