UNPKG

@comunica/actor-query-process-explain-parsed

Version:

A explain-parsed query-process actor

36 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActorQueryProcessExplainParsed = void 0; const bus_query_process_1 = require("@comunica/bus-query-process"); const context_entries_1 = require("@comunica/context-entries"); const core_1 = require("@comunica/core"); /** * A comunica Explain Parsed Query Process Actor. */ class ActorQueryProcessExplainParsed extends bus_query_process_1.ActorQueryProcess { queryProcessor; constructor(args) { super(args); this.queryProcessor = args.queryProcessor; } async test(action) { if ((action.context.get(context_entries_1.KeysInitQuery.explain) ?? action.context.get(new core_1.ActionContextKey('explain'))) !== 'parsed') { return (0, core_1.failTest)(`${this.name} can only explain in 'parsed' mode.`); } return (0, core_1.passTestVoid)(); } async run(action) { // Parse the query const { operation } = await this.queryProcessor.parse(action.query, action.context); return { result: { explain: true, type: 'parsed', data: operation, }, }; } } exports.ActorQueryProcessExplainParsed = ActorQueryProcessExplainParsed; //# sourceMappingURL=ActorQueryProcessExplainParsed.js.map