Skip to content

Commit 10b617d

Browse files
committed
Replace IFilterValueConverter with pluggable functions in filters
1 parent 2f5e506 commit 10b617d

22 files changed

+559
-448
lines changed

benchmarks/QueryString/QueryStringParserBenchmarks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public QueryStringParserBenchmarks()
4141
var includeReader = new IncludeQueryStringParameterReader(includeParser, request, resourceGraph);
4242

4343
var filterScopeParser = new QueryStringParameterScopeParser();
44-
var filterValueParser = new FilterParser(resourceFactory, Enumerable.Empty<IFilterValueConverter>());
44+
var filterValueParser = new FilterParser(resourceFactory);
4545
var filterReader = new FilterQueryStringParameterReader(filterScopeParser, filterValueParser, request, resourceGraph, options);
4646

4747
var sortScopeParser = new QueryStringParameterScopeParser();

src/JsonApiDotNetCore/Queries/Expressions/CountExpression.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ public class CountExpression : FunctionExpression
1111
{
1212
public ResourceFieldChainExpression TargetCollection { get; }
1313

14+
public override Type ReturnType { get; } = typeof(int);
15+
1416
public CountExpression(ResourceFieldChainExpression targetCollection)
1517
{
1618
ArgumentGuard.NotNull(targetCollection);

src/JsonApiDotNetCore/Queries/Expressions/FilterExpression.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ namespace JsonApiDotNetCore.Queries.Expressions;
55
/// </summary>
66
public abstract class FilterExpression : FunctionExpression
77
{
8+
public override Type ReturnType { get; } = typeof(bool);
89
}

src/JsonApiDotNetCore/Queries/Expressions/FunctionExpression.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ namespace JsonApiDotNetCore.Queries.Expressions;
55
/// </summary>
66
public abstract class FunctionExpression : QueryExpression
77
{
8+
public abstract Type ReturnType { get; }
89
}

src/JsonApiDotNetCore/Queries/Expressions/LiteralConstantExpression.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace JsonApiDotNetCore.Queries.Expressions;
99
[PublicAPI]
1010
public class LiteralConstantExpression : IdentifierExpression
1111
{
12-
// Only used to show the original input, in case expression parse failed. Not part of the semantic expression value.
12+
// Only used to show the original input in errors and diagnostics. Not part of the semantic expression value.
1313
private readonly string _stringValue;
1414

1515
public object TypedValue { get; }

0 commit comments

Comments
 (0)