UNPKG

1.02 kBJavaScriptView Raw
1import { addResolversToSchema } from '@graphql-tools/schema';
2import { composeResolvers } from '@graphql-tools/resolvers-composition';
3import { loadFromModuleExportExpressionSync, extractResolvers } from '@graphql-mesh/utils';
4
5class ResolversCompositionTransform {
6 constructor(options) {
7 this.options = options;
8 this.noWrap = true;
9 }
10 transformSchema(schema) {
11 const resolversComposition = {};
12 for (const { resolver, composer } of this.options.config) {
13 resolversComposition[resolver] = loadFromModuleExportExpressionSync(composer, 'default'); // Async is not available
14 }
15 const resolvers = extractResolvers(schema);
16 const composedResolvers = composeResolvers(resolvers, resolversComposition);
17 return addResolversToSchema({
18 schema,
19 resolvers: composedResolvers,
20 updateResolversInPlace: true,
21 });
22 }
23}
24
25export default ResolversCompositionTransform;
26//# sourceMappingURL=index.esm.js.map