graphql-mocks
Version:
Tools for setting up graphql test resolvers
44 lines (35 loc) • 2.01 kB
JavaScript
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
import 'graphql';
import { WrapperFor } from '../../resolver/constants.js';
import { createWrapper } from '../../resolver/create-wrapper.js';
import { isFieldResolver } from '../../resolver/utils/is-field-resolver.js';
import { isTypeResolver } from '../../resolver/utils/is-type-resolver.js';
import { embedPackOptionsInContext } from './embed-pack-options-in-context.js';
var embedPackOptionsWrapper = createWrapper('embed-pack-options', WrapperFor.ANY, /*#__PURE__*/function () {
var _ref = _asyncToGenerator(function* (resolver, options) {
var {
type
} = options;
if (isFieldResolver(type, resolver)) {
var fieldResolver = (parent, args, context, info) => {
context = embedPackOptionsInContext(context, options.packOptions);
return resolver(parent, args, context, info);
};
return fieldResolver;
}
if (isTypeResolver(type, resolver)) {
var typeResolver = (value, context, info, abstractType) => {
context = embedPackOptionsInContext(context, options.packOptions);
return resolver(value, context, info, abstractType);
};
return typeResolver;
}
return resolver;
});
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}());
export { embedPackOptionsWrapper };
//# sourceMappingURL=embed-pack-options-wrapper.js.map