analogger 1.17.1 → 1.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analogger-browser.min.mjs +2 -2
- package/esm/ana-logger.mjs +12 -9
- package/package.json +4 -4
- package/src/ana-logger.cjs +6 -5
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
2
|
-
`,Y={airplane:"\u2708",anchor:"\u2693",arrow_backward:"\u25C0",arrow_double_up:"\u23EB",arrow_double_down:"\u23EC",arrow_forward:"\u25B6",arrow_lower_right:"\u2198",arrow_lower_left:"\u2199",arrow_right_hook:"\u21AA",arrow_up_down:"\u2195",arrow_upper_left:"\u2196",arrow_upper_right:"\u2197",ballot_box_with_check:"\u2611",biohazard:"\u2623",black_circle:"\u23FA",black_medium_small_square:"\u25FE",black_medium_square:"\u25FC",black_nib:"\u2712",black_small_square:"\u25AA",black_square:"\u23F9",chains:"\u26D3",check:"\u2714",chess_pawn:"\u265F",cloud_and_rain:"\u26C8",clubs:"\u2663",coffee:"\u2615",copyright:"\xA9",cross:"\u274C",diamonds:"\u2666",divisions_ign:"\u2797",double_triangle_right:"\u23ED",double_triangle_left:"\u23EE",email:"\u2709",eject:"\u23CF",exclamation_mark:"\u2757",fast_forward:"\u23E9",female_sign:"\u2640",fist:"\u270A",fuel_pump:"\u26FD",gear:"\u2699",hammer_and_pick:"\u2692",hand:"\u270B",hearts:"\u2665",infinity:"\u267E",information:"\u2139",left_right_arrow:"\u2194",leftwards_arrow_with_hook:"\u21A9",male_sign:"\u2642",minus_sign:"\u2796",no_entry:"\u26D4",partly_sunny:"\u26C5",pencil:"\u270F",phone:"\u260E",plus_sign:"\u2795",question:"\u2754",radioactive:"\u2622",raised_hand:"\u270B",recycle:"\u267B",registered:"\xAE",relaxed:"\u263A",rewind:"\u23EA",scissors:"\u2702",snowman:"\u2603",spades:"\u2660",sparkles:"\u2728",star:"\u2B50",sunny:"\u2600",tent:"\u26FA",trademark:"\u2122",triangle_with_vertical_bar:"\u23EF",umbrella:"\u2614",vertical_bars:"\u23F8",watch:"\u231A",white_frowning_face:"\u2639",white_medium_square:"\u25FB",white_medium_small_square:"\u25FD",white_small_square:"\u25AB",wheelchair:"\u267F",white_circle:"\u26AA",writing_hand:"\u270D"},L,B,C,v,$,Oe,w=class{constructor(){D(this,$);h(this,"system","");h(this,"logIndex",0);h(this,"logCounter",0);h(this,"contexts",[]);h(this,"targets",{});h(this,"activeTarget",null);h(this,"indexColor",0);h(this,"format","");h(this,"keepLog",!1);h(this,"logHistory",[]);h(this,"$containers",null);h(this,"options",{hideHookMessage:!1});D(this,L,console.log);D(this,B,console.info);D(this,C,console.warn);D(this,v,console.error);h(this,"isBrowser0",null);h(this,"originalFormatFunction");h(this,"removeDomOldEntries",e=>{if(e.childElementCount>Q){let r=Math.ceil(Q/10);for(let o=0;o<r;++o)e.removeChild(e.firstChild);return r}return 0});h(this,"scrollDivToBottom",e=>{let t=e.scrollHeight-(e.clientHeight+e.scrollTop),r=e.clientHeight||e.offsetHeight;t>r/2||(e.scrollTop=e.scrollHeight)});this.system=typeof process=="object"?I.NODE:I.BROWSER,this.format=this.onBuildLog.bind(this),this.originalFormatFunction=this.format,this.errorTargetHandler=this.onError.bind(this),this.errorUserTargetHandler=this.onErrorForUserTarget.bind(this),this.setOptions(this.options),this.rawLog=g(this,L),this.rawInfo=g(this,B),this.rawWarn=g(this,C),this.rawError=g(this,v),console.rawLog=g(this,L),console.rawInfo=g(this,B),console.rawWarn=g(this,C),console.rawError=g(this,v),console.table=this.table,console.buildTable=this.buildTable,console.isNode=this.isNode,console.isBrowser=this.isBrowser,console.truncateMessage=this.truncateMessage,console.rawLog=this.rawLog,console.rawInfo=this.rawInfo,console.rawWarn=this.rawWarn,console.rawError=this.rawError,console.isBrowser0=this.system===I.BROWSER,this.ALIGN=w.ALIGN,this.ENVIRONMENT_TYPE=w.ENVIRONMENT_TYPE}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}getLogHistory(e=!0,t=V){let r=JSON.parse(JSON.stringify(this.logHistory.slice(0)));return e?r.join(t):r}isNode(){return this.system===I.NODE}isBrowser(){return!this.isNode()}resetLogger(){this.options={},this.options.timeLenMax=10,this.options.contextLenMax=10,this.options.idLenMax=5,this.options.lidLenMax=6,this.options.messageLenMax=void 0,this.options.symbolLenMax=60,this.options.hideHookMessage=void 0,this.options.hidePassingTests=void 0,this.options.hideLog=void 0,this.options.hideError=void 0,this.options.oneConsolePerContext=!0,this.options.logToDom=void 0,this.options.logToFile=void 0,this.options.logToDomlogToFile=void 0,this.options.silent=!1}resetOptions(){this.resetLogger()}setOptions({contextLenMax:e=10,idLenMax:t=5,lidLenMax:r=6,symbolLenMax:o=2,messageLenMax:n=void 0,hideLog:i=void 0,hideError:a=void 0,hideHookMessage:l=void 0,hidePassingTests:x=void 0,logToDom:p=void 0,logToFile:d=void 0,oneConsolePerContext:E=void 0,silent:y=void 0}=null){this.options.contextLenMax=e,this.options.idLenMax=t,this.options.lidLenMax=r,this.options.messageLenMax=n,this.options.symbolLenMax=o,x!==void 0&&(this.options.hidePassingTests=!!x),l!==void 0&&(this.options.hideHookMessage=!!l),i!==void 0&&(this.options.hideLog=!!i),a!==void 0&&(this.options.hideError=!!a),E!==void 0&&(this.options.oneConsolePerContext=!!E),p!==void 0&&(this.options.logToDom=p||"#analogger"),d===!1?this.options.logToFile=!1:d!==void 0&&(this.isBrowser()||(this.options.logToFile=d||"./analogger.log"),g(this,L).call(this,"LogToFile is not supported in this environment. ")),y!==void 0&&(this.options.silent=!!y,this.options.hideLog=this.options.silent)}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:r=w.ALIGN.LEFT,ellipsis:o="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-o.length)+o),e=r===w.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}buildTable(e,{ellipsis:t="...",ColumnMinChars:r=6,columnMaxChars:o=0,verticalSeparator:n=" \u2502 ",horizontalSeparator:i="\u2500",availableLength:a=0,onCompleteHeaders:l=null,onCompleteSeparators:x=null,onCompleteLines:p=null}={}){let d="";if(Array.isArray(e)||(e=Object.values(Object.values(e))),!e||!e.length)return"";let y=e.map(f=>Object.assign({},f)),xe=y[0],b=Object.keys(xe);y.unshift(b),i=i.repeat(100);let m={};for(let f=1;f<y.length;++f){let c=y[f];for(let T=0;T<b.length;++T){let A=b[T],J=c[A];m[A]=m[A]||0;let N;try{N=JSON.stringify(J).length}catch(Ge){}N=N||r,m[A]=Math.max(m[A],N,A.length)}}this.isBrowser0||(W=W||{},a||(a=W.width||process.stdout.columns||120-n.length-1-5)),a=a-4;let re=Object.values(m).reduce((f,c)=>f+c,0);if(a<re){let f=a/re;for(let c in m)m[c]=Math.floor(m[c]*f)-1,r&&m[c]<r&&(m[c]=r),o&&m[c]>o&&(m[c]=o),m[c]=m[c]}let u;u="";for(let f=0;f<b.length;++f){let c=b[f],T=m[c];u+=this.truncateMessage(c,{fit:T,ellipsis:t}),u+=n}l&&(u=l(u,b)),d+=this.truncateMessage(u,{fit:a}),d+=V,u="";let ye=i;for(let f=0;f<b.length;++f){let c=b[f],T=m[c];u+=this.truncateMessage(ye,{fit:T,ellipsis:""}),u+=n}x&&(u=x(u,b)),d+=this.truncateMessage(u,{fit:a}),d+=V;for(let f=1;f<y.length;++f){u="";let c=y[f];for(let T=0;T<b.length;++T){let A=b[T],J=c[A],N=m[A];u+=this.truncateMessage(J,{fit:N,ellipsis:t}),u+=n}p&&(u=p(u,c)),d+=this.truncateMessage(u,{fit:a}),d+=V}return this.rawLog(d),d}onBuildLog({contextName:e,message:t="",lid:r="",symbol:o=""}={}){let n=new Date,i=("0"+n.getHours()).slice(-2)+":"+("0"+n.getMinutes()).slice(-2)+":"+("0"+n.getSeconds()).slice(-2);return i=this.truncateMessage(i,{fit:this.options.timeLenMax}),e=this.truncateMessage(e,{fit:this.options.contextLenMax,align:w.ALIGN.RIGHT}),r=this.truncateMessage(r,{fit:this.options.lidLenMax}),this.options.messageLenMax!==void 0&&(t=this.truncateMessage(t,{fit:this.options.messageLenMax})),o=this.truncateMessage(o,{fit:this.options.symbolLenMax}),`[${i}] ${e}: (${r}) ${o} ${t}`}onErrorForUserTarget(e,...t){this.errorUserTargetHandler(e,...t)}onError(e,...t){e.target===this.targets.USER&&this.onErrorForUserTarget(e,...t)}onDisplayLog(...e){this.log(...e)}onDisplayError(...e){this.error(...e)}setLogFormat(e){if(typeof e!="function")return console.error("Invalid parameter for setFormat. It is expecting a function or method."),!1;this.format=e.bind(this)}resetLogFormatter(){this.format=this.originalFormatFunction}setErrorHandler(e){this.errorTargetHandler=e.bind(this)}setErrorHandlerForUserTarget(e){this.errorUserTargetHandler=e.bind(this)}isContextValid(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null?e.hasOwnProperty("contextName")&&e.hasOwnProperty("target"):!1}setContext(e,t){this.contexts[e]=t}setDefaultContext(e){this.setContext(O.DEFAULT,e)}generateDefaultContext(){let e=this.contexts[O.DEFAULT]||{};return e=Object.assign({},{name:O.DEFAULT,contextName:O.DEFAULT,target:"ALL",symbol:"\u26A1",color:H[1]},e),e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=H[this.indexColor++%(H.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.name=O.ERROR,e.contextName=O.ERROR,e.color=H[0],e.symbol="\u274C",e.error=!0,e}setContexts(e){let t=Object.keys(e);e[O.DEFAULT]=this.contexts[O.DEFAULT]=this.generateDefaultContext(),e[O.ERROR]=this.contexts[O.ERROR]=this.generateErrorContext(),t.forEach(r=>{let o=e[r]||{};o.contextName=r,o.name=r,this.contexts[r]=ie(this,$,Oe).call(this,o),e[r]=this.contexts[r]})}setTargets(e={}){this.targets=Object.assign({},e,{ALL:"ALL",USER:"USER"})}setActiveTarget(e){this.activeTarget=e}isTargetAllowed(e){return!e||!this.activeTarget||e===this.targets.ALL?!0:this.activeTarget===e}setColumns(e,t,r){let o=0;for(let i in t){if(!["contextName","symbol","lid","text"].includes(i))continue;let a=t[i],l=document.createElement("span");l.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${o}`),++o,l.textContent=a,e.append(l)}let n=document.createElement("span");n.classList.add("analogger-col","analogger-col-text",`analogger-col-${o}`),n.textContent=r,e.append(n)}addLineToDom(e,t,{context:r,addType:o}){if(o===q.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(Z).length)return;r.contextName=Ee,r.symbol="\u{1F5D1}",r.color="orange",r.className=Z,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(r,"",{addType:q.TOP,message:"Oldest entries removed"})},500);return}this.scrollDivToBottom(e)}writeLogToDom(e,t,{addType:r=q.BOTTOM,message:o=""}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=o||t;for(let n=0;n<this.$containers.length;++n){let i=this.$containers[n],a=i.querySelector("."+ee);a||(a=document.createElement("div"),a.classList.add(ee),i.append(a));let l=document.createElement("div");l.classList.add(pe),e.className&&l.classList.add(e.className),l.style.color=e.color,this.setColumns(l,e,t),setTimeout(function(x,p,{addType:d,context:E}){this.addLineToDom(x,p,{addType:d,context:E})}.bind(this,a,l,{addType:r,context:e}),0)}}writeLogToFile(e){try{fs.appendFileSync(this.options.logToFilePath,e+this.EOL)}catch(t){console.rawError("LOG_TO_FILE_FAILURE: ",t.message)}}convertArgumentsToText(e){let t=[],r,o=e.length;for(let n=0;n<o;++n){let i,a=e[n];try{i=JSON.stringify(a)}catch(l){}if(!i)try{i=Le(a)}catch(l){}t.push(i)}return r=t.join("\u2022"),r}processOutput(e={}){try{let t="";if(!this.isTargetAllowed(e.target))return;let r=Array.prototype.slice.call(arguments);r.shift(),t=this.convertArgumentsToText(r);let o="",n="";if(n=this.format(oe(R({},e),{message:t})),++this.logCounter,this.isBrowser()?(e.environnment=w.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,n,{message:t}),o=`%c${n}`):(e.environnment=w.ENVIRONMENT_TYPE.NODE,o=j.getTextFromColor(n,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(n)),this.keepLog&&this.logHistory.push(o),this.options.hideLog)return;this.isBrowser()?g(this,L).call(this,o,`color: ${e.color}`):g(this,L).call(this,o),this.errorTargetHandler(e,r)}catch(t){console.error("AnaLogger:",t.message)}}isExtendedOptionsPassed(e){return typeof e!="object"?!1:e.hasOwnProperty("context")||e.hasOwnProperty("target")||e.hasOwnProperty("color")||e.hasOwnProperty("contextName")||e.hasOwnProperty("lid")}listSymbols(){for(let e in Y)console.rawLog(Y[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&Y[e.symbol]&&(e.symbol=Y[e.symbol])}catch(t){}}convertToContext(e,t){t=t||this.generateDefaultContext(),e=e||t;let r=e;if(e.context&&typeof e.context=="object"){let o=Object.assign({},e);delete o.context,r=Object.assign({},e.context,o)}return r=Object.assign({},t,r),delete r.context,this.applySymbolByName(r),r}log(e,...t){if(!this.isExtendedOptionsPassed(e)){let o=this.generateDefaultContext();this.processOutput.apply(this,[o,e,...t]);return}let r=this.convertToContext(e);this.processOutput.apply(this,[r,...t])}error(e,...t){if(this.options.hideError)return;if(!this.isExtendedOptionsPassed(e)){let i=this.generateErrorContext();this.processOutput.apply(this,[i,e,...t]);return}let r=this.generateErrorContext(),o=this.convertToContext(e,r),n=Array.prototype.slice.call(arguments,1);this.log(o,...n)}overrideError(){this.options.hideHookMessage||g(this,L).call(this,"AnaLogger: Hook placed on console.error"),console.error=this.onDisplayError.bind(this)}overrideConsole({log:e=!0,info:t=!0,warn:r=!0,error:o=!1}={}){this.options.hideHookMessage||g(this,L).call(this,"AnaLogger: Hook placed on console.log"),e&&(console.log=this.onDisplayLog.bind(this)),t&&(console.info=this.onDisplayLog.bind(this)),r&&(console.warn=this.onDisplayLog.bind(this)),o&&this.overrideError()}removeOverrideError(){console.warn=g(this,v)}removeOverride({log:e=!0,info:t=!0,warn:r=!0,error:o=!1}={}){e&&(console.log=g(this,L)),t&&(console.info=g(this,B)),r&&(console.warn=g(this,C)),o&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){return this.buildTable(...e)}alert(...e){if(this.isNode())return this.log(...e);let t=e.join(" | ");alert(t)}assert(e,t=!0,...r){let o;try{return typeof e=="function"?(o=e(...r),o!==t?(this.error("Asset failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)):e!==t?(this.error("Assert failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)}catch(n){this.error("Unexpected error in assert")}return!1}applyAnalogFormatting({activeTarget:e="",override:t=!1}={}){try{let n={STANDARD:null,TEST:{color:"#B18904",symbol:"diamonds"},C1:null,C2:null,C3:null,DEFAULT:{}},i=typeof process=="object"?process.env.DEVELOPER:"DEV",a=typeof process=="object"?process.env.DEVELOPER:"DEV1",l={ALL:"ALL",DEBUG:"DEBUG",DEV:i,DEV1:a,USER:"USER"};return this.setDefaultContext(n.DEFAULT),this.setTargets(l),e&&this.setActiveTarget(e),this.setOptions({silent:!1,hideError:!1,hideHookMessage:!0,lidLenMax:4}),t&&(this.overrideConsole(),this.overrideError()),!0}catch(r){console.error({lid:3249},r.message)}return!1}applyPredefinedFormat(e=te.DEFAULT_FORMAT,{activeTarget:t="",override:r=!1}={}){if(e===te.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:r})}},S=w;L=new WeakMap,B=new WeakMap,C=new WeakMap,v=new WeakMap,$=new WeakSet,Oe=function(e){let t=e,r=this.generateNewContext();return t=Object.assign({},r,t),t.color.toLowerCase().indexOf("rgb")>-1?t.color=j.rgbStringToHex(t.color):t.color.indexOf("#")===-1&&(t.color=j.colorNameToHex(t.color)),t},h(S,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),h(S,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"});var Pe=S,Ke=Pe,Qe=new S;export{Qe as anaLogger,Ke as default};
|
|
1
|
+
var Le=Object.defineProperty;var Oe=(s,e,t)=>e in s?Le(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var h=(s,e,t)=>(Oe(s,typeof e!="symbol"?e+"":e,t),t),te=(s,e,t)=>{if(!e.has(s))throw TypeError("Cannot "+t)};var g=(s,e,t)=>(te(s,e,"read from private field"),t?t.call(s):e.get(s)),D=(s,e,t)=>{if(e.has(s))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(s):e.set(s,t)};var re=(s,e,t)=>(te(s,e,"access private method"),t);var se={Foreground:38,Background:48},_="\x1B[1D",oe="\x1B[0m"+_,I={Bold:"\x1B[1m"+_,Underline:"\x1B[4m"+_,Reversed:"\x1B[7m"+_},xe={Bold:"\x1B[1m"+_,Underline:"\x1B[4m"+_,Reversed:"\x1B[7m"+_},J={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function ye(s){return!!J[s]}var ne=(s,e,t)=>s===e&&e===t?s<8?16:s>248?231:Math.round((s-8)/247*24)+232:16+36*Math.round(s/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),ie=s=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;s=s.replace(e,function(r,o,n,i){return o+o+n+n+i+i});let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(s);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},ae=function({red:s,green:e,blue:t}){let r=s<<16|e<<8|t<<0;return"#"+(16777216+r).toString(16).slice(1)},le=function(s){let e=s.matchAll(/\d+/g),t=[];for(let r of e){let o=parseInt(r[0]);if(o>255)return null;t.push(o)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Ae=function(s){let e=le(s);return e&&ae(e)},k=function(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e},fe=({hue:s,saturation:e,lightness:t})=>{let r,o,n;if(e===0)r=o=n=t;else{let i=t<.5?t*(1+e):t+e-t*e,a=2*t-i;r=k(a,i,s+1/3),o=k(a,i,s),n=k(a,i,s-1/3)}return{red:Math.round(r*255),blue:Math.round(n*255),green:Math.round(o*255)}},ce=s=>{let e=s.toLowerCase();return typeof J[e]<"u"?J[e]:""};function F({red:s,blue:e,green:t},r=!0){if(s===void 0||e===void 0||t===void 0)return"";let o=ne(s,e,t);return`\x1B[${r?se.Foreground:se.Background};5;`+o+"m "+_}function M(s,e=!0){let{red:t,green:r,blue:o}=ie(s);return F({red:t,green:r,blue:o},e)}function U({hue:s,saturation:e,lightness:t},r){let{red:o,green:n,blue:i}=fe({hue:s,saturation:e,lightness:t});return F({red:o,green:n,blue:i},r)}function X(s,e=!0){try{let t;return s=s||"",s?((typeof s=="string"||s instanceof String)&&(s=s.trim()),ye(s)?(t=ce(s),M(t,e)):typeof s=="object"&&!!s.red&&!!s.blue&&!!s.green?F(s,e):typeof s=="object"&&!!s.hue&&!!s.saturation&&!!s.lightness?U(s,e):s.startsWith("#")?M(s,e):(s=s.toString(),/^[\da-fA-F]+$/.test(s)?M("#"+s,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function P(s,{fg:e,bg:t,isUnderline:r=!1,isBold:o=!1,isReversed:n=!1}){let i=!1,a="";return e&&(i=!0,a=a+e),t&&(i=!0,a=a+t),r&&(i=!0,a=a+I.Underline),o&&(i=!0,a=a+I.Bold),n&&(i=!0,a=a+I.Reversed),i?a+s+oe:s}function we(s,{fg:e={},bg:t={},isUnderline:r=!1,isBold:o=!1,isReversed:n=!1}){return e&&(e=F({...e})),t&&(t=F({...t},!1)),P(s,{fg:e,bg:t,isUnderline:r,isBold:o,isReversed:n})}function _e(s,{fg:e="",bg:t="",isUnderline:r=!1,isBold:o=!1,isReversed:n=!1}){return e&&(e=U({...e})),t&&(t=U({...t},!1)),P(s,{fg:e,bg:t,isUnderline:r,isBold:o,isReversed:n})}function Re(s,{fg:e="",bg:t="",isUnderline:r=!1,isBold:o=!1,isReversed:n=!1}){return e&&(e=M(e)),t&&(t=M(t,!1)),P(s,{fg:e,bg:t,isUnderline:r,isBold:o,isReversed:n})}function Ne(s,e=null){if(!e)return s;let{fg:t="",bg:r="",isUnderline:o=!1,isBold:n=!1,isReversed:i=!1}=e;return t&&(t=X(t)),r&&(r=X(r,!1)),P(s,{fg:t,bg:r,isUnderline:o,isBold:n,isReversed:i})}var G={fromRgb:F,fromHexa:M,fromHsl:U,fromColor:X,getTextFromRgb:we,getTextFromHsl:_e,getTextFromHex:Re,getTextFromColor:Ne,colorNameToHex:ce,hslToRgb:fe,hexToRgb:ie,rgbToHex:ae,rgbToAnsi256:ne,rgbStringToRgb:le,rgbStringToHex:Ae,hue2rgb:k,RESET:oe,FONT_STYLE:I,STYLE:xe};var de={COLOR_TABLE:["#d2466e","#FFA07A","#FF7F50","#FF6347","#FFE4B5","#ADFF2F","#808000","#40E0D0","#1E90FF","#EE82EE","#708090","#DEB887","#FE642E","#210B61","#088A4B","#5E610B","#FA8258","#088A68","#B40431"],SYSTEM:{BROWSER:"BROWSER",NODE:"NODE"}},v=de.COLOR_TABLE,H=de.SYSTEM,z=2e3,K="analogger-removed-notif",Q="analogger-view",he="to-esm-line",j={TOP:"TOP",BOTTOM:"BOTTOM"},ue="ANALOGGER",Z={DEFAULT_FORMAT:"FORMAT1"};var{parse:ke,stringify:De}=JSON,{keys:Ue}=Object,Me=String,Fe="string";var ge="object",Se=(s,e)=>e;var me=(s,e,t)=>{let r=Me(e.push(t)-1);return s.set(t,r),r};var pe=(s,e,t)=>{let r=e&&typeof e===ge?(p,d)=>p===""||-1<e.indexOf(p)?d:void 0:e||Se,o=new Map,n=[],i=[],a=+me(o,n,r.call({"":s},"",s)),l=!a;for(;a<n.length;)l=!0,i[a]=De(n[a++],x,t);return"["+i.join(",")+"]";function x(p,d){if(l)return l=!l,d;let E=r.call(this,p,d);switch(typeof E){case ge:if(E===null)return E;case Fe:return o.get(E)||me(o,n,E)}return E}};var Y={};Y={};var O={DEFAULT:"DEFAULT",ERROR:"ERROR"},q=`
|
|
2
|
+
`,V={airplane:"\u2708",anchor:"\u2693",arrow_backward:"\u25C0",arrow_double_up:"\u23EB",arrow_double_down:"\u23EC",arrow_forward:"\u25B6",arrow_lower_right:"\u2198",arrow_lower_left:"\u2199",arrow_right_hook:"\u21AA",arrow_up_down:"\u2195",arrow_upper_left:"\u2196",arrow_upper_right:"\u2197",ballot_box_with_check:"\u2611",biohazard:"\u2623",black_circle:"\u23FA",black_medium_small_square:"\u25FE",black_medium_square:"\u25FC",black_nib:"\u2712",black_small_square:"\u25AA",black_square:"\u23F9",chains:"\u26D3",check:"\u2714",chess_pawn:"\u265F",cloud_and_rain:"\u26C8",clubs:"\u2663",coffee:"\u2615",copyright:"\xA9",cross:"\u274C",diamonds:"\u2666",divisions_ign:"\u2797",double_triangle_right:"\u23ED",double_triangle_left:"\u23EE",email:"\u2709",eject:"\u23CF",exclamation_mark:"\u2757",fast_forward:"\u23E9",female_sign:"\u2640",fist:"\u270A",fuel_pump:"\u26FD",gear:"\u2699",hammer_and_pick:"\u2692",hand:"\u270B",hearts:"\u2665",infinity:"\u267E",information:"\u2139",left_right_arrow:"\u2194",leftwards_arrow_with_hook:"\u21A9",male_sign:"\u2642",minus_sign:"\u2796",no_entry:"\u26D4",partly_sunny:"\u26C5",pencil:"\u270F",phone:"\u260E",plus_sign:"\u2795",question:"\u2754",radioactive:"\u2622",raised_hand:"\u270B",recycle:"\u267B",registered:"\xAE",relaxed:"\u263A",rewind:"\u23EA",scissors:"\u2702",snowman:"\u2603",spades:"\u2660",sparkles:"\u2728",star:"\u2B50",sunny:"\u2600",tent:"\u26FA",trademark:"\u2122",triangle_with_vertical_bar:"\u23EF",umbrella:"\u2614",vertical_bars:"\u23F8",watch:"\u231A",white_frowning_face:"\u2639",white_medium_square:"\u25FB",white_medium_small_square:"\u25FD",white_small_square:"\u25AB",wheelchair:"\u267F",white_circle:"\u26AA",writing_hand:"\u270D"},L,S,B,C,W,Ee,w=class{constructor(){D(this,W);h(this,"system","");h(this,"logIndex",0);h(this,"logCounter",0);h(this,"contexts",[]);h(this,"targets",{});h(this,"activeTarget",null);h(this,"indexColor",0);h(this,"format","");h(this,"keepLog",!1);h(this,"logHistory",[]);h(this,"$containers",null);h(this,"options",{hideHookMessage:!1});D(this,L,console.log);D(this,S,console.info);D(this,B,console.warn);D(this,C,console.error);h(this,"isBrowser0",null);h(this,"originalFormatFunction");h(this,"removeDomOldEntries",e=>{if(e.childElementCount>z){let r=Math.ceil(z/10);for(let o=0;o<r;++o)e.removeChild(e.firstChild);return r}return 0});h(this,"scrollDivToBottom",e=>{let t=e.scrollHeight-(e.clientHeight+e.scrollTop),r=e.clientHeight||e.offsetHeight;t>r/2||(e.scrollTop=e.scrollHeight)});this.system=typeof process=="object"?H.NODE:H.BROWSER,this.format=this.onBuildLog.bind(this),this.originalFormatFunction=this.format,this.errorTargetHandler=this.onError.bind(this),this.errorUserTargetHandler=this.onErrorForUserTarget.bind(this),this.setOptions(this.options),this.rawLog=g(this,L),this.rawInfo=g(this,S),this.rawWarn=g(this,B),this.rawError=g(this,C),console.rawLog=g(this,L),console.rawInfo=g(this,S),console.rawWarn=g(this,B),console.rawError=g(this,C),console.table=this.table,console.buildTable=this.buildTable,console.isNode=this.isNode,console.isBrowser=this.isBrowser,console.truncateMessage=this.truncateMessage,console.rawLog=this.rawLog,console.rawInfo=this.rawInfo,console.rawWarn=this.rawWarn,console.rawError=this.rawError,console.isBrowser0=this.system===H.BROWSER,this.ALIGN=w.ALIGN,this.ENVIRONMENT_TYPE=w.ENVIRONMENT_TYPE}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}getLogHistory(e=!0,t=q){let r=JSON.parse(JSON.stringify(this.logHistory.slice(0)));return e?r.join(t):r}isNode(){return this.system===H.NODE}isBrowser(){return!this.isNode()}resetLogger(){this.options={},this.options.timeLenMax=10,this.options.contextLenMax=10,this.options.idLenMax=5,this.options.lidLenMax=6,this.options.messageLenMax=void 0,this.options.symbolLenMax=60,this.options.hideHookMessage=void 0,this.options.hidePassingTests=void 0,this.options.hideLog=void 0,this.options.hideError=void 0,this.options.oneConsolePerContext=!0,this.options.logToDom=void 0,this.options.logToFile=void 0,this.options.logToDomlogToFile=void 0,this.options.silent=!1}resetOptions(){this.resetLogger()}setOptions({contextLenMax:e=10,idLenMax:t=5,lidLenMax:r=6,symbolLenMax:o=2,messageLenMax:n=void 0,hideLog:i=void 0,hideError:a=void 0,hideHookMessage:l=void 0,hidePassingTests:x=void 0,logToDom:p=void 0,logToFile:d=void 0,oneConsolePerContext:E=void 0,silent:y=void 0}=null){this.options.contextLenMax=e,this.options.idLenMax=t,this.options.lidLenMax=r,this.options.messageLenMax=n,this.options.symbolLenMax=o,x!==void 0&&(this.options.hidePassingTests=!!x),l!==void 0&&(this.options.hideHookMessage=!!l),i!==void 0&&(this.options.hideLog=!!i),a!==void 0&&(this.options.hideError=!!a),E!==void 0&&(this.options.oneConsolePerContext=!!E),p!==void 0&&(this.options.logToDom=p||"#analogger"),d===!1?this.options.logToFile=!1:d!==void 0&&(this.isBrowser()||(this.options.logToFile=d||"./analogger.log"),g(this,L).call(this,"LogToFile is not supported in this environment. ")),y!==void 0&&(this.options.silent=!!y,this.options.hideLog=this.options.silent)}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:r=w.ALIGN.LEFT,ellipsis:o="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-o.length)+o),e=r===w.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}buildTable(e,{ellipsis:t="...",ColumnMinChars:r=6,columnMaxChars:o=0,verticalSeparator:n=" \u2502 ",horizontalSeparator:i="\u2500",availableLength:a=0,onCompleteHeaders:l=null,onCompleteSeparators:x=null,onCompleteLines:p=null}={}){let d="";if(Array.isArray(e)||(e=Object.values(Object.values(e))),!e||!e.length)return"";let y=e.map(f=>Object.assign({},f)),be=y[0],b=Object.keys(be);y.unshift(b),i=i.repeat(100);let m={};for(let f=1;f<y.length;++f){let c=y[f];for(let T=0;T<b.length;++T){let A=b[T],$=c[A];m[A]=m[A]||0;let N;try{N=JSON.stringify($).length}catch{}N=N||r,m[A]=Math.max(m[A],N,A.length)}}this.isBrowser0||(Y=Y||{},a||(a=Y.width||process.stdout.columns||120-n.length-1-5)),a=a-4;let ee=Object.values(m).reduce((f,c)=>f+c,0);if(a<ee){let f=a/ee;for(let c in m)m[c]=Math.floor(m[c]*f)-1,r&&m[c]<r&&(m[c]=r),o&&m[c]>o&&(m[c]=o),m[c]=m[c]}let u;u="";for(let f=0;f<b.length;++f){let c=b[f],T=m[c];u+=this.truncateMessage(c,{fit:T,ellipsis:t}),u+=n}l&&(u=l(u,b)),d+=this.truncateMessage(u,{fit:a}),d+=q,u="";let Te=i;for(let f=0;f<b.length;++f){let c=b[f],T=m[c];u+=this.truncateMessage(Te,{fit:T,ellipsis:""}),u+=n}x&&(u=x(u,b)),d+=this.truncateMessage(u,{fit:a}),d+=q;for(let f=1;f<y.length;++f){u="";let c=y[f];for(let T=0;T<b.length;++T){let A=b[T],$=c[A],N=m[A];u+=this.truncateMessage($,{fit:N,ellipsis:t}),u+=n}p&&(u=p(u,c)),d+=this.truncateMessage(u,{fit:a}),d+=q}return this.rawLog(d),d}onBuildLog({contextName:e,message:t="",lid:r="",symbol:o=""}={}){let n=new Date,i=("0"+n.getHours()).slice(-2)+":"+("0"+n.getMinutes()).slice(-2)+":"+("0"+n.getSeconds()).slice(-2);return i=this.truncateMessage(i,{fit:this.options.timeLenMax}),e=this.truncateMessage(e,{fit:this.options.contextLenMax,align:w.ALIGN.RIGHT}),r=this.truncateMessage(r,{fit:this.options.lidLenMax}),this.options.messageLenMax!==void 0&&(t=this.truncateMessage(t,{fit:this.options.messageLenMax})),o=this.truncateMessage(o,{fit:this.options.symbolLenMax}),`[${i}] ${e}: (${r}) ${o} ${t}`}onErrorForUserTarget(e,...t){this.errorUserTargetHandler(e,...t)}onError(e,...t){e.target===this.targets.USER&&this.onErrorForUserTarget(e,...t)}onDisplayLog(...e){this.log(...e)}onDisplayError(...e){this.error(...e)}setLogFormat(e){if(typeof e!="function")return console.error("Invalid parameter for setFormat. It is expecting a function or method."),!1;this.format=e.bind(this)}resetLogFormatter(){this.format=this.originalFormatFunction}setErrorHandler(e){this.errorTargetHandler=e.bind(this)}setErrorHandlerForUserTarget(e){this.errorUserTargetHandler=e.bind(this)}isContextValid(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null?e.hasOwnProperty("contextName")&&e.hasOwnProperty("target"):!1}setContext(e,t){this.contexts[e]=t}setDefaultContext(e){this.setContext(O.DEFAULT,e)}generateDefaultContext(){let e=this.contexts[O.DEFAULT]||{};return e=Object.assign({},{name:O.DEFAULT,contextName:O.DEFAULT,target:"ALL",symbol:"\u26A1",color:v[1]},e),e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=v[this.indexColor++%(v.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.name=O.ERROR,e.contextName=O.ERROR,e.color=v[0],e.symbol="\u274C",e.error=!0,e}setContexts(e){let t=Object.keys(e);e[O.DEFAULT]=this.contexts[O.DEFAULT]=this.generateDefaultContext(),e[O.ERROR]=this.contexts[O.ERROR]=this.generateErrorContext(),t.forEach(r=>{let o=e[r]||{};o.contextName=r,o.name=r,this.contexts[r]=re(this,W,Ee).call(this,o),e[r]=this.contexts[r]})}setTargets(e={}){this.targets=Object.assign({},e,{ALL:"ALL",USER:"USER"})}setActiveTarget(e){this.activeTarget=e}isTargetAllowed(e){return!e||!this.activeTarget||e===this.targets.ALL?!0:this.activeTarget===e}setColumns(e,t,r){let o=0;for(let i in t){if(!["contextName","symbol","lid","text"].includes(i))continue;let a=t[i],l=document.createElement("span");l.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${o}`),++o,l.textContent=a,e.append(l)}let n=document.createElement("span");n.classList.add("analogger-col","analogger-col-text",`analogger-col-${o}`),n.textContent=r,e.append(n)}addLineToDom(e,t,{context:r,addType:o}){if(o===j.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(K).length)return;r.contextName=ue,r.symbol="\u{1F5D1}",r.color="orange",r.className=K,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(r,"",{addType:j.TOP,message:"Oldest entries removed"})},500);return}this.scrollDivToBottom(e)}writeLogToDom(e,t,{addType:r=j.BOTTOM,message:o=""}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=o||t;for(let n=0;n<this.$containers.length;++n){let i=this.$containers[n],a=i.querySelector("."+Q);a||(a=document.createElement("div"),a.classList.add(Q),i.append(a));let l=document.createElement("div");l.classList.add(he),e.className&&l.classList.add(e.className),l.style.color=e.color,this.setColumns(l,e,t),setTimeout(function(x,p,{addType:d,context:E}){this.addLineToDom(x,p,{addType:d,context:E})}.bind(this,a,l,{addType:r,context:e}),0)}}writeLogToFile(e){try{fs.appendFileSync(this.options.logToFilePath,e+this.EOL)}catch(t){console.rawError("LOG_TO_FILE_FAILURE: ",t.message)}}convertArgumentsToText(e){let t=[],r,o=e.length;for(let n=0;n<o;++n){let i,a=e[n];try{i=JSON.stringify(a)}catch{}if(!i)try{i=pe(a)}catch{}t.push(i)}return r=t.join("\u2022"),r}processOutput(e={}){try{let t="";if(!this.isTargetAllowed(e.target))return;let r=Array.prototype.slice.call(arguments);r.shift(),t=this.convertArgumentsToText(r);let o="",n="";if(n=this.format({...e,message:t}),++this.logCounter,this.isBrowser()?(e.environnment=w.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,n,{message:t}),o=`%c${n}`):(e.environnment=w.ENVIRONMENT_TYPE.NODE,o=G.getTextFromColor(n,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(n)),this.keepLog&&this.logHistory.push(o),this.options.hideLog)return;this.isBrowser()?g(this,L).call(this,o,`color: ${e.color}`):g(this,L).call(this,o),this.errorTargetHandler(e,r)}catch(t){console.error("AnaLogger:",t.message)}}isExtendedOptionsPassed(e){return typeof e!="object"?!1:e.hasOwnProperty("context")||e.hasOwnProperty("target")||e.hasOwnProperty("color")||e.hasOwnProperty("contextName")||e.hasOwnProperty("lid")}listSymbols(){for(let e in V)console.rawLog(V[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&V[e.symbol]&&(e.symbol=V[e.symbol])}catch{}}convertToContext(e,t){t=t||this.generateDefaultContext(),e=e||t;let r=e;if(e.context&&typeof e.context=="object"){let o=Object.assign({},e);delete o.context,r=Object.assign({},e.context,o)}return r=Object.assign({},t,r),delete r.context,this.applySymbolByName(r),r}log(e,...t){if(!this.isExtendedOptionsPassed(e)){let o=this.generateDefaultContext();this.processOutput.apply(this,[o,e,...t]);return}let r=this.convertToContext(e);this.processOutput.apply(this,[r,...t])}error(e,...t){if(this.options.hideError)return;if(!this.isExtendedOptionsPassed(e)){let i=this.generateErrorContext();this.processOutput.apply(this,[i,e,...t]);return}let r=this.generateErrorContext(),o=this.convertToContext(e,r),n=Array.prototype.slice.call(arguments,1);this.log(o,...n)}overrideError(){this.options.hideHookMessage||g(this,L).call(this,"AnaLogger: Hook placed on console.error"),console.error=this.onDisplayError.bind(this)}overrideConsole({log:e=!0,info:t=!0,warn:r=!0,error:o=!1}={}){this.options.hideHookMessage||g(this,L).call(this,"AnaLogger: Hook placed on console.log"),e&&(console.log=this.onDisplayLog.bind(this)),t&&(console.info=this.onDisplayLog.bind(this)),r&&(console.warn=this.onDisplayLog.bind(this)),o&&this.overrideError()}removeOverrideError(){console.warn=g(this,C)}removeOverride({log:e=!0,info:t=!0,warn:r=!0,error:o=!1}={}){e&&(console.log=g(this,L)),t&&(console.info=g(this,S)),r&&(console.warn=g(this,B)),o&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){return this.buildTable(...e)}alert(...e){if(this.isNode())return this.log(...e);let t=e.join(" | ");alert(t)}assert(e,t=!0,...r){let o;try{return typeof e=="function"?(o=e(...r),o!==t?(this.error("Asset failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)):e!==t?(this.error("Assert failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)}catch{this.error("Unexpected error in assert")}return!1}applyAnalogFormatting({activeTarget:e="",override:t=!1}={}){try{let n={STANDARD:null,TEST:{color:"#B18904",symbol:"diamonds"},C1:null,C2:null,C3:null,DEFAULT:{}},i=typeof process=="object"?process.env.DEVELOPER:"DEV",a=typeof process=="object"?process.env.DEVELOPER:"DEV1",l={ALL:"ALL",DEBUG:"DEBUG",DEV:i,DEV1:a,USER:"USER"};return this.setDefaultContext(n.DEFAULT),this.setTargets(l),e&&this.setActiveTarget(e),this.setOptions({silent:!1,hideError:!1,hideHookMessage:!0,lidLenMax:4}),t&&(this.overrideConsole(),this.overrideError()),!0}catch(r){console.error({lid:3249},r.message)}return!1}applyPredefinedFormat(e=Z.DEFAULT_FORMAT,{activeTarget:t="",override:r=!1}={}){if(e===Z.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:r})}},R=w;L=new WeakMap,S=new WeakMap,B=new WeakMap,C=new WeakMap,W=new WeakSet,Ee=function(e){let t=e,r=this.generateNewContext();return t=Object.assign({},r,t),t.color.toLowerCase().indexOf("rgb")>-1?t.color=G.rgbStringToHex(t.color):t.color.indexOf("#")===-1&&(t.color=G.colorNameToHex(t.color)),t},h(R,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),h(R,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"});var Ve=R,Be=R,Ye=Be,We=new R;export{Ve as AnaLogger,We as anaLogger,Ye as default};
|
|
3
3
|
|
package/esm/ana-logger.mjs
CHANGED
|
@@ -13,9 +13,14 @@ import {COLOR_TABLE, SYSTEM, MAX_CHILDREN_DOM_ANALOGGER, CLASS_REMOVED_NOTIF, AD
|
|
|
13
13
|
PREDEFINED_FORMATS, ANALOGGER_NAME, LINE_CLASSNAME
|
|
14
14
|
} from "./src/constants.mjs";
|
|
15
15
|
import {stringify} from "flatted";
|
|
16
|
-
|
|
16
|
+
let _terminalSize = {};
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
_terminalSize = terminalSize;
|
|
19
24
|
|
|
20
25
|
|
|
21
26
|
|
|
@@ -329,16 +334,14 @@ class ____AnaLogger
|
|
|
329
334
|
{
|
|
330
335
|
this.options.logToFile = logToFile || "./analogger.log";
|
|
331
336
|
|
|
332
|
-
|
|
337
|
+
|
|
333
338
|
// these require won't get compiled by to-esm
|
|
334
339
|
this.options.logToFilePath = path.resolve(this.options.logToFile);
|
|
335
340
|
this.EOL = os.EOL;
|
|
336
|
-
|
|
341
|
+
|
|
337
342
|
}
|
|
338
343
|
|
|
339
|
-
|
|
340
|
-
this.#realConsoleLog("LogToFile is not supported in this environment. ")
|
|
341
|
-
**/
|
|
344
|
+
|
|
342
345
|
}
|
|
343
346
|
|
|
344
347
|
if (silent !== undefined)
|
|
@@ -439,11 +442,11 @@ class ____AnaLogger
|
|
|
439
442
|
|
|
440
443
|
if (!this.isBrowser0)
|
|
441
444
|
{
|
|
442
|
-
|
|
445
|
+
_terminalSize = _terminalSize || {};
|
|
443
446
|
|
|
444
447
|
if (!availableLength)
|
|
445
448
|
{
|
|
446
|
-
availableLength =
|
|
449
|
+
availableLength = _terminalSize.width || process.stdout.columns || 120 - verticalSeparator.length - 1 - 5;
|
|
447
450
|
}
|
|
448
451
|
}
|
|
449
452
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "analogger",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.2",
|
|
4
4
|
"description": "Js Logger",
|
|
5
5
|
"main": "./src/ana-logger.cjs",
|
|
6
6
|
"module": "./esm/ana-logger.mjs",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"*** On the Terminal-3 ****": "# ----------------------------------------------------------------------------------------------------------",
|
|
37
37
|
"build:esm:terminal": " npm run clean:terminal && to-esm.cmd src/ana-logger.cjs --output esm/ --config .toesm.cjs --target esm --update-all",
|
|
38
38
|
"build:esm:browser": " npm run clean:browser && to-esm src/ana-logger.cjs --output generated/browser/ --config .toesm.cjs --target package",
|
|
39
|
-
"build:esm:browser:importmaps": " npm run clean:browser:importmaps && to-esm src/ana-logger.cjs --output generated/browser-importmaps/ --config .toesm.cjs --target browser
|
|
40
|
-
"build:esm:browser:minified": " npm run clean:browser:minified && to-esm src/ana-logger.cjs --output generated/browser-minified/ --config .toesm.cjs --target browser --bundle ./dist/analogger-browser.min.mjs --update-all",
|
|
39
|
+
"build:esm:browser:importmaps": " npm run clean:browser:importmaps && to-esm src/ana-logger.cjs --output generated/browser-importmaps/ --config .toesm.cjs --target browser --useImportMaps",
|
|
40
|
+
"build:esm:browser:minified": " npm run clean:browser:minified && to-esm src/ana-logger.cjs --output generated/browser-minified/ --config .toesm.cjs --target browser --bundle-browser ./dist/analogger-browser.min.mjs --update-all",
|
|
41
41
|
"build:esm": "npm run clean:all && npm run build:esm:terminal && npm run build:esm:browser && npm run build:esm:browser:importmaps && npm run build:esm:browser:minified && clonefile src/ana-logger.css dist/analogger.min.css && npm pack",
|
|
42
42
|
"*** In the Browser-1 ****": "# ----------------------------------------------------------------------------------------------------------",
|
|
43
43
|
"*** In the Browser-2 ****": "# Generate Demo code",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"@semantic-release/git": "^10.0.1",
|
|
73
73
|
"@semantic-release/npm": "^9.0.0",
|
|
74
74
|
"@semantic-release/release-notes-generator": "^10.0.3",
|
|
75
|
-
"@thimpat/testutils": "^1.
|
|
75
|
+
"@thimpat/testutils": "^1.1.0",
|
|
76
76
|
"capture-console": "^1.0.1",
|
|
77
77
|
"chai": "^4.3.6",
|
|
78
78
|
"chai-arrays": "^2.2.0",
|
package/src/ana-logger.cjs
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
let
|
|
1
|
+
let _terminalSize = {};
|
|
2
2
|
|
|
3
3
|
/** to-esm-browser: remove **/
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const fs = require("fs");
|
|
6
6
|
const os = require("os");
|
|
7
|
-
terminalSize = require("window-size");
|
|
7
|
+
let terminalSize = require("window-size");
|
|
8
|
+
_terminalSize = terminalSize;
|
|
8
9
|
/** to-esm-browser: end-remove **/
|
|
9
10
|
|
|
10
11
|
/** to-esm-browser: add
|
|
11
|
-
|
|
12
|
+
_terminalSize = {}
|
|
12
13
|
**/
|
|
13
14
|
|
|
14
15
|
const toAnsi = require("to-ansi");
|
|
@@ -434,11 +435,11 @@ class ____AnaLogger
|
|
|
434
435
|
|
|
435
436
|
if (!this.isBrowser0)
|
|
436
437
|
{
|
|
437
|
-
|
|
438
|
+
_terminalSize = _terminalSize || {};
|
|
438
439
|
|
|
439
440
|
if (!availableLength)
|
|
440
441
|
{
|
|
441
|
-
availableLength =
|
|
442
|
+
availableLength = _terminalSize.width || process.stdout.columns || 120 - verticalSeparator.length - 1 - 5;
|
|
442
443
|
}
|
|
443
444
|
}
|
|
444
445
|
|