analogger 1.13.2 → 1.13.3

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/CHANGELOG.md CHANGED
@@ -1,7 +1,7 @@
1
- ## [1.13.2](https://github.com/thimpat/analogger/compare/v1.13.1...v1.13.2) (2022-05-13)
2
-
3
- ## [1.13.1](https://github.com/thimpat/analogger/compare/v1.13.0...v1.13.1) (2022-05-13)
4
-
1
+ ## [1.13.2](https://github.com/thimpat/analogger/compare/v1.13.1...v1.13.2) (2022-05-13)
2
+
3
+ ## [1.13.1](https://github.com/thimpat/analogger/compare/v1.13.0...v1.13.1) (2022-05-13)
4
+
5
5
  # [1.13.0](https://github.com/thimpat/analogger/compare/v1.12.4...v1.13.0) (2022-05-13)
6
6
 
7
7
  ## [1.12.4](https://github.com/thimpat/analogger/compare/v1.12.3...v1.12.4) (2022-05-04)
@@ -62,4 +62,4 @@
62
62
 
63
63
  ## [1.3.1](https://github.com/thimpat/analogger/compare/v1.3.0...v1.3.1) (2022-02-09)
64
64
 
65
- # [1.3.0](https://github.com/thimpat/analogger/compare/v1.2.0...v1.3.0) (2022-02-08)
65
+ # [1.3.0](https://github.com/thimpat/analogger/compare/v1.2.0...v1.3.0) (2022-02-08)
package/README.md CHANGED
@@ -34,7 +34,7 @@ const {anaLogger} = require("analogger");
34
34
  import {anaLogger} from "./node_modules/analogger/dist/index-esm.min.mjs";
35
35
  ```
36
36
 
37
- ### With a bundler or a transpiler
37
+ ### ESM (or With a bundler or a transpiler)
38
38
 
39
39
  ```javascript
40
40
  import {anaLogger} from "analogger"
@@ -409,21 +409,31 @@ You can apply a default settings for every output with setDefaultContext
409
409
 
410
410
  ```javascript
411
411
 
412
- anaLogger.setDefaultContext({color: "gray", symbol: "check"});
412
+ anaLogger.setDefaultContext({color: "gray", symbol: "check", contextName: "LOG"});
413
+
414
+ anaLogger.log({lid: 100000}, `Test Log example C1`); // <- Use default (grey color and the check symbol)
415
+ anaLogger.log({lid: 100010}, `Test Log example C2`); // <- Use default
416
+ anaLogger.log({lid: 100020}, `Test Log example C3`); // <- Use default
417
+
418
+ anaLogger.log({contextName: "LOG", lid: 100030, symbol: "cross"}, "Test Log example C4");
419
+ anaLogger.log({contextName: "INFO", lid: 100040, symbol: "no_entry"}, "Test Log example C4");
420
+ anaLogger.log({contextName: "WARN", lid: 100050, symbol: "raised_hand"}, "Test Log example C4");
413
421
 
414
- anaLogger.log({lid: 1000}, `Test Log example C1`);
415
- anaLogger.log({lid: 1010}, `Test Log example C2`);
416
- anaLogger.log({lid: 1020}, `Test Log example C3`);
417
- anaLogger.log({lid: 1020, symbol: "cross"}, `Test Log example C3`);
418
422
  ```
419
423
 
