1 | 'use strict';
|
2 |
|
3 | const schema = require('@graphql-tools/schema');
|
4 | const resolversComposition = require('@graphql-tools/resolvers-composition');
|
5 | const utils = require('@graphql-mesh/utils');
|
6 |
|
7 | class ResolversCompositionTransform {
|
8 | constructor(options) {
|
9 | this.options = options;
|
10 | this.noWrap = true;
|
11 | }
|
12 | transformSchema(schema$1) {
|
13 | const resolversComposition$1 = {};
|
14 | for (const { resolver, composer } of this.options.config) {
|
15 | resolversComposition$1[resolver] = utils.loadFromModuleExportExpressionSync(composer, 'default');
|
16 | }
|
17 | const resolvers = utils.extractResolvers(schema$1);
|
18 | const composedResolvers = resolversComposition.composeResolvers(resolvers, resolversComposition$1);
|
19 | return schema.addResolversToSchema({
|
20 | schema: schema$1,
|
21 | resolvers: composedResolvers,
|
22 | updateResolversInPlace: true,
|
23 | });
|
24 | }
|
25 | }
|
26 |
|
27 | module.exports = ResolversCompositionTransform;
|
28 |
|