Exemplo n.º 1
0
        public override FilterNode <TValue>?Visit(NegateFilter <TValue> nodeIn, None args)
        {
            var pruned = nodeIn.Filter.Accept(this, None.Value);

            if (pruned == null)
            {
                return(null);
            }

            if (pruned is CompareFilter <TValue> comparison)
            {
                if (comparison.Operator == CompareOperator.Equals)
                {
                    return(comparison with {
                        Operator = CompareOperator.NotEquals
                    });
                }

                if (comparison.Operator == CompareOperator.NotEquals)
                {
                    return(comparison with {
                        Operator = CompareOperator.Equals
                    });
                }
            }

            if (ReferenceEquals(pruned, nodeIn.Filter))
            {
                return(nodeIn);
            }

            return(new NegateFilter <TValue>(pruned));
        }
        public override async ValueTask <FilterNode <TValue>?> Visit(NegateFilter <TValue> nodeIn)
        {
            var inner = await nodeIn.Filter.Accept(this);

            if (inner == null)
            {
                return(inner);
            }

            return(new NegateFilter <TValue>(inner));
        }
Exemplo n.º 3
0
        public override FilterNode <TValue>?Visit(NegateFilter <TValue> nodeIn)
        {
            var inner = nodeIn.Filter.Accept(this);

            if (inner == null)
            {
                return(inner);
            }

            return(new NegateFilter <TValue>(inner));
        }
Exemplo n.º 4
0
        public override FilterNode <TValue>?Visit(NegateFilter <TValue> nodeIn)
        {
            var pruned = nodeIn.Filter.Accept(this);

            if (pruned == null)
            {
                return(null);
            }

            if (pruned is CompareFilter <TValue> comparison)
            {
                if (comparison.Operator == CompareOperator.Equals)
                {
                    return(new CompareFilter <TValue>(comparison.Path, CompareOperator.NotEquals, comparison.Value));
                }

                if (comparison.Operator == CompareOperator.NotEquals)
                {
                    return(new CompareFilter <TValue>(comparison.Path, CompareOperator.Equals, comparison.Value));
                }
            }

            return(new NegateFilter <TValue>(pruned));
        }
Exemplo n.º 5
0
 public override FilterNode <TValue> Visit(NegateFilter <TValue> nodeIn)
 {
     return(new NegateFilter <TValue>(nodeIn.Filter.Accept(this)));
 }
Exemplo n.º 6
0
 public virtual T Visit(NegateFilter <TValue> nodeIn, TArgs args)
 {
     throw new NotImplementedException();
 }