cynic
cynic copied to clipboard
Tracking Issue for core rework
I'm currently refactoring the internals of cynic pretty heavily to move logic out of the use_schema
output and into QueryFragment
. This issue is to track the progress of that work:
- [x] Prototype new API
- [x] Refactor
use_schema
- [x] Refactor
derive(QueryFragment)
- [x] Basic query functionality
- [x] Enums & Custom Scalars
- [x] Spreads
- [x] Variables
- [x] Interfaces & Union Types
- [x] Flatten attr
- [x] Recursion
- [x] aliases
- [x] InlineFragments derive
- [x] Enum derive
- [x] Scalar derive
- [x] Argument handling
- [x] FragmentArguments derive
- [x] InputObject derive
- [x]
impl_scalar!
- [x] Query building
- [x] Define API
- [x] Implement Query Builder
- [x] Arguments
- [x] Aliases
- [x] Inline fragments
- ~Named fragments (a nice to have really)~
- [x] Deal with any
todo!
s - [x] Update generator (Need to figure out how to keep it backwards compatible...)
- [x] Get all tests passing
- [x] Bump the version number
- [x] Merge #391
Can merge at this point, and then future work:
- [x] Benchmarks
- [ ] ~Building Queries~
- [x] Decoding Responses
- [x] The compile of dependant projects or the runtime of the macros themselves
- [x] #396 (doing this one later)
- [x] #417
- [x] ~Figure out whether we can do borrowed arguments.~ Don't think so
- [x] #419
- [x] #418
- [x] Tidy up mess
- [x] Optimised inline fragments (WIP here)
- [x] Re-instate subscriptions & streaming operations
- [x] Fix up InlineFragments typesafety, enforce fallbacks etc. (#442)
- [x] A test of InlineFragments fallback decoding (on both interfaces & unions, with unit & newtype variants) (#443)
- [ ] More thorough UI tests (probably just make an issue for this
- [ ] Test with downstream projects
- [ ] Document upgrade process
- [ ] Update book
- [x] Update the section on the derives (https://github.com/obmarg/cynic/pull/432)
- [ ] Update the bit on manually writing queries.
- [ ] Update the reference docs if they need it?