graphql-mocks
Version:
Tools for setting up graphql test resolvers
34 lines (33 loc) • 1.48 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';
var stashKey = Symbol('stash-state');
function stashFor(ref) {
return ref && ref[stashKey];
}
var stashStateWrapper = createWrapper('stash-state', WrapperFor.FIELD, /*#__PURE__*/function () {
var _stashStateWrapper = _asyncToGenerator(function* (originalResolver) {
return (parent, args, context, info) => {
var result = originalResolver(parent, args, context, info);
if (typeof result === 'object' && result !== null) {
var stash = {
parent,
args,
context,
info,
result
};
result[stashKey] = stash;
}
return result;
};
});
function stashStateWrapper(_x) {
return _stashStateWrapper.apply(this, arguments);
}
return stashStateWrapper;
}());
export { stashFor, stashKey, stashStateWrapper };
//# sourceMappingURL=stash-state.mjs.map