-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Change internals to communicate via Documents and context #617
Comments
4 tasks
Closed
6 tasks
I think we've made some good progress on this front. Let's look at it again and see what we still want to do before closing this issue! |
We've done a fair bit, going to remove from milestone |
I think we're pretty much done here. Fragments will be completely removed in 0.6 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Right now, we have special methods that read fragments and selection sets from the store, and we also have a special data type for fragment maps, rootId, etc. I think in order to comply with our own design principles, we should simplify the interfaces between different modules, and as much as possible communicate via GraphQL
Document
objects.Here's the proposal:
FragmentMap
entirely, and simply attach any necessary fragments to a GraphQLDocument
. Usegraphql-anywhere
to automate fragment handling so that our code never has to deal with fragment maps again.readFragmentFromStore
method, and replace it with a special query. A good option could be to use the Relay-stylenode(id: ...)
query, and treat that specially as a read for the object in the store with thatdataId
.graphql-anywhere
.I'm game to implement this as part of a move to
graphql-anywhere
, if #615 is also desired.I believe these changes will dramatically simplify the code.
The text was updated successfully, but these errors were encountered: