@decaf-ts/logging 0.23.1 → 0.23.3

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.
Files changed (50) hide show
  1. package/dist/logging.cjs +1 -1
  2. package/dist/logging.cjs.map +1 -1
  3. package/dist/logging.js +1 -1
  4. package/dist/logging.js.map +1 -1
  5. package/lib/cjs/LoggedClass.cjs +1 -1
  6. package/lib/cjs/LoggedClass.cjs.map +1 -1
  7. package/lib/cjs/constants.cjs +1 -1
  8. package/lib/cjs/constants.cjs.map +1 -1
  9. package/lib/cjs/decorators.cjs +1 -1
  10. package/lib/cjs/decorators.cjs.map +1 -1
  11. package/lib/cjs/environment.cjs +20 -2
  12. package/lib/cjs/environment.cjs.map +1 -1
  13. package/lib/cjs/errors.cjs +1 -1
  14. package/lib/cjs/errors.cjs.map +1 -1
  15. package/lib/cjs/filters/LogFilter.cjs +1 -1
  16. package/lib/cjs/filters/LogFilter.cjs.map +1 -1
  17. package/lib/cjs/filters/PatternFilter.cjs +1 -1
  18. package/lib/cjs/filters/PatternFilter.cjs.map +1 -1
  19. package/lib/cjs/filters/index.cjs +1 -1
  20. package/lib/cjs/filters/index.cjs.map +1 -1
  21. package/lib/cjs/index.cjs +4 -4
  22. package/lib/cjs/index.cjs.map +1 -1
  23. package/lib/cjs/logParameters.cjs +1 -1
  24. package/lib/cjs/logParameters.cjs.map +1 -1
  25. package/lib/cjs/logging.cjs +1 -1
  26. package/lib/cjs/logging.cjs.map +1 -1
  27. package/lib/cjs/pino/index.cjs +1 -1
  28. package/lib/cjs/pino/index.cjs.map +1 -1
  29. package/lib/cjs/pino/pino.cjs +1 -1
  30. package/lib/cjs/pino/pino.cjs.map +1 -1
  31. package/lib/cjs/text.cjs +1 -1
  32. package/lib/cjs/text.cjs.map +1 -1
  33. package/lib/cjs/time.cjs +1 -1
  34. package/lib/cjs/time.cjs.map +1 -1
  35. package/lib/cjs/types.cjs +1 -1
  36. package/lib/cjs/types.cjs.map +1 -1
  37. package/lib/cjs/utils.cjs +1 -1
  38. package/lib/cjs/utils.cjs.map +1 -1
  39. package/lib/cjs/web.cjs +1 -1
  40. package/lib/cjs/web.cjs.map +1 -1
  41. package/lib/cjs/winston/index.cjs +1 -1
  42. package/lib/cjs/winston/index.cjs.map +1 -1
  43. package/lib/cjs/winston/winston.cjs +1 -1
  44. package/lib/cjs/winston/winston.cjs.map +1 -1
  45. package/lib/esm/environment.js +19 -1
  46. package/lib/esm/environment.js.map +1 -1
  47. package/lib/esm/index.js +3 -3
  48. package/lib/types/index.d.cts +2 -2
  49. package/lib/types/index.d.mts +2 -2
  50. package/package.json +4 -1
