private void TryConsumeComparisonOperator()

in src/PSRule/Runtime/ObjectPath/PathTokenizer.cs [227:263]


            private void TryConsumeComparisonOperator(ref int position, ITokenWriter tokens)
            {
                var pos = SkipPadding(position);
                if (!IsComparisonOperator(Current(pos)))
                    return;

                var op = FilterOperator.None;
                var c1 = ConsumeChar(ref pos);
                var c2 = Current(pos);

                if (c1 == EQUALS && c2 == EQUALS)
                    op = FilterOperator.Equal;

                if (c1 == NOT && c2 == EQUALS)
                    op = FilterOperator.NotEqual;

                if (c1 == LESSTHAN && c2 == EQUALS)
                    op = FilterOperator.LessOrEqual;

                if (c1 == LESSTHAN && !IsComparisonOperator(c2))
                    op = FilterOperator.Less;

                if (c1 == GREATERTHAN && c2 == EQUALS)
                    op = FilterOperator.GreaterOrEqual;

                if (c1 == GREATERTHAN && !IsComparisonOperator(c2))
                    op = FilterOperator.Greater;

                if (c1 == TILDA && c2 == EQUALS)
                    op = FilterOperator.RegEx;

                if (op != FilterOperator.None)
                {
                    position = SkipPadding(op == FilterOperator.Less || op == FilterOperator.Greater ? pos : pos + 1);
                    tokens.Add(new PathToken(PathTokenType.ComparisonOperator, op));
                }
            }