UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

26 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeLintingRule = executeLintingRule; const linter_rules_1 = require("./linter-rules"); const flowr_search_executor_1 = require("../search/flowr-search-executor"); const flowr_search_1 = require("../search/flowr-search"); function executeLintingRule(ruleName, input, config) { const rule = linter_rules_1.LintingRules[ruleName]; const fullConfig = { ...rule.defaultConfig, ...config }; const ruleSearch = rule.createSearch(fullConfig, input); const searchStart = Date.now(); const searchResult = (0, flowr_search_executor_1.runSearch)(ruleSearch, input); const searchTime = Date.now() - searchStart; const processStart = Date.now(); const result = rule.processSearchResult(new flowr_search_1.FlowrSearchElements(searchResult), fullConfig, input); const processTime = Date.now() - processStart; return { ...result, '.meta': { ...result['.meta'], searchTimeMs: searchTime, processTimeMs: processTime } }; } //# sourceMappingURL=linter-executor.js.map