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