MCPcopy Create free account
hub / github.com/davidkingzyb/SCAST / analysisMermaid

Function analysisMermaid

js/SCAST.js:653–891  ·  view source on GitHub ↗
(node,file,r)

Source from the content-addressed store, hash-verified

651
652
653function analysisMermaid(node,file,r){
654 switch(node.type){
655 case 'ClassDefine':
656 if(!r.showMethod)break
657 if(r.FlowFilter[node.value]===false)break;
658 r.Flow+=` ${node.value}[${node.value}]\nclick ${node.value} "javascript:void(onFlowClick('${node.value}','${file}'))"\n`
659 r.FDPNode[node.value]={id:node.value,w:node.value.length*d3config.fontsize/1.6+d3config.fontsize*2,text:`[${node.value}]`}
660 traverseClass(node,file)
661 break;
662 case 'InterfaceDefine':
663 if(!r.showMethod)break
664 if(r.FlowFilter[node.value]===false)break;
665 r.Flow+=` ${node.value}{{${node.value}}}\nclick ${node.value} "javascript:void(onFlowClick('${node.value}','${file}'))"\n`
666 r.FDPNode[node.value]={id:node.value,w:node.value.length*d3config.fontsize/1.6+d3config.fontsize*2,text:`{${node.value}}`}
667 traverseClass(node,file)
668 break;
669 case 'NamespaceDefine':
670 if(!r.showMethod)break
671 if(!r.showNamespace)break;
672 if(r.namespace){
673 r.Flow+=` end\n subgraph ${node.value}.namespace\n`
674 }else{
675 r.Flow+=` subgraph ${node.value}.namespace\n`
676 r.namespace=node.value;
677 }
678 break;
679 case "FunctionDefine":
680 if(r.showMethod)break
681 // console.log('function define',node)
682 traverseMethod(node,{},file)
683 break
684 case "MethodDefine":
685 if(r.showMethod)break
686 // console.log("method",node)
687 traverseMethod(node,{},file)
688 break
689 case "Variable":
690 if(r.showMethod)break
691 traverseVariable(node,{},file)
692 break
693 }
694
695 function traverseClass(node,file){
696 node._file=file
697 r.FlowNode[node.value]=node;
698 if(r.FlowOne[node.value]){
699 if(r.FlowOne[node.value].indexOf(node.value)<0){
700 r.FlowOne[node.value].unshift(node.value)
701 }
702 }else{
703 r.FlowOne[node.value]=[node.value]
704 }
705 r.UMLClass[node.value]={}
706 var level_symbol={
707 'public':'+',
708 "private":'-',
709 "protected":'#',
710 "internal":'~',

Callers

nothing calls this directly

Calls 3

traverseClassFunction · 0.70
traverseMethodFunction · 0.70
traverseVariableFunction · 0.70

Tested by

no test coverage detected