graphql-mocks
Version:
Tools for setting up graphql test resolvers
83 lines (82 loc) • 3.66 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';
var logWrapper = createWrapper('log-wrapper', WrapperFor.ANY, /*#__PURE__*/function () {
var _ref = _asyncToGenerator(function* (originalResolver, options) {
var {
type,
field
} = options;
if (isFieldResolver(options.type, originalResolver)) {
var resolver = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(function* (parent, args, context, info) {
var [parentOut, argsOut] = [parent, args].map(out => {
try {
return JSON.stringify(out, null, 2);
} catch (_unused) {
return 'Unable to JSON.stringify';
}
});
console.log("--- START: field resolver on ".concat(type.name, ".").concat(field === null || field === void 0 ? void 0 : field.name, " ---"));
console.log('');
console.log("parent:");
console.log(parentOut);
console.log('');
console.log('args:');
console.log(argsOut);
console.log('');
var result = yield originalResolver(parent, args, context, info);
var resultOut = JSON.stringify(result, null, 2);
console.log('result:');
console.log(resultOut);
console.log('');
console.log("--- END: field resolver on ".concat(type.name, ".").concat(field === null || field === void 0 ? void 0 : field.name, " ---"));
return result;
});
return function resolver(_x3, _x4, _x5, _x6) {
return _ref2.apply(this, arguments);
};
}();
return resolver;
}
if (isTypeResolver(options.type, originalResolver)) {
var _resolver = /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator(function* (value, context, info, abstractType) {
var [valueOut] = [value].map(out => {
try {
return JSON.stringify(out, null, 2);
} catch (_unused2) {
return 'Unable to JSON.stringify';
}
});
console.log("--- START: type resolver on ".concat(type.name, " ---"));
console.log('');
console.log('value:');
console.log(valueOut);
console.log('');
var result = yield originalResolver(value, context, info, abstractType);
var resultOut = JSON.stringify(result, null, 2);
console.log('result:');
console.log(resultOut);
console.log('');
console.log("--- END: type resolver on ".concat(type.name, " ---"));
return result;
});
return function _resolver(_x7, _x8, _x9, _x10) {
return _ref3.apply(this, arguments);
};
}();
return _resolver;
}
return originalResolver;
});
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}());
export { logWrapper };
//# sourceMappingURL=log.mjs.map