graphql-mocks
Version:
Tools for setting up graphql test resolvers
93 lines (82 loc) • 3.83 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';
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.js.map