Relay.QL`...
`- -> babel-relay-plugin GraphQLPrinter
- -> A function that returns Relay GraphQL ('Query Builder')
- RelayRootContainer (on mount)
- getRelayQueries
- buildRQL.Query ->
GraphQL.Query
- -> RelayQuery.Node.createQuery ->
RelayQueryRoot
- buildRQL.Query ->
- getRelayQueries
https://github.com/facebook/relay/blob/v0.1.1/src/traversal/subtractRelayQuery.js
If field is requisite
, keep it (ex: id, ...)
- RelayRootContainer (on mount)
- -> RelayStore.primeCache
- GraphQLQueryRunner.run
- runQueries with fetchMode = CLIENT
- splitAndFlattenQueries: splits deferred queries and then flatten
- flattenRelayQuery: flattens nested fragments by giving aliases to fields (why do this? maybe optimization)
- RelayPendingQueryTracker.add
- splitAndFlattenQueries: splits deferred queries and then flatten
- runQueries with fetchMode = CLIENT
- GraphQLQueryRunner.run
- -> RelayStore.primeCache