graphql-mocks
Version:
Tools for setting up graphql test resolvers
30 lines (28 loc) • 883 B
JavaScript
require('graphql');
var constants = require('../resolver/constants.js');
var createWrapper = require('../resolver/create-wrapper.js');
const stashKey = Symbol('stash-state');
function stashFor(ref) {
return ref && ref[stashKey];
}
const stashStateWrapper = createWrapper.createWrapper('stash-state', constants.WrapperFor.FIELD, async function stashStateWrapper(originalResolver) {
return (parent, args, context, info) => {
const result = originalResolver(parent, args, context, info);
if (typeof result === 'object' && result !== null) {
const stash = {
parent,
args,
context,
info,
result
};
result[stashKey] = stash;
}
return result;
};
});
exports.stashFor = stashFor;
exports.stashKey = stashKey;
exports.stashStateWrapper = stashStateWrapper;
//# sourceMappingURL=stash-state.js.map
;