Added logger for dealing with issue #179

Added markdown files for the documentation.
parseError exposed from the mermaidAPI
This commit is contained in:
knsv
2015-06-30 14:23:32 +02:00
parent 0dc983d04a
commit 6f96b5dd14
32 changed files with 1253 additions and 471 deletions

261
dist/mermaidAPI.js vendored
View File

@@ -24716,19 +24716,19 @@ module.exports={
},{}],86:[function(require,module,exports){
/* global window */
//console.log('Setting up d3');
//log.debug('Setting up d3');
var d3;
if (require) {
try {
d3 = require("d3");
} catch (e) {
console.log('Exception ... but ok');
//console.log(e);
//log.debug('Exception ... but ok');
//log.debug(e);
}
}
//console.log(d3);
//log.debug(d3);
if (!d3) {
//if(typeof window !== 'undefined')
@@ -24739,10 +24739,10 @@ if (!d3) {
// window = {};
// window.d3 = d3;
//}
//console.log('window');
//console.log(window);
//log.debug('window');
//log.debug(window);
module.exports = d3;
/* jshint ignore:start */
/*
D3 Text Wrap
@@ -25197,11 +25197,12 @@ Detailed instructions at http://www.github.com/vijithassar/d3textwrap
}
})();
/* jshint ignore:end */
},{"d3":1}],87:[function(require,module,exports){
/**
* Created by knut on 15-01-14.
*/
var log = require('../../logger').create();
var message = '';
var info = false;
@@ -25222,16 +25223,16 @@ exports.getInfo = function(){
};
exports.parseError = function(err,hash){
mermaid.parseError(err,hash);
mermaidAPI.parseError(err,hash);
};
},{}],88:[function(require,module,exports){
},{"../../logger":103}],88:[function(require,module,exports){
/**
* Created by knut on 14-12-11.
*/
var db = require('./exampleDb');
var exampleParser = require('./parser/example.js');
var d3 = require('../../d3');
var log = require('../../logger').create();
/**
* Draws a an info picture in the tag with id: id based on the graph definition in text.
* @param text
@@ -25269,7 +25270,7 @@ exports.draw = function (txt, id, ver) {
svg.attr("width", 400 );
//svg.attr("viewBox", '0 0 300 150');
};
},{"../../d3":86,"./exampleDb":87,"./parser/example.js":89}],89:[function(require,module,exports){
},{"../../d3":86,"../../logger":103,"./exampleDb":87,"./parser/example.js":89}],89:[function(require,module,exports){
(function (process){
/* parser generated by jison 0.4.15 */
/*
@@ -25898,14 +25899,14 @@ if (typeof module !== 'undefined' && require.main === module) {
}).call(this,require("1YiZ5S"))
},{"1YiZ5S":82,"fs":80,"path":81}],90:[function(require,module,exports){
/* global window */
var log = require('../../logger').create();
var dagreD3;
//console.log('setting up dagre-d3');
//log.debug('setting up dagre-d3');
if (require) {
try {
dagreD3 = require("dagre-d3");
//console.log('Got it (dagre-d3)');
} catch (e) {console.log('Could not load dagre-d3');}
//log.debug('Got it (dagre-d3)');
} catch (e) {log.debug('Could not load dagre-d3');}
}
if (!dagreD3) {
@@ -25914,7 +25915,7 @@ if (!dagreD3) {
module.exports = dagreD3;
},{"dagre-d3":2}],91:[function(require,module,exports){
},{"../../logger":103,"dagre-d3":2}],91:[function(require,module,exports){
/**
* Created by knut on 14-12-11.
*/
@@ -25923,6 +25924,8 @@ var flow = require('./parser/flow');
var dot = require('./parser/dot');
var d3 = require('../../d3');
var dagreD3 = require('./dagre-d3');
var log = require('../../logger').create();
var conf = {
};
module.exports.setConf = function(cnf){
@@ -25966,7 +25969,7 @@ exports.addVertices = function (vert, g) {
*/
var classStr = '';
//console.log(vertice.classes);
//log.debug(vertice.classes);
if(vertice.classes.length >0){
classStr = vertice.classes.join(" ");
@@ -26147,7 +26150,7 @@ exports.getClasses = function (text, isDot) {
* @param id
*/
exports.draw = function (text, id,isDot) {
log.debug('Drawing flowchart');
var parser;
graph.clear();
if(isDot){
@@ -26200,7 +26203,7 @@ exports.draw = function (text, id,isDot) {
// Fetch the verices/nodes and edges/links from the parsed graph definition
var vert = graph.getVertices();
//console.log(vert);
//log.debug(vert);
var edges = graph.getEdges();
i = 0;
@@ -26211,7 +26214,7 @@ exports.draw = function (text, id,isDot) {
d3.selectAll('cluster').append('text');
for(j=0;j<subG.nodes.length;j++){
//console.log('Setting node',subG.nodes[j],' to subgraph '+id);
//log.debug('Setting node',subG.nodes[j],' to subgraph '+id);
g.setParent(subG.nodes[j],subG.id);
}
}
@@ -26355,7 +26358,7 @@ exports.draw = function (text, id,isDot) {
if (subG.title !== 'undefined') {
var clusterRects = document.querySelectorAll('#' + id + ' #' + subG.id + ' rect');
//console.log('looking up: #' + id + ' #' + subG.id)
//log.debug('looking up: #' + id + ' #' + subG.id)
var clusterEl = document.querySelectorAll('#' + id + ' #' + subG.id);
var xPos = clusterRects[0].x.baseVal.value;
@@ -26382,11 +26385,11 @@ exports.draw = function (text, id,isDot) {
};
},{"../../d3":86,"./dagre-d3":90,"./graphDb":92,"./parser/dot":93,"./parser/flow":94}],92:[function(require,module,exports){
},{"../../d3":86,"../../logger":103,"./dagre-d3":90,"./graphDb":92,"./parser/dot":93,"./parser/flow":94}],92:[function(require,module,exports){
/**
* Created by knut on 14-11-03.
*/
var log = require('../../logger').create();
var vertices = {};
var edges = [];
var classes = [];
@@ -26448,7 +26451,7 @@ exports.addVertex = function (id, text, type, style) {
* @param linktext
*/
exports.addLink = function (start, end, type, linktext) {
//console.log('Got edge', start, end);
//log.debug('Got edge', start, end);
var edge = {start: start, end: end, type: undefined, text: ''};
linktext = type.text;
@@ -26543,7 +26546,7 @@ exports.setClickEvent = function (id,functionName) {
}
});
}else{
//console.log('Checking now for ::'+id);
//log.debug('Checking now for ::'+id);
if(typeof vertices[id] !== 'undefined'){
funs.push(function(){
var elem = document.getElementById(id);
@@ -26551,7 +26554,7 @@ exports.setClickEvent = function (id,functionName) {
elem.onclick = function(){eval(functionName+'(\'' + id + '\')');}; // jshint ignore:line
}
else{
//console.log('id was null: '+id);
//log.debug('id was null: '+id);
}
});
}
@@ -26636,8 +26639,8 @@ exports.addSubGraph = function (list, title) {
var subGraph = {id:'subGraph'+subCount, nodes:nodeList,title:title};
//console.log('subGraph:' + subGraph.title + subGraph.id);
//console.log(subGraph.nodes);
//log.debug('subGraph:' + subGraph.title + subGraph.id);
//log.debug(subGraph.nodes);
subGraphs.push(subGraph);
subCount = subCount + 1;
return subGraph.id;
@@ -26647,11 +26650,11 @@ var getPosForId = function(id){
var i;
for(i=0;i<subGraphs.length;i++){
if(subGraphs[i].id===id){
//console.log('Found pos for ',id,' ',i);
//log.debug('Found pos for ',id,' ',i);
return i;
}
}
//console.log('No pos found for ',id,' ',i);
//log.debug('No pos found for ',id,' ',i);
return -1;
};
var secCount = -1;
@@ -26717,9 +26720,9 @@ exports.getSubGraphs = function (list) {
};
exports.parseError = function(err,hash){
mermaid.parseError(err,hash);
mermaidAPI.parseError(err,hash);
};
},{}],93:[function(require,module,exports){
},{"../../logger":103}],93:[function(require,module,exports){
(function (process){
/* parser generated by jison 0.4.15 */
/*
@@ -28387,6 +28390,7 @@ if (typeof module !== 'undefined' && require.main === module) {
* Created by knut on 15-01-14.
*/
var moment = require('moment');
var log = require('../../logger').create();
var dateFormat = '';
var title = '';
@@ -28444,8 +28448,8 @@ exports.getTasks=function(){
var getStartDate = function(prevTime, dateFormat, str){
//console.log('Deciding start date:'+str);
//console.log('with dateformat:'+dateFormat);
//log.debug('Deciding start date:'+str);
//log.debug('with dateformat:'+dateFormat);
str = str.trim();
@@ -28466,9 +28470,9 @@ var getStartDate = function(prevTime, dateFormat, str){
if(moment(str,dateFormat.trim(),true).isValid()){
return moment(str,dateFormat.trim(),true).toDate();
}else{
console.log('Invalid date:'+str);
console.log('With date format:'+dateFormat.trim());
//console.log('----');
log.debug('Invalid date:'+str);
log.debug('With date format:'+dateFormat.trim());
//log.debug('----');
}
// Default date - now
@@ -28615,14 +28619,14 @@ exports.addTask = function(descr,data){
};
exports.parseError = function(err,hash){
mermaid.parseError(err,hash);
mermaidAPI.parseError(err,hash);
};
},{"moment":84}],96:[function(require,module,exports){
},{"../../logger":103,"moment":84}],96:[function(require,module,exports){
var gantt = require('./parser/gantt').parser;
gantt.yy = require('./ganttDb');
var d3 = require('../../d3');
var moment = require('moment');
var log = require('../../logger').create();
var daysInChart;
var conf = {
@@ -28985,7 +28989,7 @@ module.exports.draw = function (text, id) {
if (i > 0) {
for (var j = 0; j < i; j++) {
prevGap += numOccurances[i - 1][1];
// console.log(prevGap);
// log.debug(prevGap);
return d[1] * theGap / 2 + prevGap * theGap + theTopPad;
}
} else {
@@ -29045,7 +29049,7 @@ module.exports.draw = function (text, id) {
return getCounts(arr)[word] || 0;
}
};
},{"../../d3":86,"./ganttDb":95,"./parser/gantt":97,"moment":84}],97:[function(require,module,exports){
},{"../../d3":86,"../../logger":103,"./ganttDb":95,"./parser/gantt":97,"moment":84}],97:[function(require,module,exports){
(function (process){
/* parser generated by jison 0.4.15 */
/*
@@ -30450,15 +30454,15 @@ var actors = {};
var actorKeys = [];
var messages = [];
var notes = [];
var log = require('../../logger').create();
exports.addActor = function(id,name,description){
//console.log('Adding actor: '+id);
actors[id] = {name:name, description:description};
actorKeys.push(id);
};
exports.addMessage = function(idFrom, idTo, message, answer){
//console.log('Adding message from='+idFrom+' to='+idTo+' message='+message+' answer='+answer);
messages.push({from:idFrom, to:idTo, message:message, answer:answer});
};
@@ -30466,7 +30470,7 @@ exports.addMessage = function(idFrom, idTo, message, answer){
*
*/
exports.addSignal = function(idFrom, idTo, message, messageType){
//console.log('Adding message from='+idFrom+' to='+idTo+' message='+message+' answer='+answer);
log.debug('Adding message from='+idFrom+' to='+idTo+' message='+message+' type='+messageType);
messages.push({from:idFrom, to:idTo, message:message, type:messageType});
};
@@ -30526,7 +30530,7 @@ exports.addNote = function (actor, placement, message){
exports.parseError = function(err,hash){
mermaid.parseError(err,hash);
mermaidAPI.parseError(err,hash);
};
exports.apply = function(param){
@@ -30535,7 +30539,7 @@ exports.apply = function(param){
exports.apply(item);
});
} else {
// console.log(param);
// log.debug(param);
switch(param.type){
case 'addActor':
exports.addActor(param.actor, param.actor, param.actor);
@@ -30547,7 +30551,7 @@ exports.apply = function(param){
exports.addSignal(param.from, param.to, param.msg, param.signalType);
break;
case 'loopStart':
//console.log('Loop text: ',param.loopText);
//log.debug('Loop text: ',param.loopText);
exports.addSignal(undefined, undefined, param.loopText, param.signalType);
//yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);
break;
@@ -30555,7 +30559,7 @@ exports.apply = function(param){
exports.addSignal(undefined, undefined, undefined, param.signalType);
break;
case 'optStart':
//console.log('Loop text: ',param.loopText);
//log.debug('Loop text: ',param.loopText);
exports.addSignal(undefined, undefined, param.optText, param.signalType);
//yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);
break;
@@ -30563,7 +30567,7 @@ exports.apply = function(param){
exports.addSignal(undefined, undefined, undefined, param.signalType);
break;
case 'altStart':
//console.log('Loop text: ',param.loopText);
//log.debug('Loop text: ',param.loopText);
exports.addSignal(undefined, undefined, param.altText, param.signalType);
//yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);
break;
@@ -30574,11 +30578,9 @@ exports.apply = function(param){
exports.addSignal(undefined, undefined, undefined, param.signalType);
break;
}
// console.log('xxx',param);
}
};
},{}],100:[function(require,module,exports){
},{"../../logger":103}],100:[function(require,module,exports){
/**
* Created by knut on 14-11-23.
*/
@@ -30587,6 +30589,8 @@ var sq = require('./parser/sequenceDiagram').parser;
sq.yy = require('./sequenceDb');
var svgDraw = require('./svgDraw');
var d3 = require('../../d3');
var log = require('../../logger').create();
var conf = {
diagramMarginX:50,
@@ -30961,7 +30965,7 @@ module.exports.draw = function (text, id) {
if(conf.useMaxWidth) {
diagram.attr("height", '100%');
diagram.attr("width", '100%');
diagram.attr('style', 'max-width:' + (width) + 'px;')
diagram.attr('style', 'max-width:' + (width) + 'px;');
}else{
diagram.attr("height",height);
diagram.attr("width", width );
@@ -30969,10 +30973,11 @@ module.exports.draw = function (text, id) {
diagram.attr("viewBox", (box.startx-conf.diagramMarginX) + ' -' +conf.diagramMarginY + ' ' + width + ' ' + height);
};
},{"../../d3":86,"./parser/sequenceDiagram":98,"./sequenceDb":99,"./svgDraw":101}],101:[function(require,module,exports){
},{"../../d3":86,"../../logger":103,"./parser/sequenceDiagram":98,"./sequenceDb":99,"./svgDraw":101}],101:[function(require,module,exports){
/**
* Created by knut on 14-12-20.
*/
var log = require('../../logger').create();
exports.drawRect = function(elem , rectData){
var rectElem = elem.append("rect");
rectElem.attr("x", rectData.x);
@@ -31217,7 +31222,7 @@ exports.getNoteRect = function(){
return rect;
};
},{}],102:[function(require,module,exports){
},{"../../logger":103}],102:[function(require,module,exports){
(function (global){
var graph = require('./diagrams/flowchart/graphDb');
var flow = require('./diagrams/flowchart/parser/flow');
@@ -31236,6 +31241,7 @@ var ganttParser = require('./diagrams/gantt/parser/gantt');
var ganttDb = require('./diagrams/gantt/ganttDb');
var d3 = require('./d3');
var nextId = 0;
var log = require('./logger').create();
// Default options, can be overridden at initialization time
/**
@@ -31455,7 +31461,7 @@ var setConf = function(cnf){
var j;
for(j=0;j<lvl2Keys.length;j++) {
//console.log('Setting conf ',lvl1Keys[i],'-',lvl2Keys[j]);
//log.debug('Setting conf ',lvl1Keys[i],'-',lvl2Keys[j]);
if(typeof config[lvl1Keys[i]] === 'undefined'){
config[lvl1Keys[i]] = {};
@@ -31477,20 +31483,140 @@ exports.initialize = function(options){
exports.getConfig = function(){
return config;
};
exports.parseError = function(err, hash) {
if(typeof mermaid !== 'undefined') {
mermaid.parseError(err,hash);
}else{
log.debug('Mermaid Syntax error:');
log.debug(err);
}
};
global.mermaidAPI = {
render : exports.render,
parse : exports.parse,
initialize : exports.initialize,
detectType : utils.detectType
detectType : utils.detectType,
parseError : exports.parseError
};
}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"../package.json":85,"./d3":86,"./diagrams/example/exampleDb":87,"./diagrams/example/exampleRenderer":88,"./diagrams/example/parser/example":89,"./diagrams/flowchart/flowRenderer":91,"./diagrams/flowchart/graphDb":92,"./diagrams/flowchart/parser/dot":93,"./diagrams/flowchart/parser/flow":94,"./diagrams/gantt/ganttDb":95,"./diagrams/gantt/ganttRenderer":96,"./diagrams/gantt/parser/gantt":97,"./diagrams/sequenceDiagram/parser/sequenceDiagram":98,"./diagrams/sequenceDiagram/sequenceDb":99,"./diagrams/sequenceDiagram/sequenceRenderer":100,"./utils":103}],103:[function(require,module,exports){
},{"../package.json":85,"./d3":86,"./diagrams/example/exampleDb":87,"./diagrams/example/exampleRenderer":88,"./diagrams/example/parser/example":89,"./diagrams/flowchart/flowRenderer":91,"./diagrams/flowchart/graphDb":92,"./diagrams/flowchart/parser/dot":93,"./diagrams/flowchart/parser/flow":94,"./diagrams/gantt/ganttDb":95,"./diagrams/gantt/ganttRenderer":96,"./diagrams/gantt/parser/gantt":97,"./diagrams/sequenceDiagram/parser/sequenceDiagram":98,"./diagrams/sequenceDiagram/sequenceDb":99,"./diagrams/sequenceDiagram/sequenceRenderer":100,"./logger":103,"./utils":104}],103:[function(require,module,exports){
(function (process){
/**
* #logger
* logger = require('logger').create()
* logger.info("blah")
* => [2011-3-3T20:24:4.810 info (5021)] blah
* logger.debug("boom")
* =>
* logger.level = Logger.levels.debug
* logger.debug(function() { return "booom" })
* => [2011-3-3T20:24:4.810 error (5021)] booom
*/
var Logger;
Logger = (function() {
function Logger(options) {
var level, num, ref;
this.options = options || {};
this.level = this.options.level || Logger.levels.default;
ref = Logger.levels;
for (level in ref) {
num = ref[level];
Logger.define(this, level);
}
}
Logger.prototype.add = function(level, message, callback) {
if (this.level > (Logger.levels[level] || 5)) {
return;
}
if (callback) {
message = callback();
} else if (typeof message === 'function') {
message = message();
}
return this.write({
timestamp: new Date,
severity: level,
message: message,
pid: process.pid
});
};
function formatTime(timestamp){
var hh = timestamp.getUTCHours();
var mm = timestamp.getUTCMinutes();
var ss = timestamp.getSeconds();
var ms = timestamp.getMilliseconds();
// If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time
// if (hh > 12) {hh = hh % 12;}
// These lines ensure you have two-digits
if (hh < 10) {hh = "0"+hh;}
if (mm < 10) {mm = "0"+mm;}
if (ss < 10) {ss = "0"+ss;}
if (ms < 100){ms = "0"+ms;}
if (ms < 10) {ms = "00"+ms;}
// This formats your string to HH:MM:SS
var t = hh+":"+mm+":"+ss +' ('+ms+')';
return t;
}
Logger.prototype.write = function(options) {
if(typeof console !== 'undefined'){
if(typeof log.debug !== 'undefined'){
return log.debug(this.build_message(options));
}
}
};
Logger.prototype.build_message = function(options) {
return "[" + formatTime(options.timestamp) + "] " + options.message;
};
return Logger;
})();
Logger.define = function(logger, level) {
return logger[level] = function(message, callback) {
return this.add(level, message, callback);
};
};
Logger.levels = {
debug: 1,
info: 2,
warn: 3,
error: 4,
fatal: 5,
default:3
};
exports.create = function(type, options) {
return new Logger(options);
};
}).call(this,require("1YiZ5S"))
},{"1YiZ5S":82}],104:[function(require,module,exports){
/**
* Created by knut on 14-11-23.
*/
var log = require('./logger').create();
/**
* @function detectType
* Detects the type of the graph text.
* ```mermaid
* graph LR
* a-->b
* b-->c
* c-->d
* d-->e
* e-->f
* f-->g
* g-->h
* ```
*
* @param {string} text The text defining the graph
* @param {string} text The second text defining the graph
* @returns {string} A graph definition key
@@ -31501,22 +31627,27 @@ module.exports.detectType = function(text,a){
}
if(text.match(/^\s*sequence/)){
//console.log('Detected sequence syntax');
/* ```mermaid
graph TB
a-->b
b-->c
```
*/
return "sequence";
}
if(text.match(/^\s*digraph/)) {
//console.log('Detected dot syntax');
//log.debug('Detected dot syntax');
return "dotGraph";
}
if(text.match(/^\s*info/)) {
//console.log('Detected info syntax');
//log.debug('Detected info syntax');
return "info";
}
if(text.match(/^\s*gantt/)) {
//console.log('Detected info syntax');
//log.debug('Detected info syntax');
return "gantt";
}
@@ -31609,4 +31740,4 @@ module.exports.cloneCssStyles = function(svg, classes){
}
};
},{}]},{},[102])
},{"./logger":103}]},{},[102])