@@ -8,24 +8,36 @@ import update from './update';
88import remove from './remove' ;
99import { getTypeNamesFromData } from '../introspection/getTypesFromData' ;
1010
11- const getResolversForEntity = ( entityName , data ) => {
12- let entityData = data [ underscore ( pluralize ( entityName ) ) ] ;
11+ const getData = ( entityName , data ) => data [ underscore ( pluralize ( entityName ) ) ] ;
1312
13+ const getQueryResolvers = ( entityName , data ) => ( {
14+ [ `all${ pluralize ( entityName ) } ` ] : all ( data ) ,
15+ [ `_all${ pluralize ( entityName ) } Meta` ] : meta ( data ) ,
16+ [ entityName ] : single ( data ) ,
17+ } ) ;
18+
19+ const getMutationResolvers = ( entityName , data ) => ( {
20+ [ `create${ entityName } ` ] : create ( data ) ,
21+ [ `update${ entityName } ` ] : update ( data ) ,
22+ [ `remove${ entityName } ` ] : remove ( data ) ,
23+ } ) ;
24+
25+ export default data => {
26+ const typeNames = getTypeNamesFromData ( data ) ;
1427 return {
15- [ `all${ pluralize ( entityName ) } ` ] : all ( entityData ) ,
16- [ `_all${ pluralize ( entityName ) } Meta` ] : meta ( entityData ) ,
17- [ entityName ] : single ( entityData ) ,
18- [ `create${ entityName } ` ] : create ( entityData ) ,
19- [ `update${ entityName } ` ] : update ( entityData ) ,
20- [ `remove${ entityName } ` ] : remove ( entityData ) ,
28+ Query : typeNames . reduce (
29+ ( resolvers , entityName ) => ( {
30+ ...resolvers ,
31+ ...getQueryResolvers ( entityName , getData ( entityName , data ) ) ,
32+ } ) ,
33+ { } ,
34+ ) ,
35+ Mutation : typeNames . reduce (
36+ ( resolvers , entityName ) => ( {
37+ ...resolvers ,
38+ ...getMutationResolvers ( entityName , getData ( entityName , data ) ) ,
39+ } ) ,
40+ { } ,
41+ ) ,
2142 } ;
2243} ;
23-
24- export default data =>
25- getTypeNamesFromData ( data ) . reduce (
26- ( resolvers , entityName ) => ( {
27- ...resolvers ,
28- ...getResolversForEntity ( entityName , data ) ,
29- } ) ,
30- { } ,
31- ) ;
0 commit comments