Skip to content

Commit 4db2715

Browse files
Copilotxperiandri
andauthored
Change StartsWith/EndsWith to use StringComparer; open System.Collections at top
Co-authored-by: xperiandri <2365592+xperiandri@users.noreply.github.com>
1 parent 2ba0051 commit 4db2715

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/FSharp.Data.GraphQL.Server.Middleware/ObjectListFilter.fs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace FSharp.Data.GraphQL.Server.Middleware
22

33
open System
4+
open System.Collections
45
open FSharp.Data.GraphQL
56

67
/// A filter definition for a field value.
@@ -11,15 +12,15 @@ type ObjectListFilter =
1112
| And of ObjectListFilter * ObjectListFilter
1213
| Or of ObjectListFilter * ObjectListFilter
1314
| Not of ObjectListFilter
14-
| Equals of Filter : FieldFilter<System.IComparable> * Comparer : System.Collections.IComparer
15+
| Equals of Filter : FieldFilter<System.IComparable> * Comparer : IComparer
1516
| GreaterThan of FieldFilter<System.IComparable>
1617
| GreaterThanOrEqual of FieldFilter<System.IComparable>
1718
| LessThan of FieldFilter<System.IComparable>
1819
| LessThanOrEqual of FieldFilter<System.IComparable>
1920
| In of FieldFilter<obj list>
20-
| StartsWith of Filter : FieldFilter<string> * Comparer : System.Collections.IComparer
21-
| EndsWith of Filter : FieldFilter<string> * Comparer : System.Collections.IComparer
22-
| Contains of Filter : FieldFilter<System.IComparable> * Comparer : System.Collections.IComparer
21+
| StartsWith of Filter : FieldFilter<string> * Comparer : StringComparer
22+
| EndsWith of Filter : FieldFilter<string> * Comparer : StringComparer
23+
| Contains of Filter : FieldFilter<System.IComparable> * Comparer : IComparer
2324
| OfTypes of Type list
2425
| FilterField of FieldFilter<ObjectListFilter>
2526

@@ -28,7 +29,6 @@ open System.Linq.Expressions
2829
open System.Runtime.InteropServices
2930
open System.Reflection
3031
open System.Collections.Generic
31-
open System.Collections
3232

3333
type private CompareDiscriminatorExpression<'T, 'D> = Expression<Func<'T, 'D, bool>>
3434

@@ -315,11 +315,11 @@ module ObjectListFilter =
315315
| NonEnumerableCast ``type`` -> Expression.LessThanOrEqual ((unsafeConvertTo ``type`` ``member``), Expression.Constant f.Value)
316316
| StartsWith (f, comparer) ->
317317
let ``member`` = Expression.PropertyOrField (param, f.FieldName)
318-
let comparison = comparerToStringComparison comparer |> ValueOption.defaultValue StringComparison.Ordinal
318+
let comparison = comparerToStringComparison (comparer :> IComparer) |> ValueOption.defaultValue StringComparison.Ordinal
319319
Expression.Call (normalizeStringMemberExpr ``member``, StringStartsWithMethod, Expression.Constant f.Value, Expression.Constant comparison)
320320
| EndsWith (f, comparer) ->
321321
let ``member`` = Expression.PropertyOrField (param, f.FieldName)
322-
let comparison = comparerToStringComparison comparer |> ValueOption.defaultValue StringComparison.Ordinal
322+
let comparison = comparerToStringComparison (comparer :> IComparer) |> ValueOption.defaultValue StringComparison.Ordinal
323323
Expression.Call (normalizeStringMemberExpr ``member``, StringEndsWithMethod, Expression.Constant f.Value, Expression.Constant comparison)
324324

325325
| Contains (f, comparer) ->

0 commit comments

Comments
 (0)