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