diff --git a/test/trace.js b/test/trace.js index b83c0127..240080ab 100644 --- a/test/trace.js +++ b/test/trace.js @@ -1,41 +1,44 @@ // @rogowski CAME UP WITH THIS BRILLIANT GENIUS ABSOLUTELY AMAZING AWESOME IDEA!!!! -///// TESTS rogowski -//Gun.traces=[`Participant GUN`]; -Gun.traces=[]; -Gun._trace = function(evname, msg) { + +/// This is a simple tool to generate logs in a Sequence Diagram compatible format. + +var Trace = function() {} +Trace.traces=[]; +Trace.log = function(evname, msg) { //if(!(console.only.i)){ return } - clearTimeout(Gun._trace.to); - Gun._trace.to = setTimeout(function(){ - Gun.on('trace.end', {code: Gun.traces.join('\n')}); - }, 1000); +// clearTimeout(Trace.log.to); +// Trace.log.to = setTimeout(function(){ +// Trace.on('trace.end', {code: Trace.traces.join('\n')}); +// }, 1000); if (!msg) { //console.log('WARN, empty message: ',msg); // msg=evname; // evname = 'GUN'; } - if (!Gun._tracelastev) { - Gun._tracelastev=evname||'PEER'; + if (!Trace.loglastev) { + Trace.loglastev=evname||'GET'; + return; }; -// msg.lastev = Gun._tracelastev; - Gun._trace.i = Gun._trace.i ? ++Gun._trace.i : 1; - //console.log(`*(${Gun._trace.i}) ${Gun._tracelastev}->:%s, msg:`, evname, msg); +// msg.lastev = Trace.loglastev; + Trace.log.i = Trace.log.i ? ++Trace.log.i : 1; + //console.log(`*(${Trace.log.i}) ${Trace.loglastev}->:%s, msg:`, evname, msg); var __ = (!msg||!msg['#'] ? '' : ('#'+msg['#']).slice(0,4)+''); var dam = (!msg||!msg.dam ? '' : ('dam:'+msg.dam)); - var at = (!msg||!msg['@'] ? '' : ('@:'+msg['@']).slice(0,9)+''); + var at = (!msg||!msg['@'] ? '' : ('@'+msg['@']).slice(0,4)+''); var lS = (!msg||!msg.lS ? '' : ('lS:'+msg.lS)); var id = (!msg||!msg.id ? '' : ('id:'+msg.id)); var ram = (!msg||!msg.ram ? '' : ('ram:'+msg.ram)); - var get = (!msg||!msg.get ? '' : ('get:'+Gun._clean(msg.get)).slice(0,15)+''); - var put = !(typeof msg === 'object' && ('put' in msg)) ? '' : ('put:'+Gun._clean(msg&&msg.put?msg.put:'')).slice(0,30)+'...'; + var get = (!msg||!msg.get ? '' : ('get:'+Trace.clean(msg.get)).slice(0,15)+''); + var put = !(typeof msg === 'object' && ('put' in msg)) ? '' : ('put:'+Trace.clean(msg&&msg.put?msg.put:'')).slice(0,30)+'...'; -// Gun._tracelastevdt Gun._tracelastev; -// Gun._tracelastevdt = +new Date(); +// Trace.loglastevdt Trace.loglastev; +// Trace.loglastevdt = +new Date(); var tm = +new Date(); - Gun._tracelastevdt = +new Date(); + Trace.loglastevdt = +new Date(); -// if (dam && Gun._tracelastev==='UNIVERSE') { evname='PEER'; } +// if (dam && Trace.loglastev==='UNIVERSE') { evname='GET'; } var keys = Array.isArray(msg) ? keys.sort().join(',') : typeof msg==='object' ? Object.keys(msg).sort().join(',') : 'this'; @@ -44,16 +47,17 @@ Gun._trace = function(evname, msg) { if (msg['#']) { evname='GUN'; } else { - Gun._tracelastev='GUN'; + Trace.loglastev='GUN'; } - Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${keys}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`); + Trace.traces.push(`${Trace.loglastev}->${evname}: (${Trace.log.i}) {${keys}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`); } else { - //Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${keys.slice(0,15)}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`); - Gun.traces.push(Gun._tracelastev+'->'+evname+': '+(console.only.i||'')+' '+__); -// Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${!keys?'this':keys}}`); + //Trace.traces.push(`${Trace.loglastev}->${evname}: (${Trace.log.i}) {${keys.slice(0,15)}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`); +// Trace.traces.push(Trace.loglastev+'->'+evname+': '+(Trace.log.i+') '+(console.only.i||''))+' '+__+' '+at); + Trace.traces.push(Trace.loglastev+'->'+evname+': '+ Trace.log.i+') '+__+' '+at); +// Trace.traces.push(`${Trace.loglastev}->${evname}: (${Trace.log.i}) {${!keys?'this':keys}}`); } - Gun._tracelastev = evname; - Gun._tracelastevdt = tm; + Trace.loglastev = evname; + Trace.loglastevdt = tm; }; -Gun._clean = function(txt) { return JSON.stringify(typeof txt==='undefined' ? 'undef' : txt||null).replace(/"|\{|\}+/g,'').slice(0,20).trim(); }; +Trace.clean = function(txt) { return JSON.stringify(typeof txt==='undefined' ? 'undef' : txt||null).replace(/"|\{|\}+/g,'').slice(0,20).trim(); };