graphql-mocks
Version:
Tools for setting up graphql test resolvers
31 lines (29 loc) • 1.32 kB
JavaScript
require('graphql');
var constants = require('../../resolver/constants.js');
var createWrapper = require('../../resolver/create-wrapper.js');
var isFieldResolver = require('../../resolver/utils/is-field-resolver.js');
var isTypeResolver = require('../../resolver/utils/is-type-resolver.js');
var embedPackOptionsInContext = require('./embed-pack-options-in-context.js');
const embedPackOptionsWrapper = createWrapper.createWrapper('embed-pack-options', constants.WrapperFor.ANY, async (resolver, options) => {
const {
type
} = options;
if (isFieldResolver.isFieldResolver(type, resolver)) {
const fieldResolver = (parent, args, context, info) => {
context = embedPackOptionsInContext.embedPackOptionsInContext(context, options.packOptions);
return resolver(parent, args, context, info);
};
return fieldResolver;
}
if (isTypeResolver.isTypeResolver(type, resolver)) {
const typeResolver = (value, context, info, abstractType) => {
context = embedPackOptionsInContext.embedPackOptionsInContext(context, options.packOptions);
return resolver(value, context, info, abstractType);
};
return typeResolver;
}
return resolver;
});
exports.embedPackOptionsWrapper = embedPackOptionsWrapper;
//# sourceMappingURL=embed-pack-options-wrapper.js.map
;