using Luticate2.Auth.Utils.Business.Utils; using Luticate2.Auth.Utils.Dbo; using Luticate2.Auth.Utils.Dbo.Pagination; using Luticate2.Auth.Utils.Dbo.Result; namespace Luticate2.Auth.Utils.Business.Pagination { public class LuFilterParser { public static LuResult Parse(string data, LuExpressionUtils.LuExpressionParserOptions options) { if (string.IsNullOrWhiteSpace(data)) { return LuResult.Ok(new LuFilterDbo { Expression = null }); } var completeData = $"(x) => ({data})"; var expressionResult = LuExpressionUtils.Parse(completeData, options); return expressionResult.Select(expression => new LuFilterDbo { Expression = expression }); } } }