package/dist/logging.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var t,e;t=this,e=function(t,e,r,n){"use strict";const o="ENV",s="__",i=["${","}"];var a;t.LogLevel=void 0,(a=t.LogLevel||(t.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;t.LoggingMode=void 0,(l=t.LoggingMode||(t.LoggingMode={})).RAW="raw",l.JSON="json";const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},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:t.LogLevel.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:t.LoggingMode.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class f{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 h(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 L=new f;L.register({key:"level",render(t){if(!1!==t.config.logLevel)return t.level.toUpperCase()},style:(t,e)=>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")});const w=L;function E(t,e,r="g"){return Object.entries(e).forEach(([e,n])=>{const o=RegExp(k(e),r);t=t.replace(o,n)}),t}function O(t){return _(t).toUpperCase()}function _(t){return t.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function k(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function j(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 P=j;function A(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const R=Symbol("EnvironmentEmpty"),M=Symbol("EnvironmentModel"),S=/^[a-z][a-zA-Z0-9]*$/;class C extends r.ObjectAccumulator{static{this.factory=()=>new C}constructor(){super(),Object.defineProperty(this,M,{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 A()?e=globalThis[o]||{}:(e=globalThis.process.env,t=O(t)),this.parseEnvValue(e[t])}parseEnvValue(t){return C.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])=>{C.mergeModel(this[M],t,e),Object.defineProperty(this,t,{get:()=>{const r=this.fromEnv(t);return void 0!==r?r:e&&"object"==typeof e?C.buildEnvProxy(e,[t]):""===e?R:e},set:t=>{e=t},configurable:!0,enumerable:!0})})}orThrow(){const t=this[M],e=t=>void 0!==t?this.parseEnvValue(t):void 0,r=(t,e=!1)=>C.missingEnvError(t,e),n=(t,o)=>{const s={get(s,i){if("string"!=typeof i)return;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}=C.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 g=t[i];if(void 0!==g){if(""===g)throw r(c);return C.isProxyableObject(g)?n(g,a):g}},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}=C.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(C.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(...t){if(!C._instance){const e=C.factory(...t),r=new Proxy(e,{get(t,e,r){const n=Reflect.get(t,e,r);if(n!==R&&("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 C.buildEnvProxy(void 0,[e])}return n}}});C._instance=r}return C._instance}accumulate(t){return super.accumulate(t),this}static accumulate(t){const e=C.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 C._instance.get(t)}static formatEnvSegment(t){return S.test(t)?O(t):t.toUpperCase()}static buildEnvKey(t){return t.map(t=>C.formatEnvSegment(t)).join(s)}static buildRawKey(t){return t.join(s)}static readRuntimeForPath(t){const e=C.buildEnvKey(t),r=C.buildRawKey(t),n=C.readRuntimeEnv(e);if(void 0!==n)return{key:e,value:n};if(r!==e){const t=C.readRuntimeEnv(r);if(void 0!==t)return{key:r,value:t}}return{key:e,value:void 0}}static runtimeEnv(){return A()?globalThis[o]:globalThis?.process?.env}static getRuntimeChildKeys(t){const e=C.runtimeEnv();if(!e)return[];const r=[C.buildEnvKey(t),C.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}=C.readRuntimeForPath(t);return void 0!==e||C.getRuntimeChildKeys(t).length>0}static buildEnvProxy(t,e){const r=t=>C.readRuntimeEnv(t),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>C.buildEnvKey(e);if("toString"===s)return()=>C.buildEnvKey(e);if("valueOf"===s)return()=>C.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=C.buildEnvKey(i),c=C.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return C.parseRuntimeValue(l);const u=!!t&&Object.prototype.hasOwnProperty.call(t,s),g=u?t[s]:void 0,f=C.hasRuntimePath(i);return Array.isArray(t)&&(t=>"string"==typeof t&&n.test(t))(s)?u?C.isProxyableObject(g)?C.buildEnvProxy(g,i):C.parseRuntimeValue(g):f?C.buildEnvProxy(void 0,i):void 0:g&&"object"==typeof g&&C.isProxyableObject(g)?C.buildEnvProxy(g,i):u&&""===g||u&&void 0===g?void 0:u?C.parseRuntimeValue(g):C.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return t&&Reflect.ownKeys(t).forEach(t=>r.add(t)),C.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&&C.hasRuntimePath([...e,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(t)?[]:{},o)}static keys(t=!0){return C.instance().keys().map(e=>t?O(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])=>{C.mergeModel(o,t,e)})}t[e]=r}}static readRuntimeEnv(t){if(A()){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 $=C.accumulate(Object.assign({app:void 0},g,{env:(A()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function T(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 I(t){return"function"==typeof t&&!T(t)}function V(t){if(!I(t))return!1;const e=Object.getOwnPropertyDescriptor(t,"prototype");return!e||void 0===e.value}function N(t){if(null===t||"object"!=typeof t)return!1;const e=t.constructor;return!(!e||e===Object)&&T(e)}function F(t){if(null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return t;if(T(t))return t.name||"AnonymousClass";if(N(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(V(t)||I(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 K=Symbol("MiniLoggerRootContext");class D{constructor(t,e,r=[]){this.conf=e,this.baseContext=Array.isArray(r)?[...r]:[],t&&this.baseContext.push(t),this.context=[...this.baseContext],this[K]=[...this.baseContext]}config(t){return this.conf&&t in this.conf?this.conf[t]:U.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[K],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof t?n=t:void 0!==t&&(T(t)||N(t)||I(t)?n=F(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],o=void 0,r):"context"===e?c:"root"===e?[...a]:e===K?a:"for"===e?(...e)=>{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}}:n}})}getConfigSnapshot(){return{...U.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){const o=!!this.config("style"),s=this.config("separator"),i=U.getConfig().app,a=this.config("timestamp")?(new Date).toISOString():void 0,c=this.getConfigSnapshot(),l=this.getContextSegments(),u="string"==typeof e?e:e instanceof Error?e.message:e+"",g=this.applyFilters(u,l,c),f=this.config("meta")&&n?n:void 0,p=f?this.formatMeta(f):void 0,d=p?this.applyFilters(p,l,c):void 0,b=this.config("correlationId"),m=null!=b?b+"":void 0;let v,x;if(r||e instanceof Error){const n=r||e;n.stack&&(x="string"==typeof e?g:n.message,v=` | ${x} - Stack trace:\n${o?U.theme(n.stack,"stack",t):n.stack}`)}const L={config:c,level:t,context:l,timestamp:a,app:"string"==typeof i&&i.length?i:void 0,separator:s,correlationId:m,rawMessage:u,filteredMessage:g,meta:f,metaString:d,stack:v,stackLabel:x,applyTheme:(e,r)=>o?U.theme(e,r,t):e},E=this.config("pattern"),O=c.pattern||"",_=h(E.length?E:O),k=w.render(L,_.keys);switch(this.config("format")){case"json":{const t=w.render(L,w.keys()),e={};return Object.entries(t).forEach(([t,r])=>{"meta"!==t&&(e[t]=r)}),L.meta&&(e.meta=L.meta),JSON.stringify(e)}case"raw":{let t=this.normalizePatternSpacing(y(_,k));return!_.includesMeta&&d&&(t=t?`${t} ${d}`:d),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(e,r,n,o){const s=this.config("level");if(c[e]>c[s])return;let i;switch(e){case t.LogLevel.benchmark:i=console.log;break;case t.LogLevel.fatal:case t.LogLevel.critical:case t.LogLevel.error:i=console.error;break;case t.LogLevel.info:case t.LogLevel.verbose:i=console.log;break;case t.LogLevel.debug:i=console.debug;break;case t.LogLevel.trace:i=console.trace;break;case t.LogLevel.warn:i=console.warn;break;case t.LogLevel.silly:i=console.debug;break;default:throw Error("Invalid log level")}i(this.createLog(e,r,n,o))}benchmark(e,r){this.log(t.LogLevel.benchmark,e,void 0,r)}fatal(e,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(t.LogLevel.fatal,e,o,s)}critical(e,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(t.LogLevel.critical,e,o,s)}silly(e,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(t.LogLevel.silly,e,void 0,s)}verbose(e,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(t.LogLevel.verbose,e,void 0,s)}info(e,r){this.log(t.LogLevel.info,e,void 0,r)}debug(e,r){this.log(t.LogLevel.debug,e,void 0,r)}error(e,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(t.LogLevel.error,e,o,s)}warn(e,r){this.log(t.LogLevel.warn,e,void 0,r)}trace(e,r){this.log(t.LogLevel.trace,e,void 0,r)}setConfig(t){this.conf={...this.conf||{},...t}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class U{static{this._factory=(t,e)=>{const r="string"==typeof $.app?[$.app]:[];return new D(t,e,r)}}static{this._config=$}constructor(){}static setFactory(t){U._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 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[K]=[...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(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({},t.LogLevel);return Object.keys(i)[0]in c&&(a=i[o]||{}),Object.keys(a).reduce((t,r)=>{const n=a[r];return n?((t,r,n)=>{try{const o=t;let s=e.style(o);function i(t,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(t))return i.call(s,n);switch(t.length){case 1:return i=r?s.bgColor256:s.color256,i(t[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(t[0],t[1],t[2]);default:return e.style(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 t}})(t,r,n):t},r)}static register(t){return w.register(t)}static unregister(t){return w.unregister(t)}}class z{get log(){return this._log||(this._log=U.for(this)),this._log}constructor(){}}class B extends z{get log(){return super.log.for(this,{filters:[]})}}const J="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();function W(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 Z(e=t.LogLevel.info,r=0,n=(...t)=>"called with "+t,o){return(t,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=t instanceof z?t.log.for(t[s]):U.for(t).for(t[s]),c=a[e].bind(a),l=i.value;return i.value=new Proxy(l,{apply(t,e,s){c(n(...s),r);try{const r=Reflect.apply(t,e,s);return r instanceof Promise?r.then(t=>(o&&c(o(void 0,t)),t)).catch(t=>{throw o&&a.error(o(t)),t}):(o&&c(o(void 0,r)),r)}catch(t){throw o&&a.error(o(t)),t}}}),i}}function q(){return(t,e,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class H extends B{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""}}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(t,e,r){if(e instanceof G)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}}t.BaseError=G,t.BrowserEnvKey=o,t.COMMIT="1520c76",t.DefaultLoggingConfig=g,t.DefaultPlaceholderWrappers=i,t.DefaultTheme=u,t.ENV_PATH_DELIMITER=s,t.Environment=C,t.FULL_VERSION="0.23.0-1520c76",t.LogFilter=B,t.LogParameterRegistry=f,t.LoggedClass=z,t.LoggedEnvironment=$,t.Logging=U,t.MiniLogger=D,t.NumericLogLevels=c,t.PACKAGE_NAME="@decaf-ts/logging",t.PatternFilter=H,t.ROOT_CONTEXT_SYMBOL=K,t.StopWatch=class{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+(J()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=J()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=J()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=J()),this}stop(){return this.pause(),this._elapsedMs}reset(){const t=this._running;return this._startMs=t?J():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 W(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}},t.VERSION="0.23.0",t.benchmark=()=>(t,e,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=t instanceof z?t.log.for(t[e]):U.for(t).for(t[e]),o=r.value;return r.value=new Proxy(o,{apply(t,e,r){const o=J();try{const s=Reflect.apply(t,e,r);return s instanceof Promise?s.then(t=>(n.benchmark(`completed in ${J()-o}ms`),t)).catch(t=>{throw n.benchmark(`failed in ${J()-o}ms`),t}):(n.benchmark(`completed in ${J()-o}ms`),s)}catch(t){throw n.benchmark(`failed in ${J()-o}ms`),t}}}),r},t.compileLogPattern=h,t.debug=()=>Z(t.LogLevel.debug,0,(...t)=>"called with "+t,(t,e)=>t?"Failed with: "+t:e?"Completed with "+JSON.stringify(e):"completed"),t.escapeRegExp=k,t.final=q,t.formatMs=W,t.getObjectName=F,t.info=()=>Z(t.LogLevel.info),t.isBrowser=A,t.isClass=T,t.isFunction=I,t.isInstance=N,t.isMethod=V,t.log=Z,t.logParameterRegistry=w,t.now=J,t.padEnd=(t,e,r=" ")=>{if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return t.padEnd(e,r)},t.patchPlaceholders=(t,e,r=i[0],n=i[1],o="g")=>E(t,Object.entries(e).reduce((t,[e,o])=>(t[`${r}${e}${n}`]=o,t),{}),o),t.patchString=E,t.renderPattern=y,t.sf=j,t.silly=()=>Z(t.LogLevel.silly),t.stringFormat=P,t.toCamelCase=t=>t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,e)=>0===e?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,""),t.toENVFormat=O,t.toKebabCase=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),t.toPascalCase=t=>t.replace(/(?:^\w|[A-Z]|\b\w)/g,t=>t.toUpperCase()).replace(/\s+/g,""),t.toSnakeCase=_,t.trace=()=>Z(t.LogLevel.trace),t.verbose=(e=0)=>(e||(e=0),Z(t.LogLevel.verbose,e)),Object.keys(e).forEach(r=>{"default"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:()=>e[r]})})},"object"==typeof exports&&"undefined"!=typeof module?e(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"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).logging={},t.styledStringBuilder,t.typedObjectAccumulator,t.tslib);
1
+ var t,e;t=this,e=function(t,e,r,n){"use strict";const o="ENV",s="__",i=["${","}"];var a;t.LogLevel=void 0,(a=t.LogLevel||(t.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;t.LoggingMode=void 0,(l=t.LoggingMode||(t.LoggingMode={})).RAW="raw",l.JSON="json";const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},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:t.LogLevel.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:t.LoggingMode.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class f{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 h=new Map;function p(t){if(h.has(t))return h.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 h.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 L=new f;L.register({key:"level",render(t){if(!1!==t.config.logLevel)return t.level.toUpperCase()},style:(t,e)=>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")});const w=L;function E(t,e,r="g"){return Object.entries(e).forEach(([e,n])=>{const o=RegExp(k(e),r);t=t.replace(o,n)}),t}function O(t){return _(t).toUpperCase()}function _(t){return t.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function k(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function j(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 P=j;function A(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const R=Symbol("EnvironmentEmpty"),M=Symbol("EnvironmentModel"),S=/^[a-z][a-zA-Z0-9]*$/;class C extends r.ObjectAccumulator{static{this.factory=()=>new C}constructor(){super(),Object.defineProperty(this,M,{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 A()?e=globalThis[o]||{}:(e=globalThis.process.env,t=O(t)),this.parseEnvValue(e[t])}parseEnvValue(t){return C.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])=>{C.mergeModel(this[M],t,e),Object.defineProperty(this,t,{get:()=>{const r=this.fromEnv(t);return void 0!==r?r:e&&"object"==typeof e?C.buildEnvProxy(e,[t]):""===e?R:e},set:t=>{e=t},configurable:!0,enumerable:!0})})}orThrow(){const t=this[M],e=t=>void 0!==t?this.parseEnvValue(t):void 0,r=(t,e=!1)=>C.missingEnvError(t,e),n=(t,o)=>{const s={get(s,i){if(i===Symbol.toPrimitive)return()=>C.buildEnvKey(o);if("toString"===i)return()=>C.buildEnvKey(o);if("valueOf"===i)return()=>C.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}=C.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 g=t[i];if(void 0!==g){if(""===g)throw r(c);return C.isProxyableObject(g)?n(g,a):g}},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}=C.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(C.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(...t){if(!C._instance){const e=C.factory(...t),r=new Proxy(e,{get(t,e,r){const n=Reflect.get(t,e,r);if(n!==R&&("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 C.buildEnvProxy(void 0,[e])}return n}}});C._instance=r}return C._instance}accumulate(t){return super.accumulate(t),this}static accumulate(t){const e=C.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 C._instance.get(t)}static formatEnvSegment(t){return S.test(t)?O(t):t.toUpperCase()}static buildEnvKey(t){return t.map(t=>C.formatEnvSegment(t)).join(s)}static buildRawKey(t){return t.join(s)}static readRuntimeForPath(t){const e=C.buildEnvKey(t),r=C.buildRawKey(t),n=C.readRuntimeEnv(e);if(void 0!==n)return{key:e,value:n};if(r!==e){const t=C.readRuntimeEnv(r);if(void 0!==t)return{key:r,value:t}}return{key:e,value:void 0}}static runtimeEnv(){return A()?globalThis[o]:globalThis?.process?.env}static getRuntimeChildKeys(t){const e=C.runtimeEnv();if(!e)return[];const r=[C.buildEnvKey(t),C.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}=C.readRuntimeForPath(t);return void 0!==e||C.getRuntimeChildKeys(t).length>0}static buildEnvProxy(t,e){const r=t=>C.readRuntimeEnv(t),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>C.buildEnvKey(e);if("toString"===s)return()=>C.buildEnvKey(e);if("valueOf"===s)return()=>C.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=C.buildEnvKey(i),c=C.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return C.parseRuntimeValue(l);const u=!!t&&Object.prototype.hasOwnProperty.call(t,s),g=u?t[s]:void 0,f=C.hasRuntimePath(i);return Array.isArray(t)&&(t=>"string"==typeof t&&n.test(t))(s)?u?C.isProxyableObject(g)?C.buildEnvProxy(g,i):C.parseRuntimeValue(g):f?C.buildEnvProxy(void 0,i):void 0:g&&"object"==typeof g&&C.isProxyableObject(g)?C.buildEnvProxy(g,i):u&&""===g||u&&void 0===g?void 0:u?C.parseRuntimeValue(g):C.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return t&&Reflect.ownKeys(t).forEach(t=>r.add(t)),C.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&&C.hasRuntimePath([...e,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(t)?[]:{},o)}static keys(t=!0){return C.instance().keys().map(e=>t?O(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])=>{C.mergeModel(o,t,e)})}t[e]=r}}static readRuntimeEnv(t){if(A()){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 $=C.accumulate(Object.assign({app:void 0},g,{env:(A()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function T(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 I(t){return"function"==typeof t&&!T(t)}function K(t){if(!I(t))return!1;const e=Object.getOwnPropertyDescriptor(t,"prototype");return!e||void 0===e.value}function N(t){if(null===t||"object"!=typeof t)return!1;const e=t.constructor;return!(!e||e===Object)&&T(e)}function V(t){if(null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return t;if(T(t))return t.name||"AnonymousClass";if(N(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(K(t)||I(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 F=Symbol("MiniLoggerRootContext");class D{constructor(t,e,r=[]){this.conf=e,this.baseContext=Array.isArray(r)?[...r]:[],t&&this.baseContext.push(t),this.context=[...this.baseContext],this[F]=[...this.baseContext]}config(t){return this.conf&&t in this.conf?this.conf[t]:U.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[F],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof t?n=t:void 0!==t&&(T(t)||N(t)||I(t)?n=V(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],o=void 0,r):"context"===e?c:"root"===e?[...a]:e===F?a:"for"===e?(...e)=>{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}}:n}})}getConfigSnapshot(){return{...U.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){const o=!!this.config("style"),s=this.config("separator"),i=U.getConfig().app,a=this.config("timestamp")?(new Date).toISOString():void 0,c=this.getConfigSnapshot(),l=this.getContextSegments(),u="string"==typeof e?e:e instanceof Error?e.message:e+"",g=this.applyFilters(u,l,c),f=this.config("meta")&&n?n:void 0,h=f?this.formatMeta(f):void 0,d=h?this.applyFilters(h,l,c):void 0,b=this.config("correlationId"),m=null!=b?b+"":void 0;let v,x;if(r||e instanceof Error){const n=r||e;n.stack&&(x="string"==typeof e?g:n.message,v=` | ${x} - Stack trace:\n${o?U.theme(n.stack,"stack",t):n.stack}`)}const L={config:c,level:t,context:l,timestamp:a,app:"string"==typeof i&&i.length?i:void 0,separator:s,correlationId:m,rawMessage:u,filteredMessage:g,meta:f,metaString:d,stack:v,stackLabel:x,applyTheme:(e,r)=>o?U.theme(e,r,t):e},E=this.config("pattern"),O=c.pattern||"",_=p(E.length?E:O),k=w.render(L,_.keys);switch(this.config("format")){case"json":{const t=w.render(L,w.keys()),e={};return Object.entries(t).forEach(([t,r])=>{"meta"!==t&&(e[t]=r)}),L.meta&&(e.meta=L.meta),JSON.stringify(e)}case"raw":{let t=this.normalizePatternSpacing(y(_,k));return!_.includesMeta&&d&&(t=t?`${t} ${d}`:d),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(e,r,n,o){const s=this.config("level");if(c[e]>c[s])return;let i;switch(e){case t.LogLevel.benchmark:i=console.log;break;case t.LogLevel.fatal:case t.LogLevel.critical:case t.LogLevel.error:i=console.error;break;case t.LogLevel.info:case t.LogLevel.verbose:i=console.log;break;case t.LogLevel.debug:i=console.debug;break;case t.LogLevel.trace:i=console.trace;break;case t.LogLevel.warn:i=console.warn;break;case t.LogLevel.silly:i=console.debug;break;default:throw Error("Invalid log level")}i(this.createLog(e,r,n,o))}benchmark(e,r){this.log(t.LogLevel.benchmark,e,void 0,r)}fatal(e,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(t.LogLevel.fatal,e,o,s)}critical(e,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(t.LogLevel.critical,e,o,s)}silly(e,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(t.LogLevel.silly,e,void 0,s)}verbose(e,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(t.LogLevel.verbose,e,void 0,s)}info(e,r){this.log(t.LogLevel.info,e,void 0,r)}debug(e,r){this.log(t.LogLevel.debug,e,void 0,r)}error(e,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(t.LogLevel.error,e,o,s)}warn(e,r){this.log(t.LogLevel.warn,e,void 0,r)}trace(e,r){this.log(t.LogLevel.trace,e,void 0,r)}setConfig(t){this.conf={...this.conf||{},...t}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class U{static{this._factory=(t,e)=>{const r="string"==typeof $.app?[$.app]:[];return new D(t,e,r)}}static{this._config=$}constructor(){}static setFactory(t){U._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 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[F]=[...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(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({},t.LogLevel);return Object.keys(i)[0]in c&&(a=i[o]||{}),Object.keys(a).reduce((t,r)=>{const n=a[r];return n?((t,r,n)=>{try{const o=t;let s=e.style(o);function i(t,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(t))return i.call(s,n);switch(t.length){case 1:return i=r?s.bgColor256:s.color256,i(t[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(t[0],t[1],t[2]);default:return e.style(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 t}})(t,r,n):t},r)}static register(t){return w.register(t)}static unregister(t){return w.unregister(t)}}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 t=process.hrtime.bigint();return Number(t)/1e6}:()=>Date.now();function W(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 Z(e=t.LogLevel.info,r=0,n=(...t)=>"called with "+t,o){return(t,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=t instanceof z?t.log.for(t[s]):U.for(t).for(t[s]),c=a[e].bind(a),l=i.value;return i.value=new Proxy(l,{apply(t,e,s){c(n(...s),r);try{const r=Reflect.apply(t,e,s);return r instanceof Promise?r.then(t=>(o&&c(o(void 0,t)),t)).catch(t=>{throw o&&a.error(o(t)),t}):(o&&c(o(void 0,r)),r)}catch(t){throw o&&a.error(o(t)),t}}}),i}}function q(){return(t,e,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(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""}}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(t,e,r){if(e instanceof G)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}}t.BaseError=G,t.BrowserEnvKey=o,t.COMMIT="cf098ab",t.DefaultLoggingConfig=g,t.DefaultPlaceholderWrappers=i,t.DefaultTheme=u,t.ENV_PATH_DELIMITER=s,t.Environment=C,t.FULL_VERSION="0.23.2-cf098ab",t.LogFilter=J,t.LogParameterRegistry=f,t.LoggedClass=z,t.LoggedEnvironment=$,t.Logging=U,t.MiniLogger=D,t.NumericLogLevels=c,t.PACKAGE_NAME="@decaf-ts/logging",t.PatternFilter=H,t.ROOT_CONTEXT_SYMBOL=F,t.StopWatch=class{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 W(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}},t.VERSION="0.23.2",t.benchmark=()=>(t,e,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=t instanceof z?t.log.for(t[e]):U.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},t.compileLogPattern=p,t.debug=()=>Z(t.LogLevel.debug,0,(...t)=>"called with "+t,(t,e)=>t?"Failed with: "+t:e?"Completed with "+JSON.stringify(e):"completed"),t.escapeRegExp=k,t.final=q,t.formatMs=W,t.getObjectName=V,t.info=()=>Z(t.LogLevel.info),t.isBrowser=A,t.isClass=T,t.isFunction=I,t.isInstance=N,t.isMethod=K,t.log=Z,t.logParameterRegistry=w,t.now=B,t.padEnd=(t,e,r=" ")=>{if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return t.padEnd(e,r)},t.patchPlaceholders=(t,e,r=i[0],n=i[1],o="g")=>E(t,Object.entries(e).reduce((t,[e,o])=>(t[`${r}${e}${n}`]=o,t),{}),o),t.patchString=E,t.renderPattern=y,t.sf=j,t.silly=()=>Z(t.LogLevel.silly),t.stringFormat=P,t.toCamelCase=t=>t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,e)=>0===e?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,""),t.toENVFormat=O,t.toKebabCase=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),t.toPascalCase=t=>t.replace(/(?:^\w|[A-Z]|\b\w)/g,t=>t.toUpperCase()).replace(/\s+/g,""),t.toSnakeCase=_,t.trace=()=>Z(t.LogLevel.trace),t.verbose=(e=0)=>(e||(e=0),Z(t.LogLevel.verbose,e)),Object.keys(e).forEach(r=>{"default"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:()=>e[r]})})},"object"==typeof exports&&"undefined"!=typeof module?e(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"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).logging={},t.styledStringBuilder,t.typedObjectAccumulator,t.tslib);
2
2
  //# sourceMappingURL=logging.cjs.map
@@ -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","logLevel","style","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","config","toUpperCase","applyTheme","filteredMessage","metaString","correlationId","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","Reflect","bind","nextPath","envKey","runtimeRaw","readRuntimeForPath","runtimeValue","hasOwnProperty","call","modelValue","ownKeys","getOwnPropertyDescriptor","Proxy","target","receiver","actual","instance","_instance","base","proxied","accumulate","desc","formatEnvSegment","buildEnvKey","map","buildRawKey","formattedKey","rawKey","runtimeFormatted","readRuntimeEnv","runtimeEnv","getRuntimeChildKeys","prefixes","childKeys","fullPrefix","startsWith","childKey","split","hasRuntimePath","current","readEnv","arrayIndexPattern","toPrimitive","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","originalContext","for","getConfigSnapshot","getContextSegments","resolveFilters","candidate","entry","applyFilters","next","createLog","styleEnabled","Date","toISOString","configSnapshot","rawMessage","String","metaPayload","formatMeta","filteredMetaString","correlationIdValue","stackLabel","configuredPattern","defaultPattern","jsonValues","logEntry","JSON","stringify","generated","normalizePatternSpacing","err","log","msg","confLvl","console","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","code","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","logLevel","style","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","config","toUpperCase","applyTheme","filteredMessage","metaString","correlationId","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","originalContext","for","getConfigSnapshot","getContextSegments","resolveFilters","candidate","entry","applyFilters","next","createLog","styleEnabled","Date","toISOString","configSnapshot","rawMessage","String","metaPayload","formatMeta","filteredMetaString","correlationIdValue","stackLabel","configuredPattern","defaultPattern","jsonValues","logEntry","JSON","stringify","generated","normalizePatternSpacing","err","log","msg","confLvl","console","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","code","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:{},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){if(!1!==t.config.logLevel)return t.level.toUpperCase()},style:(t,e)=>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")});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 R(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function M(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,t=>t.toUpperCase()).replace(/\s+/g,"")}function S(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(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 C=$;function T(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const I=Symbol("EnvironmentEmpty"),V=Symbol("EnvironmentModel"),K=/^[a-z][a-zA-Z0-9]*$/;class L extends e{static{this.factory=()=>new L}constructor(){super(),Object.defineProperty(this,V,{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 L.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])=>{L.mergeModel(this[V],t,e),Object.defineProperty(this,t,{get:()=>{const r=this.fromEnv(t);return void 0!==r?r:e&&"object"==typeof e?L.buildEnvProxy(e,[t]):""===e?I:e},set:t=>{e=t},configurable:!0,enumerable:!0})})}orThrow(){const t=this[V],e=t=>void 0!==t?this.parseEnvValue(t):void 0,r=(t,e=!1)=>L.missingEnvError(t,e),n=(t,o)=>{const s={get(s,i){if("string"!=typeof i)return;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}=L.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 L.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}=L.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(L.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(!L._instance){const e=L.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 L.buildEnvProxy(void 0,[e])}return n}}});L._instance=r}return L._instance}accumulate(t){return super.accumulate(t),this}static accumulate(t){const e=L.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 L._instance.get(t)}static formatEnvSegment(t){return K.test(t)?A(t):t.toUpperCase()}static buildEnvKey(t){return t.map(t=>L.formatEnvSegment(t)).join(s)}static buildRawKey(t){return t.join(s)}static readRuntimeForPath(t){const e=L.buildEnvKey(t),r=L.buildRawKey(t),n=L.readRuntimeEnv(e);if(void 0!==n)return{key:e,value:n};if(r!==e){const t=L.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=L.runtimeEnv();if(!e)return[];const r=[L.buildEnvKey(t),L.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}=L.readRuntimeForPath(t);return void 0!==e||L.getRuntimeChildKeys(t).length>0}static buildEnvProxy(t,e){const r=t=>L.readRuntimeEnv(t),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>L.buildEnvKey(e);if("toString"===s)return()=>L.buildEnvKey(e);if("valueOf"===s)return()=>L.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=L.buildEnvKey(i),c=L.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return L.parseRuntimeValue(l);const u=!!t&&Object.prototype.hasOwnProperty.call(t,s),f=u?t[s]:void 0,h=L.hasRuntimePath(i);return Array.isArray(t)&&(t=>"string"==typeof t&&n.test(t))(s)?u?L.isProxyableObject(f)?L.buildEnvProxy(f,i):L.parseRuntimeValue(f):h?L.buildEnvProxy(void 0,i):void 0:f&&"object"==typeof f&&L.isProxyableObject(f)?L.buildEnvProxy(f,i):u&&""===f||u&&void 0===f?void 0:u?L.parseRuntimeValue(f):L.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return t&&Reflect.ownKeys(t).forEach(t=>r.add(t)),L.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&&L.hasRuntimePath([...e,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(t)?[]:{},o)}static keys(t=!0){return L.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])=>{L.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 F=L.accumulate(Object.assign({app:void 0},f,{env:(T()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function N(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&&!N(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)&&N(e)}function J(t){if(null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return t;if(N(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&&(N(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],o=void 0,r):"context"===e?c:"root"===e?[...a]:e===Z?a:"for"===e?(...e)=>{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}}: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){const o=!!this.config("style"),s=this.config("separator"),i=H.getConfig().app,a=this.config("timestamp")?(new Date).toISOString():void 0,c=this.getConfigSnapshot(),l=this.getContextSegments(),u="string"==typeof e?e:e instanceof Error?e.message:e+"",f=this.applyFilters(u,l,c),h=this.config("meta")&&n?n:void 0,p=h?this.formatMeta(h):void 0,d=p?this.applyFilters(p,l,c):void 0,b=this.config("correlationId"),m=null!=b?b+"":void 0;let v,x;if(r||e instanceof Error){const n=r||e;n.stack&&(x="string"==typeof e?f:n.message,v=` | ${x} - Stack trace:\n${o?H.theme(n.stack,"stack",t):n.stack}`)}const w={config:c,level:t,context:l,timestamp:a,app:"string"==typeof i&&i.length?i:void 0,separator:s,correlationId:m,rawMessage:u,filteredMessage:f,meta:h,metaString:d,stack:v,stackLabel:x,applyTheme:(e,r)=>o?H.theme(e,r,t):e},O=this.config("pattern"),k=c.pattern||"",j=g(O.length?O:k),_=E.render(w,j.keys);switch(this.config("format")){case"json":{const t=E.render(w,E.keys()),e={};return Object.entries(t).forEach(([t,r])=>{"meta"!==t&&(e[t]=r)}),w.meta&&(e.meta=w.meta),JSON.stringify(e)}case"raw":{let t=this.normalizePatternSpacing(y(j,_));return!j.includesMeta&&d&&(t=t?`${t} ${d}`:d),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)}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 F.app?[F.app]:[];return new W(t,e,r)}}static{this._config=F}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 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,L as Environment,ft as FULL_VERSION,G as LogFilter,a as LogLevel,h as LogParameterRegistry,q as LoggedClass,F 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,N 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,$ as sf,nt as silly,C as stringFormat,_ as toCamelCase,A as toENVFormat,R as toKebabCase,M 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:{},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){if(!1!==t.config.logLevel)return t.level.toUpperCase()},style:(t,e)=>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")});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(M(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 R(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function S(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,t=>t.toUpperCase()).replace(/\s+/g,"")}function M(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(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 C=$;function T(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const I=Symbol("EnvironmentEmpty"),K=Symbol("EnvironmentModel"),V=/^[a-z][a-zA-Z0-9]*$/;class L extends e{static{this.factory=()=>new L}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 L.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])=>{L.mergeModel(this[K],t,e),Object.defineProperty(this,t,{get:()=>{const r=this.fromEnv(t);return void 0!==r?r:e&&"object"==typeof e?L.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)=>L.missingEnvError(t,e),n=(t,o)=>{const s={get(s,i){if(i===Symbol.toPrimitive)return()=>L.buildEnvKey(o);if("toString"===i)return()=>L.buildEnvKey(o);if("valueOf"===i)return()=>L.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}=L.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 L.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}=L.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(L.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(!L._instance){const e=L.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 L.buildEnvProxy(void 0,[e])}return n}}});L._instance=r}return L._instance}accumulate(t){return super.accumulate(t),this}static accumulate(t){const e=L.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 L._instance.get(t)}static formatEnvSegment(t){return V.test(t)?A(t):t.toUpperCase()}static buildEnvKey(t){return t.map(t=>L.formatEnvSegment(t)).join(s)}static buildRawKey(t){return t.join(s)}static readRuntimeForPath(t){const e=L.buildEnvKey(t),r=L.buildRawKey(t),n=L.readRuntimeEnv(e);if(void 0!==n)return{key:e,value:n};if(r!==e){const t=L.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=L.runtimeEnv();if(!e)return[];const r=[L.buildEnvKey(t),L.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}=L.readRuntimeForPath(t);return void 0!==e||L.getRuntimeChildKeys(t).length>0}static buildEnvProxy(t,e){const r=t=>L.readRuntimeEnv(t),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>L.buildEnvKey(e);if("toString"===s)return()=>L.buildEnvKey(e);if("valueOf"===s)return()=>L.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=L.buildEnvKey(i),c=L.buildRawKey(i);let l=r(a);if(void 0===l&&c!==a&&(l=r(c)),void 0!==l)return L.parseRuntimeValue(l);const u=!!t&&Object.prototype.hasOwnProperty.call(t,s),f=u?t[s]:void 0,h=L.hasRuntimePath(i);return Array.isArray(t)&&(t=>"string"==typeof t&&n.test(t))(s)?u?L.isProxyableObject(f)?L.buildEnvProxy(f,i):L.parseRuntimeValue(f):h?L.buildEnvProxy(void 0,i):void 0:f&&"object"==typeof f&&L.isProxyableObject(f)?L.buildEnvProxy(f,i):u&&""===f||u&&void 0===f?void 0:u?L.parseRuntimeValue(f):L.buildEnvProxy(void 0,i)},ownKeys(){const r=new Set;return t&&Reflect.ownKeys(t).forEach(t=>r.add(t)),L.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&&L.hasRuntimePath([...e,n])?{enumerable:!0,configurable:!0}:void 0};return new Proxy(Array.isArray(t)?[]:{},o)}static keys(t=!0){return L.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])=>{L.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 F=L.accumulate(Object.assign({app:void 0},f,{env:(T()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function N(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&&!N(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)&&N(e)}function J(t){if(null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return t;if(N(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&&(N(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],o=void 0,r):"context"===e?c:"root"===e?[...a]:e===Z?a:"for"===e?(...e)=>{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}}: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){const o=!!this.config("style"),s=this.config("separator"),i=H.getConfig().app,a=this.config("timestamp")?(new Date).toISOString():void 0,c=this.getConfigSnapshot(),l=this.getContextSegments(),u="string"==typeof e?e:e instanceof Error?e.message:e+"",f=this.applyFilters(u,l,c),h=this.config("meta")&&n?n:void 0,p=h?this.formatMeta(h):void 0,d=p?this.applyFilters(p,l,c):void 0,b=this.config("correlationId"),m=null!=b?b+"":void 0;let v,x;if(r||e instanceof Error){const n=r||e;n.stack&&(x="string"==typeof e?f:n.message,v=` | ${x} - Stack trace:\n${o?H.theme(n.stack,"stack",t):n.stack}`)}const w={config:c,level:t,context:l,timestamp:a,app:"string"==typeof i&&i.length?i:void 0,separator:s,correlationId:m,rawMessage:u,filteredMessage:f,meta:h,metaString:d,stack:v,stackLabel:x,applyTheme:(e,r)=>o?H.theme(e,r,t):e},O=this.config("pattern"),k=c.pattern||"",j=g(O.length?O:k),_=E.render(w,j.keys);switch(this.config("format")){case"json":{const t=E.render(w,E.keys()),e={};return Object.entries(t).forEach(([t,r])=>{"meta"!==t&&(e[t]=r)}),w.meta&&(e.meta=w.meta),JSON.stringify(e)}case"raw":{let t=this.normalizePatternSpacing(y(j,_));return!j.includesMeta&&d&&(t=t?`${t} ${d}`:d),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)}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 F.app?[F.app]:[];return new W(t,e,r)}}static{this._config=F}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 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,L as Environment,ft as FULL_VERSION,G as LogFilter,a as LogLevel,h as LogParameterRegistry,q as LoggedClass,F 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,M as escapeRegExp,it as final,X as formatMs,J as getObjectName,rt as info,T as isBrowser,N 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,$ as sf,nt as silly,C as stringFormat,_ as toCamelCase,A as toENVFormat,R as toKebabCase,S as toPascalCase,P as toSnakeCase,ot as trace,st as verbose};
2
2
  //# sourceMappingURL=logging.js.map