in src/PSRule/Runtime/SemanticVersion.cs [83:118]
public bool Equals(Version version)
{
if (_Constraints == null || _Constraints.Count == 0)
return true;
var match = false;
var i = 0;
while (!match && i < _Constraints.Count)
{
var result = _Constraints[i].Equals(version);
// True OR
if (_Constraints[i].Join == JoinOperator.Or && result)
return true;
// True AND
if (_Constraints[i].Join == JoinOperator.And && result && ++i < _Constraints.Count)
continue;
// False OR
if (_Constraints[i].Join == JoinOperator.Or && ++i < _Constraints.Count)
continue;
// False AND
while (++i < _Constraints.Count)
{
// Move to after the next OR.
if (_Constraints[i].Join == JoinOperator.Or)
{
i++;
continue;
}
}
}
return false;
}