nsole
Version:
A drop-in isomorphic console.* replacement that's pretty, small, fast, and flexible
2 lines (1 loc) • 1.4 kB
JavaScript
var{defineProperty:O,getOwnPropertyNames:k,getOwnPropertyDescriptor:S}=Object,_=Object.prototype.hasOwnProperty;var W=new WeakMap,m=(z)=>{var w=W.get(z),B;if(w)return w;if(w=O({},"__esModule",{value:!0}),z&&typeof z==="object"||typeof z==="function")k(z).map((C)=>!_.call(w,C)&&O(w,C,{get:()=>z[C],enumerable:!(B=S(z,C))||B.enumerable}));return W.set(z,w),w};var h=(z,w)=>{for(var B in w)O(z,B,{get:w[B],enumerable:!0,configurable:!0,set:(C)=>w[B]=()=>C})};var u={};h(u,{slim:()=>X,default:()=>y});module.exports=m(u);var X=(z,w,B,C,f,H="_id",D="_def",I="_lvl",L=B??{},P=[3,"?","#D6D"],M={check:P,debug:[5,">","#89A"],log:[4,">","#2AE"],info:[4,"i","#1AA"],warn:[2,"!","#F77"],error:[1,"X","#F36"],_fg:L._fg??"#000",_dl:L._dl??["",":",":"],_css:L._css??[" "," "," "," ","color:^;"]},N=(q,j=M)=>({...j,...q??M}),J=()=>{},E=console)=>new Proxy({[H]:z??"{}",[D]:N(),[I]:w??5},{get:(q,j)=>{let A=q[D]??M,G=A[j],K=~~q[I],Q=j==I||j==H||j==D?q[j]:K&&(K==-1||!G&&(j in E))?E[j]??E.log:!K||G?.[0]>K?J:null;if(!Q&&(q[j]??J)===J){q[D]=G?A:N({[j]:P},A);let R=A._fg=="",[i,Y,T,U,Z]=q[D][j],[$,x,b]=A._dl.map((F)=>R?F:`%c${F}%c`);q[j]=(E[Z??j]??E.log).bind(E,$+Y+x+q[H]?.replace("{}",j)+b,...R?[]:A._css.concat("").map((F)=>F?((A._css[4]??"")+F).replace(/\^+/g,(V)=>V=="^"?U??T:V=="^^"?U??A._fg:T):F))}return Q||q[j]},set:(q,j,A)=>{q[j]=j==I?A??w:j==H?A??z:N(A,q[D]);for(let G in q[D])q[G]=J;return!0}}),y=X;