Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql / dist / deps / LoggingExtension.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * @todo this causes multiple graphql errors?
 */
const graphql_1 = require("graphql");
const pino_1 = require("./pino");
var LogAction;
(function (LogAction) {
    LogAction[LogAction["request"] = 0] = "request";
    LogAction[LogAction["parse"] = 1] = "parse";
    LogAction[LogAction["validation"] = 2] = "validation";
    LogAction[LogAction["execute"] = 3] = "execute";
    LogAction[LogAction["setup"] = 4] = "setup";
    LogAction[LogAction["cleanup"] = 5] = "cleanup";
})(LogAction = exports.LogAction || (exports.LogAction = {}));
var LogStep;
(function (LogStep) {
    LogStep[LogStep["start"] = 0] = "start";
    LogStep[LogStep["end"] = 1] = "end";
    LogStep[LogStep["status"] = 2] = "status";
})(LogStep = exports.LogStep || (exports.LogStep = {}));
// A GraphQLExtension that implements the existing logFunction interface. Note
// that now that custom extensions are supported, you may just want to do your
// logging as a GraphQLExtension rather than write a LogFunction.
// could also use like .child
exports.DEFAULT_GRAPHQL_LOGGER = (...args) => pino_1.logger.info('[graphql]', ...args);
class LoggingExtension {
    constructor(logFunction = exports.DEFAULT_GRAPHQL_LOGGER) {
        this.logFunction = logFunction;
    }
    requestDidStart(options) {
        this.logFunction({ action: LogAction.request, step: LogStep.start });
        const loggedQuery = options.queryString || graphql_1.print(options.parsedQuery);
        this.logFunction({
            action: LogAction.request,
            step: LogStep.status,
            key: 'query',
            data: loggedQuery,
        });
        this.logFunction({
            action: LogAction.request,
            step: LogStep.status,
            key: 'variables',
            data: options.variables,
        });
        this.logFunction({
            action: LogAction.request,
            step: LogStep.status,
            key: 'operationName',
            data: options.operationName,
        });
        return (...errors) => {
            // If there are no errors, we log in willSendResponse instead.
            if (errors.length) {
                this.logFunction({ action: LogAction.request, step: LogStep.end });
            }
        };
    }
    parsingDidStart() {
        this.logFunction({ action: LogAction.parse, step: LogStep.start });
        return () => {
            this.logFunction({ action: LogAction.parse, step: LogStep.end });
        };
    }
    validationDidStart() {
        this.logFunction({ action: LogAction.validation, step: LogStep.start });
        return () => {
            this.logFunction({ action: LogAction.validation, step: LogStep.end });
        };
    }
    executionDidStart() {
        this.logFunction({ action: LogAction.execute, step: LogStep.start });
        return () => {
            this.logFunction({ action: LogAction.execute, step: LogStep.end });
        };
    }
    willSendResponse(o) {
        this.logFunction({
            action: LogAction.request,
            step: LogStep.end,
            key: 'response',
            data: o.graphqlResponse,
        });
    }
}
exports.LoggingExtension = LoggingExtension;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2luZ0V4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXBzL0xvZ2dpbmdFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQTs7R0FFRztBQUNILHFDQUE2QztBQUM3QyxpQ0FBK0I7QUFFL0IsSUFBWSxTQU9YO0FBUEQsV0FBWSxTQUFTO0lBQ25CLCtDQUFPLENBQUE7SUFDUCwyQ0FBSyxDQUFBO0lBQ0wscURBQVUsQ0FBQTtJQUNWLCtDQUFPLENBQUE7SUFDUCwyQ0FBSyxDQUFBO0lBQ0wsK0NBQU8sQ0FBQTtBQUNULENBQUMsRUFQVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQU9wQjtBQUVELElBQVksT0FJWDtBQUpELFdBQVksT0FBTztJQUNqQix1Q0FBSyxDQUFBO0lBQ0wsbUNBQUcsQ0FBQTtJQUNILHlDQUFNLENBQUE7QUFDUixDQUFDLEVBSlcsT0FBTyxHQUFQLGVBQU8sS0FBUCxlQUFPLFFBSWxCO0FBYUQsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxpRUFBaUU7QUFFakUsNkJBQTZCO0FBQ2hCLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQ3ZELGFBQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUE7QUFFbkMsTUFBYSxnQkFBZ0I7SUFHM0IsWUFBbUIsY0FBMkIsOEJBQXNCO1FBQ2xFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ2hDLENBQUM7SUFFTSxlQUFlLENBQUMsT0FNdEI7UUFDQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksZUFBSyxDQUFDLE9BQU8sQ0FBQyxXQUFX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