@decaf-ts/logging 0.26.0 → 0.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/logging.cjs +1 -1
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.js +1 -1
- package/dist/logging.js.map +1 -1
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/logParameters.cjs +4 -1
- package/lib/cjs/logParameters.cjs.map +1 -1
- package/lib/cjs/logging.cjs +49 -42
- package/lib/cjs/logging.cjs.map +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/logParameters.js +4 -1
- package/lib/esm/logParameters.js.map +1 -1
- package/lib/esm/logging.js +49 -42
- package/lib/esm/logging.js.map +1 -1
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/logParameters.d.cts +1 -1
- package/lib/types/logParameters.d.mts +1 -1
- package/lib/types/logging.d.cts +39 -6
- package/lib/types/logging.d.mts +39 -6
- package/lib/types/types.d.cts +10 -1
- package/lib/types/types.d.mts +10 -1
- package/package.json +1 -1
package/dist/logging.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,n){"use strict";const o="ENV",s="__",i=["${","}"];var a;e.LogLevel=void 0,(a=e.LogLevel||(e.LogLevel={})).benchmark="benchmark",a.fatal="fatal",a.critical="critical",a.error="error",a.warn="warn",a.info="info",a.verbose="verbose",a.debug="debug",a.trace="trace",a.silly="silly";const c={benchmark:0,fatal:1,critical:2,error:3,warn:6,info:9,verbose:12,debug:15,trace:18,silly:21};var l;e.LoggingMode=void 0,(l=e.LoggingMode||(e.LoggingMode={})).RAW="raw",l.JSON="json";const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},action:{fg:[18],style:[1,3]},logLevel:{benchmark:{fg:32,style:["bold"]},fatal:{fg:31,style:["bold"]},critical:{fg:31,style:["bold"]},error:{fg:31,style:["bold"]},info:{fg:34,style:["bold"]},verbose:{fg:34,style:["bold"]},debug:{fg:33,style:["bold"]},trace:{fg:33,style:["bold"]},silly:{fg:33,style:["bold"]}}},g={env:"development",verbose:0,level:e.LogLevel.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:e.LoggingMode.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class f{constructor(){this.descriptors=new Map}register(e){return this.descriptors.set(e.key,e),this}unregister(e){return this.descriptors.delete(e),this}get(e){return this.descriptors.get(e)}render(e,t){const r={},n=new Set;return t.forEach(t=>{if(n.has(t))return;n.add(t);const o=this.descriptors.get(t);if(!o)return;if(o.shouldInclude&&!o.shouldInclude(e))return;const s=o.render(e);if(void 0===s)return;const i=o.style?o.style(s,e):s;r[t]=i}),r}keys(){return Array.from(this.descriptors.keys())}}const h=new Map;function p(e){if(h.has(e))return h.get(e);const t=d(e||""),r=new Set,n=[];m(t,r,n);const o={pattern:e,segments:t,keys:n,includesMeta:r.has("meta")};return h.set(e,o),o}function y(e,t){return v(e.segments,t).text}function d(e){const t=[];let r=0;for(;r<e.length;){const n=e[r];if("["===n){const n=b(e,r,"[","]");if(-1===n){t.push({type:"literal",value:"["}),r++;continue}const o=e.slice(r+1,n);t.push({type:"optional",prefix:"[",suffix:"]",children:d(o)}),r=n+1;continue}if("{"===n){const n=e.indexOf("}",r+1);if(-1===n){t.push({type:"literal",value:"{"}),r++;continue}const o=e.slice(r+1,n).trim();t.push({type:"parameter",key:o}),r=n+1;continue}let o=r;for(;o<e.length&&"["!==e[o]&&"{"!==e[o];)o++;const s=e.slice(r,o);s.length&&t.push({type:"literal",value:s}),r=o}return t}function b(e,t,r,n){let o=0;for(let s=t;s<e.length;s++){const t=e[s];if(t===r)o++;else if(t===n&&(o--,0===o))return s}return-1}function m(e,t,r){for(const n of e)"parameter"===n.type&&(t.has(n.key)||(t.add(n.key),r.push(n.key))),"optional"===n.type&&m(n.children,t,r)}function v(e,t){const r=[];let n=!1;for(const o of e){const e=x(o,t);e.text.length&&r.push(e.text),n=n||e.hasValue}return{text:r.join(""),hasValue:n}}function x(e,t){if("literal"===e.type)return{text:e.value,hasValue:!1};if("parameter"===e.type){const r=t[e.key]??"";return{text:r,hasValue:r.length>0}}const r=v(e.children,t);return r.hasValue?{text:`${e.prefix}${r.text}${e.suffix}`,hasValue:!0}:{text:"",hasValue:!1}}const L=new f;L.register({key:"level",render:e=>void 0!==e.action?void 0!==e.actionCode?`${e.action} - ${e.actionCode}`:e.action:!1!==e.config.logLevel?e.level.toUpperCase():void 0,style:(e,t)=>void 0!==t.action?t.applyTheme(e,"action"):t.applyTheme(e,"logLevel")}).register({key:"timestamp",shouldInclude:e=>!(!e.config.timestamp||!e.timestamp),render:e=>e.timestamp,style:(e,t)=>t.applyTheme(e,"timestamp")}).register({key:"app",shouldInclude:e=>!!e.app,render:e=>e.app,style:(e,t)=>t.applyTheme(e,"app")}).register({key:"context",shouldInclude:e=>!1!==e.config.context&&e.context.length>0,render(e){const t=e.config.contextSeparator||".";return e.context.join(t)},style:(e,t)=>t.applyTheme(e,"class")}).register({key:"separator",shouldInclude:e=>!!e.separator,render:e=>e.separator,style:(e,t)=>t.applyTheme(e,"separator")}).register({key:"message",render:e=>e.filteredMessage,style:(e,t)=>t.applyTheme(e,"message")}).register({key:"stack",shouldInclude:e=>!!e.stack,render:e=>e.stack,style:(e,t)=>t.applyTheme(e,"stack")}).register({key:"meta",shouldInclude:e=>!!e.metaString,render:e=>e.metaString}).register({key:"correlationId",shouldInclude:e=>!!e.correlationId,render:e=>e.correlationId,style:(e,t)=>t.applyTheme(e,"id")}).register({key:"action",shouldInclude:e=>void 0!==e.action,render:e=>e.action,style:(e,t)=>t.applyTheme(e,"action")}).register({key:"actionCode",shouldInclude:e=>void 0!==e.actionCode,render:e=>void 0===e.actionCode?void 0:e.actionCode+"",style:(e,t)=>t.applyTheme(e,"action")}).register({key:"errorCode",shouldInclude:e=>void 0!==e.errorCode,render:e=>void 0===e.errorCode?void 0:e.errorCode+""}).register({key:"errorName",shouldInclude:e=>void 0!==e.errorName,render:e=>e.errorName});const w=L;function E(e,t,r="g"){return Object.entries(t).forEach(([t,n])=>{const o=RegExp(_(t),r);e=e.replace(o,n)}),e}function O(e){return k(e).toUpperCase()}function k(e){return e.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function _(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function j(e,...t){if(t.length>1&&!t.every(e=>"string"==typeof e||"number"==typeof e))throw Error("Only string and number arguments are supported for multiple replacements.");if(1===t.length&&"object"==typeof t[0]){const r=t[0];return Object.entries(r).reduce((e,[t,r])=>e.replace(RegExp(`\\{${t}\\}`,"g"),()=>r),e)}return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const P=j;function A(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const C=Symbol("EnvironmentEmpty"),R=Symbol("EnvironmentModel"),M=/^[a-z][a-zA-Z0-9]*$/;class S extends r.ObjectAccumulator{static{this.factory=()=>new S}constructor(){super(),Object.defineProperty(this,R,{value:{},writable:!0,enumerable:!1,configurable:!1})}static isProxyableObject(e){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}fromEnv(e){let t;return A()?t=globalThis[o]||{}:(t=globalThis.process.env,e=O(e)),this.parseEnvValue(t[e])}parseEnvValue(e){return S.parseRuntimeValue(e)}static parseRuntimeValue(e){if("string"!=typeof e)return e;if("true"===e)return!0;if("false"===e)return!1;const t=e.trim();return/^-?\d+(\.\d+)?$/.test(t)?Number(t):e}expand(e){Object.entries(e).forEach(([e,t])=>{S.mergeModel(this[R],e,t),Object.defineProperty(this,e,{get:()=>{const r=this.fromEnv(e);return void 0!==r?r:t&&"object"==typeof t?S.buildEnvProxy(t,[e]):""===t?C:t},set:e=>{t=e},configurable:!0,enumerable:!0})})}orThrow(){const e=this[R],t=e=>void 0!==e?this.parseEnvValue(e):void 0,r=(e,t=!1)=>S.missingEnvError(e,t),n=(e,o)=>{const s={get(s,i){if(i===Symbol.toPrimitive)return()=>S.buildEnvKey(o);if("toString"===i)return()=>S.buildEnvKey(o);if("valueOf"===i)return()=>S.buildEnvKey(o);if("symbol"==typeof i)return;if("toJSON"===i)return;if("then"===i)return;if("constructor"===i)return Object;if(Array.isArray(e)&&"length"===i)return e.length;if(Array.isArray(e)&&i in Array.prototype){const t=Reflect.get(e,i,e);return"function"==typeof t?t.bind(e):t}const a=[...o,i],{key:c,value:l}=S.readRuntimeForPath(a);if("string"==typeof l&&0===l.length)throw r(c,!0);const u=t(l);if(void 0!==u){if("string"==typeof u&&0===u.length)throw r(c,!0);return u}if(!e||!Object.prototype.hasOwnProperty.call(e,i))throw r(c);const g=e[i];if(void 0!==g){if(""===g)throw r(c);return S.isProxyableObject(g)?n(g,a):g}},ownKeys:()=>e?Reflect.ownKeys(e):[],getOwnPropertyDescriptor(t,r){if(e)return Object.prototype.hasOwnProperty.call(e,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(e)?[]:{},s)};return new Proxy(this,{get(o,s,i){if("string"!=typeof s)return Reflect.get(o,s,i);if(!Object.prototype.hasOwnProperty.call(e,s))return Reflect.get(o,s,i);const{key:a,value:c}=S.readRuntimeForPath([s]);if("string"==typeof c&&0===c.length)throw r(a,!0);const l=t(c);if(void 0!==l){if("string"==typeof l&&0===l.length)throw r(a,!0);return l}const u=e[s];if(S.isProxyableObject(u))return n(u,[s]);if(void 0===u)return Reflect.get(o,s,i);const g=Reflect.get(o,s);if(void 0===g||""===g)throw r(a,""===g);return g}})}static instance(...e){if(!S._instance){const t=S.factory(...e),r=new Proxy(t,{get(e,t,r){const n=Reflect.get(e,t,r);if(n!==C&&("string"!=typeof t||!Object.prototype.hasOwnProperty.call(e,t)||void 0!==n)){if(void 0!==n)return n;if("string"==typeof t){if("app"===t)return;return S.buildEnvProxy(void 0,[t])}return n}}});S._instance=r}return S._instance}accumulate(e){return super.accumulate(e),this}static accumulate(e){const t=S.instance();return Object.keys(t).forEach(e=>{const r=Object.getOwnPropertyDescriptor(t,e);r&&r.configurable&&r.enumerable&&Object.defineProperty(t,e,{...r,enumerable:!1})}),t.accumulate(e),t}static get(e){return S._instance.get(e)}static formatEnvSegment(e){return M.test(e)?O(e):e.toUpperCase()}static buildEnvKey(e){return e.map(e=>S.formatEnvSegment(e)).join(s)}static buildRawKey(e){return e.join(s)}static readRuntimeForPath(e){const t=S.buildEnvKey(e),r=S.buildRawKey(e),n=S.readRuntimeEnv(t);if(void 0!==n)return{key:t,value:n};if(r!==t){const e=S.readRuntimeEnv(r);if(void 0!==e)return{key:r,value:e}}return{key:t,value:void 0}}static runtimeEnv(){return A()?globalThis[o]:globalThis?.process?.env}static getRuntimeChildKeys(e){const t=S.runtimeEnv();if(!t)return[];const r=[S.buildEnvKey(e),S.buildRawKey(e)],n=new Set;return Object.keys(t).forEach(e=>{r.forEach(t=>{if(!t)return;const r=`${t}${s}`;if(e.startsWith(r)){const t=e.slice(r.length).split(s)[0];t&&n.add(t)}})}),[...n]}static hasRuntimePath(e){const{value:t}=S.readRuntimeForPath(e);return void 0!==t||S.getRuntimeChildKeys(e).length>0}static buildEnvProxy(e,t){const r=e=>S.readRuntimeEnv(e),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>S.buildEnvKey(t);if("toString"===s)return()=>S.buildEnvKey(t);if("valueOf"===s)return()=>S.buildEnvKey(t);if("symbol"==typeof s)return;if(Array.isArray(e)&&s in Array.prototype){const t=Reflect.get(e,s,e);return"function"==typeof t?t.bind(e):t}if(Array.isArray(e)&&"length"===s)return e.length;const i=[...t,s],a=S.buildEnvKey(i),c=S.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return S.parseRuntimeValue(l);const u=!!e&&Object.prototype.hasOwnProperty.call(e,s),g=u?e[s]:void 0,f=S.hasRuntimePath(i);return Array.isArray(e)&&(e=>"string"==typeof e&&n.test(e))(s)?u?S.isProxyableObject(g)?S.buildEnvProxy(g,i):S.parseRuntimeValue(g):f?S.buildEnvProxy(void 0,i):void 0:g&&"object"==typeof g&&S.isProxyableObject(g)?S.buildEnvProxy(g,i):u&&""===g||u&&void 0===g?void 0:u?S.parseRuntimeValue(g):S.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return e&&Reflect.ownKeys(e).forEach(e=>r.add(e)),S.getRuntimeChildKeys(t).forEach(e=>r.add(e)),[...r]},getOwnPropertyDescriptor:(r,n)=>e&&Object.prototype.hasOwnProperty.call(e,n)?Reflect.getOwnPropertyDescriptor(e,n):"string"==typeof n&&S.hasRuntimePath([...t,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(e)?[]:{},o)}static keys(e=!0){return S.instance().keys().map(t=>e?O(t):t)}static mergeModel(e,t,r){if(e){if(r&&"object"==typeof r&&!Array.isArray(r)){const n=e[t],o=n&&"object"==typeof n&&!Array.isArray(n)?n:{};return e[t]=o,void Object.entries(r).forEach(([e,t])=>{S.mergeModel(o,e,t)})}e[t]=r}}static readRuntimeEnv(e){if(A()){const t=globalThis[o];return t?t[e]:void 0}return globalThis?.process?.env?.[e]}static missingEnvError(e,t){return Error(`Environment variable ${e} is required but was ${t?"an empty string":"undefined"}.`)}}const $=S.accumulate(Object.assign({app:void 0},g,{env:(A()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function T(e){if("function"!=typeof e)return!1;try{const t=Function.prototype.toString.call(e);if(/^\s*class[\s{]/.test(t))return!0}catch{}const t=Object.getOwnPropertyDescriptor(e,"prototype");if(!t||!t.value)return!1;if(!1===t.writable)return!0;const r=e.prototype;return!!Object.prototype.hasOwnProperty.call(r,"constructor")&&Object.getOwnPropertyNames(r).filter(e=>"constructor"!==e).length>0}function I(e){return"function"==typeof e&&!T(e)}function N(e){if(!I(e))return!1;const t=Object.getOwnPropertyDescriptor(e,"prototype");return!t||void 0===t.value}function K(e){if(null===e||"object"!=typeof e)return!1;const t=e.constructor;return!(!t||t===Object)&&T(t)}function V(e){if(null===e)return"null";if(void 0===e)return"undefined";if("string"==typeof e)return e;if(T(e))return e.name||"AnonymousClass";if(K(e)){const t=e.toString;if("function"==typeof t&&t!==Object.prototype.toString)try{const r=t.call(e);if("string"==typeof r&&r.length)return r}catch{}const r=e.constructor;return r&&r.name?r.name:"AnonymousInstance"}if(N(e)||I(e)){const t=e;return t.name?t.name:"anonymous"}if("object"==typeof e){const t=Object.prototype.toString.call(e),r=/^\[object ([^\]]+)\]$/.exec(t);return r?.[1]?r[1]:"Object"}return typeof e}const F=Symbol("MiniLoggerRootContext");class D{constructor(e,t,r=[]){this.conf=t,this.baseContext=Array.isArray(r)?[...r]:[],e&&this.baseContext.push(e),this.context=[...this.baseContext],this[F]=[...this.baseContext]}config(e){return this.conf&&e in this.conf?this.conf[e]:U.getConfig()[e]}for(e,t,...r){let n,o=t;const s=Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[],i=this[F],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof e?n=e:void 0!==e&&(T(e)||K(e)||I(e)?n=V(e):!o&&e&&"object"==typeof e&&(o=e));let c=n?[...s,n]:[...s];return new Proxy(this,{get:(e,t,r)=>{const n=Reflect.get(e,t,r);return"config"===t?new Proxy(this.config,{apply:(e,t,n)=>{const[s]=n;return o&&void 0!==s&&s in o?o[s]:Reflect.apply(e,r,n)},get:(e,t)=>o&&t in o?o[t]:Reflect.get(e,t,r)}):"clear"===t?()=>(c=[...a],r):"context"===t?c:"root"===t?[...a]:t===F?a:"for"===t?(...t)=>{if(o){const e=t[0];"string"==typeof e||T(e)||K(e)||I(e)?t[1]={...o,...t[1]||{}}:e&&"object"==typeof e&&(t[0]={...o,...e})}const r=Array.isArray(e.context)?[...e.context]:"string"==typeof e.context&&e.context?[e.context]:[];e.context=[...c];try{return e.for.apply(e,t)}finally{e.context=r}}:"getConfigSnapshot"===t?()=>{const t=e.getConfigSnapshot();return o&&Object.assign(t,o),t}:n}})}getConfigSnapshot(){return{...U.getConfig(),...this.conf||{}}}getContextSegments(){return Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[]}resolveFilters(e){const t=e.filters||[];return Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e&&"function"==typeof e.filter):[]}applyFilters(e,t,r){const n=this.resolveFilters(r);return n.length?n.reduce((e,n)=>{try{const o=n.filter(r,e,[...t]);return"string"==typeof o?o:e}catch{return e}},e):e}createLog(e,t,r,n,o,s){const i=!!this.config("style"),a=this.config("separator"),c=U.getConfig().app,l=this.config("timestamp")?(new Date).toISOString():void 0,u=this.getConfigSnapshot(),g=this.getContextSegments(),f="string"==typeof t?t:t instanceof Error?t.message:t+"",h=this.applyFilters(f,g,u),d=this.config("meta")&&n?n:void 0,b=d?this.formatMeta(d):void 0,m=b?this.applyFilters(b,g,u):void 0,v=this.config("correlationId"),x=null!=v?v+"":void 0;let L,E,O,k;if(r||t instanceof Error){const n=r||t,o=n.code;"number"==typeof o&&(O=o);const s=n.name;"string"==typeof s&&s.length&&(k=s),n.stack&&(E="string"==typeof t?h:n.message,L=` | ${E} - Stack trace:\n${i?U.theme(n.stack,"stack",e):n.stack}`)}const _={config:u,level:e,context:g,timestamp:l,app:"string"==typeof c&&c.length?c:void 0,separator:a,correlationId:x,rawMessage:f,filteredMessage:h,meta:d,metaString:m,stack:L,stackLabel:E,action:o,actionCode:s,errorCode:O,errorName:k,applyTheme:(t,r)=>i?U.theme(t,r,e):t},j=this.config("pattern"),P=u.pattern||"",A=p(j.length?j:P),C=w.render(_,A.keys);switch(this.config("format")){case"json":{const e=w.render(_,w.keys()),t={};return Object.entries(e).forEach(([e,r])=>{"meta"!==e&&(t[e]=r)}),_.meta&&(t.meta=_.meta),JSON.stringify(t)}case"raw":{let e=this.normalizePatternSpacing(y(A,C));return!A.includesMeta&&m&&(e=e?`${e} ${m}`:m),e}default:throw Error("Unsupported logging format: "+this.config("format"))}}formatMeta(e){try{return JSON.stringify(e)}catch(t){return e+""}}normalizePatternSpacing(e){return e.replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/g,"")}log(t,r,n,o){const s=this.config("level");if(c[t]>c[s])return;let i;switch(t){case e.LogLevel.benchmark:i=console.log;break;case e.LogLevel.fatal:case e.LogLevel.critical:case e.LogLevel.error:i=console.error;break;case e.LogLevel.info:case e.LogLevel.verbose:i=console.log;break;case e.LogLevel.debug:i=console.debug;break;case e.LogLevel.trace:i=console.trace;break;case e.LogLevel.warn:i=console.warn;break;case e.LogLevel.silly:i=console.debug;break;default:throw Error("Invalid log level")}i(this.createLog(t,r,n,o))}benchmark(t,r){this.log(e.LogLevel.benchmark,t,void 0,r)}action(e,t,r,...n){let o;n.length&&n[0]&&"object"==typeof n[0]&&(o=n[0]),this.logAction(e,t,r,o)}logAction(e,t,r,n){}fatal(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.fatal,t,o,s)}critical(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.critical,t,o,s)}silly(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.silly,t,void 0,s)}verbose(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.verbose,t,void 0,s)}info(t,r){this.log(e.LogLevel.info,t,void 0,r)}debug(t,r){this.log(e.LogLevel.debug,t,void 0,r)}error(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.error,t,o,s)}warn(t,r){this.log(e.LogLevel.warn,t,void 0,r)}trace(t,r){this.log(e.LogLevel.trace,t,void 0,r)}setConfig(e){this.conf={...this.conf||{},...e}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class U{static{this._factory=(e,t)=>{const r="string"==typeof $.app?[$.app]:[];return new D(e,t,r)}}static{this._config=$}constructor(){}static setFactory(e){U._factory=e,this.global=void 0}static setConfig(e){Object.entries(e).forEach(([e,t])=>{this._config[e]=t})}static getConfig(){return this._config}static get(){return this.ensureRoot()}static verbose(e,t=0,r){return this.get().verbose(e,t,r)}static info(e,t){return this.get().info(e,t)}static trace(e,t){return this.get().trace(e,t)}static debug(e,t){return this.get().debug(e,t)}static benchmark(e,t){return this.get().benchmark(e,t)}static action(e,t,r,...n){return this.get().action(e,t,r,...n)}static fatal(e,t,r){return this.get().fatal(e,t,r)}static critical(e,t,r){return this.get().critical(e,t,r)}static silly(e,t=0,r){return this.get().silly(e,t,r)}static warn(e,t){return this.get().warn(e,t)}static error(e,t,r){return this.get().error(e,t,r)}static for(e,t,...r){const n=void 0!==t?[e,t]:[e];return(this.global?this.global:this.ensureRoot(r)).for(...n)}static because(e,t){let r=this.ensureRoot().for(e,this._config);return t&&(r=r.for(t)),r}static baseContext(){const e=this._config.app;return"string"==typeof e&&e.length?[e]:[]}static attachRootContext(e){const t=e.root&&Array.isArray(e.root)?[...e.root]:this.baseContext();return(!e.context||Array.isArray(e.context)&&0===e.context.length)&&(e.context=[...t]),e[F]=[...t],e}static ensureRoot(e=[]){if(!this.global){const t=this._factory(void 0,void 0,...e);this.global=this.attachRootContext(t)}return this.global}static theme(r,n,o,s=u){if(!this._config.style)return r;const i=s[n];if(!i||!Object.keys(i).length)return r;let a=i;const c=Object.assign({},e.LogLevel);return Object.keys(i)[0]in c&&(a=i[o]||{}),Object.keys(a).reduce((e,r)=>{const n=a[r];return n?((e,r,n)=>{try{const o=e;let s=t.style(o);function i(e,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(e))return i.call(s,n);switch(e.length){case 1:return i=r?s.bgColor256:s.color256,i(e[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(e[0],e[1],e[2]);default:return t.style(o)}}function a(e){s="number"==typeof e?s.style(e):s[e]}switch(r){case"bg":case"fg":return i(n).text;case"style":return Array.isArray(n)?n.forEach(a):a(n),s.text;default:return o}}catch(c){return e}})(e,r,n):e},r)}static register(e){return w.register(e)}static unregister(e){return w.unregister(e)}}class z{get log(){return this._log||(this._log=U.for(this)),this._log}constructor(){}}class J extends z{get log(){return super.log.for(this,{filters:[]})}}const B="undefined"!=typeof globalThis&&"function"==typeof globalThis.performance?.now?()=>globalThis.performance.now():"undefined"!=typeof process&&"function"==typeof process.hrtime?.bigint?()=>{const e=process.hrtime.bigint();return Number(e)/1e6}:()=>Date.now();function W(e){const t=0>e?"-":"",r=Math.abs(e),n=Math.floor(r/36e5),o=Math.floor(r%36e5/6e4),s=Math.floor(r%6e4/1e3),i=Math.floor(r%1e3),a=(e,t)=>e.toString().padStart(t,"0");return`${t}${a(n,2)}:${a(o,2)}:${a(s,2)}.${a(i,3)}`}function Z(t=e.LogLevel.info,r=0,n=(...e)=>"called with "+e,o){return(e,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=e instanceof z?e.log.for(e[s]):U.for(e).for(e[s]),c=a[t].bind(a),l=i.value;return i.value=new Proxy(l,{apply(e,t,s){c(n(...s),r);try{const r=Reflect.apply(e,t,s);return r instanceof Promise?r.then(e=>(o&&c(o(void 0,e)),e)).catch(e=>{throw o&&a.error(o(e)),e}):(o&&c(o(void 0,r)),r)}catch(e){throw o&&a.error(o(e)),e}}}),i}}function q(){return(e,t,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class H extends J{constructor(e,t){super(),this.regexp=e,this.replacement=t}match(e){const t=this.regexp.exec(e);return this.regexp.lastIndex=0,t}filter(e,t,r){const n=this.log.for(this.filter);if(!this.match(t))return t;try{return t.replace(this.regexp,this.replacement)}catch(e){n.error("PatternFilter replacement error: "+e)}return""}}n.__decorate([q(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",void 0)],H.prototype,"match",null);class G extends Error{constructor(e,t,r){if(t instanceof G)return t;super(`[${e}][${r}] ${t instanceof Error?t.message:t}`),this.code=r,t instanceof Error&&(this.stack=t.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}e.BaseError=G,e.BrowserEnvKey=o,e.COMMIT="8b0c1dc",e.DefaultLoggingConfig=g,e.DefaultPlaceholderWrappers=i,e.DefaultTheme=u,e.ENV_PATH_DELIMITER=s,e.Environment=S,e.FULL_VERSION="0.25.0-8b0c1dc",e.LogFilter=J,e.LogParameterRegistry=f,e.LoggedClass=z,e.LoggedEnvironment=$,e.Logging=U,e.MiniLogger=D,e.NumericLogLevels=c,e.PACKAGE_NAME="@decaf-ts/logging",e.PatternFilter=H,e.ROOT_CONTEXT_SYMBOL=F,e.StopWatch=class{constructor(e=!1){this._startMs=null,this._elapsedMs=0,this._running=!1,this._laps=[],this._lastLapTotalMs=0,e&&this.start()}get running(){return this._running}get elapsedMs(){return this._running&&null!=this._startMs?this._elapsedMs+(B()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=B()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=B()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=B()),this}stop(){return this.pause(),this._elapsedMs}reset(){const e=this._running;return this._startMs=e?B():null,this._elapsedMs=0,this._laps=[],this._lastLapTotalMs=0,this}lap(e){const t=this.elapsedMs,r=t-this._lastLapTotalMs,n={index:this._laps.length,label:e,ms:r,totalMs:t};return this._laps.push(n),this._lastLapTotalMs=t,n}get laps(){return this._laps}toString(){return W(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}},e.VERSION="0.25.0",e.benchmark=()=>(e,t,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=e instanceof z?e.log.for(e[t]):U.for(e).for(e[t]),o=r.value;return r.value=new Proxy(o,{apply(e,t,r){const o=B();try{const s=Reflect.apply(e,t,r);return s instanceof Promise?s.then(e=>(n.benchmark(`completed in ${B()-o}ms`),e)).catch(e=>{throw n.benchmark(`failed in ${B()-o}ms`),e}):(n.benchmark(`completed in ${B()-o}ms`),s)}catch(e){throw n.benchmark(`failed in ${B()-o}ms`),e}}}),r},e.compileLogPattern=p,e.debug=()=>Z(e.LogLevel.debug,0,(...e)=>"called with "+e,(e,t)=>e?"Failed with: "+e:t?"Completed with "+JSON.stringify(t):"completed"),e.escapeRegExp=_,e.final=q,e.formatMs=W,e.getObjectName=V,e.info=()=>Z(e.LogLevel.info),e.isBrowser=A,e.isClass=T,e.isFunction=I,e.isInstance=K,e.isMethod=N,e.log=Z,e.logParameterRegistry=w,e.now=B,e.padEnd=(e,t,r=" ")=>{if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return e.padEnd(t,r)},e.patchPlaceholders=(e,t,r=i[0],n=i[1],o="g")=>E(e,Object.entries(t).reduce((e,[t,o])=>(e[`${r}${t}${n}`]=o,e),{}),o),e.patchString=E,e.renderPattern=y,e.sf=j,e.silly=()=>Z(e.LogLevel.silly),e.stringFormat=P,e.toCamelCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,(e,t)=>0===t?e.toLowerCase():e.toUpperCase()).replace(/\s+/g,""),e.toENVFormat=O,e.toKebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),e.toPascalCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,e=>e.toUpperCase()).replace(/\s+/g,""),e.toSnakeCase=k,e.trace=()=>Z(e.LogLevel.trace),e.verbose=(t=0)=>(t||(t=0),Z(e.LogLevel.verbose,t)),Object.keys(t).forEach(r=>{"default"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:()=>t[r]})})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("styled-string-builder"),require("typed-object-accumulator"),require("tslib")):"function"==typeof define&&define.amd?define(["exports","styled-string-builder","typed-object-accumulator","tslib"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).logging={},e.styledStringBuilder,e.typedObjectAccumulator,e.tslib);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,n){"use strict";const o="ENV",s="__",i=["${","}"];var a;e.LogLevel=void 0,(a=e.LogLevel||(e.LogLevel={})).benchmark="benchmark",a.fatal="fatal",a.critical="critical",a.error="error",a.warn="warn",a.info="info",a.verbose="verbose",a.debug="debug",a.trace="trace",a.silly="silly";const c={benchmark:0,fatal:1,critical:2,error:3,warn:6,info:9,verbose:12,debug:15,trace:18,silly:21};var l;e.LoggingMode=void 0,(l=e.LoggingMode||(e.LoggingMode={})).RAW="raw",l.JSON="json";const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},action:{fg:[18],style:[1,3]},logLevel:{benchmark:{fg:32,style:["bold"]},fatal:{fg:31,style:["bold"]},critical:{fg:31,style:["bold"]},error:{fg:31,style:["bold"]},info:{fg:34,style:["bold"]},verbose:{fg:34,style:["bold"]},debug:{fg:33,style:["bold"]},trace:{fg:33,style:["bold"]},silly:{fg:33,style:["bold"]}}},g={env:"development",verbose:0,level:e.LogLevel.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:e.LoggingMode.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class f{constructor(){this.descriptors=new Map}register(e){return this.descriptors.set(e.key,e),this}unregister(e){return this.descriptors.delete(e),this}get(e){return this.descriptors.get(e)}render(e,t){const r={},n=new Set;return t.forEach(t=>{if(n.has(t))return;n.add(t);const o=this.descriptors.get(t);if(!o)return;if(o.shouldInclude&&!o.shouldInclude(e))return;const s=o.render(e);if(void 0===s)return;const i=o.style?o.style(s,e):s;r[t]=i}),r}keys(){return Array.from(this.descriptors.keys())}}const h=new Map;function p(e){if(h.has(e))return h.get(e);const t=d(e||""),r=new Set,n=[];b(t,r,n);const o={pattern:e,segments:t,keys:n,includesMeta:r.has("meta")};return h.set(e,o),o}function y(e,t){return v(e.segments,t).text}function d(e){const t=[];let r=0;for(;r<e.length;){const n=e[r];if("["===n){const n=m(e,r,"[","]");if(-1===n){t.push({type:"literal",value:"["}),r++;continue}const o=e.slice(r+1,n);t.push({type:"optional",prefix:"[",suffix:"]",children:d(o)}),r=n+1;continue}if("{"===n){const n=e.indexOf("}",r+1);if(-1===n){t.push({type:"literal",value:"{"}),r++;continue}const o=e.slice(r+1,n).trim();t.push({type:"parameter",key:o}),r=n+1;continue}let o=r;for(;o<e.length&&"["!==e[o]&&"{"!==e[o];)o++;const s=e.slice(r,o);s.length&&t.push({type:"literal",value:s}),r=o}return t}function m(e,t,r,n){let o=0;for(let s=t;s<e.length;s++){const t=e[s];if(t===r)o++;else if(t===n&&(o--,0===o))return s}return-1}function b(e,t,r){for(const n of e)"parameter"===n.type&&(t.has(n.key)||(t.add(n.key),r.push(n.key))),"optional"===n.type&&b(n.children,t,r)}function v(e,t){const r=[];let n=!1;for(const o of e){const e=x(o,t);e.text.length&&r.push(e.text),n=n||e.hasValue}return{text:r.join(""),hasValue:n}}function x(e,t){if("literal"===e.type)return{text:e.value,hasValue:!1};if("parameter"===e.type){const r=t[e.key]??"";return{text:r,hasValue:r.length>0}}const r=v(e.children,t);return r.hasValue?{text:`${e.prefix}${r.text}${e.suffix}`,hasValue:!0}:{text:"",hasValue:!1}}const w=new f;w.register({key:"level",render:e=>void 0!==e.action?void 0!==e.actionCode?`${e.action} - ${e.actionCode}`:e.action:!1!==e.config.logLevel&&e.level?e.level.toUpperCase():void 0,style:(e,t)=>void 0!==t.action?t.applyTheme(e,"action"):t.applyTheme(e,"logLevel")}).register({key:"timestamp",shouldInclude:e=>!(!e.config.timestamp||!e.timestamp),render:e=>e.timestamp,style:(e,t)=>t.applyTheme(e,"timestamp")}).register({key:"app",shouldInclude:e=>!!e.app,render:e=>e.app,style:(e,t)=>t.applyTheme(e,"app")}).register({key:"context",shouldInclude:e=>!1!==e.config.context&&e.context.length>0,render(e){const t=e.config.contextSeparator||".";return e.context.join(t)},style:(e,t)=>t.applyTheme(e,"class")}).register({key:"separator",shouldInclude:e=>!!e.separator,render:e=>e.separator,style:(e,t)=>t.applyTheme(e,"separator")}).register({key:"message",shouldInclude:e=>void 0===e.action,render:e=>e.filteredMessage,style:(e,t)=>t.applyTheme(e,"message")}).register({key:"stack",shouldInclude:e=>!!e.stack,render:e=>e.stack,style:(e,t)=>t.applyTheme(e,"stack")}).register({key:"meta",shouldInclude:e=>!!e.metaString,render:e=>e.metaString}).register({key:"correlationId",shouldInclude:e=>!!e.correlationId,render:e=>e.correlationId,style:(e,t)=>t.applyTheme(e,"id")}).register({key:"action",shouldInclude:e=>void 0!==e.action,render:e=>e.action,style:(e,t)=>t.applyTheme(e,"action")}).register({key:"actionCode",shouldInclude:e=>void 0!==e.actionCode,render:e=>void 0===e.actionCode?void 0:e.actionCode+"",style:(e,t)=>t.applyTheme(e,"action")}).register({key:"errorCode",shouldInclude:e=>void 0!==e.errorCode,render:e=>void 0===e.errorCode?void 0:e.errorCode+""}).register({key:"errorName",shouldInclude:e=>void 0!==e.errorName,render:e=>e.errorName});const L=w;function E(e,t,r="g"){return Object.entries(t).forEach(([t,n])=>{const o=RegExp(j(t),r);e=e.replace(o,n)}),e}function O(e){return _(e).toUpperCase()}function _(e){return e.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function j(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function k(e,...t){if(t.length>1&&!t.every(e=>"string"==typeof e||"number"==typeof e))throw Error("Only string and number arguments are supported for multiple replacements.");if(1===t.length&&"object"==typeof t[0]){const r=t[0];return Object.entries(r).reduce((e,[t,r])=>e.replace(RegExp(`\\{${t}\\}`,"g"),()=>r),e)}return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const P=k;function C(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const A=Symbol("EnvironmentEmpty"),R=Symbol("EnvironmentModel"),M=/^[a-z][a-zA-Z0-9]*$/;class S extends r.ObjectAccumulator{static{this.factory=()=>new S}constructor(){super(),Object.defineProperty(this,R,{value:{},writable:!0,enumerable:!1,configurable:!1})}static isProxyableObject(e){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}fromEnv(e){let t;return C()?t=globalThis[o]||{}:(t=globalThis.process.env,e=O(e)),this.parseEnvValue(t[e])}parseEnvValue(e){return S.parseRuntimeValue(e)}static parseRuntimeValue(e){if("string"!=typeof e)return e;if("true"===e)return!0;if("false"===e)return!1;const t=e.trim();return/^-?\d+(\.\d+)?$/.test(t)?Number(t):e}expand(e){Object.entries(e).forEach(([e,t])=>{S.mergeModel(this[R],e,t),Object.defineProperty(this,e,{get:()=>{const r=this.fromEnv(e);return void 0!==r?r:t&&"object"==typeof t?S.buildEnvProxy(t,[e]):""===t?A:t},set:e=>{t=e},configurable:!0,enumerable:!0})})}orThrow(){const e=this[R],t=e=>void 0!==e?this.parseEnvValue(e):void 0,r=(e,t=!1)=>S.missingEnvError(e,t),n=(e,o)=>{const s={get(s,i){if(i===Symbol.toPrimitive)return()=>S.buildEnvKey(o);if("toString"===i)return()=>S.buildEnvKey(o);if("valueOf"===i)return()=>S.buildEnvKey(o);if("symbol"==typeof i)return;if("toJSON"===i)return;if("then"===i)return;if("constructor"===i)return Object;if(Array.isArray(e)&&"length"===i)return e.length;if(Array.isArray(e)&&i in Array.prototype){const t=Reflect.get(e,i,e);return"function"==typeof t?t.bind(e):t}const a=[...o,i],{key:c,value:l}=S.readRuntimeForPath(a);if("string"==typeof l&&0===l.length)throw r(c,!0);const u=t(l);if(void 0!==u){if("string"==typeof u&&0===u.length)throw r(c,!0);return u}if(!e||!Object.prototype.hasOwnProperty.call(e,i))throw r(c);const g=e[i];if(void 0!==g){if(""===g)throw r(c);return S.isProxyableObject(g)?n(g,a):g}},ownKeys:()=>e?Reflect.ownKeys(e):[],getOwnPropertyDescriptor(t,r){if(e)return Object.prototype.hasOwnProperty.call(e,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(e)?[]:{},s)};return new Proxy(this,{get(o,s,i){if("string"!=typeof s)return Reflect.get(o,s,i);if(!Object.prototype.hasOwnProperty.call(e,s))return Reflect.get(o,s,i);const{key:a,value:c}=S.readRuntimeForPath([s]);if("string"==typeof c&&0===c.length)throw r(a,!0);const l=t(c);if(void 0!==l){if("string"==typeof l&&0===l.length)throw r(a,!0);return l}const u=e[s];if(S.isProxyableObject(u))return n(u,[s]);if(void 0===u)return Reflect.get(o,s,i);const g=Reflect.get(o,s);if(void 0===g||""===g)throw r(a,""===g);return g}})}static instance(...e){if(!S._instance){const t=S.factory(...e),r=new Proxy(t,{get(e,t,r){const n=Reflect.get(e,t,r);if(n!==A&&("string"!=typeof t||!Object.prototype.hasOwnProperty.call(e,t)||void 0!==n)){if(void 0!==n)return n;if("string"==typeof t){if("app"===t)return;return S.buildEnvProxy(void 0,[t])}return n}}});S._instance=r}return S._instance}accumulate(e){return super.accumulate(e),this}static accumulate(e){const t=S.instance();return Object.keys(t).forEach(e=>{const r=Object.getOwnPropertyDescriptor(t,e);r&&r.configurable&&r.enumerable&&Object.defineProperty(t,e,{...r,enumerable:!1})}),t.accumulate(e),t}static get(e){return S._instance.get(e)}static formatEnvSegment(e){return M.test(e)?O(e):e.toUpperCase()}static buildEnvKey(e){return e.map(e=>S.formatEnvSegment(e)).join(s)}static buildRawKey(e){return e.join(s)}static readRuntimeForPath(e){const t=S.buildEnvKey(e),r=S.buildRawKey(e),n=S.readRuntimeEnv(t);if(void 0!==n)return{key:t,value:n};if(r!==t){const e=S.readRuntimeEnv(r);if(void 0!==e)return{key:r,value:e}}return{key:t,value:void 0}}static runtimeEnv(){return C()?globalThis[o]:globalThis?.process?.env}static getRuntimeChildKeys(e){const t=S.runtimeEnv();if(!t)return[];const r=[S.buildEnvKey(e),S.buildRawKey(e)],n=new Set;return Object.keys(t).forEach(e=>{r.forEach(t=>{if(!t)return;const r=`${t}${s}`;if(e.startsWith(r)){const t=e.slice(r.length).split(s)[0];t&&n.add(t)}})}),[...n]}static hasRuntimePath(e){const{value:t}=S.readRuntimeForPath(e);return void 0!==t||S.getRuntimeChildKeys(e).length>0}static buildEnvProxy(e,t){const r=e=>S.readRuntimeEnv(e),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>S.buildEnvKey(t);if("toString"===s)return()=>S.buildEnvKey(t);if("valueOf"===s)return()=>S.buildEnvKey(t);if("symbol"==typeof s)return;if(Array.isArray(e)&&s in Array.prototype){const t=Reflect.get(e,s,e);return"function"==typeof t?t.bind(e):t}if(Array.isArray(e)&&"length"===s)return e.length;const i=[...t,s],a=S.buildEnvKey(i),c=S.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return S.parseRuntimeValue(l);const u=!!e&&Object.prototype.hasOwnProperty.call(e,s),g=u?e[s]:void 0,f=S.hasRuntimePath(i);return Array.isArray(e)&&(e=>"string"==typeof e&&n.test(e))(s)?u?S.isProxyableObject(g)?S.buildEnvProxy(g,i):S.parseRuntimeValue(g):f?S.buildEnvProxy(void 0,i):void 0:g&&"object"==typeof g&&S.isProxyableObject(g)?S.buildEnvProxy(g,i):u&&""===g||u&&void 0===g?void 0:u?S.parseRuntimeValue(g):S.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return e&&Reflect.ownKeys(e).forEach(e=>r.add(e)),S.getRuntimeChildKeys(t).forEach(e=>r.add(e)),[...r]},getOwnPropertyDescriptor:(r,n)=>e&&Object.prototype.hasOwnProperty.call(e,n)?Reflect.getOwnPropertyDescriptor(e,n):"string"==typeof n&&S.hasRuntimePath([...t,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(e)?[]:{},o)}static keys(e=!0){return S.instance().keys().map(t=>e?O(t):t)}static mergeModel(e,t,r){if(e){if(r&&"object"==typeof r&&!Array.isArray(r)){const n=e[t],o=n&&"object"==typeof n&&!Array.isArray(n)?n:{};return e[t]=o,void Object.entries(r).forEach(([e,t])=>{S.mergeModel(o,e,t)})}e[t]=r}}static readRuntimeEnv(e){if(C()){const t=globalThis[o];return t?t[e]:void 0}return globalThis?.process?.env?.[e]}static missingEnvError(e,t){return Error(`Environment variable ${e} is required but was ${t?"an empty string":"undefined"}.`)}}const $=S.accumulate(Object.assign({app:void 0},g,{env:(C()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function T(e){if("function"!=typeof e)return!1;try{const t=Function.prototype.toString.call(e);if(/^\s*class[\s{]/.test(t))return!0}catch{}const t=Object.getOwnPropertyDescriptor(e,"prototype");if(!t||!t.value)return!1;if(!1===t.writable)return!0;const r=e.prototype;return!!Object.prototype.hasOwnProperty.call(r,"constructor")&&Object.getOwnPropertyNames(r).filter(e=>"constructor"!==e).length>0}function I(e){return"function"==typeof e&&!T(e)}function N(e){if(!I(e))return!1;const t=Object.getOwnPropertyDescriptor(e,"prototype");return!t||void 0===t.value}function K(e){if(null===e||"object"!=typeof e)return!1;const t=e.constructor;return!(!t||t===Object)&&T(t)}function F(e){if(null===e)return"null";if(void 0===e)return"undefined";if("string"==typeof e)return e;if(T(e))return e.name||"AnonymousClass";if(K(e)){const t=e.toString;if("function"==typeof t&&t!==Object.prototype.toString)try{const r=t.call(e);if("string"==typeof r&&r.length)return r}catch{}const r=e.constructor;return r&&r.name?r.name:"AnonymousInstance"}if(N(e)||I(e)){const t=e;return t.name?t.name:"anonymous"}if("object"==typeof e){const t=Object.prototype.toString.call(e),r=/^\[object ([^\]]+)\]$/.exec(t);return r?.[1]?r[1]:"Object"}return typeof e}const V=Symbol("MiniLoggerRootContext");class D{constructor(e,t,r=[]){this.conf=t,this.baseContext=Array.isArray(r)?[...r]:[],e&&this.baseContext.push(e),this.context=[...this.baseContext],this[V]=[...this.baseContext]}config(e){return this.conf&&e in this.conf?this.conf[e]:U.getConfig()[e]}for(e,t,...r){let n,o=t;const s=Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[],i=this[V],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof e?n=e:void 0!==e&&(T(e)||K(e)||I(e)?n=F(e):!o&&e&&"object"==typeof e&&(o=e));let c=n?[...s,n]:[...s];return new Proxy(this,{get:(e,t,r)=>{const n=Reflect.get(e,t,r);return"config"===t?new Proxy(this.config,{apply:(e,t,n)=>{const[s]=n;return o&&void 0!==s&&s in o?o[s]:Reflect.apply(e,r,n)},get:(e,t)=>o&&t in o?o[t]:Reflect.get(e,t,r)}):"clear"===t?()=>(c=[...a],r):"context"===t?c:"root"===t?[...a]:t===V?a:"for"===t?(...t)=>{if(o){const e=t[0];"string"==typeof e||T(e)||K(e)||I(e)?t[1]={...o,...t[1]||{}}:e&&"object"==typeof e&&(t[0]={...o,...e})}const r=Array.isArray(e.context)?[...e.context]:"string"==typeof e.context&&e.context?[e.context]:[];e.context=[...c];try{return e.for.apply(e,t)}finally{e.context=r}}:"getConfigSnapshot"===t?()=>{const t=e.getConfigSnapshot();return o&&Object.assign(t,o),t}:n}})}getConfigSnapshot(){return{...U.getConfig(),...this.conf||{}}}getContextSegments(){return Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[]}resolveFilters(e){const t=e.filters||[];return Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e&&"function"==typeof e.filter):[]}applyFilters(e,t,r){const n=this.resolveFilters(r);return n.length?n.reduce((e,n)=>{try{const o=n.filter(r,e,[...t]);return"string"==typeof o?o:e}catch{return e}},e):e}createLog(e,t,r,n,o,s){const i=!!this.config("style"),a=this.config("separator"),c=U.getConfig().app,l=this.config("timestamp")?(new Date).toISOString():void 0,u=this.getConfigSnapshot(),g=this.getContextSegments(),f="string"==typeof t?t:t instanceof Error?t.message:t+"",h=this.applyFilters(f,g,u),d=(void 0!==o||this.config("meta"))&&n?n:void 0,m=d?this.formatMeta(d):void 0,b=m?this.applyFilters(m,g,u):void 0,v=this.config("correlationId"),x=null!=v?v+"":void 0;let w,E,O,_;if(r||t instanceof Error){const n=r||t,o=n.code;"number"==typeof o&&(O=o);const s=n.name;"string"==typeof s&&s.length&&(_=s),n.stack&&(E="string"==typeof t?h:n.message,w=` | ${E} - Stack trace:\n${i?U.theme(n.stack,"stack",e):n.stack}`)}const j={config:u,level:e,context:g,timestamp:l,app:"string"==typeof c&&c.length?c:void 0,separator:a,correlationId:x,rawMessage:f,filteredMessage:h,meta:d,metaString:b,stack:w,stackLabel:E,action:o,actionCode:s,errorCode:O,errorName:_,applyTheme:(t,r)=>i?U.theme(t,r,e):t},k=this.config("pattern"),P=u.pattern||"",C=p(k.length?k:P),A=L.render(j,C.keys);switch(this.config("format")){case"json":{const e=L.render(j,L.keys()),t={};return Object.entries(e).forEach(([e,r])=>{"meta"!==e&&(t[e]=r)}),j.meta&&(t.meta=j.meta),JSON.stringify(t)}case"raw":{let e=this.normalizePatternSpacing(y(C,A));return!C.includesMeta&&b&&(e=e?`${e} ${b}`:b),e}default:throw Error("Unsupported logging format: "+this.config("format"))}}formatMeta(e){try{return JSON.stringify(e)}catch(t){return e+""}}normalizePatternSpacing(e){return e.replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/g,"")}methodFor(t){switch(t){case e.LogLevel.benchmark:return console.log;case e.LogLevel.fatal:case e.LogLevel.critical:case e.LogLevel.error:return console.error;case e.LogLevel.info:case e.LogLevel.verbose:return console.log;case e.LogLevel.debug:return console.debug;case e.LogLevel.trace:return console.trace;case e.LogLevel.warn:return console.warn;case e.LogLevel.silly:return console.debug;default:throw Error("Invalid log level")}}write(e,t){e(t)}log(e,t,r,n){const o=this.config("level");c[e]>c[o]||this.write(this.methodFor(e),this.createLog(e,t,r,n))}benchmark(t,r){this.log(e.LogLevel.benchmark,t,void 0,r)}action(e,t,r){const n="number"==typeof t?t:void 0,o="number"==typeof t?r:t;this.write(console.log,this.createLog(void 0,"",void 0,o,e,n))}fatal(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.fatal,t,o,s)}critical(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.critical,t,o,s)}silly(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.silly,t,void 0,s)}verbose(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.verbose,t,void 0,s)}info(t,r){this.log(e.LogLevel.info,t,void 0,r)}debug(t,r){this.log(e.LogLevel.debug,t,void 0,r)}error(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.error,t,o,s)}warn(t,r){this.log(e.LogLevel.warn,t,void 0,r)}trace(t,r){this.log(e.LogLevel.trace,t,void 0,r)}setConfig(e){this.conf={...this.conf||{},...e}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class U{static{this._factory=(e,t)=>{const r="string"==typeof $.app?[$.app]:[];return new D(e,t,r)}}static{this._config=$}constructor(){}static setFactory(e){U._factory=e,this.global=void 0}static setConfig(e){Object.entries(e).forEach(([e,t])=>{this._config[e]=t})}static getConfig(){return this._config}static get(){return this.ensureRoot()}static verbose(e,t=0,r){return this.get().verbose(e,t,r)}static info(e,t){return this.get().info(e,t)}static trace(e,t){return this.get().trace(e,t)}static debug(e,t){return this.get().debug(e,t)}static benchmark(e,t){return this.get().benchmark(e,t)}static action(e,t,r){return this.get().action(e,t,r)}static fatal(e,t,r){return this.get().fatal(e,t,r)}static critical(e,t,r){return this.get().critical(e,t,r)}static silly(e,t=0,r){return this.get().silly(e,t,r)}static warn(e,t){return this.get().warn(e,t)}static error(e,t,r){return this.get().error(e,t,r)}static for(e,t,...r){const n=void 0!==t?[e,t]:[e];return(this.global?this.global:this.ensureRoot(r)).for(...n)}static because(e,t){let r=this.ensureRoot().for(e,this._config);return t&&(r=r.for(t)),r}static baseContext(){const e=this._config.app;return"string"==typeof e&&e.length?[e]:[]}static attachRootContext(e){const t=e.root&&Array.isArray(e.root)?[...e.root]:this.baseContext();return(!e.context||Array.isArray(e.context)&&0===e.context.length)&&(e.context=[...t]),e[V]=[...t],e}static ensureRoot(e=[]){if(!this.global){const t=this._factory(void 0,void 0,...e);this.global=this.attachRootContext(t)}return this.global}static theme(r,n,o,s=u){if(!this._config.style)return r;const i=s[n];if(!i||!Object.keys(i).length)return r;let a=i;const c=Object.assign({},e.LogLevel);return Object.keys(i)[0]in c&&(a=o&&i[o]||{}),Object.keys(a).reduce((e,r)=>{const n=a[r];return n?((e,r,n)=>{try{const o=e;let s=t.style(o);function i(e,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(e))return i.call(s,n);switch(e.length){case 1:return i=r?s.bgColor256:s.color256,i(e[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(e[0],e[1],e[2]);default:return t.style(o)}}function a(e){s="number"==typeof e?s.style(e):s[e]}switch(r){case"bg":case"fg":return i(n).text;case"style":return Array.isArray(n)?n.forEach(a):a(n),s.text;default:return o}}catch(c){return e}})(e,r,n):e},r)}static register(e){return L.register(e)}static unregister(e){return L.unregister(e)}}class z{get log(){return this._log||(this._log=U.for(this)),this._log}constructor(){}}class J extends z{get log(){return super.log.for(this,{filters:[]})}}const B="undefined"!=typeof globalThis&&"function"==typeof globalThis.performance?.now?()=>globalThis.performance.now():"undefined"!=typeof process&&"function"==typeof process.hrtime?.bigint?()=>{const e=process.hrtime.bigint();return Number(e)/1e6}:()=>Date.now();function W(e){const t=0>e?"-":"",r=Math.abs(e),n=Math.floor(r/36e5),o=Math.floor(r%36e5/6e4),s=Math.floor(r%6e4/1e3),i=Math.floor(r%1e3),a=(e,t)=>e.toString().padStart(t,"0");return`${t}${a(n,2)}:${a(o,2)}:${a(s,2)}.${a(i,3)}`}function Z(t=e.LogLevel.info,r=0,n=(...e)=>"called with "+e,o){return(e,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=e instanceof z?e.log.for(e[s]):U.for(e).for(e[s]),c=a[t].bind(a),l=i.value;return i.value=new Proxy(l,{apply(e,t,s){c(n(...s),r);try{const r=Reflect.apply(e,t,s);return r instanceof Promise?r.then(e=>(o&&c(o(void 0,e)),e)).catch(e=>{throw o&&a.error(o(e)),e}):(o&&c(o(void 0,r)),r)}catch(e){throw o&&a.error(o(e)),e}}}),i}}function q(){return(e,t,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class H extends J{constructor(e,t){super(),this.regexp=e,this.replacement=t}match(e){const t=this.regexp.exec(e);return this.regexp.lastIndex=0,t}filter(e,t,r){const n=this.log.for(this.filter);if(!this.match(t))return t;try{return t.replace(this.regexp,this.replacement)}catch(e){n.error("PatternFilter replacement error: "+e)}return""}}n.__decorate([q(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",void 0)],H.prototype,"match",null);class G extends Error{constructor(e,t,r){if(t instanceof G)return t;super(`[${e}][${r}] ${t instanceof Error?t.message:t}`),this.code=r,t instanceof Error&&(this.stack=t.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}e.BaseError=G,e.BrowserEnvKey=o,e.COMMIT="1547556",e.DefaultLoggingConfig=g,e.DefaultPlaceholderWrappers=i,e.DefaultTheme=u,e.ENV_PATH_DELIMITER=s,e.Environment=S,e.FULL_VERSION="0.26.1-1547556",e.LogFilter=J,e.LogParameterRegistry=f,e.LoggedClass=z,e.LoggedEnvironment=$,e.Logging=U,e.MiniLogger=D,e.NumericLogLevels=c,e.PACKAGE_NAME="@decaf-ts/logging",e.PatternFilter=H,e.ROOT_CONTEXT_SYMBOL=V,e.StopWatch=class{constructor(e=!1){this._startMs=null,this._elapsedMs=0,this._running=!1,this._laps=[],this._lastLapTotalMs=0,e&&this.start()}get running(){return this._running}get elapsedMs(){return this._running&&null!=this._startMs?this._elapsedMs+(B()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=B()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=B()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=B()),this}stop(){return this.pause(),this._elapsedMs}reset(){const e=this._running;return this._startMs=e?B():null,this._elapsedMs=0,this._laps=[],this._lastLapTotalMs=0,this}lap(e){const t=this.elapsedMs,r=t-this._lastLapTotalMs,n={index:this._laps.length,label:e,ms:r,totalMs:t};return this._laps.push(n),this._lastLapTotalMs=t,n}get laps(){return this._laps}toString(){return W(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}},e.VERSION="0.26.1",e.benchmark=()=>(e,t,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=e instanceof z?e.log.for(e[t]):U.for(e).for(e[t]),o=r.value;return r.value=new Proxy(o,{apply(e,t,r){const o=B();try{const s=Reflect.apply(e,t,r);return s instanceof Promise?s.then(e=>(n.benchmark(`completed in ${B()-o}ms`),e)).catch(e=>{throw n.benchmark(`failed in ${B()-o}ms`),e}):(n.benchmark(`completed in ${B()-o}ms`),s)}catch(e){throw n.benchmark(`failed in ${B()-o}ms`),e}}}),r},e.compileLogPattern=p,e.debug=()=>Z(e.LogLevel.debug,0,(...e)=>"called with "+e,(e,t)=>e?"Failed with: "+e:t?"Completed with "+JSON.stringify(t):"completed"),e.escapeRegExp=j,e.final=q,e.formatMs=W,e.getObjectName=F,e.info=()=>Z(e.LogLevel.info),e.isBrowser=C,e.isClass=T,e.isFunction=I,e.isInstance=K,e.isMethod=N,e.log=Z,e.logParameterRegistry=L,e.now=B,e.padEnd=(e,t,r=" ")=>{if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return e.padEnd(t,r)},e.patchPlaceholders=(e,t,r=i[0],n=i[1],o="g")=>E(e,Object.entries(t).reduce((e,[t,o])=>(e[`${r}${t}${n}`]=o,e),{}),o),e.patchString=E,e.renderPattern=y,e.sf=k,e.silly=()=>Z(e.LogLevel.silly),e.stringFormat=P,e.toCamelCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,(e,t)=>0===t?e.toLowerCase():e.toUpperCase()).replace(/\s+/g,""),e.toENVFormat=O,e.toKebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),e.toPascalCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,e=>e.toUpperCase()).replace(/\s+/g,""),e.toSnakeCase=_,e.trace=()=>Z(e.LogLevel.trace),e.verbose=(t=0)=>(t||(t=0),Z(e.LogLevel.verbose,t)),Object.keys(t).forEach(r=>{"default"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:()=>t[r]})})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("styled-string-builder"),require("typed-object-accumulator"),require("tslib")):"function"==typeof define&&define.amd?define(["exports","styled-string-builder","typed-object-accumulator","tslib"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).logging={},e.styledStringBuilder,e.typedObjectAccumulator,e.tslib);
|
|
2
2
|
//# sourceMappingURL=logging.cjs.map
|
package/dist/logging.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.cjs","sources":["../src/constants.ts","../src/logParameters.ts","../src/text.ts","../src/web.ts","../src/environment.ts","../src/utils.ts","../src/logging.ts","../src/LoggedClass.ts","../src/filters/LogFilter.ts","../src/time.ts","../src/decorators.ts","../src/filters/PatternFilter.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["BrowserEnvKey","ENV_PATH_DELIMITER","DefaultPlaceholderWrappers","LogLevel","NumericLogLevels","benchmark","fatal","critical","error","warn","info","verbose","debug","trace","silly","LoggingMode","DefaultTheme","app","separator","class","fg","id","stack","timestamp","message","method","action","style","logLevel","DefaultLoggingConfig","env","level","filters","contextSeparator","timestampFormat","context","meta","format","RAW","pattern","theme","LogParameterRegistry","constructor","this","descriptors","Map","register","descriptor","set","key","unregister","delete","get","render","payload","keys","rendered","seen","Set","forEach","has","add","shouldInclude","raw","undefined","styled","Array","from","patternCache","compileLogPattern","segments","parsePatternSegments","orderedKeys","collectPatternKeys","definition","includesMeta","renderPattern","renderPatternSegments","text","index","length","char","closingIndex","findClosingBracket","push","type","value","inner","slice","prefix","suffix","children","indexOf","trim","literalEnd","literal","input","startIndex","open","close","depth","idx","segment","buffer","hasValue","result","renderSegment","join","childResult","registry","actionCode","config","toUpperCase","applyTheme","filteredMessage","metaString","correlationId","String","errorCode","errorName","logParameterRegistry","patchString","values","flags","Object","entries","val","regexp","RegExp","escapeRegExp","replace","toENVFormat","toSnakeCase","toLowerCase","string","sf","args","every","arg","Error","obj","reduce","acc","match","number","toString","stringFormat","isBrowser","getPrototypeOf","globalThis","prototype","EmptyValue","Symbol","ModelSymbol","camelCasePattern","Environment","ObjectAccumulator","factory","super","defineProperty","writable","enumerable","configurable","isProxyableObject","isArray","fromEnv","k","process","parseEnvValue","parseRuntimeValue","trimmed","test","Number","expand","v","mergeModel","buildEnvProxy","orThrow","modelRoot","parseRuntime","missing","empty","missingEnvError","createNestedProxy","model","path","handler","_target","prop","toPrimitive","buildEnvKey","Reflect","bind","nextPath","envKey","runtimeRaw","readRuntimeForPath","runtimeValue","hasOwnProperty","call","modelValue","ownKeys","getOwnPropertyDescriptor","Proxy","target","receiver","actual","instance","_instance","base","proxied","accumulate","desc","formatEnvSegment","map","buildRawKey","formattedKey","rawKey","runtimeFormatted","readRuntimeEnv","runtimeEnv","getRuntimeChildKeys","prefixes","childKeys","fullPrefix","startsWith","childKey","split","hasRuntimePath","current","readEnv","arrayIndexPattern","composedKey","envValue","hasProp","nextModel","hasRuntimeDescendant","isArrayIndex","_t","p","toEnv","existing","childValue","LoggedEnvironment","assign","isClass","src","Function","protoDesc","proto","getOwnPropertyNames","filter","n","isFunction","isMethod","isInstance","ctor","getObjectName","name","toStringFn","fn","tag","exec","ROOT_CONTEXT_SYMBOL","MiniLogger","conf","baseContext","Logging","getConfig","contextName","childConfig","parentContext","rootCandidate","contextSegments","apply","_thisArg","argArray","innerArgs","first","originalContext","for","snapshot","getConfigSnapshot","getContextSegments","resolveFilters","candidate","entry","applyFilters","next","createLog","styleEnabled","Date","toISOString","configSnapshot","rawMessage","metaPayload","formatMeta","filteredMetaString","correlationIdValue","stackLabel","candidateCode","code","candidateName","configuredPattern","defaultPattern","jsonValues","logEntry","JSON","stringify","generated","normalizePatternSpacing","err","log","msg","confLvl","console","rest","logAction","e","errorCandidate","payloadMeta","verbosityOrMeta","verbosity","setConfig","root","clear","_factory","object","_config","setFactory","global","ensureRoot","callArgs","because","reason","logger","attachRootContext","extras","loggerLevel","template","individualTheme","actualTheme","logLevels","txt","option","t","c","applyColor","isBg","f","background","foreground","bgColor256","color256","bgRgb","rgb","applyStyle","LoggedClass","_log","LogFilter","now","performance","hrtime","bigint","ns","formatMs","ms","sign","abs","Math","hours","floor","minutes","seconds","millis","pad","w","padStart","entryMessage","exitMessage","propertyKey","originalMethod","thisArg","Promise","then","r","catch","final","PatternFilter","replacement","lastIndex","__decorate","BaseError","replaceAll","autoStart","_startMs","_elapsedMs","_running","_laps","_lastLapTotalMs","start","running","elapsedMs","pause","resume","stop","reset","wasRunning","lap","label","total","totalMs","laps","toJSON","str","padEnd","word"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logging.cjs","sources":["../src/constants.ts","../src/logParameters.ts","../src/text.ts","../src/web.ts","../src/environment.ts","../src/utils.ts","../src/logging.ts","../src/LoggedClass.ts","../src/filters/LogFilter.ts","../src/time.ts","../src/decorators.ts","../src/filters/PatternFilter.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["BrowserEnvKey","ENV_PATH_DELIMITER","DefaultPlaceholderWrappers","LogLevel","NumericLogLevels","benchmark","fatal","critical","error","warn","info","verbose","debug","trace","silly","LoggingMode","DefaultTheme","app","separator","class","fg","id","stack","timestamp","message","method","action","style","logLevel","DefaultLoggingConfig","env","level","filters","contextSeparator","timestampFormat","context","meta","format","RAW","pattern","theme","LogParameterRegistry","constructor","this","descriptors","Map","register","descriptor","set","key","unregister","delete","get","render","payload","keys","rendered","seen","Set","forEach","has","add","shouldInclude","raw","undefined","styled","Array","from","patternCache","compileLogPattern","segments","parsePatternSegments","orderedKeys","collectPatternKeys","definition","includesMeta","renderPattern","renderPatternSegments","text","index","length","char","closingIndex","findClosingBracket","push","type","value","inner","slice","prefix","suffix","children","indexOf","trim","literalEnd","literal","input","startIndex","open","close","depth","idx","segment","buffer","hasValue","result","renderSegment","join","childResult","registry","actionCode","config","toUpperCase","applyTheme","filteredMessage","metaString","correlationId","String","errorCode","errorName","logParameterRegistry","patchString","values","flags","Object","entries","val","regexp","RegExp","escapeRegExp","replace","toENVFormat","toSnakeCase","toLowerCase","string","sf","args","every","arg","Error","obj","reduce","acc","match","number","toString","stringFormat","isBrowser","getPrototypeOf","globalThis","prototype","EmptyValue","Symbol","ModelSymbol","camelCasePattern","Environment","ObjectAccumulator","factory","super","defineProperty","writable","enumerable","configurable","isProxyableObject","isArray","fromEnv","k","process","parseEnvValue","parseRuntimeValue","trimmed","test","Number","expand","v","mergeModel","buildEnvProxy","orThrow","modelRoot","parseRuntime","missing","empty","missingEnvError","createNestedProxy","model","path","handler","_target","prop","toPrimitive","buildEnvKey","Reflect","bind","nextPath","envKey","runtimeRaw","readRuntimeForPath","runtimeValue","hasOwnProperty","call","modelValue","ownKeys","getOwnPropertyDescriptor","Proxy","target","receiver","actual","instance","_instance","base","proxied","accumulate","desc","formatEnvSegment","map","buildRawKey","formattedKey","rawKey","runtimeFormatted","readRuntimeEnv","runtimeEnv","getRuntimeChildKeys","prefixes","childKeys","fullPrefix","startsWith","childKey","split","hasRuntimePath","current","readEnv","arrayIndexPattern","composedKey","envValue","hasProp","nextModel","hasRuntimeDescendant","isArrayIndex","_t","p","toEnv","existing","childValue","LoggedEnvironment","assign","isClass","src","Function","protoDesc","proto","getOwnPropertyNames","filter","n","isFunction","isMethod","isInstance","ctor","getObjectName","name","toStringFn","fn","tag","exec","ROOT_CONTEXT_SYMBOL","MiniLogger","conf","baseContext","Logging","getConfig","contextName","childConfig","parentContext","rootCandidate","contextSegments","apply","_thisArg","argArray","innerArgs","first","originalContext","for","snapshot","getConfigSnapshot","getContextSegments","resolveFilters","candidate","entry","applyFilters","next","createLog","styleEnabled","Date","toISOString","configSnapshot","rawMessage","metaPayload","formatMeta","filteredMetaString","correlationIdValue","stackLabel","candidateCode","code","candidateName","configuredPattern","defaultPattern","jsonValues","logEntry","JSON","stringify","generated","normalizePatternSpacing","err","methodFor","console","log","write","formatted","msg","confLvl","codeOrMeta","resolvedMeta","e","errorCandidate","payloadMeta","verbosityOrMeta","verbosity","setConfig","root","clear","_factory","object","_config","setFactory","global","ensureRoot","callArgs","because","reason","logger","attachRootContext","extras","loggerLevel","template","individualTheme","actualTheme","logLevels","txt","option","t","c","applyColor","isBg","f","background","foreground","bgColor256","color256","bgRgb","rgb","applyStyle","LoggedClass","_log","LogFilter","now","performance","hrtime","bigint","ns","formatMs","ms","sign","abs","Math","hours","floor","minutes","seconds","millis","pad","w","padStart","entryMessage","exitMessage","propertyKey","originalMethod","thisArg","Promise","then","r","catch","final","PatternFilter","replacement","lastIndex","__decorate","BaseError","replaceAll","autoStart","_startMs","_elapsedMs","_running","_laps","_lastLapTotalMs","start","running","elapsedMs","pause","resume","stop","reset","wasRunning","lap","label","total","totalMs","laps","toJSON","str","padEnd","word"],"mappings":"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"}
|
package/dist/logging.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{style as t}from"styled-string-builder";export*from"styled-string-builder";import{ObjectAccumulator as e}from"typed-object-accumulator";import{__decorate as r,__metadata as n}from"tslib";const o="ENV",s="__",i=["${","}"];var a;(t=>{t.benchmark="benchmark",t.fatal="fatal",t.critical="critical",t.error="error",t.warn="warn",t.info="info",t.verbose="verbose",t.debug="debug",t.trace="trace",t.silly="silly"})(a||(a={}));const c={benchmark:0,fatal:1,critical:2,error:3,warn:6,info:9,verbose:12,debug:15,trace:18,silly:21};var l;(t=>{t.RAW="raw",t.JSON="json"})(l||(l={}));const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},action:{fg:[18],style:[1,3]},logLevel:{benchmark:{fg:32,style:["bold"]},fatal:{fg:31,style:["bold"]},critical:{fg:31,style:["bold"]},error:{fg:31,style:["bold"]},info:{fg:34,style:["bold"]},verbose:{fg:34,style:["bold"]},debug:{fg:33,style:["bold"]},trace:{fg:33,style:["bold"]},silly:{fg:33,style:["bold"]}}},f={env:"development",verbose:0,level:a.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:l.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class h{constructor(){this.descriptors=new Map}register(t){return this.descriptors.set(t.key,t),this}unregister(t){return this.descriptors.delete(t),this}get(t){return this.descriptors.get(t)}render(t,e){const r={},n=new Set;return e.forEach(e=>{if(n.has(e))return;n.add(e);const o=this.descriptors.get(e);if(!o)return;if(o.shouldInclude&&!o.shouldInclude(t))return;const s=o.render(t);if(void 0===s)return;const i=o.style?o.style(s,t):s;r[e]=i}),r}keys(){return Array.from(this.descriptors.keys())}}const p=new Map;function g(t){if(p.has(t))return p.get(t);const e=d(t||""),r=new Set,n=[];m(e,r,n);const o={pattern:t,segments:e,keys:n,includesMeta:r.has("meta")};return p.set(t,o),o}function y(t,e){return v(t.segments,e).text}function d(t){const e=[];let r=0;for(;r<t.length;){const n=t[r];if("["===n){const n=b(t,r,"[","]");if(-1===n){e.push({type:"literal",value:"["}),r++;continue}const o=t.slice(r+1,n);e.push({type:"optional",prefix:"[",suffix:"]",children:d(o)}),r=n+1;continue}if("{"===n){const n=t.indexOf("}",r+1);if(-1===n){e.push({type:"literal",value:"{"}),r++;continue}const o=t.slice(r+1,n).trim();e.push({type:"parameter",key:o}),r=n+1;continue}let o=r;for(;o<t.length&&"["!==t[o]&&"{"!==t[o];)o++;const s=t.slice(r,o);s.length&&e.push({type:"literal",value:s}),r=o}return e}function b(t,e,r,n){let o=0;for(let s=e;s<t.length;s++){const e=t[s];if(e===r)o++;else if(e===n&&(o--,0===o))return s}return-1}function m(t,e,r){for(const n of t)"parameter"===n.type&&(e.has(n.key)||(e.add(n.key),r.push(n.key))),"optional"===n.type&&m(n.children,e,r)}function v(t,e){const r=[];let n=!1;for(const o of t){const t=x(o,e);t.text.length&&r.push(t.text),n=n||t.hasValue}return{text:r.join(""),hasValue:n}}function x(t,e){if("literal"===t.type)return{text:t.value,hasValue:!1};if("parameter"===t.type){const r=e[t.key]??"";return{text:r,hasValue:r.length>0}}const r=v(t.children,e);return r.hasValue?{text:`${t.prefix}${r.text}${t.suffix}`,hasValue:!0}:{text:"",hasValue:!1}}const w=new h;w.register({key:"level",render:t=>void 0!==t.action?void 0!==t.actionCode?`${t.action} - ${t.actionCode}`:t.action:!1!==t.config.logLevel?t.level.toUpperCase():void 0,style:(t,e)=>void 0!==e.action?e.applyTheme(t,"action"):e.applyTheme(t,"logLevel")}).register({key:"timestamp",shouldInclude:t=>!(!t.config.timestamp||!t.timestamp),render:t=>t.timestamp,style:(t,e)=>e.applyTheme(t,"timestamp")}).register({key:"app",shouldInclude:t=>!!t.app,render:t=>t.app,style:(t,e)=>e.applyTheme(t,"app")}).register({key:"context",shouldInclude:t=>!1!==t.config.context&&t.context.length>0,render(t){const e=t.config.contextSeparator||".";return t.context.join(e)},style:(t,e)=>e.applyTheme(t,"class")}).register({key:"separator",shouldInclude:t=>!!t.separator,render:t=>t.separator,style:(t,e)=>e.applyTheme(t,"separator")}).register({key:"message",render:t=>t.filteredMessage,style:(t,e)=>e.applyTheme(t,"message")}).register({key:"stack",shouldInclude:t=>!!t.stack,render:t=>t.stack,style:(t,e)=>e.applyTheme(t,"stack")}).register({key:"meta",shouldInclude:t=>!!t.metaString,render:t=>t.metaString}).register({key:"correlationId",shouldInclude:t=>!!t.correlationId,render:t=>t.correlationId,style:(t,e)=>e.applyTheme(t,"id")}).register({key:"action",shouldInclude:t=>void 0!==t.action,render:t=>t.action,style:(t,e)=>e.applyTheme(t,"action")}).register({key:"actionCode",shouldInclude:t=>void 0!==t.actionCode,render:t=>void 0===t.actionCode?void 0:t.actionCode+"",style:(t,e)=>e.applyTheme(t,"action")}).register({key:"errorCode",shouldInclude:t=>void 0!==t.errorCode,render:t=>void 0===t.errorCode?void 0:t.errorCode+""}).register({key:"errorName",shouldInclude:t=>void 0!==t.errorName,render:t=>t.errorName});const E=w;function O(t,e,r=" "){if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return t.padEnd(e,r)}function k(t,e,r="${",n="}",o="g"){return j(t,Object.entries(e).reduce((t,[e,o])=>(t[`${r}${e}${n}`]=o,t),{}),o)}function j(t,e,r="g"){return Object.entries(e).forEach(([e,n])=>{const o=RegExp(S(e),r);t=t.replace(o,n)}),t}function _(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,e)=>0===e?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,"")}function A(t){return P(t).toUpperCase()}function P(t){return t.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function C(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function R(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,t=>t.toUpperCase()).replace(/\s+/g,"")}function S(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function M(t,...e){if(e.length>1&&!e.every(t=>"string"==typeof t||"number"==typeof t))throw Error("Only string and number arguments are supported for multiple replacements.");if(1===e.length&&"object"==typeof e[0]){const r=e[0];return Object.entries(r).reduce((t,[e,r])=>t.replace(RegExp(`\\{${e}\\}`,"g"),()=>r),t)}return t.replace(/{(\d+)}/g,(t,r)=>void 0!==e[r]?e[r].toString():"undefined")}const $=M;function T(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const I=Symbol("EnvironmentEmpty"),K=Symbol("EnvironmentModel"),N=/^[a-z][a-zA-Z0-9]*$/;class V extends e{static{this.factory=()=>new V}constructor(){super(),Object.defineProperty(this,K,{value:{},writable:!0,enumerable:!1,configurable:!1})}static isProxyableObject(t){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return!0;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}fromEnv(t){let e;return T()?e=globalThis[o]||{}:(e=globalThis.process.env,t=A(t)),this.parseEnvValue(e[t])}parseEnvValue(t){return V.parseRuntimeValue(t)}static parseRuntimeValue(t){if("string"!=typeof t)return t;if("true"===t)return!0;if("false"===t)return!1;const e=t.trim();return/^-?\d+(\.\d+)?$/.test(e)?Number(e):t}expand(t){Object.entries(t).forEach(([t,e])=>{V.mergeModel(this[K],t,e),Object.defineProperty(this,t,{get:()=>{const r=this.fromEnv(t);return void 0!==r?r:e&&"object"==typeof e?V.buildEnvProxy(e,[t]):""===e?I:e},set:t=>{e=t},configurable:!0,enumerable:!0})})}orThrow(){const t=this[K],e=t=>void 0!==t?this.parseEnvValue(t):void 0,r=(t,e=!1)=>V.missingEnvError(t,e),n=(t,o)=>{const s={get(s,i){if(i===Symbol.toPrimitive)return()=>V.buildEnvKey(o);if("toString"===i)return()=>V.buildEnvKey(o);if("valueOf"===i)return()=>V.buildEnvKey(o);if("symbol"==typeof i)return;if("toJSON"===i)return;if("then"===i)return;if("constructor"===i)return Object;if(Array.isArray(t)&&"length"===i)return t.length;if(Array.isArray(t)&&i in Array.prototype){const e=Reflect.get(t,i,t);return"function"==typeof e?e.bind(t):e}const a=[...o,i],{key:c,value:l}=V.readRuntimeForPath(a);if("string"==typeof l&&0===l.length)throw r(c,!0);const u=e(l);if(void 0!==u){if("string"==typeof u&&0===u.length)throw r(c,!0);return u}if(!t||!Object.prototype.hasOwnProperty.call(t,i))throw r(c);const f=t[i];if(void 0!==f){if(""===f)throw r(c);return V.isProxyableObject(f)?n(f,a):f}},ownKeys:()=>t?Reflect.ownKeys(t):[],getOwnPropertyDescriptor(e,r){if(t)return Object.prototype.hasOwnProperty.call(t,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(t)?[]:{},s)};return new Proxy(this,{get(o,s,i){if("string"!=typeof s)return Reflect.get(o,s,i);if(!Object.prototype.hasOwnProperty.call(t,s))return Reflect.get(o,s,i);const{key:a,value:c}=V.readRuntimeForPath([s]);if("string"==typeof c&&0===c.length)throw r(a,!0);const l=e(c);if(void 0!==l){if("string"==typeof l&&0===l.length)throw r(a,!0);return l}const u=t[s];if(V.isProxyableObject(u))return n(u,[s]);if(void 0===u)return Reflect.get(o,s,i);const f=Reflect.get(o,s);if(void 0===f||""===f)throw r(a,""===f);return f}})}static instance(...t){if(!V._instance){const e=V.factory(...t),r=new Proxy(e,{get(t,e,r){const n=Reflect.get(t,e,r);if(n!==I&&("string"!=typeof e||!Object.prototype.hasOwnProperty.call(t,e)||void 0!==n)){if(void 0!==n)return n;if("string"==typeof e){if("app"===e)return;return V.buildEnvProxy(void 0,[e])}return n}}});V._instance=r}return V._instance}accumulate(t){return super.accumulate(t),this}static accumulate(t){const e=V.instance();return Object.keys(e).forEach(t=>{const r=Object.getOwnPropertyDescriptor(e,t);r&&r.configurable&&r.enumerable&&Object.defineProperty(e,t,{...r,enumerable:!1})}),e.accumulate(t),e}static get(t){return V._instance.get(t)}static formatEnvSegment(t){return N.test(t)?A(t):t.toUpperCase()}static buildEnvKey(t){return t.map(t=>V.formatEnvSegment(t)).join(s)}static buildRawKey(t){return t.join(s)}static readRuntimeForPath(t){const e=V.buildEnvKey(t),r=V.buildRawKey(t),n=V.readRuntimeEnv(e);if(void 0!==n)return{key:e,value:n};if(r!==e){const t=V.readRuntimeEnv(r);if(void 0!==t)return{key:r,value:t}}return{key:e,value:void 0}}static runtimeEnv(){return T()?globalThis[o]:globalThis?.process?.env}static getRuntimeChildKeys(t){const e=V.runtimeEnv();if(!e)return[];const r=[V.buildEnvKey(t),V.buildRawKey(t)],n=new Set;return Object.keys(e).forEach(t=>{r.forEach(e=>{if(!e)return;const r=`${e}${s}`;if(t.startsWith(r)){const e=t.slice(r.length).split(s)[0];e&&n.add(e)}})}),[...n]}static hasRuntimePath(t){const{value:e}=V.readRuntimeForPath(t);return void 0!==e||V.getRuntimeChildKeys(t).length>0}static buildEnvProxy(t,e){const r=t=>V.readRuntimeEnv(t),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>V.buildEnvKey(e);if("toString"===s)return()=>V.buildEnvKey(e);if("valueOf"===s)return()=>V.buildEnvKey(e);if("symbol"==typeof s)return;if(Array.isArray(t)&&s in Array.prototype){const e=Reflect.get(t,s,t);return"function"==typeof e?e.bind(t):e}if(Array.isArray(t)&&"length"===s)return t.length;const i=[...e,s],a=V.buildEnvKey(i),c=V.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return V.parseRuntimeValue(l);const u=!!t&&Object.prototype.hasOwnProperty.call(t,s),f=u?t[s]:void 0,h=V.hasRuntimePath(i);return Array.isArray(t)&&(t=>"string"==typeof t&&n.test(t))(s)?u?V.isProxyableObject(f)?V.buildEnvProxy(f,i):V.parseRuntimeValue(f):h?V.buildEnvProxy(void 0,i):void 0:f&&"object"==typeof f&&V.isProxyableObject(f)?V.buildEnvProxy(f,i):u&&""===f||u&&void 0===f?void 0:u?V.parseRuntimeValue(f):V.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return t&&Reflect.ownKeys(t).forEach(t=>r.add(t)),V.getRuntimeChildKeys(e).forEach(t=>r.add(t)),[...r]},getOwnPropertyDescriptor:(r,n)=>t&&Object.prototype.hasOwnProperty.call(t,n)?Reflect.getOwnPropertyDescriptor(t,n):"string"==typeof n&&V.hasRuntimePath([...e,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(t)?[]:{},o)}static keys(t=!0){return V.instance().keys().map(e=>t?A(e):e)}static mergeModel(t,e,r){if(t){if(r&&"object"==typeof r&&!Array.isArray(r)){const n=t[e],o=n&&"object"==typeof n&&!Array.isArray(n)?n:{};return t[e]=o,void Object.entries(r).forEach(([t,e])=>{V.mergeModel(o,t,e)})}t[e]=r}}static readRuntimeEnv(t){if(T()){const e=globalThis[o];return e?e[t]:void 0}return globalThis?.process?.env?.[t]}static missingEnvError(t,e){return Error(`Environment variable ${t} is required but was ${e?"an empty string":"undefined"}.`)}}const L=V.accumulate(Object.assign({app:void 0},f,{env:(T()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function F(t){if("function"!=typeof t)return!1;try{const e=Function.prototype.toString.call(t);if(/^\s*class[\s{]/.test(e))return!0}catch{}const e=Object.getOwnPropertyDescriptor(t,"prototype");if(!e||!e.value)return!1;if(!1===e.writable)return!0;const r=t.prototype;return!!Object.prototype.hasOwnProperty.call(r,"constructor")&&Object.getOwnPropertyNames(r).filter(t=>"constructor"!==t).length>0}function D(t){return"function"==typeof t&&!F(t)}function U(t){if(!D(t))return!1;const e=Object.getOwnPropertyDescriptor(t,"prototype");return!e||void 0===e.value}function z(t){if(null===t||"object"!=typeof t)return!1;const e=t.constructor;return!(!e||e===Object)&&F(e)}function J(t){if(null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return t;if(F(t))return t.name||"AnonymousClass";if(z(t)){const e=t.toString;if("function"==typeof e&&e!==Object.prototype.toString)try{const r=e.call(t);if("string"==typeof r&&r.length)return r}catch{}const r=t.constructor;return r&&r.name?r.name:"AnonymousInstance"}if(U(t)||D(t)){const e=t;return e.name?e.name:"anonymous"}if("object"==typeof t){const e=Object.prototype.toString.call(t),r=/^\[object ([^\]]+)\]$/.exec(e);return r?.[1]?r[1]:"Object"}return typeof t}const Z=Symbol("MiniLoggerRootContext");class W{constructor(t,e,r=[]){this.conf=e,this.baseContext=Array.isArray(r)?[...r]:[],t&&this.baseContext.push(t),this.context=[...this.baseContext],this[Z]=[...this.baseContext]}config(t){return this.conf&&t in this.conf?this.conf[t]:H.getConfig()[t]}for(t,e,...r){let n,o=e;const s=Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[],i=this[Z],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof t?n=t:void 0!==t&&(F(t)||z(t)||D(t)?n=J(t):!o&&t&&"object"==typeof t&&(o=t));let c=n?[...s,n]:[...s];return new Proxy(this,{get:(t,e,r)=>{const n=Reflect.get(t,e,r);return"config"===e?new Proxy(this.config,{apply:(t,e,n)=>{const[s]=n;return o&&void 0!==s&&s in o?o[s]:Reflect.apply(t,r,n)},get:(t,e)=>o&&e in o?o[e]:Reflect.get(t,e,r)}):"clear"===e?()=>(c=[...a],r):"context"===e?c:"root"===e?[...a]:e===Z?a:"for"===e?(...e)=>{if(o){const t=e[0];"string"==typeof t||F(t)||z(t)||D(t)?e[1]={...o,...e[1]||{}}:t&&"object"==typeof t&&(e[0]={...o,...t})}const r=Array.isArray(t.context)?[...t.context]:"string"==typeof t.context&&t.context?[t.context]:[];t.context=[...c];try{return t.for.apply(t,e)}finally{t.context=r}}:"getConfigSnapshot"===e?()=>{const e=t.getConfigSnapshot();return o&&Object.assign(e,o),e}:n}})}getConfigSnapshot(){return{...H.getConfig(),...this.conf||{}}}getContextSegments(){return Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[]}resolveFilters(t){const e=t.filters||[];return Array.isArray(e)?e.filter(t=>"object"==typeof t&&null!==t&&"function"==typeof t.filter):[]}applyFilters(t,e,r){const n=this.resolveFilters(r);return n.length?n.reduce((t,n)=>{try{const o=n.filter(r,t,[...e]);return"string"==typeof o?o:t}catch{return t}},t):t}createLog(t,e,r,n,o,s){const i=!!this.config("style"),a=this.config("separator"),c=H.getConfig().app,l=this.config("timestamp")?(new Date).toISOString():void 0,u=this.getConfigSnapshot(),f=this.getContextSegments(),h="string"==typeof e?e:e instanceof Error?e.message:e+"",p=this.applyFilters(h,f,u),d=this.config("meta")&&n?n:void 0,b=d?this.formatMeta(d):void 0,m=b?this.applyFilters(b,f,u):void 0,v=this.config("correlationId"),x=null!=v?v+"":void 0;let w,O,k,j;if(r||e instanceof Error){const n=r||e,o=n.code;"number"==typeof o&&(k=o);const s=n.name;"string"==typeof s&&s.length&&(j=s),n.stack&&(O="string"==typeof e?p:n.message,w=` | ${O} - Stack trace:\n${i?H.theme(n.stack,"stack",t):n.stack}`)}const _={config:u,level:t,context:f,timestamp:l,app:"string"==typeof c&&c.length?c:void 0,separator:a,correlationId:x,rawMessage:h,filteredMessage:p,meta:d,metaString:m,stack:w,stackLabel:O,action:o,actionCode:s,errorCode:k,errorName:j,applyTheme:(e,r)=>i?H.theme(e,r,t):e},A=this.config("pattern"),P=u.pattern||"",C=g(A.length?A:P),R=E.render(_,C.keys);switch(this.config("format")){case"json":{const t=E.render(_,E.keys()),e={};return Object.entries(t).forEach(([t,r])=>{"meta"!==t&&(e[t]=r)}),_.meta&&(e.meta=_.meta),JSON.stringify(e)}case"raw":{let t=this.normalizePatternSpacing(y(C,R));return!C.includesMeta&&m&&(t=t?`${t} ${m}`:m),t}default:throw Error("Unsupported logging format: "+this.config("format"))}}formatMeta(t){try{return JSON.stringify(t)}catch(e){return t+""}}normalizePatternSpacing(t){return t.replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/g,"")}log(t,e,r,n){const o=this.config("level");if(c[t]>c[o])return;let s;switch(t){case a.benchmark:s=console.log;break;case a.fatal:case a.critical:case a.error:s=console.error;break;case a.info:case a.verbose:s=console.log;break;case a.debug:s=console.debug;break;case a.trace:s=console.trace;break;case a.warn:s=console.warn;break;case a.silly:s=console.debug;break;default:throw Error("Invalid log level")}s(this.createLog(t,e,r,n))}benchmark(t,e){this.log(a.benchmark,t,void 0,e)}action(t,e,r,...n){let o;n.length&&n[0]&&"object"==typeof n[0]&&(o=n[0]),this.logAction(t,e,r,o)}logAction(t,e,r,n){}fatal(t,e,r){let n,o;e instanceof Error?(n=e,o=r):o=e,this.log(a.fatal,t,n,o)}critical(t,e,r){let n,o;e instanceof Error?(n=e,o=r):o=e,this.log(a.critical,t,n,o)}silly(t,e=0,r){const n="number"==typeof e?e:0,o="number"==typeof e?r:e;this.config("verbose")<n||this.log(a.silly,t,void 0,o)}verbose(t,e=0,r){const n="number"==typeof e?e:0,o="number"==typeof e?r:e;this.config("verbose")<n||this.log(a.verbose,t,void 0,o)}info(t,e){this.log(a.info,t,void 0,e)}debug(t,e){this.log(a.debug,t,void 0,e)}error(t,e,r){let n,o;e instanceof Error?(n=e,o=r):o=e,this.log(a.error,t,n,o)}warn(t,e){this.log(a.warn,t,void 0,e)}trace(t,e){this.log(a.trace,t,void 0,e)}setConfig(t){this.conf={...this.conf||{},...t}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class H{static{this._factory=(t,e)=>{const r="string"==typeof L.app?[L.app]:[];return new W(t,e,r)}}static{this._config=L}constructor(){}static setFactory(t){H._factory=t,this.global=void 0}static setConfig(t){Object.entries(t).forEach(([t,e])=>{this._config[t]=e})}static getConfig(){return this._config}static get(){return this.ensureRoot()}static verbose(t,e=0,r){return this.get().verbose(t,e,r)}static info(t,e){return this.get().info(t,e)}static trace(t,e){return this.get().trace(t,e)}static debug(t,e){return this.get().debug(t,e)}static benchmark(t,e){return this.get().benchmark(t,e)}static action(t,e,r,...n){return this.get().action(t,e,r,...n)}static fatal(t,e,r){return this.get().fatal(t,e,r)}static critical(t,e,r){return this.get().critical(t,e,r)}static silly(t,e=0,r){return this.get().silly(t,e,r)}static warn(t,e){return this.get().warn(t,e)}static error(t,e,r){return this.get().error(t,e,r)}static for(t,e,...r){const n=void 0!==e?[t,e]:[t];return(this.global?this.global:this.ensureRoot(r)).for(...n)}static because(t,e){let r=this.ensureRoot().for(t,this._config);return e&&(r=r.for(e)),r}static baseContext(){const t=this._config.app;return"string"==typeof t&&t.length?[t]:[]}static attachRootContext(t){const e=t.root&&Array.isArray(t.root)?[...t.root]:this.baseContext();return(!t.context||Array.isArray(t.context)&&0===t.context.length)&&(t.context=[...e]),t[Z]=[...e],t}static ensureRoot(t=[]){if(!this.global){const e=this._factory(void 0,void 0,...t);this.global=this.attachRootContext(e)}return this.global}static theme(e,r,n,o=u){if(!this._config.style)return e;const s=o[r];if(!s||!Object.keys(s).length)return e;let i=s;const c=Object.assign({},a);return Object.keys(s)[0]in c&&(i=s[n]||{}),Object.keys(i).reduce((e,r)=>{const n=i[r];return n?((e,r,n)=>{try{const o=e;let s=t(o);function i(e,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(e))return i.call(s,n);switch(e.length){case 1:return i=r?s.bgColor256:s.color256,i(e[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(e[0],e[1],e[2]);default:return t(o)}}function a(t){s="number"==typeof t?s.style(t):s[t]}switch(r){case"bg":case"fg":return i(n).text;case"style":return Array.isArray(n)?n.forEach(a):a(n),s.text;default:return o}}catch(c){return e}})(e,r,n):e},e)}static register(t){return E.register(t)}static unregister(t){return E.unregister(t)}}class q{get log(){return this._log||(this._log=H.for(this)),this._log}constructor(){}}class G extends q{get log(){return super.log.for(this,{filters:[]})}}const B="undefined"!=typeof globalThis&&"function"==typeof globalThis.performance?.now?()=>globalThis.performance.now():"undefined"!=typeof process&&"function"==typeof process.hrtime?.bigint?()=>{const t=process.hrtime.bigint();return Number(t)/1e6}:()=>Date.now();class Q{constructor(t=!1){this._startMs=null,this._elapsedMs=0,this._running=!1,this._laps=[],this._lastLapTotalMs=0,t&&this.start()}get running(){return this._running}get elapsedMs(){return this._running&&null!=this._startMs?this._elapsedMs+(B()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=B()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=B()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=B()),this}stop(){return this.pause(),this._elapsedMs}reset(){const t=this._running;return this._startMs=t?B():null,this._elapsedMs=0,this._laps=[],this._lastLapTotalMs=0,this}lap(t){const e=this.elapsedMs,r=e-this._lastLapTotalMs,n={index:this._laps.length,label:t,ms:r,totalMs:e};return this._laps.push(n),this._lastLapTotalMs=e,n}get laps(){return this._laps}toString(){return X(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}}function X(t){const e=0>t?"-":"",r=Math.abs(t),n=Math.floor(r/36e5),o=Math.floor(r%36e5/6e4),s=Math.floor(r%6e4/1e3),i=Math.floor(r%1e3),a=(t,e)=>t.toString().padStart(e,"0");return`${e}${a(n,2)}:${a(o,2)}:${a(s,2)}.${a(i,3)}`}function Y(t=a.info,e=0,r=(...t)=>"called with "+t,n){return(o,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=o instanceof q?o.log.for(o[s]):H.for(o).for(o[s]),c=a[t].bind(a),l=i.value;return i.value=new Proxy(l,{apply(t,o,s){c(r(...s),e);try{const e=Reflect.apply(t,o,s);return e instanceof Promise?e.then(t=>(n&&c(n(void 0,t)),t)).catch(t=>{throw n&&a.error(n(t)),t}):(n&&c(n(void 0,e)),e)}catch(t){throw n&&a.error(n(t)),t}}}),i}}function tt(){return(t,e,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=t instanceof q?t.log.for(t[e]):H.for(t).for(t[e]),o=r.value;return r.value=new Proxy(o,{apply(t,e,r){const o=B();try{const s=Reflect.apply(t,e,r);return s instanceof Promise?s.then(t=>(n.benchmark(`completed in ${B()-o}ms`),t)).catch(t=>{throw n.benchmark(`failed in ${B()-o}ms`),t}):(n.benchmark(`completed in ${B()-o}ms`),s)}catch(t){throw n.benchmark(`failed in ${B()-o}ms`),t}}}),r}}function et(){return Y(a.debug,0,(...t)=>"called with "+t,(t,e)=>t?"Failed with: "+t:e?"Completed with "+JSON.stringify(e):"completed")}function rt(){return Y(a.info)}function nt(){return Y(a.silly)}function ot(){return Y(a.trace)}function st(t=0){return t||(t=0),Y(a.verbose,t)}function it(){return(t,e,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class at extends G{constructor(t,e){super(),this.regexp=t,this.replacement=e}match(t){const e=this.regexp.exec(t);return this.regexp.lastIndex=0,e}filter(t,e,r){const n=this.log.for(this.filter);if(!this.match(e))return e;try{return e.replace(this.regexp,this.replacement)}catch(t){n.error("PatternFilter replacement error: "+t)}return""}}r([it(),n("design:type",Function),n("design:paramtypes",[String]),n("design:returntype",void 0)],at.prototype,"match",null);class ct extends Error{constructor(t,e,r){if(e instanceof ct)return e;super(`[${t}][${r}] ${e instanceof Error?e.message:e}`),this.code=r,e instanceof Error&&(this.stack=e.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}const lt="##VERSION##",ut="##COMMIT##",ft="##FULL_VERSION##",ht="##PACKAGE##";export{ct as BaseError,o as BrowserEnvKey,ut as COMMIT,f as DefaultLoggingConfig,i as DefaultPlaceholderWrappers,u as DefaultTheme,s as ENV_PATH_DELIMITER,V as Environment,ft as FULL_VERSION,G as LogFilter,a as LogLevel,h as LogParameterRegistry,q as LoggedClass,L as LoggedEnvironment,H as Logging,l as LoggingMode,W as MiniLogger,c as NumericLogLevels,ht as PACKAGE_NAME,at as PatternFilter,Z as ROOT_CONTEXT_SYMBOL,Q as StopWatch,lt as VERSION,tt as benchmark,g as compileLogPattern,et as debug,S as escapeRegExp,it as final,X as formatMs,J as getObjectName,rt as info,T as isBrowser,F as isClass,D as isFunction,z as isInstance,U as isMethod,Y as log,E as logParameterRegistry,B as now,O as padEnd,k as patchPlaceholders,j as patchString,y as renderPattern,M as sf,nt as silly,$ as stringFormat,_ as toCamelCase,A as toENVFormat,C as toKebabCase,R as toPascalCase,P as toSnakeCase,ot as trace,st as verbose};
|
|
1
|
+
import{style as t}from"styled-string-builder";export*from"styled-string-builder";import{ObjectAccumulator as e}from"typed-object-accumulator";import{__decorate as r,__metadata as n}from"tslib";const o="ENV",s="__",i=["${","}"];var a;(t=>{t.benchmark="benchmark",t.fatal="fatal",t.critical="critical",t.error="error",t.warn="warn",t.info="info",t.verbose="verbose",t.debug="debug",t.trace="trace",t.silly="silly"})(a||(a={}));const c={benchmark:0,fatal:1,critical:2,error:3,warn:6,info:9,verbose:12,debug:15,trace:18,silly:21};var l;(t=>{t.RAW="raw",t.JSON="json"})(l||(l={}));const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},action:{fg:[18],style:[1,3]},logLevel:{benchmark:{fg:32,style:["bold"]},fatal:{fg:31,style:["bold"]},critical:{fg:31,style:["bold"]},error:{fg:31,style:["bold"]},info:{fg:34,style:["bold"]},verbose:{fg:34,style:["bold"]},debug:{fg:33,style:["bold"]},trace:{fg:33,style:["bold"]},silly:{fg:33,style:["bold"]}}},f={env:"development",verbose:0,level:a.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:l.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class h{constructor(){this.descriptors=new Map}register(t){return this.descriptors.set(t.key,t),this}unregister(t){return this.descriptors.delete(t),this}get(t){return this.descriptors.get(t)}render(t,e){const r={},n=new Set;return e.forEach(e=>{if(n.has(e))return;n.add(e);const o=this.descriptors.get(e);if(!o)return;if(o.shouldInclude&&!o.shouldInclude(t))return;const s=o.render(t);if(void 0===s)return;const i=o.style?o.style(s,t):s;r[e]=i}),r}keys(){return Array.from(this.descriptors.keys())}}const p=new Map;function g(t){if(p.has(t))return p.get(t);const e=d(t||""),r=new Set,n=[];b(e,r,n);const o={pattern:t,segments:e,keys:n,includesMeta:r.has("meta")};return p.set(t,o),o}function y(t,e){return v(t.segments,e).text}function d(t){const e=[];let r=0;for(;r<t.length;){const n=t[r];if("["===n){const n=m(t,r,"[","]");if(-1===n){e.push({type:"literal",value:"["}),r++;continue}const o=t.slice(r+1,n);e.push({type:"optional",prefix:"[",suffix:"]",children:d(o)}),r=n+1;continue}if("{"===n){const n=t.indexOf("}",r+1);if(-1===n){e.push({type:"literal",value:"{"}),r++;continue}const o=t.slice(r+1,n).trim();e.push({type:"parameter",key:o}),r=n+1;continue}let o=r;for(;o<t.length&&"["!==t[o]&&"{"!==t[o];)o++;const s=t.slice(r,o);s.length&&e.push({type:"literal",value:s}),r=o}return e}function m(t,e,r,n){let o=0;for(let s=e;s<t.length;s++){const e=t[s];if(e===r)o++;else if(e===n&&(o--,0===o))return s}return-1}function b(t,e,r){for(const n of t)"parameter"===n.type&&(e.has(n.key)||(e.add(n.key),r.push(n.key))),"optional"===n.type&&b(n.children,e,r)}function v(t,e){const r=[];let n=!1;for(const o of t){const t=x(o,e);t.text.length&&r.push(t.text),n=n||t.hasValue}return{text:r.join(""),hasValue:n}}function x(t,e){if("literal"===t.type)return{text:t.value,hasValue:!1};if("parameter"===t.type){const r=e[t.key]??"";return{text:r,hasValue:r.length>0}}const r=v(t.children,e);return r.hasValue?{text:`${t.prefix}${r.text}${t.suffix}`,hasValue:!0}:{text:"",hasValue:!1}}const w=new h;w.register({key:"level",render:t=>void 0!==t.action?void 0!==t.actionCode?`${t.action} - ${t.actionCode}`:t.action:!1!==t.config.logLevel&&t.level?t.level.toUpperCase():void 0,style:(t,e)=>void 0!==e.action?e.applyTheme(t,"action"):e.applyTheme(t,"logLevel")}).register({key:"timestamp",shouldInclude:t=>!(!t.config.timestamp||!t.timestamp),render:t=>t.timestamp,style:(t,e)=>e.applyTheme(t,"timestamp")}).register({key:"app",shouldInclude:t=>!!t.app,render:t=>t.app,style:(t,e)=>e.applyTheme(t,"app")}).register({key:"context",shouldInclude:t=>!1!==t.config.context&&t.context.length>0,render(t){const e=t.config.contextSeparator||".";return t.context.join(e)},style:(t,e)=>e.applyTheme(t,"class")}).register({key:"separator",shouldInclude:t=>!!t.separator,render:t=>t.separator,style:(t,e)=>e.applyTheme(t,"separator")}).register({key:"message",shouldInclude:t=>void 0===t.action,render:t=>t.filteredMessage,style:(t,e)=>e.applyTheme(t,"message")}).register({key:"stack",shouldInclude:t=>!!t.stack,render:t=>t.stack,style:(t,e)=>e.applyTheme(t,"stack")}).register({key:"meta",shouldInclude:t=>!!t.metaString,render:t=>t.metaString}).register({key:"correlationId",shouldInclude:t=>!!t.correlationId,render:t=>t.correlationId,style:(t,e)=>e.applyTheme(t,"id")}).register({key:"action",shouldInclude:t=>void 0!==t.action,render:t=>t.action,style:(t,e)=>e.applyTheme(t,"action")}).register({key:"actionCode",shouldInclude:t=>void 0!==t.actionCode,render:t=>void 0===t.actionCode?void 0:t.actionCode+"",style:(t,e)=>e.applyTheme(t,"action")}).register({key:"errorCode",shouldInclude:t=>void 0!==t.errorCode,render:t=>void 0===t.errorCode?void 0:t.errorCode+""}).register({key:"errorName",shouldInclude:t=>void 0!==t.errorName,render:t=>t.errorName});const E=w;function O(t,e,r=" "){if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return t.padEnd(e,r)}function k(t,e,r="${",n="}",o="g"){return j(t,Object.entries(e).reduce((t,[e,o])=>(t[`${r}${e}${n}`]=o,t),{}),o)}function j(t,e,r="g"){return Object.entries(e).forEach(([e,n])=>{const o=RegExp(S(e),r);t=t.replace(o,n)}),t}function _(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,e)=>0===e?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,"")}function A(t){return P(t).toUpperCase()}function P(t){return t.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function C(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function R(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,t=>t.toUpperCase()).replace(/\s+/g,"")}function S(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function M(t,...e){if(e.length>1&&!e.every(t=>"string"==typeof t||"number"==typeof t))throw Error("Only string and number arguments are supported for multiple replacements.");if(1===e.length&&"object"==typeof e[0]){const r=e[0];return Object.entries(r).reduce((t,[e,r])=>t.replace(RegExp(`\\{${e}\\}`,"g"),()=>r),t)}return t.replace(/{(\d+)}/g,(t,r)=>void 0!==e[r]?e[r].toString():"undefined")}const $=M;function T(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const I=Symbol("EnvironmentEmpty"),K=Symbol("EnvironmentModel"),N=/^[a-z][a-zA-Z0-9]*$/;class V extends e{static{this.factory=()=>new V}constructor(){super(),Object.defineProperty(this,K,{value:{},writable:!0,enumerable:!1,configurable:!1})}static isProxyableObject(t){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return!0;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}fromEnv(t){let e;return T()?e=globalThis[o]||{}:(e=globalThis.process.env,t=A(t)),this.parseEnvValue(e[t])}parseEnvValue(t){return V.parseRuntimeValue(t)}static parseRuntimeValue(t){if("string"!=typeof t)return t;if("true"===t)return!0;if("false"===t)return!1;const e=t.trim();return/^-?\d+(\.\d+)?$/.test(e)?Number(e):t}expand(t){Object.entries(t).forEach(([t,e])=>{V.mergeModel(this[K],t,e),Object.defineProperty(this,t,{get:()=>{const r=this.fromEnv(t);return void 0!==r?r:e&&"object"==typeof e?V.buildEnvProxy(e,[t]):""===e?I:e},set:t=>{e=t},configurable:!0,enumerable:!0})})}orThrow(){const t=this[K],e=t=>void 0!==t?this.parseEnvValue(t):void 0,r=(t,e=!1)=>V.missingEnvError(t,e),n=(t,o)=>{const s={get(s,i){if(i===Symbol.toPrimitive)return()=>V.buildEnvKey(o);if("toString"===i)return()=>V.buildEnvKey(o);if("valueOf"===i)return()=>V.buildEnvKey(o);if("symbol"==typeof i)return;if("toJSON"===i)return;if("then"===i)return;if("constructor"===i)return Object;if(Array.isArray(t)&&"length"===i)return t.length;if(Array.isArray(t)&&i in Array.prototype){const e=Reflect.get(t,i,t);return"function"==typeof e?e.bind(t):e}const a=[...o,i],{key:c,value:l}=V.readRuntimeForPath(a);if("string"==typeof l&&0===l.length)throw r(c,!0);const u=e(l);if(void 0!==u){if("string"==typeof u&&0===u.length)throw r(c,!0);return u}if(!t||!Object.prototype.hasOwnProperty.call(t,i))throw r(c);const f=t[i];if(void 0!==f){if(""===f)throw r(c);return V.isProxyableObject(f)?n(f,a):f}},ownKeys:()=>t?Reflect.ownKeys(t):[],getOwnPropertyDescriptor(e,r){if(t)return Object.prototype.hasOwnProperty.call(t,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(t)?[]:{},s)};return new Proxy(this,{get(o,s,i){if("string"!=typeof s)return Reflect.get(o,s,i);if(!Object.prototype.hasOwnProperty.call(t,s))return Reflect.get(o,s,i);const{key:a,value:c}=V.readRuntimeForPath([s]);if("string"==typeof c&&0===c.length)throw r(a,!0);const l=e(c);if(void 0!==l){if("string"==typeof l&&0===l.length)throw r(a,!0);return l}const u=t[s];if(V.isProxyableObject(u))return n(u,[s]);if(void 0===u)return Reflect.get(o,s,i);const f=Reflect.get(o,s);if(void 0===f||""===f)throw r(a,""===f);return f}})}static instance(...t){if(!V._instance){const e=V.factory(...t),r=new Proxy(e,{get(t,e,r){const n=Reflect.get(t,e,r);if(n!==I&&("string"!=typeof e||!Object.prototype.hasOwnProperty.call(t,e)||void 0!==n)){if(void 0!==n)return n;if("string"==typeof e){if("app"===e)return;return V.buildEnvProxy(void 0,[e])}return n}}});V._instance=r}return V._instance}accumulate(t){return super.accumulate(t),this}static accumulate(t){const e=V.instance();return Object.keys(e).forEach(t=>{const r=Object.getOwnPropertyDescriptor(e,t);r&&r.configurable&&r.enumerable&&Object.defineProperty(e,t,{...r,enumerable:!1})}),e.accumulate(t),e}static get(t){return V._instance.get(t)}static formatEnvSegment(t){return N.test(t)?A(t):t.toUpperCase()}static buildEnvKey(t){return t.map(t=>V.formatEnvSegment(t)).join(s)}static buildRawKey(t){return t.join(s)}static readRuntimeForPath(t){const e=V.buildEnvKey(t),r=V.buildRawKey(t),n=V.readRuntimeEnv(e);if(void 0!==n)return{key:e,value:n};if(r!==e){const t=V.readRuntimeEnv(r);if(void 0!==t)return{key:r,value:t}}return{key:e,value:void 0}}static runtimeEnv(){return T()?globalThis[o]:globalThis?.process?.env}static getRuntimeChildKeys(t){const e=V.runtimeEnv();if(!e)return[];const r=[V.buildEnvKey(t),V.buildRawKey(t)],n=new Set;return Object.keys(e).forEach(t=>{r.forEach(e=>{if(!e)return;const r=`${e}${s}`;if(t.startsWith(r)){const e=t.slice(r.length).split(s)[0];e&&n.add(e)}})}),[...n]}static hasRuntimePath(t){const{value:e}=V.readRuntimeForPath(t);return void 0!==e||V.getRuntimeChildKeys(t).length>0}static buildEnvProxy(t,e){const r=t=>V.readRuntimeEnv(t),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>V.buildEnvKey(e);if("toString"===s)return()=>V.buildEnvKey(e);if("valueOf"===s)return()=>V.buildEnvKey(e);if("symbol"==typeof s)return;if(Array.isArray(t)&&s in Array.prototype){const e=Reflect.get(t,s,t);return"function"==typeof e?e.bind(t):e}if(Array.isArray(t)&&"length"===s)return t.length;const i=[...e,s],a=V.buildEnvKey(i),c=V.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return V.parseRuntimeValue(l);const u=!!t&&Object.prototype.hasOwnProperty.call(t,s),f=u?t[s]:void 0,h=V.hasRuntimePath(i);return Array.isArray(t)&&(t=>"string"==typeof t&&n.test(t))(s)?u?V.isProxyableObject(f)?V.buildEnvProxy(f,i):V.parseRuntimeValue(f):h?V.buildEnvProxy(void 0,i):void 0:f&&"object"==typeof f&&V.isProxyableObject(f)?V.buildEnvProxy(f,i):u&&""===f||u&&void 0===f?void 0:u?V.parseRuntimeValue(f):V.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return t&&Reflect.ownKeys(t).forEach(t=>r.add(t)),V.getRuntimeChildKeys(e).forEach(t=>r.add(t)),[...r]},getOwnPropertyDescriptor:(r,n)=>t&&Object.prototype.hasOwnProperty.call(t,n)?Reflect.getOwnPropertyDescriptor(t,n):"string"==typeof n&&V.hasRuntimePath([...e,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(t)?[]:{},o)}static keys(t=!0){return V.instance().keys().map(e=>t?A(e):e)}static mergeModel(t,e,r){if(t){if(r&&"object"==typeof r&&!Array.isArray(r)){const n=t[e],o=n&&"object"==typeof n&&!Array.isArray(n)?n:{};return t[e]=o,void Object.entries(r).forEach(([t,e])=>{V.mergeModel(o,t,e)})}t[e]=r}}static readRuntimeEnv(t){if(T()){const e=globalThis[o];return e?e[t]:void 0}return globalThis?.process?.env?.[t]}static missingEnvError(t,e){return Error(`Environment variable ${t} is required but was ${e?"an empty string":"undefined"}.`)}}const L=V.accumulate(Object.assign({app:void 0},f,{env:(T()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function F(t){if("function"!=typeof t)return!1;try{const e=Function.prototype.toString.call(t);if(/^\s*class[\s{]/.test(e))return!0}catch{}const e=Object.getOwnPropertyDescriptor(t,"prototype");if(!e||!e.value)return!1;if(!1===e.writable)return!0;const r=t.prototype;return!!Object.prototype.hasOwnProperty.call(r,"constructor")&&Object.getOwnPropertyNames(r).filter(t=>"constructor"!==t).length>0}function D(t){return"function"==typeof t&&!F(t)}function U(t){if(!D(t))return!1;const e=Object.getOwnPropertyDescriptor(t,"prototype");return!e||void 0===e.value}function z(t){if(null===t||"object"!=typeof t)return!1;const e=t.constructor;return!(!e||e===Object)&&F(e)}function J(t){if(null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return t;if(F(t))return t.name||"AnonymousClass";if(z(t)){const e=t.toString;if("function"==typeof e&&e!==Object.prototype.toString)try{const r=e.call(t);if("string"==typeof r&&r.length)return r}catch{}const r=t.constructor;return r&&r.name?r.name:"AnonymousInstance"}if(U(t)||D(t)){const e=t;return e.name?e.name:"anonymous"}if("object"==typeof t){const e=Object.prototype.toString.call(t),r=/^\[object ([^\]]+)\]$/.exec(e);return r?.[1]?r[1]:"Object"}return typeof t}const Z=Symbol("MiniLoggerRootContext");class W{constructor(t,e,r=[]){this.conf=e,this.baseContext=Array.isArray(r)?[...r]:[],t&&this.baseContext.push(t),this.context=[...this.baseContext],this[Z]=[...this.baseContext]}config(t){return this.conf&&t in this.conf?this.conf[t]:H.getConfig()[t]}for(t,e,...r){let n,o=e;const s=Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[],i=this[Z],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof t?n=t:void 0!==t&&(F(t)||z(t)||D(t)?n=J(t):!o&&t&&"object"==typeof t&&(o=t));let c=n?[...s,n]:[...s];return new Proxy(this,{get:(t,e,r)=>{const n=Reflect.get(t,e,r);return"config"===e?new Proxy(this.config,{apply:(t,e,n)=>{const[s]=n;return o&&void 0!==s&&s in o?o[s]:Reflect.apply(t,r,n)},get:(t,e)=>o&&e in o?o[e]:Reflect.get(t,e,r)}):"clear"===e?()=>(c=[...a],r):"context"===e?c:"root"===e?[...a]:e===Z?a:"for"===e?(...e)=>{if(o){const t=e[0];"string"==typeof t||F(t)||z(t)||D(t)?e[1]={...o,...e[1]||{}}:t&&"object"==typeof t&&(e[0]={...o,...t})}const r=Array.isArray(t.context)?[...t.context]:"string"==typeof t.context&&t.context?[t.context]:[];t.context=[...c];try{return t.for.apply(t,e)}finally{t.context=r}}:"getConfigSnapshot"===e?()=>{const e=t.getConfigSnapshot();return o&&Object.assign(e,o),e}:n}})}getConfigSnapshot(){return{...H.getConfig(),...this.conf||{}}}getContextSegments(){return Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[]}resolveFilters(t){const e=t.filters||[];return Array.isArray(e)?e.filter(t=>"object"==typeof t&&null!==t&&"function"==typeof t.filter):[]}applyFilters(t,e,r){const n=this.resolveFilters(r);return n.length?n.reduce((t,n)=>{try{const o=n.filter(r,t,[...e]);return"string"==typeof o?o:t}catch{return t}},t):t}createLog(t,e,r,n,o,s){const i=!!this.config("style"),a=this.config("separator"),c=H.getConfig().app,l=this.config("timestamp")?(new Date).toISOString():void 0,u=this.getConfigSnapshot(),f=this.getContextSegments(),h="string"==typeof e?e:e instanceof Error?e.message:e+"",p=this.applyFilters(h,f,u),d=(void 0!==o||this.config("meta"))&&n?n:void 0,m=d?this.formatMeta(d):void 0,b=m?this.applyFilters(m,f,u):void 0,v=this.config("correlationId"),x=null!=v?v+"":void 0;let w,O,k,j;if(r||e instanceof Error){const n=r||e,o=n.code;"number"==typeof o&&(k=o);const s=n.name;"string"==typeof s&&s.length&&(j=s),n.stack&&(O="string"==typeof e?p:n.message,w=` | ${O} - Stack trace:\n${i?H.theme(n.stack,"stack",t):n.stack}`)}const _={config:u,level:t,context:f,timestamp:l,app:"string"==typeof c&&c.length?c:void 0,separator:a,correlationId:x,rawMessage:h,filteredMessage:p,meta:d,metaString:b,stack:w,stackLabel:O,action:o,actionCode:s,errorCode:k,errorName:j,applyTheme:(e,r)=>i?H.theme(e,r,t):e},A=this.config("pattern"),P=u.pattern||"",C=g(A.length?A:P),R=E.render(_,C.keys);switch(this.config("format")){case"json":{const t=E.render(_,E.keys()),e={};return Object.entries(t).forEach(([t,r])=>{"meta"!==t&&(e[t]=r)}),_.meta&&(e.meta=_.meta),JSON.stringify(e)}case"raw":{let t=this.normalizePatternSpacing(y(C,R));return!C.includesMeta&&b&&(t=t?`${t} ${b}`:b),t}default:throw Error("Unsupported logging format: "+this.config("format"))}}formatMeta(t){try{return JSON.stringify(t)}catch(e){return t+""}}normalizePatternSpacing(t){return t.replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/g,"")}methodFor(t){switch(t){case a.benchmark:return console.log;case a.fatal:case a.critical:case a.error:return console.error;case a.info:case a.verbose:return console.log;case a.debug:return console.debug;case a.trace:return console.trace;case a.warn:return console.warn;case a.silly:return console.debug;default:throw Error("Invalid log level")}}write(t,e){t(e)}log(t,e,r,n){const o=this.config("level");c[t]>c[o]||this.write(this.methodFor(t),this.createLog(t,e,r,n))}benchmark(t,e){this.log(a.benchmark,t,void 0,e)}action(t,e,r){const n="number"==typeof e?e:void 0,o="number"==typeof e?r:e;this.write(console.log,this.createLog(void 0,"",void 0,o,t,n))}fatal(t,e,r){let n,o;e instanceof Error?(n=e,o=r):o=e,this.log(a.fatal,t,n,o)}critical(t,e,r){let n,o;e instanceof Error?(n=e,o=r):o=e,this.log(a.critical,t,n,o)}silly(t,e=0,r){const n="number"==typeof e?e:0,o="number"==typeof e?r:e;this.config("verbose")<n||this.log(a.silly,t,void 0,o)}verbose(t,e=0,r){const n="number"==typeof e?e:0,o="number"==typeof e?r:e;this.config("verbose")<n||this.log(a.verbose,t,void 0,o)}info(t,e){this.log(a.info,t,void 0,e)}debug(t,e){this.log(a.debug,t,void 0,e)}error(t,e,r){let n,o;e instanceof Error?(n=e,o=r):o=e,this.log(a.error,t,n,o)}warn(t,e){this.log(a.warn,t,void 0,e)}trace(t,e){this.log(a.trace,t,void 0,e)}setConfig(t){this.conf={...this.conf||{},...t}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class H{static{this._factory=(t,e)=>{const r="string"==typeof L.app?[L.app]:[];return new W(t,e,r)}}static{this._config=L}constructor(){}static setFactory(t){H._factory=t,this.global=void 0}static setConfig(t){Object.entries(t).forEach(([t,e])=>{this._config[t]=e})}static getConfig(){return this._config}static get(){return this.ensureRoot()}static verbose(t,e=0,r){return this.get().verbose(t,e,r)}static info(t,e){return this.get().info(t,e)}static trace(t,e){return this.get().trace(t,e)}static debug(t,e){return this.get().debug(t,e)}static benchmark(t,e){return this.get().benchmark(t,e)}static action(t,e,r){return this.get().action(t,e,r)}static fatal(t,e,r){return this.get().fatal(t,e,r)}static critical(t,e,r){return this.get().critical(t,e,r)}static silly(t,e=0,r){return this.get().silly(t,e,r)}static warn(t,e){return this.get().warn(t,e)}static error(t,e,r){return this.get().error(t,e,r)}static for(t,e,...r){const n=void 0!==e?[t,e]:[t];return(this.global?this.global:this.ensureRoot(r)).for(...n)}static because(t,e){let r=this.ensureRoot().for(t,this._config);return e&&(r=r.for(e)),r}static baseContext(){const t=this._config.app;return"string"==typeof t&&t.length?[t]:[]}static attachRootContext(t){const e=t.root&&Array.isArray(t.root)?[...t.root]:this.baseContext();return(!t.context||Array.isArray(t.context)&&0===t.context.length)&&(t.context=[...e]),t[Z]=[...e],t}static ensureRoot(t=[]){if(!this.global){const e=this._factory(void 0,void 0,...t);this.global=this.attachRootContext(e)}return this.global}static theme(e,r,n,o=u){if(!this._config.style)return e;const s=o[r];if(!s||!Object.keys(s).length)return e;let i=s;const c=Object.assign({},a);return Object.keys(s)[0]in c&&(i=n&&s[n]||{}),Object.keys(i).reduce((e,r)=>{const n=i[r];return n?((e,r,n)=>{try{const o=e;let s=t(o);function i(e,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(e))return i.call(s,n);switch(e.length){case 1:return i=r?s.bgColor256:s.color256,i(e[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(e[0],e[1],e[2]);default:return t(o)}}function a(t){s="number"==typeof t?s.style(t):s[t]}switch(r){case"bg":case"fg":return i(n).text;case"style":return Array.isArray(n)?n.forEach(a):a(n),s.text;default:return o}}catch(c){return e}})(e,r,n):e},e)}static register(t){return E.register(t)}static unregister(t){return E.unregister(t)}}class q{get log(){return this._log||(this._log=H.for(this)),this._log}constructor(){}}class G extends q{get log(){return super.log.for(this,{filters:[]})}}const B="undefined"!=typeof globalThis&&"function"==typeof globalThis.performance?.now?()=>globalThis.performance.now():"undefined"!=typeof process&&"function"==typeof process.hrtime?.bigint?()=>{const t=process.hrtime.bigint();return Number(t)/1e6}:()=>Date.now();class Q{constructor(t=!1){this._startMs=null,this._elapsedMs=0,this._running=!1,this._laps=[],this._lastLapTotalMs=0,t&&this.start()}get running(){return this._running}get elapsedMs(){return this._running&&null!=this._startMs?this._elapsedMs+(B()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=B()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=B()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=B()),this}stop(){return this.pause(),this._elapsedMs}reset(){const t=this._running;return this._startMs=t?B():null,this._elapsedMs=0,this._laps=[],this._lastLapTotalMs=0,this}lap(t){const e=this.elapsedMs,r=e-this._lastLapTotalMs,n={index:this._laps.length,label:t,ms:r,totalMs:e};return this._laps.push(n),this._lastLapTotalMs=e,n}get laps(){return this._laps}toString(){return X(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}}function X(t){const e=0>t?"-":"",r=Math.abs(t),n=Math.floor(r/36e5),o=Math.floor(r%36e5/6e4),s=Math.floor(r%6e4/1e3),i=Math.floor(r%1e3),a=(t,e)=>t.toString().padStart(e,"0");return`${e}${a(n,2)}:${a(o,2)}:${a(s,2)}.${a(i,3)}`}function Y(t=a.info,e=0,r=(...t)=>"called with "+t,n){return(o,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=o instanceof q?o.log.for(o[s]):H.for(o).for(o[s]),c=a[t].bind(a),l=i.value;return i.value=new Proxy(l,{apply(t,o,s){c(r(...s),e);try{const e=Reflect.apply(t,o,s);return e instanceof Promise?e.then(t=>(n&&c(n(void 0,t)),t)).catch(t=>{throw n&&a.error(n(t)),t}):(n&&c(n(void 0,e)),e)}catch(t){throw n&&a.error(n(t)),t}}}),i}}function tt(){return(t,e,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=t instanceof q?t.log.for(t[e]):H.for(t).for(t[e]),o=r.value;return r.value=new Proxy(o,{apply(t,e,r){const o=B();try{const s=Reflect.apply(t,e,r);return s instanceof Promise?s.then(t=>(n.benchmark(`completed in ${B()-o}ms`),t)).catch(t=>{throw n.benchmark(`failed in ${B()-o}ms`),t}):(n.benchmark(`completed in ${B()-o}ms`),s)}catch(t){throw n.benchmark(`failed in ${B()-o}ms`),t}}}),r}}function et(){return Y(a.debug,0,(...t)=>"called with "+t,(t,e)=>t?"Failed with: "+t:e?"Completed with "+JSON.stringify(e):"completed")}function rt(){return Y(a.info)}function nt(){return Y(a.silly)}function ot(){return Y(a.trace)}function st(t=0){return t||(t=0),Y(a.verbose,t)}function it(){return(t,e,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class at extends G{constructor(t,e){super(),this.regexp=t,this.replacement=e}match(t){const e=this.regexp.exec(t);return this.regexp.lastIndex=0,e}filter(t,e,r){const n=this.log.for(this.filter);if(!this.match(e))return e;try{return e.replace(this.regexp,this.replacement)}catch(t){n.error("PatternFilter replacement error: "+t)}return""}}r([it(),n("design:type",Function),n("design:paramtypes",[String]),n("design:returntype",void 0)],at.prototype,"match",null);class ct extends Error{constructor(t,e,r){if(e instanceof ct)return e;super(`[${t}][${r}] ${e instanceof Error?e.message:e}`),this.code=r,e instanceof Error&&(this.stack=e.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}const lt="##VERSION##",ut="##COMMIT##",ft="##FULL_VERSION##",ht="##PACKAGE##";export{ct as BaseError,o as BrowserEnvKey,ut as COMMIT,f as DefaultLoggingConfig,i as DefaultPlaceholderWrappers,u as DefaultTheme,s as ENV_PATH_DELIMITER,V as Environment,ft as FULL_VERSION,G as LogFilter,a as LogLevel,h as LogParameterRegistry,q as LoggedClass,L as LoggedEnvironment,H as Logging,l as LoggingMode,W as MiniLogger,c as NumericLogLevels,ht as PACKAGE_NAME,at as PatternFilter,Z as ROOT_CONTEXT_SYMBOL,Q as StopWatch,lt as VERSION,tt as benchmark,g as compileLogPattern,et as debug,S as escapeRegExp,it as final,X as formatMs,J as getObjectName,rt as info,T as isBrowser,F as isClass,D as isFunction,z as isInstance,U as isMethod,Y as log,E as logParameterRegistry,B as now,O as padEnd,k as patchPlaceholders,j as patchString,y as renderPattern,M as sf,nt as silly,$ as stringFormat,_ as toCamelCase,A as toENVFormat,C as toKebabCase,R as toPascalCase,P as toSnakeCase,ot as trace,st as verbose};
|
|
2
2
|
//# sourceMappingURL=logging.js.map
|