@graphql-mesh/serve-runtime
Version:
32 lines (31 loc) • 1.26 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useSubgraphExecuteDebug = useSubgraphExecuteDebug;
const graphql_yoga_1 = require("graphql-yoga");
const transport_common_1 = require("@graphql-mesh/transport-common");
function useSubgraphExecuteDebug(opts) {
return {
onSubgraphExecute({ executionRequest, logger = opts.logger }) {
logger.debug(`subgraph-execute`, () => ({
query: (0, transport_common_1.defaultPrintFn)(executionRequest.document),
variables: executionRequest.variables,
}));
return function onSubgraphExecuteDone({ result }) {
if ((0, graphql_yoga_1.isAsyncIterable)(result)) {
return {
onNext(value) {
logger.debug(`subgraph-response-next`, value);
},
onEnd() {
logger.debug(`subgraph-response-end`);
},
};
}
logger.debug(`subgraph-response`, {
data: result.data,
errors: result.errors,
});
};
},
};
}
;