/// <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)); }
/// <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)); }