Пример #1
0
 /// <summary>
 /// Parse test function
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 private Expression <Func <JsonToken, JsonToken> > ParseScalarLambda(
     FilterParser.ScalarTypeFunctionContext context)
 {
     if (context.IS_DEFINED() != null)
     {
         return(s => JToken.FromObject(s != null));
     }
     if (context.IS_NULL() != null)
     {
         return(s => JToken.FromObject(s != null &&
                                       (((JToken)s).Type == JTokenType.Null)));
     }
     if (context.IS_BOOL() != null)
     {
         return(s => JToken.FromObject(s != null &&
                                       (((JToken)s).Type == JTokenType.Boolean)));
     }
     if (context.IS_NUMBER() != null)
     {
         return(s => JToken.FromObject(s != null &&
                                       (((JToken)s).Type == JTokenType.Float || ((JToken)s).Type == JTokenType.Integer)));
     }
     if (context.IS_STRING() != null)
     {
         return(s => JToken.FromObject(s != null &&
                                       (((JToken)s).Type == JTokenType.String)));
     }
     if (context.IS_OBJECT() != null)
     {
         return(s => JToken.FromObject(s != null &&
                                       (((JToken)s).Type == JTokenType.Object)));
     }
     return(s => JToken.FromObject(true));
 }
Пример #2
0
 /// <summary>
 /// Parse test function
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 private Expression <Func <JsonToken, JsonToken> > ParseScalarLambda(
     FilterParser.ScalarTypeFunctionContext context)
 {
     if (context.IS_DEFINED() != null)
     {
         return(s => VariantValue.FromObject(s != null));
     }
     if (context.IS_NULL() != null)
     {
         return(s => VariantValue.FromObject(s != null &&
                                             (((VariantValue)s).IsNull())));
     }
     if (context.IS_BOOL() != null)
     {
         return(s => VariantValue.FromObject(s != null &&
                                             (((VariantValue)s).IsBoolean)));
     }
     if (context.IS_NUMBER() != null)
     {
         return(s => VariantValue.FromObject(s != null &&
                                             (((VariantValue)s).IsFloat || ((VariantValue)s).IsInteger)));
     }
     if (context.IS_STRING() != null)
     {
         return(s => VariantValue.FromObject(s != null &&
                                             (((VariantValue)s).IsString)));
     }
     if (context.IS_OBJECT() != null)
     {
         return(s => VariantValue.FromObject(s != null &&
                                             (((VariantValue)s).IsObject)));
     }
     return(s => VariantValue.FromObject(true));
 }