80 lines
1.6 KiB
JavaScript
Raw Normal View History

2015-10-26 08:03:30 +01:00
import * as Logger from '../../logger';
var log = new Logger.Log();
var relations = [];
2015-10-30 11:34:24 +01:00
let classes;
var idCache;
if(typeof Map !== 'undefined'){
classes = new Map();
}
2015-10-26 08:03:30 +01:00
// Functions to be run after graph rendering
var funs = [];
/**
* Function called by parser when a node definition has been found
* @param id
* @param text
* @param type
* @param style
*/
exports.addClass = function (id) {
2015-11-05 18:26:22 -05:00
log.log('Adding: '+id);
if(typeof classes.get(id) === 'undefined'){
classes.set(id, {
id:id,
methods:[],
members:[]
});
2015-10-26 08:03:30 +01:00
}
};
2015-10-26 08:03:30 +01:00
exports.clear = function () {
relations = [];
classes.clear();
};
2015-10-26 08:03:30 +01:00
module.exports.getClass = function (id) {
return classes.get(id);
};
module.exports.getClasses = function (id) {
return classes;
};
2015-10-30 10:47:25 +01:00
module.exports.getRelations = function () {
return relations;
};
2015-10-26 08:03:30 +01:00
exports.addRelation = function (relation) {
2015-11-05 18:26:22 -05:00
log.log('Adding relation: ' + JSON.stringify(relation));
exports.addClass(relation.id1);
exports.addClass(relation.id2);
relations.push(relation);
};
exports.addMembers = function (className, MembersArr) {
var theClass = classes.get(className);
if(typeof MembersArr === 'string'){
if(MembersArr.substr(-1) === ')'){
theClass.methods.push(MembersArr.substr(2));
}
else{
theClass.members.push(MembersArr.substr(2));
}
}
//console.warn('MembersArr:'+MembersArr);
};
exports.lineType = {
LINE:0,
DOTTED_LINE:1
2015-10-26 08:03:30 +01:00
};
exports.relationType = {
AGGREGATION:0,
EXTENSION:1,
COMPOSITION:2,
DEPENDENCY:3
2015-11-05 18:26:22 -05:00
};