graphql-hive / graphql-hive/federation-composition
Demand Control `@listSize(slicingArguments: "...")` does not allow for nested keys
- Dominant language
- TypeScript
- Stars
- 53
- Forks
- 8
- Avg merge
- 20h 50m
- Merged PRs (30d)
- 10
Description
In recent versions of Demand Control, the runtime supports nested keys. To get there, we must go through compostion first, but using something like that fails:
```
type Query {
search(input: SearchInput!): [Book]
@listSize(slicingArguments: ["input.pagination.first"], requireOneSlicingArgument: true)
}
```
Due to the fact that our composition assumes that `slicingArguments` field must point to a single-named field `"input.pagination.first"` instead of checking the nested keys in the input types.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the composition failure with the nested `input.pagination.first` slicing argument shown in the issue, then trace how composition validates `slicingArguments` against the input types. Done means composition accepts nested keys while preserving the required slicing-argument behavior, with coverage for the provided schema example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, typescript
- Domain
- backend-api-design
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100