11namespace FSharp.Data.GraphQL.Server.Middleware
22
33open System
4+ open System.Collections
45open 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
2829open System.Runtime .InteropServices
2930open System.Reflection
3031open System.Collections .Generic
31- open System.Collections
3232
3333type 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