424
+ 💻 ↴
420
425
  > ```
421
- > [03:56:15] DEFAULT: (100000) ✔ "Test Log example C1"
422
- > [03:56:15] DEFAULT: (100010) ✔ "Test Log example C2"
423
- > [03:56:15] DEFAULT: (100020) ✔ "Test Log example C3"
424
- > [04:00:39] DEFAULT: (100020) ❌ "Test Log example C4"
425
- ```
426
- See LOG_CONTEXTS.C1 in this example to categorise the functionality we want to monitor.
426
+ > [04:32:38] LOG: (100000) ✔ "Test Log example C1"
427
+ > [04:32:38] LOG: (100010) ✔ "Test Log example C2"
428
+ > [04:32:38] LOG: (100020) ✔ "Test Log example C3"
429
+ > [04:32:38] LOG: (100030) ❌ "Test Log example C4"
430
+ > [04:32:38] INFO: (100040) ⛔ "Test Log example C5"
431
+ > [04:32:38] WARN: (100050) ✋ "Test Log example C6"
432
+ > ```
433
+
434
+
435
+ <br/>
436
+
427
437
 
428
438
  ---
429
439
 
@@ -1,3 +1,3 @@
1
- var me=Object.defineProperty,be=Object.defineProperties;var Ee=Object.getOwnPropertyDescriptors;var Q=Object.getOwnPropertySymbols;var we=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var V=(r,e,t)=>e in r?me(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e)=>{for(var t in e||(e={}))we.call(e,t)&&V(r,t,e[t]);if(Q)for(var t of Q(e))xe.call(e,t)&&V(r,t,e[t]);return r},Z=(r,e)=>be(r,Ee(e));var g=(r,e,t)=>(V(r,typeof e!="symbol"?e+"":e,t),t),ee=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var d=(r,e,t)=>(ee(r,e,"read from private field"),t?t.call(r):e.get(r)),A=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)};var te=(r,e,t)=>(ee(r,e,"access private method"),t);var re={Foreground:38,Background:48},O="\x1B[1D",se="\x1B[0m"+O,U={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},ye={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},z={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 Te(r){return!!z[r]}var oe=(r,e,t)=>r===e&&e===t?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),ne=r=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;r=r.replace(e,function(s,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(r);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},ie=function({red:r,green:e,blue:t}){let s=r<<16|e<<8|t<<0;return"#"+(16777216+s).toString(16).slice(1)},ae=function(r){let e=r.matchAll(/\d+/g),t=[];for(let s of e){let o=parseInt(s[0]);if(o>255)return null;t.push(o)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Le=function(r){let e=ae(r);return e&&ie(e)},j=function(e,t,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?e+(t-e)*6*s:s<1/2?t:s<2/3?e+(t-e)*(2/3-s)*6:e},le=({hue:r,saturation:e,lightness:t})=>{let s,o,n;if(e===0)s=o=n=t;else{let i=t<.5?t*(1+e):t+e-t*e,a=2*t-i;s=j(a,i,r+1/3),o=j(a,i,r),n=j(a,i,r-1/3)}return{red:Math.round(s*255),blue:Math.round(n*255),green:Math.round(o*255)}},fe=r=>{let e=r.toLowerCase();return typeof z[e]!="undefined"?z[e]:""};function M({red:r,blue:e,green:t},s=!0){if(r===void 0||e===void 0||t===void 0)return"";let o=oe(r,e,t);return`\x1B[${s?re.Foreground:re.Background};5;`+o+"m "+O}function F(r,e=!0){let{red:t,green:s,blue:o}=ne(r);return M({red:t,green:s,blue:o},e)}function C({hue:r,saturation:e,lightness:t},s){let{red:o,green:n,blue:i}=le({hue:r,saturation:e,lightness:t});return M({red:o,green:n,blue:i},s)}function X(r,e=!0){try{let t;return r=r||"",r?((typeof r=="string"||r instanceof String)&&(r=r.trim()),Te(r)?(t=fe(r),F(t,e)):typeof r=="object"&&!!r.red&&!!r.blue&&!!r.green?M(r,e):typeof r=="object"&&!!r.hue&&!!r.saturation&&!!r.lightness?C(r,e):r.startsWith("#")?F(r,e):(r=r.toString(),/^[\da-fA-F]+$/.test(r)?F("#"+r,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function P(r,{fg:e,bg:t,isUnderline:s=!1,isBold:o=!1,isReversed:n=!1}){let i=!1,a="";return e&&(i=!0,a=a+e),t&&(i=!0,a=a+t),s&&(i=!0,a=a+U.Underline),o&&(i=!0,a=a+U.Bold),n&&(i=!0,a=a+U.Reversed),i?a+r+se:r}function Oe(r,{fg:e={},bg:t={},isUnderline:s=!1,isBold:o=!1,isReversed:n=!1}){return e&&(e=M(R({},e))),t&&(t=M(R({},t),!1)),P(r,{fg:e,bg:t,isUnderline:s,isBold:o,isReversed:n})}function _e(r,{fg:e="",bg:t="",isUnderline:s=!1,isBold:o=!1,isReversed:n=!1}){return e&&(e=C(R({},e))),t&&(t=C(R({},t),!1)),P(r,{fg:e,bg:t,isUnderline:s,isBold:o,isReversed:n})}function Re(r,{fg:e="",bg:t="",isUnderline:s=!1,isBold:o=!1,isReversed:n=!1}){return e&&(e=F(e)),t&&(t=F(t,!1)),P(r,{fg:e,bg:t,isUnderline:s,isBold:o,isReversed:n})}function Ne(r,e=null){if(!e)return r;let{fg:t="",bg:s="",isUnderline:o=!1,isBold:n=!1,isReversed:i=!1}=e;return t&&(t=X(t)),s&&(s=X(s,!1)),P(r,{fg:t,bg:s,isUnderline:o,isBold:n,isReversed:i})}var $={fromRgb:M,fromHexa:F,fromHsl:C,fromColor:X,getTextFromRgb:Oe,getTextFromHsl:_e,getTextFromHex:Re,getTextFromColor:Ne,colorNameToHex:fe,hslToRgb:le,hexToRgb:ne,rgbToHex:ie,rgbToAnsi256:oe,rgbStringToRgb:ae,rgbStringToHex:Le,hue2rgb:j,RESET:se,FONT_STYLE:U,STYLE:ye};var ce={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"}},k=ce.COLOR_TABLE,I=ce.SYSTEM;var{parse:He,stringify:Ae}=JSON,{keys:Ue}=Object,Fe=String,Me="string";var de="object",Se=(r,e)=>e;var he=(r,e,t)=>{let s=Fe(e.push(t)-1);return r.set(t,s),s};var ue=(r,e,t)=>{let s=e&&typeof e===de?(x,h)=>x===""||-1<e.indexOf(x)?h:void 0:e||Se,o=new Map,n=[],i=[],a=+he(o,n,s.call({"":r},"",r)),p=!a;for(;a<n.length;)p=!0,i[a]=Ae(n[a++],_,t);return"["+i.join(",")+"]";function _(x,h){if(p)return p=!p,h;let y=s.call(this,x,h);switch(typeof y){case de:if(y===null)return y;case Me:return o.get(y)||he(o,n,y)}return y}};var Y={};Y={};var T={DEFAULT:"DEFAULT",ERROR:"ERROR"},q=`
2
- `,W={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"},w,S,v,D,G,ge,m=class{constructor(){A(this,G);g(this,"system","");g(this,"logIndex",0);g(this,"logCounter",0);g(this,"contexts",[]);g(this,"targets",{});g(this,"activeTarget",null);g(this,"indexColor",0);g(this,"format","");g(this,"keepLog",!1);g(this,"logHistory",[]);g(this,"$containers",null);g(this,"options",{hideHookMessage:!1});A(this,w,console.log);A(this,S,console.info);A(this,v,console.warn);A(this,D,console.error);g(this,"isBrowser0",null);g(this,"originalFormatFunction");if(m.Instance)return m.Instance;m.Instance=this,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=d(this,w),this.rawInfo=d(this,S),this.rawWarn=d(this,v),this.rawError=d(this,D),console.rawLog=d(this,w),console.rawInfo=d(this,S),console.rawWarn=d(this,v),console.rawError=d(this,D),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=m.ALIGN,this.ENVIRONMENT_TYPE=m.ENVIRONMENT_TYPE}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}getLogHistory(e=!0,t=q){let s=JSON.parse(JSON.stringify(this.logHistory.slice(0)));return e?s.join(t):s}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:s=6,symbolLenMax:o=2,messageLenMax:n=void 0,hideLog:i=void 0,hideError:a=void 0,hideHookMessage:p=void 0,hidePassingTests:_=void 0,logToDom:x=void 0,logToFile:h=void 0,oneConsolePerContext:y=void 0,silent:H=void 0}=null){this.options.contextLenMax=e,this.options.idLenMax=t,this.options.lidLenMax=s,this.options.messageLenMax=n,this.options.symbolLenMax=o,_!==void 0&&(this.options.hidePassingTests=!!_),p!==void 0&&(this.options.hideHookMessage=!!p),i!==void 0&&(this.options.hideLog=!!i),a!==void 0&&(this.options.hideError=!!a),y!==void 0&&(this.options.oneConsolePerContext=!!y),x!==void 0&&(this.options.logToDom=x||"#analogger"),h===!1?this.options.logToFile=!1:h!==void 0&&(this.isBrowser()||(this.options.logToFile=h||"./analogger.log"),d(this,w).call(this,"LogToFile is not supported in this environment. ")),H!==void 0&&(this.options.silent=!!H,this.options.hideLog=this.options.silent)}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:s=m.ALIGN.LEFT,ellipsis:o="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-o.length)+o),e=s===m.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}buildTable(e,{ellipsis:t="...",ColumnMinChars:s=6,columnMaxChars:o=0,verticalSeparator:n=" \u2502 ",horizontalSeparator:i="\u2500",availableLength:a=0,onCompleteHeaders:p=null,onCompleteSeparators:_=null,onCompleteLines:x=null}={}){let h="";if(Array.isArray(e)||(e=Object.values(Object.values(e))),!e||!e.length)return"";let H=e[0],b=Object.keys(H);e.unshift(b),i=i.repeat(100);let u={};for(let f=1;f<e.length;++f){let l=e[f];for(let E=0;E<b.length;++E){let L=b[E],J=l[L];u[L]=u[L]||0;let N;try{N=JSON.stringify(J).length}catch(De){}N=N||s,u[L]=Math.max(u[L],N,L.length)}}this.isBrowser0||(Y=Y||{},a||(a=Y.width||process.stdout.columns||120-n.length-1-5)),a=a-4;let K=Object.values(u).reduce((f,l)=>f+l,0);if(a<K){let f=a/K;for(let l in u)u[l]=Math.floor(u[l]*f)-1,s&&u[l]<s&&(u[l]=s),o&&u[l]>o&&(u[l]=o),u[l]=u[l]}let c;c="";for(let f=0;f<b.length;++f){let l=b[f],E=u[l];c+=this.truncateMessage(l,{fit:E,ellipsis:t}),c+=n}p&&(c=p(c,b)),h+=this.truncateMessage(c,{fit:a}),h+=q,c="";let pe=i;for(let f=0;f<b.length;++f){let l=b[f],E=u[l];c+=this.truncateMessage(pe,{fit:E,ellipsis:""}),c+=n}_&&(c=_(c,b)),h+=this.truncateMessage(c,{fit:a}),h+=q;for(let f=1;f<e.length;++f){c="";let l=e[f];for(let E=0;E<b.length;++E){let L=b[E],J=l[L],N=u[L];c+=this.truncateMessage(J,{fit:N,ellipsis:t}),c+=n}x&&(c=x(c,l)),h+=this.truncateMessage(c,{fit:a}),h+=q}return this.rawLog(h),h}onBuildLog({contextName:e,message:t="",lid:s="",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:m.ALIGN.RIGHT}),s=this.truncateMessage(s,{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}: (${s}) ${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(T.DEFAULT,e)}generateDefaultContext(){let e=this.contexts[T.DEFAULT]||{};return e=Object.assign({},{name:T.DEFAULT,contextName:T.DEFAULT,target:"ALL",symbol:"\u26A1",color:k[1]},e),e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=k[this.indexColor++%(k.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.name=T.ERROR,e.contextName=T.ERROR,e.color=k[0],e.symbol="\u274C",e.error=!0,e}setContexts(e){let t=Object.keys(e);e[T.DEFAULT]=this.contexts[T.DEFAULT]=this.generateDefaultContext(),e[T.ERROR]=this.contexts[T.ERROR]=this.generateErrorContext(),t.forEach(s=>{let o=e[s]||{};o.contextName=s,o.name=s,this.contexts[s]=te(this,G,ge).call(this,o),e[s]=this.contexts[s]})}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,s){let o=0;for(let i in t){if(i==="name")continue;let a=t[i],p=document.createElement("span");p.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${o}`),++o,p.textContent=a,e.append(p)}let n=document.createElement("span");n.classList.add("analogger-col","analogger-col-text",`analogger-col-${o}`),n.textContent=s,e.append(n)}writeLogToDom(e,t){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom);for(let s=0;s<this.$containers.length;++s){let o=this.$containers[s],n=o.querySelector(".analogger-view");n||(n=document.createElement("div"),n.classList.add("analogger-view"),o.append(n));let i=document.createElement("div");i.classList.add("to-esm-line"),i.style.color=e.color,i.setAttribute("data-log-counter",this.logCounter),i.setAttribute("data-log-index",this.logIndex),this.setColumns(i,e,t),n.append(i)}}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=[],s,o=e.length;for(let n=0;n<o;++n){let i,a=e[n];try{i=JSON.stringify(a)}catch(p){}if(!i)try{i=ue(a)}catch(p){}t.push(i)}return s=t.join("\u2022"),s}processOutput(e={}){try{let t="";if(!this.isTargetAllowed(e.target))return;let s=Array.prototype.slice.call(arguments);s.shift(),t=this.convertArgumentsToText(s);let o="",n="";if(n=this.format(Z(R({},e),{message:t})),++this.logCounter,this.isBrowser()?(e.environnment=m.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,n),o=`%c${n}`):(e.environnment=m.ENVIRONMENT_TYPE.NODE,o=$.getTextFromColor(n,{fg:e.color}),this.options.logToFile&&this.writeLogToFile(n)),this.keepLog&&this.logHistory.push(o),this.options.hideLog)return;this.isBrowser()?d(this,w).call(this,o,`color: ${e.color}`):d(this,w).call(this,o),this.errorTargetHandler(e,s)}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("lid")}listSymbols(){for(let e in W)console.rawLog(W[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&W[e.symbol]&&(e.symbol=W[e.symbol])}catch(t){}}convertToContext(e,t){t=t||this.generateDefaultContext(),e=e||t;let s=e;if(e.context&&typeof e.context=="object"){let o=Object.assign({},e);delete o.context,s=Object.assign({},e.context,o)}return s=Object.assign({},t,s),delete s.context,this.applySymbolByName(s),s}log(e,...t){if(!this.isExtendedOptionsPassed(e)){let o=this.generateDefaultContext();this.processOutput.apply(this,[o,e,...t]);return}let s=this.convertToContext(e);this.processOutput.apply(this,[s,...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 s=this.generateErrorContext(),o=this.convertToContext(e,s),n=Array.prototype.slice.call(arguments,1);this.log(o,...n)}overrideError(){this.options.hideHookMessage||d(this,w).call(this,"AnaLogger: Hook placed on console.error"),console.error=this.onDisplayError.bind(this)}overrideConsole({log:e=!0,info:t=!0,warn:s=!0,error:o=!1}={}){this.options.hideHookMessage||d(this,w).call(this,"AnaLogger: Hook placed on console.log"),e&&(console.log=this.onDisplayLog.bind(this)),t&&(console.info=this.onDisplayLog.bind(this)),s&&(console.warn=this.onDisplayLog.bind(this)),o&&this.overrideError()}removeOverrideError(){console.warn=d(this,D)}removeOverride({log:e=!0,info:t=!0,warn:s=!0,error:o=!1}={}){e&&(console.log=d(this,w)),t&&(console.info=d(this,S)),s&&(console.warn=d(this,v)),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,...s){let o;try{return typeof e=="function"?(o=e(...s),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}},B=m;w=new WeakMap,S=new WeakMap,v=new WeakMap,D=new WeakMap,G=new WeakSet,ge=function(e){let t=e,s=this.generateNewContext();return t=Object.assign({},s,t),t.color.toLowerCase().indexOf("rgb")>-1?t.color=$.rgbStringToHex(t.color):t.color.indexOf("#")===-1&&(t.color=$.colorNameToHex(t.color)),t},g(B,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),g(B,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"});var ve=new B,qe=ve;export{ve as anaLogger,qe as default};
1
+ var pe=Object.defineProperty,me=Object.defineProperties;var be=Object.getOwnPropertyDescriptors;var K=Object.getOwnPropertySymbols;var Ee=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var J=(r,e,t)=>e in r?pe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e)=>{for(var t in e||(e={}))Ee.call(e,t)&&J(r,t,e[t]);if(K)for(var t of K(e))xe.call(e,t)&&J(r,t,e[t]);return r},Q=(r,e)=>me(r,be(e));var g=(r,e,t)=>(J(r,typeof e!="symbol"?e+"":e,t),t),Z=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var d=(r,e,t)=>(Z(r,e,"read from private field"),t?t.call(r):e.get(r)),F=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)};var ee=(r,e,t)=>(Z(r,e,"access private method"),t);var te={Foreground:38,Background:48},y="\x1B[1D",re="\x1B[0m"+y,C={Bold:"\x1B[1m"+y,Underline:"\x1B[4m"+y,Reversed:"\x1B[7m"+y},Te={Bold:"\x1B[1m"+y,Underline:"\x1B[4m"+y,Reversed:"\x1B[7m"+y},V={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 Le(r){return!!V[r]}var se=(r,e,t)=>r===e&&e===t?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),ne=r=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;r=r.replace(e,function(s,n,o,i){return n+n+o+o+i+i});let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},oe=function({red:r,green:e,blue:t}){let s=r<<16|e<<8|t<<0;return"#"+(16777216+s).toString(16).slice(1)},ie=function(r){let e=r.matchAll(/\d+/g),t=[];for(let s of e){let n=parseInt(s[0]);if(n>255)return null;t.push(n)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Oe=function(r){let e=ie(r);return e&&oe(e)},P=function(e,t,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?e+(t-e)*6*s:s<1/2?t:s<2/3?e+(t-e)*(2/3-s)*6:e},fe=({hue:r,saturation:e,lightness:t})=>{let s,n,o;if(e===0)s=n=o=t;else{let i=t<.5?t*(1+e):t+e-t*e,f=2*t-i;s=P(f,i,r+1/3),n=P(f,i,r),o=P(f,i,r-1/3)}return{red:Math.round(s*255),blue:Math.round(o*255),green:Math.round(n*255)}},ae=r=>{let e=r.toLowerCase();return typeof V[e]!="undefined"?V[e]:""};function S({red:r,blue:e,green:t},s=!0){if(r===void 0||e===void 0||t===void 0)return"";let n=se(r,e,t);return`\x1B[${s?te.Foreground:te.Background};5;`+n+"m "+y}function M(r,e=!0){let{red:t,green:s,blue:n}=ne(r);return S({red:t,green:s,blue:n},e)}function k({hue:r,saturation:e,lightness:t},s){let{red:n,green:o,blue:i}=fe({hue:r,saturation:e,lightness:t});return S({red:n,green:o,blue:i},s)}function z(r,e=!0){try{let t;return r=r||"",r?((typeof r=="string"||r instanceof String)&&(r=r.trim()),Le(r)?(t=ae(r),M(t,e)):typeof r=="object"&&!!r.red&&!!r.blue&&!!r.green?S(r,e):typeof r=="object"&&!!r.hue&&!!r.saturation&&!!r.lightness?k(r,e):r.startsWith("#")?M(r,e):(r=r.toString(),/^[\da-fA-F]+$/.test(r)?M("#"+r,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function $(r,{fg:e,bg:t,isUnderline:s=!1,isBold:n=!1,isReversed:o=!1}){let i=!1,f="";return e&&(i=!0,f=f+e),t&&(i=!0,f=f+t),s&&(i=!0,f=f+C.Underline),n&&(i=!0,f=f+C.Bold),o&&(i=!0,f=f+C.Reversed),i?f+r+re:r}function we(r,{fg:e={},bg:t={},isUnderline:s=!1,isBold:n=!1,isReversed:o=!1}){return e&&(e=S(A({},e))),t&&(t=S(A({},t),!1)),$(r,{fg:e,bg:t,isUnderline:s,isBold:n,isReversed:o})}function ye(r,{fg:e="",bg:t="",isUnderline:s=!1,isBold:n=!1,isReversed:o=!1}){return e&&(e=k(A({},e))),t&&(t=k(A({},t),!1)),$(r,{fg:e,bg:t,isUnderline:s,isBold:n,isReversed:o})}function Re(r,{fg:e="",bg:t="",isUnderline:s=!1,isBold:n=!1,isReversed:o=!1}){return e&&(e=M(e)),t&&(t=M(t,!1)),$(r,{fg:e,bg:t,isUnderline:s,isBold:n,isReversed:o})}function Ae(r,e=null){if(!e)return r;let{fg:t="",bg:s="",isUnderline:n=!1,isBold:o=!1,isReversed:i=!1}=e;return t&&(t=z(t)),s&&(s=z(s,!1)),$(r,{fg:t,bg:s,isUnderline:n,isBold:o,isReversed:i})}var W={fromRgb:S,fromHexa:M,fromHsl:k,fromColor:z,getTextFromRgb:we,getTextFromHsl:ye,getTextFromHex:Re,getTextFromColor:Ae,colorNameToHex:ae,hslToRgb:fe,hexToRgb:ne,rgbToHex:oe,rgbToAnsi256:se,rgbStringToRgb:ie,rgbStringToHex:Oe,hue2rgb:P,RESET:re,FONT_STYLE:C,STYLE:Te};var le={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"}},H=le.COLOR_TABLE,B=le.SYSTEM;var{parse:Ue,stringify:Ne}=JSON,{keys:je}=Object,Fe=String,Me="string";var ce="object",Se=(r,e)=>e;var de=(r,e,t)=>{let s=Fe(e.push(t)-1);return r.set(t,s),s};var he=(r,e,t)=>{let s=e&&typeof e===ce?(T,h)=>T===""||-1<e.indexOf(T)?h:void 0:e||Se,n=new Map,o=[],i=[],f=+de(n,o,s.call({"":r},"",r)),p=!f;for(;f<o.length;)p=!0,i[f]=Ne(o[f++],R,t);return"["+i.join(",")+"]";function R(T,h){if(p)return p=!p,h;let L=s.call(this,T,h);switch(typeof L){case ce:if(L===null)return L;case Me:return n.get(L)||de(n,o,L)}return L}};var _={};_={};var O={DEFAULT:"DEFAULT",ERROR:"ERROR"},Y=`
2
+ `,x,D,v,I,G,ue,m=class{constructor(){F(this,G);g(this,"system","");g(this,"logIndex",0);g(this,"logCounter",0);g(this,"contexts",[]);g(this,"targets",{});g(this,"activeTarget",null);g(this,"indexColor",0);g(this,"format","");g(this,"keepLog",!1);g(this,"logHistory",[]);g(this,"$containers",null);g(this,"options",{hideHookMessage:!1});F(this,x,console.log);F(this,D,console.info);F(this,v,console.warn);F(this,I,console.error);g(this,"isBrowser0",null);g(this,"originalFormatFunction");if(m.Instance)return m.Instance;m.Instance=this,this.system=typeof process=="object"?B.NODE:B.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=d(this,x),this.rawInfo=d(this,D),this.rawWarn=d(this,v),this.rawError=d(this,I),console.rawLog=d(this,x),console.rawInfo=d(this,D),console.rawWarn=d(this,v),console.rawError=d(this,I),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===B.BROWSER,this.ALIGN=m.ALIGN,this.ENVIRONMENT_TYPE=m.ENVIRONMENT_TYPE}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}getLogHistory(e=!0,t=Y){let s=JSON.parse(JSON.stringify(this.logHistory.slice(0)));return e?s.join(t):s}isNode(){return this.system===B.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:s=6,symbolLenMax:n=2,messageLenMax:o=void 0,hideLog:i=void 0,hideError:f=void 0,hideHookMessage:p=void 0,hidePassingTests:R=void 0,logToDom:T=void 0,logToFile:h=void 0,oneConsolePerContext:L=void 0,silent:j=void 0}=null){this.options.contextLenMax=e,this.options.idLenMax=t,this.options.lidLenMax=s,this.options.messageLenMax=o,this.options.symbolLenMax=n,R!==void 0&&(this.options.hidePassingTests=!!R),p!==void 0&&(this.options.hideHookMessage=!!p),i!==void 0&&(this.options.hideLog=!!i),f!==void 0&&(this.options.hideError=!!f),L!==void 0&&(this.options.oneConsolePerContext=!!L),T!==void 0&&(this.options.logToDom=T||"#analogger"),h===!1?this.options.logToFile=!1:h!==void 0&&(this.isBrowser()||(this.options.logToFile=h||"./analogger.log"),d(this,x).call(this,"LogToFile is not supported in this environment. ")),j!==void 0&&(this.options.silent=!!j,this.options.hideLog=this.options.silent)}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:s=m.ALIGN.LEFT,ellipsis:n="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-n.length)+n),e=s===m.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}buildTable(e,{ellipsis:t="...",ColumnMinChars:s=6,columnMaxChars:n=0,verticalSeparator:o=" \u2502 ",horizontalSeparator:i="\u2500",availableLength:f=0,onCompleteHeaders:p=null,onCompleteSeparators:R=null,onCompleteLines:T=null}={}){let h="";if(Array.isArray(e)||(e=Object.values(Object.values(e))),!e||!e.length)return"";let j=e[0],b=Object.keys(j);e.unshift(b),i=i.repeat(100);let u={};for(let l=1;l<e.length;++l){let a=e[l];for(let E=0;E<b.length;++E){let w=b[E],q=a[w];u[w]=u[w]||0;let N;try{N=JSON.stringify(q).length}catch(ve){}N=N||s,u[w]=Math.max(u[w],N,w.length)}}this.isBrowser0||(_=_||{},f||(f=_.width||process.stdout.columns||120-o.length-1-5)),f=f-4;let X=Object.values(u).reduce((l,a)=>l+a,0);if(f<X){let l=f/X;for(let a in u)u[a]=Math.floor(u[a]*l)-1,s&&u[a]<s&&(u[a]=s),n&&u[a]>n&&(u[a]=n),u[a]=u[a]}let c;c="";for(let l=0;l<b.length;++l){let a=b[l],E=u[a];c+=this.truncateMessage(a,{fit:E,ellipsis:t}),c+=o}p&&(c=p(c,b)),h+=this.truncateMessage(c,{fit:f}),h+=Y,c="";let ge=i;for(let l=0;l<b.length;++l){let a=b[l],E=u[a];c+=this.truncateMessage(ge,{fit:E,ellipsis:""}),c+=o}R&&(c=R(c,b)),h+=this.truncateMessage(c,{fit:f}),h+=Y;for(let l=1;l<e.length;++l){c="";let a=e[l];for(let E=0;E<b.length;++E){let w=b[E],q=a[w],N=u[w];c+=this.truncateMessage(q,{fit:N,ellipsis:t}),c+=o}T&&(c=T(c,a)),h+=this.truncateMessage(c,{fit:f}),h+=Y}return this.rawLog(h),h}onBuildLog({contextName:e,message:t="",lid:s="",symbol:n=""}={}){let o=new Date,i=("0"+o.getHours()).slice(-2)+":"+("0"+o.getMinutes()).slice(-2)+":"+("0"+o.getSeconds()).slice(-2);return i=this.truncateMessage(i,{fit:this.options.timeLenMax}),e=this.truncateMessage(e,{fit:this.options.contextLenMax,align:m.ALIGN.RIGHT}),s=this.truncateMessage(s,{fit:this.options.lidLenMax}),this.options.messageLenMax!==void 0&&(t=this.truncateMessage(t,{fit:this.options.messageLenMax})),n=this.truncateMessage(n,{fit:this.options.symbolLenMax}),`[${i}] ${e}: (${s}) ${n} ${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(s=>{let n=e[s]||{};n.contextName=s,n.name=s,this.contexts[s]=ee(this,G,ue).call(this,n),e[s]=this.contexts[s]})}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,s){let n=0;for(let i in t){if(i==="name")continue;let f=t[i],p=document.createElement("span");p.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${n}`),++n,p.textContent=f,e.append(p)}let o=document.createElement("span");o.classList.add("analogger-col","analogger-col-text",`analogger-col-${n}`),o.textContent=s,e.append(o)}writeLogToDom(e,t){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom);for(let s=0;s<this.$containers.length;++s){let n=this.$containers[s],o=n.querySelector(".analogger-view");o||(o=document.createElement("div"),o.classList.add("analogger-view"),n.append(o));let i=document.createElement("div");i.classList.add("to-esm-line"),i.style.color=e.color,i.setAttribute("data-log-counter",this.logCounter),i.setAttribute("data-log-index",this.logIndex),this.setColumns(i,e,t),o.append(i)}}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=[],s,n=e.length;for(let o=0;o<n;++o){let i,f=e[o];try{i=JSON.stringify(f)}catch(p){}if(!i)try{i=he(f)}catch(p){}t.push(i)}return s=t.join("\u2022"),s}processOutput(e={}){try{let t="";if(!this.isTargetAllowed(e.target))return;let s=Array.prototype.slice.call(arguments);s.shift(),t=this.convertArgumentsToText(s);let n="",o="";if(o=this.format(Q(A({},e),{message:t})),++this.logCounter,this.isBrowser()?(e.environnment=m.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,o),n=`%c${o}`):(e.environnment=m.ENVIRONMENT_TYPE.NODE,n=W.getTextFromColor(o,{fg:e.color}),this.options.logToFile&&this.writeLogToFile(o)),this.keepLog&&this.logHistory.push(n),this.options.hideLog)return;this.isBrowser()?d(this,x).call(this,n,`color: ${e.color}`):d(this,x).call(this,n),this.errorTargetHandler(e,s)}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("lid")}convertToContext(e,t){t=t||this.generateDefaultContext(),e=e||t;let s=e;if(e.context&&typeof e.context=="object"){let n=Object.assign({},e);delete n.context,s=Object.assign({},e.context,n)}return s=Object.assign({},t,s),delete s.context,s}log(e,...t){if(!this.isExtendedOptionsPassed(e)){let n=this.generateDefaultContext();this.processOutput.apply(this,[n,e,...t]);return}let s=this.convertToContext(e);this.processOutput.apply(this,[s,...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 s=this.generateErrorContext(),n=this.convertToContext(e,s),o=Array.prototype.slice.call(arguments,1);this.log(n,...o)}overrideError(){this.options.hideHookMessage||d(this,x).call(this,"AnaLogger: Hook placed on console.error"),console.error=this.onDisplayError.bind(this)}overrideConsole({log:e=!0,info:t=!0,warn:s=!0,error:n=!1}={}){this.options.hideHookMessage||d(this,x).call(this,"AnaLogger: Hook placed on console.log"),e&&(console.log=this.onDisplayLog.bind(this)),t&&(console.info=this.onDisplayLog.bind(this)),s&&(console.warn=this.onDisplayLog.bind(this)),n&&this.overrideError()}removeOverrideError(){console.warn=d(this,I)}removeOverride({log:e=!0,info:t=!0,warn:s=!0,error:n=!1}={}){e&&(console.log=d(this,x)),t&&(console.info=d(this,D)),s&&(console.warn=d(this,v)),n&&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,...s){let n;try{return typeof e=="function"?(n=e(...s),n!==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(o){this.error("Unexpected error in assert")}return!1}},U=m;x=new WeakMap,D=new WeakMap,v=new WeakMap,I=new WeakMap,G=new WeakSet,ue=function(e){let t=e,s=this.generateNewContext();return t=Object.assign({},s,t),t.color.toLowerCase().indexOf("rgb")>-1?t.color=W.rgbStringToHex(t.color):t.color.indexOf("#")===-1&&(t.color=W.colorNameToHex(t.color)),t},g(U,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),g(U,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"});var De=new U,We=De;export{De as anaLogger,We as default};
3
3
 
@@ -29,89 +29,6 @@ const PREDEFINED_CONTEXT_NAMES = {
29
29
  const EOL = `
30
30
  `;
31
31
 
32
- const symbolNames = {
33
- airplane : "✈",
34
- anchor : "⚓",
35
- arrow_backward : "◀",
36
- arrow_double_up : "⏫",
37
- arrow_double_down : "⏬",
38
- arrow_forward : "▶",
39
- arrow_lower_right : "↘",
40
- arrow_lower_left : "↙",
41
- arrow_right_hook : "↪",
42
- arrow_up_down : "↕",
43
- arrow_upper_left : "↖",
44
- arrow_upper_right : "↗",
45
- ballot_box_with_check : "☑",
46
- biohazard : "☣",
47
- black_circle : "⏺",
48
- black_medium_small_square : "◾",
49
- black_medium_square : "◼",
50
- black_nib : "✒",
51
- black_small_square : "▪",
52
- black_square : "⏹",
53
- chains : "⛓",
54
- check : "✔",
55
- chess_pawn : "♟",
56
- cloud_and_rain : "⛈",
57
- clubs : "♣",
58
- coffee : "☕",
59
- copyright : "©",
60
- cross : "❌",
61
- diamonds : "♦",
62
- divisions_ign : "➗",
63
- double_triangle_right : "⏭",
64
- double_triangle_left : "⏮",
65
- email : "✉",
66
- eject : "⏏",
67
- exclamation_mark : "❗",
68
- fast_forward : "⏩",
69
- female_sign : "♀",
70
- fist : "✊",
71
- fuel_pump : "⛽",
72
- gear : "⚙",
73
- hammer_and_pick : "⚒",
74
- hand : "✋",
75
- hearts : "♥",
76
- infinity : "♾",
77
- information : "ℹ",
78
- left_right_arrow : "↔",
79
- leftwards_arrow_with_hook : "↩",
80
- male_sign : "♂",
81
- minus_sign : "➖",
82
- no_entry : "⛔",
83
- partly_sunny : "⛅",
84
- pencil : "✏",
85
- phone : "☎",
86
- plus_sign : "➕",
87
- question : "❔",
88
- radioactive : "☢",
89
- raised_hand : "✋",
90
- recycle : "♻",
91
- registered : "®",
92
- relaxed : "☺",
93
- rewind : "⏪",
94
- scissors : "✂",
95
- snowman : "☃",
96
- spades : "♠",
97
- sparkles : "✨",
98
- star : "⭐",
99
- sunny : "☀",
100
- tent : "⛺",
101
- trademark : "™",
102
- triangle_with_vertical_bar: "⏯",
103
- umbrella : "☔",
104
- vertical_bars : "⏸",
105
- watch : "⌚",
106
- white_frowning_face : "☹",
107
- white_medium_square : "◻",
108
- white_medium_small_square : "◽",
109
- white_small_square : "▫",
110
- wheelchair : "♿",
111
- white_circle : "⚪",
112
- writing_hand : "✍",
113
- };
114
-
115
32
  class AnaLogger
116
33
  {
117
34
  system = "";
@@ -482,7 +399,7 @@ class AnaLogger
482
399
  strLine += this.truncateMessage(colName, {fit, ellipsis});
483
400
  strLine += verticalSeparator;
484
401
  }
485
-
402
+
486
403
  if (onCompleteHeaders)
487
404
  {
488
405
  strLine = onCompleteHeaders(strLine, titles);
@@ -964,29 +881,6 @@ class AnaLogger
964
881
  options.hasOwnProperty("lid");
965
882
  }
966
883
 
967
- listSymbols()
968
- {
969
- for (let key in symbolNames)
970
- {
971
- console.rawLog(symbolNames[key] + ` ${key} `);
972
- }
973
- }
974
-
975
- applySymbolByName(context)
976
- {
977
- try
978
- {
979
- if (context.symbol && symbolNames[context.symbol])
980
- {
981
- context.symbol = symbolNames[context.symbol];
982
- }
983
- }
984
- catch (e)
985
- {
986
-
987
- }
988
- }
989
-
990
884
  convertToContext(options, defaultContext)
991
885
  {
992
886
  defaultContext = defaultContext || this.generateDefaultContext();
@@ -1002,8 +896,6 @@ class AnaLogger
1002
896
  context = Object.assign({}, defaultContext, context);
1003
897
  delete context.context;
1004
898
 
1005
- this.applySymbolByName(context);
1006
-
1007
899
  return context;
1008
900
  }
1009
901
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "analogger",
3
- "version": "1.13.2",
3
+ "version": "1.13.3",
4
4
  "description": "Js Logger",
5
5
  "main": "./src/cjs/ana-logger.cjs",
6
6
  "module": "./generated/terminal/ana-logger.mjs",