Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / @skava/graphql   js

Repository URL to install this package:

Version: 9.0.35-framework 

/ dist / deps / LoggingExtension.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * @todo this causes multiple graphql errors?
 */
const graphql_1 = require("graphql");
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) => {
    console.log('[graphql]{LoggingExtension}', ...args);
    // 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2luZ0V4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXBzL0xvZ2dpbmdFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQTs7R0FFRztBQUNILHFDQUE2QztBQUc3QyxJQUFZLFNBT1g7QUFQRCxXQUFZLFNBQVM7SUFDbkIsK0NBQU8sQ0FBQTtJQUNQLDJDQUFLLENBQUE7SUFDTCxxREFBVSxDQUFBO0lBQ1YsK0NBQU8sQ0FBQTtJQUNQLDJDQUFLLENBQUE7SUFDTCwrQ0FBTyxDQUFBO0FBQ1QsQ0FBQyxFQVBXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBT3BCO0FBRUQsSUFBWSxPQUlYO0FBSkQsV0FBWSxPQUFPO0lBQ2pCLHVDQUFLLENBQUE7SUFDTCxtQ0FBRyxDQUFBO0lBQ0gseUNBQU0sQ0FBQTtBQUNSLENBQUMsRUFKVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFJbEI7QUFhRCw4RUFBOEU7QUFDOUUsOEVBQThFO0FBQzlFLGlFQUFpRTtBQUVqRSw2QkFBNkI7QUFDaEIsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7SUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ25ELG9DQUFvQztBQUN0QyxDQUFDLENBQUE7QUFFRCxNQUFhLGdCQUFnQjtJQUczQixZQUFtQixjQUEyQiw4QkFBc0I7UUFDbEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQU10QjtRQUNDLHVFQUF1RTtRQUN2RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLGVBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNmLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTztZQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDcEIsR0FBRyxFQUFFLE9BQU87WUFDWixJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2YsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPO1lBQ3pCLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTTtZQUNwQixHQUFHLEVBQUUsV0FBVztZQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVM7U0FDeEIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNmLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTztZQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDcEIsR0FBRyxFQUFFLGVBQWU7WUFDcEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzVCLENBQUMsQ0FBQTtRQUVGLE9BQU8sQ0FBQyxHQUFHLE1BQWUsRUFBRSxFQUFFO1lBQzVCLDhEQUE4RDtZQUM5RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7YUFDbkU7UUFDSCxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRU0sZUFBZTtRQUNwQixxRUFBcUU7UUFDckUsT0FBTyxHQUFHLEVBQUU7WUFDVixtRUFBbUU7UUFDckUsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QiwwRUFBMEU7UUFDMUUsT0FBTyxHQUFHLEVBQUU7WUFDVix3RUFBd0U7UUFDMUUsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQjtRQUN0Qix1RUFBdUU7UUFDdkUsT0FBTyxHQUFHLEVBQUU7WUFDVixxRUFBcUU7UUFDdkUsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVNLGdCQUFnQixDQUFDLENBQXVDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUM7WUFDZixNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU87WUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2pCLEdBQUcsRUFBRSxVQUFVO1lBQ2YsSUFBSSxFQUFFLENBQUMsQ0FBQyxlQUFlO1NBQ3hCLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXhFRCw0Q0F3RUMifQ==