|
2 | 2 |
|
3 | 3 | public static partial class ArgumentProcessor |
4 | 4 | { |
5 | | - public static IEnumerable<TItem> ApplyGraphQlArguments<TItem, TSource>(this IEnumerable<TItem> items, bool hasId, IResolveFieldContext<TSource> context) => |
6 | | - ApplyToAll(items, hasId, (type, x) => context.GetArgument(type, x)); |
7 | | - |
8 | | - static IEnumerable<TItem> ApplyToAll<TItem>(this IEnumerable<TItem> items, bool hasId, Func<Type, string, object?> getArguments) |
| 5 | + public static IEnumerable<TItem> ApplyGraphQlArguments<TItem>(this IEnumerable<TItem> items, bool hasId, IResolveFieldContext context) |
9 | 6 | { |
| 7 | + object? GetArguments(Type type, string name) => context.GetArgument(type, name); |
| 8 | + |
10 | 9 | if (hasId) |
11 | 10 | { |
12 | | - if (ArgumentReader.TryReadIds(getArguments, out var values)) |
| 11 | + if (ArgumentReader.TryReadIds(GetArguments, out var values)) |
13 | 12 | { |
14 | 13 | var predicate = ExpressionBuilder<TItem>.BuildPredicate("Id", Comparison.In, values); |
15 | 14 | items = items.Where(predicate.Compile()); |
16 | 15 | } |
17 | 16 | } |
18 | 17 |
|
19 | | - if (ArgumentReader.TryReadWhere(getArguments, out var wheres)) |
| 18 | + if (ArgumentReader.TryReadWhere(GetArguments, out var wheres)) |
20 | 19 | { |
21 | 20 | var predicate = ExpressionBuilder<TItem>.BuildPredicate(wheres); |
22 | 21 | items = items.Where(predicate.Compile()); |
23 | 22 | } |
24 | 23 |
|
25 | | - items = Order(items, getArguments); |
| 24 | + items = Order(items, GetArguments); |
26 | 25 |
|
27 | | - if (ArgumentReader.TryReadSkip(getArguments, out var skip)) |
| 26 | + if (ArgumentReader.TryReadSkip(GetArguments, out var skip)) |
28 | 27 | { |
29 | 28 | items = items.Skip(skip); |
30 | 29 | } |
31 | 30 |
|
32 | | - if (ArgumentReader.TryReadTake(getArguments, out var take)) |
| 31 | + if (ArgumentReader.TryReadTake(GetArguments, out var take)) |
33 | 32 | { |
34 | 33 | items = items.Take(take); |
35 | 34 | } |
|
0 commit comments