Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework codegen for GraphQL objects #971

Merged
merged 40 commits into from
Aug 11, 2021
Merged

Conversation

tyranron
Copy link
Member

@tyranron tyranron commented Jul 22, 2021

Part of #421
Superseeds #441
Partially related to #814
Fixes #525, #697, #827, #875, #880
Extends #765

This PR migrates #[derive(GraphQLObject)], #[graphql_object] and #[graphql_subscription] macro implementations to the same machinery used by #[graphql_interface].

Additionally, it changes codegen in the way, that computed fields are not desugared into async blocks, but rather are preserved as methods and called directly.

Checklist

  • Implemented
  • Old code is cleaned
  • Covered with integration tests
  • Covered with codegen failure tests
  • Documantation is updated
  • Changelog entry added

@tyranron tyranron added enhancement Improvement of existing features or bugfix semver::breaking Breaking change in terms of SemVer k::api Related to API (application interface) labels Jul 22, 2021
@tyranron tyranron self-assigned this Jul 22, 2021
@tyranron tyranron marked this pull request as draft July 22, 2021 11:47
@tyranron
Copy link
Member Author

@LegNeato this one is too huge, so I merge it without requesting your review. It's quite a breaking change, so, please, don't release master yet. There will be subsequent PRs with more polishing, reworking and fixing before releasing 0.16.

@LegNeato
Copy link
Member

Sounds good, thank you for the great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing features or bugfix k::api Related to API (application interface) semver::breaking Breaking change in terms of SemVer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow argument documentation
2 participants