jsev
Version:
Environment for building Web API's.
32 lines • 920 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const graphql_1 = require("graphql");
function wrapResolveWithLogging(func) {
return async (obj, args, ctx, info) => {
try {
let result = func(obj, args, ctx, info);
if (result instanceof Promise) {
result = await result;
}
return result;
}
catch (err) {
ctx.log.error(err);
throw err;
}
};
}
exports.wrapResolveWithLogging = wrapResolveWithLogging;
function convertToGraphQLObject(name, obj) {
Object.values(obj).forEach((x) => {
if (x.resolve) {
x.resolve = wrapResolveWithLogging(x.resolve);
}
});
return new graphql_1.GraphQLObjectType({
fields: obj,
name,
});
}
exports.convertToGraphQLObject = convertToGraphQLObject;
//# sourceMappingURL=gql.js.map