UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

31 lines 1.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LineageQueryDefinition = void 0; const ansi_1 = require("../../../util/text/ansi"); const time_1 = require("../../../util/text/time"); const joi_1 = __importDefault(require("joi")); const lineage_query_executor_1 = require("./lineage-query-executor"); const query_print_1 = require("../../query-print"); exports.LineageQueryDefinition = { executor: lineage_query_executor_1.executeLineageQuery, asciiSummarizer: (formatter, _processed, queryResults, result) => { const out = queryResults; result.push(`Query: ${(0, ansi_1.bold)('lineage', formatter)} (${(0, time_1.printAsMs)(out['.meta'].timing, 0)})`); for (const [criteria, lineage] of Object.entries(out.lineages)) { result.push(` ╰ ${criteria}: {${(0, query_print_1.summarizeIdsIfTooLong)(formatter, [...lineage])}}`); } return true; }, schema: joi_1.default.object({ type: joi_1.default.string().valid('lineage').required().description('The type of the query.'), criterion: joi_1.default.string().required().description('The slicing criterion of the node to get the lineage of.') }).description('Lineage query used to find the lineage of a node in the dataflow graph'), flattenInvolvedNodes: (queryResults) => { const out = queryResults; return Object.values(out.lineages).flatMap(lineage => [...lineage]); } }; //# sourceMappingURL=lineage-query-format.js.map