cynic icon indicating copy to clipboard operation
cynic copied to clipboard

Tracking Issue for core rework

Open obmarg opened this issue 3 years ago • 0 comments

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?

obmarg avatar Dec 31 '21 13:12 obmarg