UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

33 lines 1.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchQueryDefinition = void 0; const ansi_1 = require("../../../util/text/ansi"); const time_1 = require("../../../util/text/time"); const joi_1 = __importDefault(require("joi")); const query_print_1 = require("../../query-print"); const search_query_executor_1 = require("./search-query-executor"); const flowr_search_printer_1 = require("../../../search/flowr-search-printer"); const mermaid_1 = require("../../../util/mermaid/mermaid"); exports.SearchQueryDefinition = { executor: search_query_executor_1.executeSearch, asciiSummarizer: (formatter, _processed, queryResults, result) => { const out = queryResults; result.push(`Query: ${(0, ansi_1.bold)('search', formatter)} (${(0, time_1.printAsMs)(out['.meta'].timing, 0)})`); for (const [, { ids, search }] of out.results.entries()) { result.push(` ╰ [query](${(0, mermaid_1.mermaidCodeToUrl)((0, flowr_search_printer_1.flowrSearchToMermaid)(search))}): {${(0, query_print_1.summarizeIdsIfTooLong)(formatter, ids)}}`); } return true; }, schema: joi_1.default.object({ type: joi_1.default.string().valid('search').required().description('The type of the query.'), search: joi_1.default.object().required().description('The search query to execute.') }).description('The search query searches the normalized AST and dataflow graph for nodes that match the given search query.'), flattenInvolvedNodes: (queryResults) => { const out = queryResults; return out.results.flatMap(({ ids }) => ids); } }; //# sourceMappingURL=search-query-format.js.map