예제 #1
0
        public static bool HasField <T>(this FilterNode <T>?filter, string field)
        {
            if (filter == null)
            {
                return(false);
            }

            var fields = new HashSet <string>(StringComparer.OrdinalIgnoreCase);

            filter.AddFields(fields);

            return(fields.Contains(field));
        }
예제 #2
0
 public static FilterNode <TValue>?Optimize(FilterNode <TValue> source)
 {
     return(source?.Accept(Instance));
 }
 public static FilterNode <TValue>?Transform(FilterNode <TValue> node)
 {
     return(node.Accept(Instance, None.Value));
 }
예제 #4
0
 public void FromSource(FilterNode <IJsonValue> source)
 {
     throw new NotSupportedException();
 }
 public static FilterNode Transform(FilterNode node)
 {
     return(node.Accept(Instance));
 }
예제 #6
0
 public static NegateFilter <ClrValue> Not(FilterNode <ClrValue> filter)
 {
     return(new NegateFilter <ClrValue>(filter));
 }
예제 #7
0
        public NegateFilter(FilterNode <TValue> filter)
        {
            Guard.NotNull(filter, nameof(filter));

            Filter = filter;
        }