nsole
Version:
A drop-in isomorphic console.* replacement that's pretty, small, fast, and flexible
2 lines (1 loc) • 1.51 kB
JavaScript
var F=(a,v,J,c,K,U="_id",b="_def",x="_lvl",k="PTAG_",Q="_FORCE",B={},C=()=>{},D=(I,E="s")=>(typeof I)[0]==E,R=D(globalThis,"o")?globalThis:B,f=([I,E,m],T)=>[E??R[k+I]??m,R[k+I+Q]].map((O)=>T>3?D(O)?JSON.parse(O):O:O),[[V,i],[n,t],[X,Z],[g,r],[$,H]]=[["ID",a,"{}"],["FG"],["LVL",v,5],["PLG",c],["DEF",null,B]].map(f),M={debug:[5,">","#89A"],log:[4,">","#2AE"],info:[4,"i","#1AA"],check:[3,"?","#D6D"],warn:[2,"!","#F77"],error:[1,"X","#F36"],_dl:["(","){","}"],_css:[" "," ","color: ^^;"," ","color:^^^;background:#0000;font-weight:900;font-family:Menlo,Consolas,monospace;"],...$,...J??B,_fg:J?._fg??n??$?._fg,...H??B},P=(I,E=M)=>({...E,...I??M}),S=0>K,L=console)=>new Proxy({[U]:V,[b]:P(),[x]:X},{get:(I,E)=>{let m=I[b]??M,T=m[E];Z=R[k+"LVL"+Q];let O=~~(Z??I[x]),h=E==x||E==U||E==b?I[E]:O&&(O==-1||!T&&(E in L))?L[E]??L.log:!O||T?.[0]>O?C:null;if(!h&&((I[E]??C)===C||S)){I[b]=T?m:P({[E]:[1,E,"#A58"]},m),T=I[b][E];let Y=(i??I[U]??"").replace("{}",E),j=r??g,[_,y,u,A,d,W,q]=j?j(T,E,Y,I):T;if(_!==T[0]){if(D(_,"f"))return _;Y=D(_)?_:Y}A=t??A??m._fg??"#89A",q=H?._dl??q??m._dl,W=H?._css??W??m._css;let w="NO_COLOR"in R||(A??m._fg)=="";w=S?!w:K??!w;let[l,s,p]=q.map((N)=>w?`%c${N}%c`:N),[z,o,e,EE,IE]=W;I[E]=(L[d??E]??L.log).bind(L,l+(E==y?"*":y)+s+Y+p,...w?[z,o,z,e,z+EE,""].map((N)=>N?((IE??"")+N).replace(/\^+/g,(G)=>(G=="^"?A??u:G=="^^"?A??m._fg:u)??"#000C"):N):[])}return h||I[E]},set:(I,E,m)=>{I[E]=E==x?m??X:E==U?m??V:P(m,I[b]);for(let T in I[b])I[T]=C;return!0}});var bE=F;export{bE as default,F as btagg};