@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
27 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.unpackNonameArg = unpackNonameArg;
exports.unpackArg = unpackArg;
exports.tryUnpackNoNameArg = tryUnpackNoNameArg;
const r_function_call_1 = require("../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-function-call");
/**
* Retrieve the value from an argument, if it is not empty.
* @see {@link unpackArg} - to specifically retrieve non-named arguments
*/
function unpackNonameArg(arg) {
return arg === r_function_call_1.EmptyArgument || arg?.name !== undefined ? undefined : arg?.value;
}
/**
* Retrieve the value from a non-named argument, if it is not empty.
* @see {@link unpackNonameArg} - to specifically retrieve non-named arguments
*/
function unpackArg(arg) {
return arg === r_function_call_1.EmptyArgument ? undefined : arg?.value;
}
/**
* Try to unpack the given argument, if it is not empty.
*/
function tryUnpackNoNameArg(arg) {
return unpackNonameArg(arg) ?? arg;
}
//# sourceMappingURL=unpack-argument.js.map