graphql-mocks
Version:
Tools for setting up graphql test resolvers
36 lines (35 loc) • 1.84 kB
JavaScript
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
import 'graphql';
import { WrapperFor } from '../../resolver/constants.mjs';
import { createWrapper } from '../../resolver/create-wrapper.mjs';
import { isFieldResolver } from '../../resolver/utils/is-field-resolver.mjs';
import { isTypeResolver } from '../../resolver/utils/is-type-resolver.mjs';
import { embedPackOptionsInContext } from './embed-pack-options-in-context.mjs';
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.mjs.map