@superbuilders/slog
Version:
High-performance structured logging library inspired by Go's slog
6 lines (4 loc) • 4.4 kB
JavaScript
var h=-4,v=0,d=4,S=8;var b=new ArrayBuffer(8192),K=new Uint8Array(b),Q=new TextEncoder;var C=new ArrayBuffer(64),L=new Uint8Array(C),J={DEBUG:Q.encode(" DEBUG "),INFO:Q.encode(" INFO "),WARN:Q.encode(" WARN "),ERROR:Q.encode(" ERROR "),NEWLINE:Q.encode(`
`),SPACE:Q.encode(" "),EQUALS:Q.encode("="),SLASH:Q.encode("/"),COLON:Q.encode(":"),NULL:Q.encode("null"),UNDEFINED:Q.encode("undefined"),TRUE:Q.encode("true"),FALSE:Q.encode("false"),QUOTE:Q.encode('"'),BRACKET_OPEN:Q.encode("["),BRACKET_CLOSE:Q.encode("]"),BRACE_OPEN:Q.encode("{"),BRACE_CLOSE:Q.encode("}"),COMMA:Q.encode(","),ZERO:Q.encode("0"),MINUS:Q.encode("-"),DOT:Q.encode(".")},U=new Uint8Array(19),z=new Uint8Array(2),V=0,F=0,W=0;function j(){let x=Date.now();if(x-V>=1000){let q=new Date(x),D=0,R=q.getFullYear();U[D++]=48+Math.floor(R/1000)%10,U[D++]=48+Math.floor(R/100)%10,U[D++]=48+Math.floor(R/10)%10,U[D++]=48+R%10,U[D++]=47;let N=q.getMonth()+1;U[D++]=48+Math.floor(N/10),U[D++]=48+N%10,U[D++]=47;let P=q.getDate();U[D++]=48+Math.floor(P/10),U[D++]=48+P%10,U[D++]=32;let M=q.getHours();U[D++]=48+Math.floor(M/10),U[D++]=48+M%10,U[D++]=58;let Z=q.getMinutes();U[D++]=48+Math.floor(Z/10),U[D++]=48+Z%10,U[D++]=58,F=D;let X=q.getSeconds();z[0]=48+Math.floor(X/10),z[1]=48+X%10,W=2,V=x}}var k=0;function H(x,G,q){let D=8192-G;if(D<=0)return G;let R=Math.min(q.length,D);return x.set(q.subarray(0,R),G),G+R}function $(x,G,q){let D=8192-G;if(D<=0)return G;let R=!0,N=q.length;for(let M=0;M<N;M++)if(q.charCodeAt(M)>127){R=!1;break}if(R){let M=Math.min(N,D);for(let Z=0;Z<M;Z++)x[G+Z]=q.charCodeAt(Z);return G+M}let P=Q.encodeInto(q,x.subarray(G));return G+(P.written??0)}function A(x,G,q){if(Number.isNaN(q))return $(x,G,"NaN");if(q===Number.POSITIVE_INFINITY)return $(x,G,"Infinity");if(q===Number.NEGATIVE_INFINITY)return $(x,G,"-Infinity");let D=G,R=q;if(R<0)D=H(x,D,J.MINUS),R=-R;if(R===0)return H(x,D,J.ZERO);if(Number.isInteger(R)&&R<Number.MAX_SAFE_INTEGER){let M=Math.floor(R),Z=0,X=M;while(X>0)Z++,X=Math.floor(X/10);if(D+Z>x.length)return D;let Y=D+Z-1;while(M>0)x[Y--]=48+M%10,M=Math.floor(M/10);return D+Z}let N=Q.encodeInto(R.toString(),L),P=Math.min(N.written??0,x.length-G);if(P>0)x.set(L.subarray(0,P),G);return G+P}function _(x,G,q){if(q===null)return H(x,G,J.NULL);if(q===void 0)return H(x,G,J.UNDEFINED);switch(typeof q){case"string":return $(x,G,q);case"number":return A(x,G,q);case"boolean":return H(x,G,q?J.TRUE:J.FALSE);case"bigint":return $(x,G,`${q}`);case"symbol":return $(x,G,String(q));case"function":return $(x,G,`${q}`);case"object":{if(Array.isArray(q)){let X=H(x,G,J.BRACKET_OPEN),Y=q.length;for(let O=0;O<Y;O++){if(O>0)X=H(x,X,J.COMMA);X=_(x,X,q[O])}return H(x,X,J.BRACKET_CLOSE)}let N=q.toString;if(typeof N==="function"&&N!==Object.prototype.toString)return $(x,G,N.call(q));let P=q,M=H(x,G,J.BRACE_OPEN),Z=!0;for(let X in P)if(Object.hasOwn(P,X)){if(Z===!1)M=H(x,M,J.COMMA);M=H(x,M,J.QUOTE),M=$(x,M,X),M=H(x,M,J.QUOTE),M=H(x,M,J.COLON),M=_(x,M,P[X]),Z=!1}return H(x,M,J.BRACE_CLOSE)}default:return $(x,G,`${q}`)}}function E(x,G,q){if(!q)return G;let D=G,R=!0;for(let N in q){if(!R)D=H(x,D,J.SPACE);D=$(x,D,N),D=H(x,D,J.EQUALS),D=_(x,D,q[N]),R=!1}return D}function I(x){let G=K.subarray(0,x);process.stderr.write(G)}function w(x){k=x}function y(x,G){if(-4<k)return;j();let q=0;if(q=H(K,q,U.subarray(0,F)),q=H(K,q,z.subarray(0,W)),q=H(K,q,J.DEBUG),q=$(K,q,x),G)q=H(K,q,J.SPACE),q=E(K,q,G);if(q<8192)q=H(K,q,J.NEWLINE);else{let D=J.NEWLINE[0];if(D!==void 0)K[8191]=D;q=8192}I(q)}function m(x,G){if(0<k)return;j();let q=0;if(q=H(K,q,U.subarray(0,F)),q=H(K,q,z.subarray(0,W)),q=H(K,q,J.INFO),q=$(K,q,x),G)q=H(K,q,J.SPACE),q=E(K,q,G);if(q<8192)q=H(K,q,J.NEWLINE);else{let D=J.NEWLINE[0];if(D!==void 0)K[8191]=D;q=8192}I(q)}function c(x,G){if(4<k)return;j();let q=0;if(q=H(K,q,U.subarray(0,F)),q=H(K,q,z.subarray(0,W)),q=H(K,q,J.WARN),q=$(K,q,x),G)q=H(K,q,J.SPACE),q=E(K,q,G);if(q<8192)q=H(K,q,J.NEWLINE);else{let D=J.NEWLINE[0];if(D!==void 0)K[8191]=D;q=8192}I(q)}function l(x,G){if(8<k)return;j();let q=0;if(q=H(K,q,U.subarray(0,F)),q=H(K,q,z.subarray(0,W)),q=H(K,q,J.ERROR),q=$(K,q,x),G)q=H(K,q,J.SPACE),q=E(K,q,G);if(q<8192)q=H(K,q,J.NEWLINE);else{let D=J.NEWLINE[0];if(D!==void 0)K[8191]=D;q=8192}I(q)}export{c as warn,w as setDefaultLogLevel,m as info,l as error,y as debug,d as WARN,v as INFO,S as ERROR,h as DEBUG};
//# debugId=5F65B93FD0C7B2C364756E2164756E21
//# sourceMappingURL=index.js.map