UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

34 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sliceDirectionParser = sliceDirectionParser; exports.sliceCriterionParser = sliceCriterionParser; exports.sliceCriteriaParser = sliceCriteriaParser; const slice_direction_1 = require("../../../util/slice-direction"); /** * Checks whether the given argument represents a slicing direction with an `f` suffix. */ function sliceDirectionParser(argument) { const endBracket = argument.indexOf(')'); return argument[endBracket + 1] === 'f' ? slice_direction_1.SliceDirection.Forward : slice_direction_1.SliceDirection.Backward; } /** * Parses a single slicing criterion from the given argument. */ function sliceCriterionParser(argument) { if (argument?.startsWith('(') && argument.includes(')')) { const endBracket = argument.indexOf(')'); return argument.slice(1, endBracket); } } /** * Parses multiple slicing criteria from the given argument. */ function sliceCriteriaParser(argument) { if (argument?.startsWith('(') && argument.includes(')')) { const endBracket = argument.indexOf(')'); const criteriaPart = argument.slice(1, endBracket); const criteria = criteriaPart.split(';'); return criteria; } } //# sourceMappingURL=slice-query-parser.js.map