@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
49 lines • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidVertexTypeReverse = exports.ValidVertexTypes = exports.VertexType = void 0;
exports.isValueVertex = isValueVertex;
exports.isUseVertex = isUseVertex;
exports.isFunctionCallVertex = isFunctionCallVertex;
exports.isVariableDefinitionVertex = isVariableDefinitionVertex;
exports.isFunctionDefinitionVertex = isFunctionDefinitionVertex;
var VertexType;
(function (VertexType) {
VertexType["Value"] = "value";
VertexType["Use"] = "use";
VertexType["FunctionCall"] = "fcall";
VertexType["VariableDefinition"] = "vdef";
VertexType["FunctionDefinition"] = "fdef";
})(VertexType || (exports.VertexType = VertexType = {}));
exports.ValidVertexTypes = new Set(Object.values(VertexType));
exports.ValidVertexTypeReverse = Object.fromEntries(Object.entries(VertexType).map(([k, v]) => [v, k]));
/**
* Check if the given vertex is a {@link DataflowGraphVertexValue|value vertex}.
*/
function isValueVertex(vertex) {
return vertex?.tag === VertexType.Value;
}
/**
* Check if the given vertex is a {@link DataflowGraphVertexUse|use vertex}.
*/
function isUseVertex(vertex) {
return vertex?.tag === VertexType.Use;
}
/**
* Check if the given vertex is a {@link DataflowGraphVertexFunctionCall|function call vertex}.
*/
function isFunctionCallVertex(vertex) {
return vertex?.tag === VertexType.FunctionCall;
}
/**
* Check if the given vertex is a {@link DataflowGraphVertexVariableDefinition|variable definition vertex}.
*/
function isVariableDefinitionVertex(vertex) {
return vertex?.tag === VertexType.VariableDefinition;
}
/**
* Check if the given vertex is a {@link DataflowGraphVertexFunctionDefinition|function definition vertex}.
*/
function isFunctionDefinitionVertex(vertex) {
return vertex?.tag === VertexType.FunctionDefinition;
}
//# sourceMappingURL=vertex.js.map