Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@decaf-ts/logging

Package Overview
Dependencies
Maintainers
5
Versions
111
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@decaf-ts/logging - npm Package Compare versions

Comparing version
0.15.0
to
0.16.0
+1
lib/cjs/constants.cjs.map
{"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.js"],"names":[],"mappings":"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"}
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["decorators.js"],"names":[],"mappings":"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"}
{"version":3,"file":"environment.js","sourceRoot":"","sources":["environment.js"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,iDAA+B;AAC/B,qDAAmC;AACnC,iCAAiC"}
{"version":3,"file":"LogFilter.js","sourceRoot":"","sources":["LogFilter.js"],"names":[],"mappings":";;;AAAA,wDAAkD;AAClD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,SAAU,SAAQ,4BAAW;IACtC;;;;OAIG;IACH,IAAI,GAAG;QACH,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AATD,8BASC;AACD,qCAAqC"}
{"version":3,"file":"PatternFilter.js","sourceRoot":"","sources":["PatternFilter.js"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAmC;AACnC,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,+CAA6B;AAC7B,qDAAmC;AACnC,4CAA0B;AAC1B,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B;AAC3B,wDAAsC;AACtC;;;;;;GAMG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AACrC;;;;;;GAMG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAC1C,iCAAiC"}
{"version":3,"file":"LoggedClass.js","sourceRoot":"","sources":["LoggedClass.js"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,WAAW;IACpB;;;;OAIG;IACH,IAAI,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,IAAI;YACV,IAAI,CAAC,IAAI,GAAG,oBAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,gBAAgB,CAAC;CACpB;AAZD,kCAYC;AACD,uCAAuC"}
{"version":3,"file":"logging.js","sourceRoot":"","sources":["logging.js"],"names":[],"mappings":"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"}
{"version":3,"file":"logParameters.js","sourceRoot":"","sources":["logParameters.js"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,4CAA0B;AAC1B,iCAAiC"}
{"version":3,"file":"pino.js","sourceRoot":"","sources":["pino.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAC1C,gDAAsD;AACtD,oDAA6C;AAC7C,MAAM,cAAc,GAAG;IACnB,CAAC,uBAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAC5B,CAAC,uBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,uBAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,uBAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,uBAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAC1B,CAAC,uBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,uBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,uBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;CAC5B,CAAC;AACF,MAAM,cAAc,GAAG;IACnB,KAAK,EAAE,uBAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,uBAAQ,CAAC,KAAK;IACrB,IAAI,EAAE,uBAAQ,CAAC,IAAI;IACnB,IAAI,EAAE,uBAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,uBAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,uBAAQ,CAAC,KAAK;CACxB,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;AAC/D,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;IAC5B,IAAI,CAAC,KAAK;QACN,OAAO,SAAS,CAAC;IACrB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM;QAChB,OAAO,QAAQ,CAAC;IACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IACpD,MAAM,OAAO,GAAG;QACZ,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,EAAE,OAAO;QACb,GAAG,SAAS;KACf,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK;QACd,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,IAAI;QACb,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IAC3B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,EAAE;IACtC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAC3C,OAAO,KAAK,CAAC;IACjB,OAAO,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC;AACjD,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,EAAE;IACpC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QACtC,OAAO,SAAS,CAAC;IACrB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;QACnB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,IAAA,kBAAW,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACF;;;;;;;GAOG;AACH,MAAa,UAAW,SAAQ,uBAAU;IACtC,YAAY,OAAO,EAAE,IAAI,EAAE,MAAM;QAC7B,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACnB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,YAAY;gBACZ,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAC5C,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,oBAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB;YACrC,oBAAO,CAAC,SAAS,EAAE,CAAC,gBAAgB,CAAC;QACzC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,IAAA,cAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IACD,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACnC,OAAO;QACX,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACV,KAAK,EAAE,UAAU;gBACjB,GAAG,EAAE,SAAS;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;aACI,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ,GAAG,EAAE,EAAE,OAAO;QACxB,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpD,CAAC,CAAC,QAAQ,CAAC,OAAO;YAClB,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,SAAS,CAAC;QACpB,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU;YACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,WAAW;YAC1C,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACjG,WAAW,CAAC,OAAO,GAAG,WAAW;YAC7B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;YAChC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,KAAK;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK;QACX,IAAI,CAAC,KAAK;YACN,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM;YACN,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;CACJ;AA5ED,gCA4EC;AACD;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;IAClD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AACF,gCAAgC"}
{"version":3,"file":"text.js","sourceRoot":"","sources":["text.js"],"names":[],"mappings":"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"}
{"version":3,"file":"time.js","sourceRoot":"","sources":["time.js"],"names":[],"mappings":"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"}
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";;AACA,iCAAiC"}
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"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"}
{"version":3,"file":"web.js","sourceRoot":"","sources":["web.js"],"names":[],"mappings":";;AAOA,8BAGC;AAVD;;;;;;GAMG;AACH,SAAgB,SAAS;IACrB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AACD,+BAA+B"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,+CAA6B;AAC7B,iCAAiC"}
{"version":3,"file":"winston.js","sourceRoot":"","sources":["winston.js"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,gDAAsD;AACtD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,aAAc,SAAQ,uBAAU;IACzC,YAAY,IAAI,EAAE,IAAI;QAClB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5H,MAAM,aAAa,GAAG;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU;YACV,MAAM,EAAE,WAAW;SACtB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,iBAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IACD,iBAAiB,CAAC,UAAU;QACxB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM;YAC/B,OAAO,UAAU,CAAC;QACtB,OAAO,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD;;;;;;;OAOG;IACH,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI;QACvB,MAAM,OAAO,GAAG;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;SACnD,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC5B,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACJ;AAnCD,sCAmCC;AACD;;;;;;;;;GASG;AACI,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,IAAI;AAC5C,6DAA6D;AAC7D,GAAG,KAAK,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAFjC,QAAA,cAAc,kBAEmB;AAC9C,mCAAmC"}
import { LoggingConfig, Theme } from "./types.cjs";
/**
* @description The global key that is used to store environment variables in browser contexts.
* @summary This enables the logging environment helpers to locate serialized environment configuration on `globalThis`.
* @const {string} BrowserEnvKey
* @memberOf module:Logging
*/
export declare const BrowserEnvKey = "ENV";
/**
* @description The delimiter that is used for composing nested environment variable names.
* @summary This joins parent and child keys when mapping object paths to ENV strings.
* @const {string} ENV_PATH_DELIMITER
* @memberOf module:Logging
*/
export declare const ENV_PATH_DELIMITER = "__";
/**
* @description The default prefix and suffix that are used for template placeholders.
* @summary This provides wrapper strings that are applied when interpolating messages with {@link patchPlaceholders}.
* @const {string[]} DefaultPlaceholderWrappers
* @memberOf module:Logging
*/
export declare const DefaultPlaceholderWrappers: string[];
/**
* @description An enum for log levels.
* @summary Defines the different levels of logging for the application.
* @enum {string}
* @readonly
* @memberOf module:Logging
*/
export declare enum LogLevel {
/** @description Benchmark events that capture performance metrics. */
benchmark = "benchmark",
/** @description Error events that indicate failures requiring attention. */
error = "error",
/** @description Warning events that may indicate issues. */
warn = "warn",
/** @description Informational events describing normal operation. */
info = "info",
/** @description Verbose diagnostic information for detailed tracing. */
verbose = "verbose",
/** @description Debug or trace details aimed at developers. */
debug = "debug",
/** @description trace details aimed at developers */
trace = "trace",
/** @description Extremely chatty or playful log entries. */
silly = "silly"
}
/**
* @description The numeric values that are associated with log levels.
* @summary This provides a numeric representation of log levels for comparison and filtering.
* @typedef {object} NumericLogLevelsShape
* @property {number} benchmark - The numeric value for the benchmark level (0).
* @property {number} error - The numeric value for the error level (3).
* @property {number} warn - The numeric value for the warn level (6).
* @property {number} info - The numeric value for the info level (9).
* @property {number} verbose - The numeric value for the verbose level (12).
* @property {number} debug - The numeric value for the debug level (15).
* @property {number} trace - The numeric value for the trace level (18).
* @property {number} silly - The numeric value for the silly level (21).
* @memberOf module:Logging
*/
/**
* @description The numeric values that are associated with log levels.
* @summary This provides a numeric representation of log levels for comparison and filtering.
* @const {NumericLogLevelsShape} NumericLogLevels
* @memberOf module:Logging
*/
export declare const NumericLogLevels: {
benchmark: number;
error: number;
warn: number;
info: number;
verbose: number;
debug: number;
trace: number;
silly: number;
};
/**
* @description An enum for logging output modes.
* @summary Defines the different output formats for log messages.
* @enum {string}
* @readonly
* @memberOf module:Logging
*/
export declare enum LoggingMode {
/** Raw text format for human readability */
RAW = "raw",
/** JSON format for machine parsing */
JSON = "json"
}
/**
* @description The default theme for styling log output.
* @summary Defines the default color and style settings for various components of log messages.
* @const {Theme} DefaultTheme
* @memberOf module:Logging
*/
export declare const DefaultTheme: Theme;
/**
* @description The default configuration for logging.
* @summary Defines the default settings for the logging system, including verbosity, log level, styling, and timestamp format.
* @const {LoggingConfig} DefaultLoggingConfig
* @memberOf module:Logging
*/
export declare const DefaultLoggingConfig: LoggingConfig;
import { LoggingConfig, Theme } from "./types.js";
/**
* @description The global key that is used to store environment variables in browser contexts.
* @summary This enables the logging environment helpers to locate serialized environment configuration on `globalThis`.
* @const {string} BrowserEnvKey
* @memberOf module:Logging
*/
export declare const BrowserEnvKey = "ENV";
/**
* @description The delimiter that is used for composing nested environment variable names.
* @summary This joins parent and child keys when mapping object paths to ENV strings.
* @const {string} ENV_PATH_DELIMITER
* @memberOf module:Logging
*/
export declare const ENV_PATH_DELIMITER = "__";
/**
* @description The default prefix and suffix that are used for template placeholders.
* @summary This provides wrapper strings that are applied when interpolating messages with {@link patchPlaceholders}.
* @const {string[]} DefaultPlaceholderWrappers
* @memberOf module:Logging
*/
export declare const DefaultPlaceholderWrappers: string[];
/**
* @description An enum for log levels.
* @summary Defines the different levels of logging for the application.
* @enum {string}
* @readonly
* @memberOf module:Logging
*/
export declare enum LogLevel {
/** @description Benchmark events that capture performance metrics. */
benchmark = "benchmark",
/** @description Error events that indicate failures requiring attention. */
error = "error",
/** @description Warning events that may indicate issues. */
warn = "warn",
/** @description Informational events describing normal operation. */
info = "info",
/** @description Verbose diagnostic information for detailed tracing. */
verbose = "verbose",
/** @description Debug or trace details aimed at developers. */
debug = "debug",
/** @description trace details aimed at developers */
trace = "trace",
/** @description Extremely chatty or playful log entries. */
silly = "silly"
}
/**
* @description The numeric values that are associated with log levels.
* @summary This provides a numeric representation of log levels for comparison and filtering.
* @typedef {object} NumericLogLevelsShape
* @property {number} benchmark - The numeric value for the benchmark level (0).
* @property {number} error - The numeric value for the error level (3).
* @property {number} warn - The numeric value for the warn level (6).
* @property {number} info - The numeric value for the info level (9).
* @property {number} verbose - The numeric value for the verbose level (12).
* @property {number} debug - The numeric value for the debug level (15).
* @property {number} trace - The numeric value for the trace level (18).
* @property {number} silly - The numeric value for the silly level (21).
* @memberOf module:Logging
*/
/**
* @description The numeric values that are associated with log levels.
* @summary This provides a numeric representation of log levels for comparison and filtering.
* @const {NumericLogLevelsShape} NumericLogLevels
* @memberOf module:Logging
*/
export declare const NumericLogLevels: {
benchmark: number;
error: number;
warn: number;
info: number;
verbose: number;
debug: number;
trace: number;
silly: number;
};
/**
* @description An enum for logging output modes.
* @summary Defines the different output formats for log messages.
* @enum {string}
* @readonly
* @memberOf module:Logging
*/
export declare enum LoggingMode {
/** Raw text format for human readability */
RAW = "raw",
/** JSON format for machine parsing */
JSON = "json"
}
/**
* @description The default theme for styling log output.
* @summary Defines the default color and style settings for various components of log messages.
* @const {Theme} DefaultTheme
* @memberOf module:Logging
*/
export declare const DefaultTheme: Theme;
/**
* @description The default configuration for logging.
* @summary Defines the default settings for the logging system, including verbosity, log level, styling, and timestamp format.
* @const {LoggingConfig} DefaultLoggingConfig
* @memberOf module:Logging
*/
export declare const DefaultLoggingConfig: LoggingConfig;
import { LogLevel } from "./constants.cjs";
export type ArgFormatFunction = (...args: any[]) => string;
export type ReturnFormatFunction = (e?: Error, result?: any) => string;
/**
* @description A method decorator for logging function calls.
* @summary This decorator wraps a class method to automatically log entry, exit, timing, and optional custom messages at a configurable {@link LogLevel}.
* @param {LogLevel} [level=LogLevel.info] - The log level to apply to the generated log statements.
* @param {number} [verbosity=0] - The verbosity threshold that is required for the entry log to appear.
* @param {ArgFormatFunction} [entryMessage] - A formatter that is invoked with the original method arguments to describe the invocation.
* @param {ReturnFormatFunction} [exitMessage] - An optional formatter that describes the outcome or failure of the call.
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that injects logging behavior.
* @function log
* @mermaid
* sequenceDiagram
* participant Client
* participant Decorator as log decorator
* participant Method as Original Method
* participant Logger as Logging instance
*
* Client->>Decorator: call decorated method
* Decorator->>Logger: log method call
* Decorator->>Method: call original method
* alt result is Promise
* Method-->>Decorator: return Promise
* Decorator->>Decorator: attach then handler
* Note over Decorator: Promise resolves
* Decorator->>Logger: log benchmark (if enabled)
* Decorator-->>Client: return result
* else result is not Promise
* Method-->>Decorator: return result
* Decorator->>Logger: log benchmark (if enabled)
* Decorator-->>Client: return result
* end
* @category Method Decorators
*/
export declare function log(level?: LogLevel, verbosity?: number, entryMessage?: ArgFormatFunction, exitMessage?: ReturnFormatFunction): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator that records execution time at the benchmark level.
* @summary This decorator wraps the target method to emit {@link Logger.benchmark} entries that capture completion time or failure latency.
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that benchmarks the original implementation.
* @function benchmark
* @mermaid
* sequenceDiagram
* participant Caller
* participant Decorator as benchmark
* participant Method as Original Method
* Caller->>Decorator: invoke()
* Decorator->>Method: Reflect.apply(...)
* alt Promise result
* Method-->>Decorator: Promise
* Decorator->>Decorator: attach then()
* Decorator->>Decorator: log completion duration
* else Synchronous result
* Method-->>Decorator: value
* Decorator->>Decorator: log completion duration
* end
* Decorator-->>Caller: return result
* @category Method Decorators
*/
export declare function benchmark(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the debug level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.debug`.
* @return {function(any, any, PropertyDescriptor): void} A debug-level logging decorator.
* @function debug
* @category Method Decorators
*/
export declare function debug(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the info level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.info`.
* @return {function(any, any, PropertyDescriptor): void} An info-level logging decorator.
* @function info
* @category Method Decorators
*/
export declare function info(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the silly level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.silly`.
* @return {function(any, any, PropertyDescriptor): void} A silly-level logging decorator.
* @function silly
* @category Method Decorators
*/
export declare function silly(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the trace level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.trace`.
* @return {function(any, any, PropertyDescriptor): void} A trace-level logging decorator.
* @function trace
* @category Method Decorators
*/
export declare function trace(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the verbose level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.verbose` with a configurable verbosity.
* @param {(number|boolean)} [verbosity=0] - The verbosity level for log filtering or a flag to enable benchmarking.
* @return {function(any, any, PropertyDescriptor): void} A verbose logging decorator.
* @function verbose
* @category Method Decorators
*/
export declare function verbose(verbosity?: number | boolean): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description Creates a decorator that makes a method non-configurable.
* @summary This decorator prevents overriding by marking the method descriptor as non-configurable. It will throw an error if it is applied to non-method targets.
* @return {function(object, any, PropertyDescriptor): (PropertyDescriptor|undefined)} A decorator that hardens the method descriptor.
* @function final
* @category Method Decorators
*/
export declare function final(): (target: object, propertyKey?: any, descriptor?: any) => any;
import { LogLevel } from "./constants.js";
export type ArgFormatFunction = (...args: any[]) => string;
export type ReturnFormatFunction = (e?: Error, result?: any) => string;
/**
* @description A method decorator for logging function calls.
* @summary This decorator wraps a class method to automatically log entry, exit, timing, and optional custom messages at a configurable {@link LogLevel}.
* @param {LogLevel} [level=LogLevel.info] - The log level to apply to the generated log statements.
* @param {number} [verbosity=0] - The verbosity threshold that is required for the entry log to appear.
* @param {ArgFormatFunction} [entryMessage] - A formatter that is invoked with the original method arguments to describe the invocation.
* @param {ReturnFormatFunction} [exitMessage] - An optional formatter that describes the outcome or failure of the call.
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that injects logging behavior.
* @function log
* @mermaid
* sequenceDiagram
* participant Client
* participant Decorator as log decorator
* participant Method as Original Method
* participant Logger as Logging instance
*
* Client->>Decorator: call decorated method
* Decorator->>Logger: log method call
* Decorator->>Method: call original method
* alt result is Promise
* Method-->>Decorator: return Promise
* Decorator->>Decorator: attach then handler
* Note over Decorator: Promise resolves
* Decorator->>Logger: log benchmark (if enabled)
* Decorator-->>Client: return result
* else result is not Promise
* Method-->>Decorator: return result
* Decorator->>Logger: log benchmark (if enabled)
* Decorator-->>Client: return result
* end
* @category Method Decorators
*/
export declare function log(level?: LogLevel, verbosity?: number, entryMessage?: ArgFormatFunction, exitMessage?: ReturnFormatFunction): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator that records execution time at the benchmark level.
* @summary This decorator wraps the target method to emit {@link Logger.benchmark} entries that capture completion time or failure latency.
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that benchmarks the original implementation.
* @function benchmark
* @mermaid
* sequenceDiagram
* participant Caller
* participant Decorator as benchmark
* participant Method as Original Method
* Caller->>Decorator: invoke()
* Decorator->>Method: Reflect.apply(...)
* alt Promise result
* Method-->>Decorator: Promise
* Decorator->>Decorator: attach then()
* Decorator->>Decorator: log completion duration
* else Synchronous result
* Method-->>Decorator: value
* Decorator->>Decorator: log completion duration
* end
* Decorator-->>Caller: return result
* @category Method Decorators
*/
export declare function benchmark(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the debug level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.debug`.
* @return {function(any, any, PropertyDescriptor): void} A debug-level logging decorator.
* @function debug
* @category Method Decorators
*/
export declare function debug(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the info level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.info`.
* @return {function(any, any, PropertyDescriptor): void} An info-level logging decorator.
* @function info
* @category Method Decorators
*/
export declare function info(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the silly level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.silly`.
* @return {function(any, any, PropertyDescriptor): void} A silly-level logging decorator.
* @function silly
* @category Method Decorators
*/
export declare function silly(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the trace level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.trace`.
* @return {function(any, any, PropertyDescriptor): void} A trace-level logging decorator.
* @function trace
* @category Method Decorators
*/
export declare function trace(): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description A method decorator for logging function calls with the verbose level.
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.verbose` with a configurable verbosity.
* @param {(number|boolean)} [verbosity=0] - The verbosity level for log filtering or a flag to enable benchmarking.
* @return {function(any, any, PropertyDescriptor): void} A verbose logging decorator.
* @function verbose
* @category Method Decorators
*/
export declare function verbose(verbosity?: number | boolean): (target: any, propertyKey?: any, descriptor?: any) => any;
/**
* @description Creates a decorator that makes a method non-configurable.
* @summary This decorator prevents overriding by marking the method descriptor as non-configurable. It will throw an error if it is applied to non-method targets.
* @return {function(object, any, PropertyDescriptor): (PropertyDescriptor|undefined)} A decorator that hardens the method descriptor.
* @function final
* @category Method Decorators
*/
export declare function final(): (target: object, propertyKey?: any, descriptor?: any) => any;
import { ObjectAccumulator } from "typed-object-accumulator";
/**
* @description A factory type for creating Environment instances.
* @summary This describes factories that construct {@link Environment} derivatives with custom initialization.
* @template T - The type of object the Environment will accumulate.
* @template E - The specific Environment type to be created, extending Environment<T>.
* @typedef {function(unknown[]): E} EnvironmentFactory
* @memberOf module:Logging
*/
export type EnvironmentFactory<T extends object, E extends Environment<T>> = (...args: unknown[]) => E;
export type EnvironmentInstance<T extends object = any> = Environment<T> & T & {
orThrow(): EnvironmentInstance<any>;
};
export type AccumulatedEnvironment<T extends object = any> = EnvironmentInstance<T> & ObjectAccumulator<T> & {
accumulate<V extends object>(value: V): AccumulatedEnvironment<T & V>;
};
export declare class Environment<T extends object> extends ObjectAccumulator<T> {
/**
* @static
* @protected
* @description A factory function for creating Environment instances.
* @summary Defines how new instances of the Environment class should be created.
* @return {Environment<any>} A new instance of the Environment class.
*/
protected static factory: EnvironmentFactory<any, any>;
/**
* @static
* @private
* @description The singleton instance of the Environment class.
* @type {Environment<any>}
*/
private static _instance;
protected constructor();
/**
* @description Retrieves a value from the runtime environment.
* @summary This method handles browser and Node.js environments by normalizing keys and parsing values.
* @param {string} k - The key to resolve from the environment.
* @return {unknown} The value that is resolved from the environment, or `undefined` if it is absent.
*/
protected fromEnv(k: string): unknown;
/**
* @description Converts stringified environment values into native types.
* @summary This method interprets booleans and numbers, while leaving other types unchanged.
* @param {unknown} val - The raw value that is retrieved from the environment.
* @return {unknown} The parsed value, converted to a boolean or number, or left as-is.
*/
protected parseEnvValue(val: unknown): unknown;
private static parseRuntimeValue;
/**
* @description Expands an object into the environment.
* @summary This method defines lazy properties that first consult runtime variables before falling back to seeded values.
* @template V - The type of the object being expanded.
* @param {V} value - The object to expose through environment getters and setters.
* @return {void}
*/
protected expand<V extends object>(value: V): void;
/**
* @description Returns a proxy that enforces required environment variables.
* @summary Accessing a property that resolves to `undefined` or an empty string when declared in the model will throw an error.
* @return {EnvironmentInstance<any>} A proxy of the environment that enforces required variables.
*/
orThrow(): EnvironmentInstance<any>;
/**
* @protected
* @static
* @description Retrieves or creates the singleton instance of the Environment class.
* @summary This method ensures that only one {@link Environment} instance is created, and wraps it in a proxy to compose ENV keys on demand.
* @template E
* @param {...unknown[]} args - Arguments that are forwarded to the factory when instantiating the singleton.
* @return {E} The singleton environment instance.
*/
protected static instance<E extends Environment<any>>(...args: unknown[]): E;
accumulate<V extends object>(value: V): AccumulatedEnvironment<T & V>;
/**
* @static
* @description Accumulates the given value into the environment.
* @summary This method adds new properties and hides raw descriptors to avoid leaking enumeration semantics.
* @template V
* @param {V} value - The object to merge into the environment.
* @return {AccumulatedEnvironment<any>} The updated environment reference.
*/
static accumulate<V extends object>(value: V): AccumulatedEnvironment<any>;
/**
* @description Retrieves a value using a dot-path key from the accumulated environment.
* @summary This method delegates to the singleton instance to access stored configuration.
* @param {string} key - The key to resolve from the environment store.
* @return {unknown} The stored value that corresponds to the provided key.
*/
static get(key: string): any;
private static formatEnvSegment;
private static buildEnvKey;
private static buildRawKey;
private static readRuntimeForPath;
/**
* @description Builds a proxy that composes environment keys for nested properties.
* @summary This allows chained property access to emit uppercase ENV identifiers, while honoring existing runtime overrides.
* @param {any} current - The seed model segment to use when projecting nested structures.
* @param {string[]} path - The accumulated path segments that lead to the proxy.
* @return {any} A proxy that resolves environment values or composes additional proxies for deeper paths.
*/
private static buildEnvProxy;
/**
* @static
* @description Retrieves the keys of the environment, optionally converting them to ENV format.
* @summary This method gets all keys in the environment, with an option to format them for environment variables.
* @param {boolean} [toEnv=true] - Whether to convert the keys to ENV format.
* @return {string[]} An array of keys from the environment.
*/
static keys(toEnv?: boolean): string[];
private static mergeModel;
private static readRuntimeEnv;
private static missingEnvError;
}
/**
* @description A singleton environment instance that is seeded with the default logging configuration.
* @summary This constant combines {@link DefaultLoggingConfig} with runtime environment variables to provide consistent logging defaults across platforms.
* @const {AccumulatedEnvironment<any>} LoggedEnvironment
* @memberOf module:Logging
*/
export declare const LoggedEnvironment: any;
import { ObjectAccumulator } from "typed-object-accumulator";
/**
* @description A factory type for creating Environment instances.
* @summary This describes factories that construct {@link Environment} derivatives with custom initialization.
* @template T - The type of object the Environment will accumulate.
* @template E - The specific Environment type to be created, extending Environment<T>.
* @typedef {function(unknown[]): E} EnvironmentFactory
* @memberOf module:Logging
*/
export type EnvironmentFactory<T extends object, E extends Environment<T>> = (...args: unknown[]) => E;
export type EnvironmentInstance<T extends object = any> = Environment<T> & T & {
orThrow(): EnvironmentInstance<any>;
};
export type AccumulatedEnvironment<T extends object = any> = EnvironmentInstance<T> & ObjectAccumulator<T> & {
accumulate<V extends object>(value: V): AccumulatedEnvironment<T & V>;
};
export declare class Environment<T extends object> extends ObjectAccumulator<T> {
/**
* @static
* @protected
* @description A factory function for creating Environment instances.
* @summary Defines how new instances of the Environment class should be created.
* @return {Environment<any>} A new instance of the Environment class.
*/
protected static factory: EnvironmentFactory<any, any>;
/**
* @static
* @private
* @description The singleton instance of the Environment class.
* @type {Environment<any>}
*/
private static _instance;
protected constructor();
/**
* @description Retrieves a value from the runtime environment.
* @summary This method handles browser and Node.js environments by normalizing keys and parsing values.
* @param {string} k - The key to resolve from the environment.
* @return {unknown} The value that is resolved from the environment, or `undefined` if it is absent.
*/
protected fromEnv(k: string): unknown;
/**
* @description Converts stringified environment values into native types.
* @summary This method interprets booleans and numbers, while leaving other types unchanged.
* @param {unknown} val - The raw value that is retrieved from the environment.
* @return {unknown} The parsed value, converted to a boolean or number, or left as-is.
*/
protected parseEnvValue(val: unknown): unknown;
private static parseRuntimeValue;
/**
* @description Expands an object into the environment.
* @summary This method defines lazy properties that first consult runtime variables before falling back to seeded values.
* @template V - The type of the object being expanded.
* @param {V} value - The object to expose through environment getters and setters.
* @return {void}
*/
protected expand<V extends object>(value: V): void;
/**
* @description Returns a proxy that enforces required environment variables.
* @summary Accessing a property that resolves to `undefined` or an empty string when declared in the model will throw an error.
* @return {EnvironmentInstance<any>} A proxy of the environment that enforces required variables.
*/
orThrow(): EnvironmentInstance<any>;
/**
* @protected
* @static
* @description Retrieves or creates the singleton instance of the Environment class.
* @summary This method ensures that only one {@link Environment} instance is created, and wraps it in a proxy to compose ENV keys on demand.
* @template E
* @param {...unknown[]} args - Arguments that are forwarded to the factory when instantiating the singleton.
* @return {E} The singleton environment instance.
*/
protected static instance<E extends Environment<any>>(...args: unknown[]): E;
accumulate<V extends object>(value: V): AccumulatedEnvironment<T & V>;
/**
* @static
* @description Accumulates the given value into the environment.
* @summary This method adds new properties and hides raw descriptors to avoid leaking enumeration semantics.
* @template V
* @param {V} value - The object to merge into the environment.
* @return {AccumulatedEnvironment<any>} The updated environment reference.
*/
static accumulate<V extends object>(value: V): AccumulatedEnvironment<any>;
/**
* @description Retrieves a value using a dot-path key from the accumulated environment.
* @summary This method delegates to the singleton instance to access stored configuration.
* @param {string} key - The key to resolve from the environment store.
* @return {unknown} The stored value that corresponds to the provided key.
*/
static get(key: string): any;
private static formatEnvSegment;
private static buildEnvKey;
private static buildRawKey;
private static readRuntimeForPath;
/**
* @description Builds a proxy that composes environment keys for nested properties.
* @summary This allows chained property access to emit uppercase ENV identifiers, while honoring existing runtime overrides.
* @param {any} current - The seed model segment to use when projecting nested structures.
* @param {string[]} path - The accumulated path segments that lead to the proxy.
* @return {any} A proxy that resolves environment values or composes additional proxies for deeper paths.
*/
private static buildEnvProxy;
/**
* @static
* @description Retrieves the keys of the environment, optionally converting them to ENV format.
* @summary This method gets all keys in the environment, with an option to format them for environment variables.
* @param {boolean} [toEnv=true] - Whether to convert the keys to ENV format.
* @return {string[]} An array of keys from the environment.
*/
static keys(toEnv?: boolean): string[];
private static mergeModel;
private static readRuntimeEnv;
private static missingEnvError;
}
/**
* @description A singleton environment instance that is seeded with the default logging configuration.
* @summary This constant combines {@link DefaultLoggingConfig} with runtime environment variables to provide consistent logging defaults across platforms.
* @const {AccumulatedEnvironment<any>} LoggedEnvironment
* @memberOf module:Logging
*/
export declare const LoggedEnvironment: any;
/**
* @description Exports for the filters module.
* @summary This file exports all the necessary components for the filters functionality, including LogFilter and PatternFilter.
* @module logging/filters
*/
export * from "./LogFilter.cjs";
export * from "./PatternFilter.cjs";
/**
* @description Exports for the filters module.
* @summary This file exports all the necessary components for the filters functionality, including LogFilter and PatternFilter.
* @module logging/filters
*/
export * from "./LogFilter.js";
export * from "./PatternFilter.js";
import { Logger, LoggingConfig, LoggingFilter } from "../types.cjs";
import { LoggedClass } from "../LoggedClass.cjs";
/**
* @description A base class for message filters that can be plugged into the logging pipeline.
* @summary This class extends {@link LoggedClass} to supply a scoped logger, and defines the contract that is required by {@link LoggingFilter} implementers that transform or drop log messages before emission.
* @class LogFilter
* @example
* class RedactSecretsFilter extends LogFilter {
* filter(config: LoggingConfig, message: string): string {
* return message.replace(/secret/gi, "***");
* }
* }
*
* const filter = new RedactSecretsFilter();
* filter.filter({ ...DefaultLoggingConfig, verbose: 0 }, "secret token");
* @mermaid
* sequenceDiagram
* participant Logger
* participant Filter as LogFilter
* participant Impl as ConcreteFilter
* participant Output
* Logger->>Filter: filter(config, message, context)
* Filter->>Impl: delegate to subclass implementation
* Impl-->>Filter: transformed message
* Filter-->>Output: return filtered message
*/
export declare abstract class LogFilter extends LoggedClass implements LoggingFilter {
/**
* @description A scoped logger that excludes other filters from the chain.
* @summary This method returns a child logger that is dedicated to the filter, which prevents recursive filter invocation when emitting diagnostic messages.
* @return {Logger} A context-aware logger for the filter instance.
*/
get log(): Logger;
/**
* @description Transforms or suppresses a log message.
* @summary This method inspects the provided message and context to produce the value that will be forwarded to subsequent filters or emitters.
* @param {LoggingConfig} config - The active logging configuration.
* @param {string} message - The original log message payload.
* @param {string[]} context - The context values that are attached to the message.
* @return {string} The filtered message to pass to downstream processing.
*/
abstract filter(config: LoggingConfig, message: string, context: string[]): string;
}
import { Logger, LoggingConfig, LoggingFilter } from "../types.js";
import { LoggedClass } from "../LoggedClass.js";
/**
* @description A base class for message filters that can be plugged into the logging pipeline.
* @summary This class extends {@link LoggedClass} to supply a scoped logger, and defines the contract that is required by {@link LoggingFilter} implementers that transform or drop log messages before emission.
* @class LogFilter
* @example
* class RedactSecretsFilter extends LogFilter {
* filter(config: LoggingConfig, message: string): string {
* return message.replace(/secret/gi, "***");
* }
* }
*
* const filter = new RedactSecretsFilter();
* filter.filter({ ...DefaultLoggingConfig, verbose: 0 }, "secret token");
* @mermaid
* sequenceDiagram
* participant Logger
* participant Filter as LogFilter
* participant Impl as ConcreteFilter
* participant Output
* Logger->>Filter: filter(config, message, context)
* Filter->>Impl: delegate to subclass implementation
* Impl-->>Filter: transformed message
* Filter-->>Output: return filtered message
*/
export declare abstract class LogFilter extends LoggedClass implements LoggingFilter {
/**
* @description A scoped logger that excludes other filters from the chain.
* @summary This method returns a child logger that is dedicated to the filter, which prevents recursive filter invocation when emitting diagnostic messages.
* @return {Logger} A context-aware logger for the filter instance.
*/
get log(): Logger;
/**
* @description Transforms or suppresses a log message.
* @summary This method inspects the provided message and context to produce the value that will be forwarded to subsequent filters or emitters.
* @param {LoggingConfig} config - The active logging configuration.
* @param {string} message - The original log message payload.
* @param {string[]} context - The context values that are attached to the message.
* @return {string} The filtered message to pass to downstream processing.
*/
abstract filter(config: LoggingConfig, message: string, context: string[]): string;
}
import { LogFilter } from "./LogFilter.cjs";
import { LoggingConfig } from "../types.cjs";
/**
* @description A replacement callback that is used to transform RegExp matches.
* @summary This function receives the matched substring and additional capture arguments, and returns the replacement text that will be injected into the log message.
* @typedef {function(string, ...any): string} ReplacementFunction
* @memberOf module:Logging
*/
export type ReplacementFunction = (substring: string, ...args: any[]) => string;
/**
* @description A filter that patches log messages using regular expressions.
* @summary This class applies a configured {@link RegExp} and replacement strategy to redact, mask, or restructure log payloads before they are emitted.
* @param {RegExp} regexp - The expression to use for detecting sensitive or formatted text.
* @param {(string|ReplacementFunction)} replacement - The replacement string or a callback that is invoked for each match.
* @class PatternFilter
* @example
* const filter = new PatternFilter(/token=[^&]+/g, "token=***");
* const sanitized = filter.filter(config, "token=123&user=tom", []);
* // sanitized === "token=***&user=tom"
* @mermaid
* sequenceDiagram
* participant Logger
* participant Filter as PatternFilter
* participant RegExp
* Logger->>Filter: filter(config, message, context)
* Filter->>RegExp: execute match()
* alt match found
* RegExp-->>Filter: captures
* Filter->>RegExp: replace(message, replacement)
* RegExp-->>Filter: transformed message
* else no match
* RegExp-->>Filter: null
* end
* Filter-->>Logger: sanitized message
*/
export declare class PatternFilter extends LogFilter {
protected readonly regexp: RegExp;
protected readonly replacement: string | ReplacementFunction;
constructor(regexp: RegExp, replacement: string | ReplacementFunction);
/**
* @description Ensures deterministic RegExp matching.
* @summary This method runs the configured expression, then resets its state so that repeated invocations behave consistently.
* @param {string} message - The message to test for matches.
* @return {(RegExpExecArray|null)} The match result, or null if no match is found.
*/
protected match(message: string): RegExpExecArray | null;
/**
* @description Applies the replacement strategy to the incoming message.
* @summary This method executes {@link PatternFilter.match} and, when a match is found, replaces every occurrence using the configured replacement handler.
* @param {LoggingConfig} config - The active logging configuration (unused, but part of the filter contract).
* @param {string} message - The message to be sanitized.
* @param {string[]} context - The context entries that are associated with the log event.
* @return {string} The sanitized log message.
*/
filter(config: LoggingConfig, message: string, context: string[]): string;
}
import { LogFilter } from "./LogFilter.js";
import { LoggingConfig } from "../types.js";
/**
* @description A replacement callback that is used to transform RegExp matches.
* @summary This function receives the matched substring and additional capture arguments, and returns the replacement text that will be injected into the log message.
* @typedef {function(string, ...any): string} ReplacementFunction
* @memberOf module:Logging
*/
export type ReplacementFunction = (substring: string, ...args: any[]) => string;
/**
* @description A filter that patches log messages using regular expressions.
* @summary This class applies a configured {@link RegExp} and replacement strategy to redact, mask, or restructure log payloads before they are emitted.
* @param {RegExp} regexp - The expression to use for detecting sensitive or formatted text.
* @param {(string|ReplacementFunction)} replacement - The replacement string or a callback that is invoked for each match.
* @class PatternFilter
* @example
* const filter = new PatternFilter(/token=[^&]+/g, "token=***");
* const sanitized = filter.filter(config, "token=123&user=tom", []);
* // sanitized === "token=***&user=tom"
* @mermaid
* sequenceDiagram
* participant Logger
* participant Filter as PatternFilter
* participant RegExp
* Logger->>Filter: filter(config, message, context)
* Filter->>RegExp: execute match()
* alt match found
* RegExp-->>Filter: captures
* Filter->>RegExp: replace(message, replacement)
* RegExp-->>Filter: transformed message
* else no match
* RegExp-->>Filter: null
* end
* Filter-->>Logger: sanitized message
*/
export declare class PatternFilter extends LogFilter {
protected readonly regexp: RegExp;
protected readonly replacement: string | ReplacementFunction;
constructor(regexp: RegExp, replacement: string | ReplacementFunction);
/**
* @description Ensures deterministic RegExp matching.
* @summary This method runs the configured expression, then resets its state so that repeated invocations behave consistently.
* @param {string} message - The message to test for matches.
* @return {(RegExpExecArray|null)} The match result, or null if no match is found.
*/
protected match(message: string): RegExpExecArray | null;
/**
* @description Applies the replacement strategy to the incoming message.
* @summary This method executes {@link PatternFilter.match} and, when a match is found, replaces every occurrence using the configured replacement handler.
* @param {LoggingConfig} config - The active logging configuration (unused, but part of the filter contract).
* @param {string} message - The message to be sanitized.
* @param {string[]} context - The context entries that are associated with the log event.
* @return {string} The sanitized log message.
*/
filter(config: LoggingConfig, message: string, context: string[]): string;
}
/**
* @module Logging
* @description A comprehensive and versatile logging toolkit for both browser and Node.js environments.
* @summary This module provides a complete logging solution, exposing {@link Logging} and {@link MiniLogger} for runtime logging. It also includes decorators like {@link log} for method instrumentation, and various utilities such as {@link PatternFilter}, {@link StopWatch}, and {@link LoggedEnvironment} to help build configurable and theme-aware log pipelines.
*/
export * from "./filters/index.cjs";
export * from "./constants.cjs";
export * from "./decorators.cjs";
export * from "./environment.cjs";
export * from "./LoggedClass.cjs";
export * from "./logging.cjs";
export * from "./logParameters.cjs";
export * from "./text.cjs";
export * from "./time.cjs";
export * from "./types.cjs";
export * from "./web.cjs";
export * from "./utils.cjs";
export * from "styled-string-builder";
/**
* @description Current package version string.
* @summary Stores the package version for diagnostics and compatibility checks.
* @const VERSION
* @type {string}
* @memberOf module:Logging
*/
export declare const VERSION: string;
/**
* @description Current package version string.
* @summary Stores the package version for diagnostics and compatibility checks.
* @const PACKAGE_NAME
* @type {string}
* @memberOf module:Logging
*/
export declare const PACKAGE_NAME: string;
/**
* @module Logging
* @description A comprehensive and versatile logging toolkit for both browser and Node.js environments.
* @summary This module provides a complete logging solution, exposing {@link Logging} and {@link MiniLogger} for runtime logging. It also includes decorators like {@link log} for method instrumentation, and various utilities such as {@link PatternFilter}, {@link StopWatch}, and {@link LoggedEnvironment} to help build configurable and theme-aware log pipelines.
*/
export * from "./filters/index.js";
export * from "./constants.js";
export * from "./decorators.js";
export * from "./environment.js";
export * from "./LoggedClass.js";
export * from "./logging.js";
export * from "./logParameters.js";
export * from "./text.js";
export * from "./time.js";
export * from "./types.js";
export * from "./web.js";
export * from "./utils.js";
export * from "styled-string-builder";
/**
* @description Current package version string.
* @summary Stores the package version for diagnostics and compatibility checks.
* @const VERSION
* @type {string}
* @memberOf module:Logging
*/
export declare const VERSION: string;
/**
* @description Current package version string.
* @summary Stores the package version for diagnostics and compatibility checks.
* @const PACKAGE_NAME
* @type {string}
* @memberOf module:Logging
*/
export declare const PACKAGE_NAME: string;
import { Logger } from "./types.cjs";
/**
* @description A base class that provides a ready-to-use logger instance.
* @summary This class supplies inheriting classes with a lazily created, context-aware {@link Logger} via the protected `log` getter. This promotes consistent, structured logging without the need for manual wiring.
* @class LoggedClass
* @example
* class UserService extends LoggedClass {
* create(user: User) {
* this.log.info(`Creating user ${user.id}`);
* }
* }
*
* const svc = new UserService();
* svc.create({ id: "42" });
* @mermaid
* sequenceDiagram
* participant Client
* participant Instance as Subclass Instance
* participant Getter as LoggedClass.log
* participant Logging as Logging
* participant Logger as Logger
*
* Client->>Instance: call someMethod()
* Instance->>Getter: access this.log
* Getter->>Logging: Logging.for(this)
* Logging-->>Getter: return Logger
* Getter-->>Instance: return Logger
* Instance->>Logger: info/debug/error(...)
*/
export declare abstract class LoggedClass {
private _log?;
/**
* @description Lazily provides a context-aware logger for the current instance.
* @summary This method calls {@link Logging.for} with the subclass instance to obtain a logger whose context matches the subclass name.
* @return {Logger} A logger that is bound to the subclass context.
*/
protected get log(): Logger;
protected constructor();
}
import { Logger } from "./types.js";
/**
* @description A base class that provides a ready-to-use logger instance.
* @summary This class supplies inheriting classes with a lazily created, context-aware {@link Logger} via the protected `log` getter. This promotes consistent, structured logging without the need for manual wiring.
* @class LoggedClass
* @example
* class UserService extends LoggedClass {
* create(user: User) {
* this.log.info(`Creating user ${user.id}`);
* }
* }
*
* const svc = new UserService();
* svc.create({ id: "42" });
* @mermaid
* sequenceDiagram
* participant Client
* participant Instance as Subclass Instance
* participant Getter as LoggedClass.log
* participant Logging as Logging
* participant Logger as Logger
*
* Client->>Instance: call someMethod()
* Instance->>Getter: access this.log
* Getter->>Logging: Logging.for(this)
* Logging-->>Getter: return Logger
* Getter-->>Instance: return Logger
* Instance->>Logger: info/debug/error(...)
*/
export declare abstract class LoggedClass {
private _log?;
/**
* @description Lazily provides a context-aware logger for the current instance.
* @summary This method calls {@link Logging.for} with the subclass instance to obtain a logger whose context matches the subclass name.
* @return {Logger} A logger that is bound to the subclass context.
*/
protected get log(): Logger;
protected constructor();
}
import { LoggerFactory, LoggingConfig, LoggingContext, LoggingFilter, LogMeta, StringLike, Theme, Logger } from "./types.cjs";
import { LogLevel } from "./constants.cjs";
import { LogParameterDescriptor } from "./logParameters.cjs";
import { LoggedEnvironment } from "./environment.cjs";
export declare const ROOT_CONTEXT_SYMBOL: unique symbol;
/**
* @description A minimal logger implementation.
* @summary MiniLogger is a lightweight logging class that implements the Logger interface. It provides basic logging functionality with support for different log levels, verbosity, context-aware logging, and customizable formatting.
* @param {string} [context] - The context (typically class name) this logger is associated with.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @param {string[]} [baseContext=[]] - The base context for the logger.
* @class MiniLogger
* @example
* // Create a new logger for a class
* const logger = new MiniLogger('MyClass');
*
* // Log messages at different levels
* logger.info('This is an info message');
* logger.debug('This is a debug message');
* logger.error('Something went wrong');
*
* // Create a child logger for a specific method
* const methodLogger = logger.for('myMethod');
* methodLogger.verbose('Detailed information', 2);
*
* // Log with custom configuration
* logger.for('specialMethod', { style: true }).info('Styled message');
*/
export declare class MiniLogger implements Logger {
protected conf?: Partial<LoggingConfig> | undefined;
protected context: string[];
protected baseContext: string[];
constructor(context?: string, conf?: Partial<LoggingConfig> | undefined, baseContext?: string[]);
protected config<K extends keyof LoggingConfig>(key: K): LoggingConfig[K];
for(config: Partial<LoggingConfig>): this;
for(method: string | ((...args: any[]) => any) | {
new (...args: any[]): any;
} | object): this;
for(method: string | ((...args: any[]) => any) | {
new (...args: any[]): any;
} | object | Partial<LoggingConfig>, config: Partial<LoggingConfig>, ...args: any[]): this;
protected getConfigSnapshot(): LoggingConfig;
protected getContextSegments(): string[];
protected resolveFilters(config: LoggingConfig): LoggingFilter[];
protected applyFilters(message: string, context: string[], config: LoggingConfig): string;
/**
* @description Creates a formatted log string.
* @summary Generates a log string with timestamp, colored log level, context, and message.
* @param {LogLevel} level - The log level for this message.
* @param {StringLike | Error} message - The message to log or an Error object.
* @param {Error} [error] - Optional error to extract stack trace to include in the log.
* @return {string} A formatted log string with all components.
*/
protected createLog(level: LogLevel, message: StringLike | Error, error?: Error, meta?: LogMeta): string;
private formatMeta;
protected normalizePatternSpacing(value: string): string;
/**
* @description Logs a message with the specified log level.
* @summary Checks if the message should be logged based on the current log level, then uses the appropriate console method to output the formatted log.
* @param {LogLevel} level - The log level of the message.
* @param {StringLike | Error} msg - The message to be logged or an Error object.
* @param {Error} [error] - Optional stack trace to include in the log.
* @return {void}
*/
protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
/**
* @description Logs a message at the benchmark level.
* @summary Logs a message at the benchmark level if the current verbosity setting allows it.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
benchmark(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the silly level.
* @summary Logs a message at the silly level if the current verbosity setting allows it.
* @param {StringLike} msg - The message to be logged.
* @param {number} [verbosity=0] - The verbosity level of the message.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
silly(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a message at the verbose level.
* @summary Logs a message at the verbose level if the current verbosity setting allows it.
* @param {StringLike} msg - The message to be logged.
* @param {number} [verbosity=0] - The verbosity level of the message.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a message at the info level.
* @summary Logs a message at the info level for general application information.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
info(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the debug level.
* @summary Logs a message at the debug level for detailed troubleshooting information.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
debug(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the error level.
* @summary Logs a message at the error level for errors and exceptions.
* @param {StringLike | Error} msg - The message to be logged or an Error object.
* @param {Error|object} [e] - Optional error or metadata to include in the log.
* @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
* @return {void}
*/
error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a message at the warning level.
* @summary Logs a message at the warning level for potential issues.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
warn(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the trace level.
* @summary Logs a message at the trace level for tracing code execution.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
trace(msg: StringLike, meta?: LogMeta): void;
/**
* @description Updates the logger configuration.
* @summary Merges the provided configuration with the existing configuration.
* @param {Partial<LoggingConfig>} config - The configuration options to apply.
* @return {void}
*/
setConfig(config: Partial<LoggingConfig>): void;
get root(): string[];
/**
* @description Clears any contextual overrides applied by `for`.
* @summary Returns the same logger instance so more contexts can be chained afterwards.
* @return {this} The same logger instance.
*/
clear(): this;
}
/**
* @description A static class for managing logging operations.
* @summary The Logging class provides a centralized logging mechanism with support for different log levels, verbosity, and styling. It uses a singleton pattern to maintain a global logger instance and allows creating specific loggers for different classes and methods.
* @class Logging
* @example
* // Set global configuration
* Logging.setConfig({ level: LogLevel.debug, style: true });
*
* // Get a logger for a specific class
* const logger = Logging.for('MyClass');
*
* // Log messages at different levels
* logger.info('Application started');
* logger.debug('Processing data...');
*
* // Log with context
* const methodLogger = Logging.for('MyClass.myMethod');
* methodLogger.verbose('Detailed operation information', 1);
*
* // Log errors
* try {
* // some operation
* } catch (error) {
* logger.error(error);
* }
* @mermaid
* classDiagram
* class Logger {
* <<interface>>
* +for(method, config, ...args)
* +silly(msg, verbosity)
* +verbose(msg, verbosity)
* +info(msg)
* +debug(msg)
* +error(msg)
* +setConfig(config)
* }
*
* class Logging {
* -global: Logger
* -_factory: LoggerFactory
* -_config: LoggingConfig
* +setFactory(factory)
* +setConfig(config)
* +getConfig()
* +get()
* +verbose(msg, verbosity)
* +info(msg)
* +debug(msg)
* +silly(msg)
* +error(msg)
* +for(object, config, ...args)
* +because(reason, id)
* +theme(text, type, loggerLevel, template)
* }
*
* class MiniLogger {
* +constructor(context, conf?)
* }
*
* Logging ..> Logger : creates
* Logging ..> MiniLogger : creates by default
*/
export declare class Logging {
/**
* @description The global logger instance.
* @summary A singleton instance of Logger used for global logging.
*/
private static global?;
/**
* @description Factory function for creating logger instances.
* @summary A function that creates new Logger instances. By default, it creates a MiniLogger.
*/
private static _factory;
private static _config;
private constructor();
/**
* @description Sets the factory function for creating logger instances.
* @summary Allows customizing how logger instances are created.
* @param {LoggerFactory} factory - The factory function to use for creating loggers.
* @return {void}
*/
static setFactory(factory: LoggerFactory): void;
/**
* @description Updates the global logging configuration.
* @summary Allows updating the global logging configuration with new settings.
* @param {Partial<LoggingConfig>} config - The configuration options to apply.
* @return {void}
*/
static setConfig(config: Partial<LoggingConfig>): void;
/**
* @description Gets a copy of the current global logging configuration.
* @summary Returns a copy of the current global logging configuration.
* @return {LoggingConfig} A copy of the current configuration.
*/
static getConfig(): typeof LoggedEnvironment;
/**
* @description Retrieves or creates the global logger instance.
* @summary Returns the existing global logger or creates a new one if it doesn't exist.
* @return {Logger} The global Logger instance.
*/
static get(): Logger;
/**
* @description Logs a verbose message.
* @summary Delegates the verbose logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {number|object} [verbosity] - The verbosity level or metadata object.
* @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
* @return {void}
*/
static verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs an info message.
* @summary Delegates the info logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static info(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a trace message.
* @summary Delegates the trace logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static trace(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a debug message.
* @summary Delegates the debug logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static debug(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a benchmark message.
* @summary Delegates the benchmark logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static benchmark(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a silly message.
* @summary Delegates the silly logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {number|object} [verbosity] - The verbosity level or metadata object.
* @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
* @return {void}
*/
static silly(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a warning message.
* @summary Delegates the warning logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static warn(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs an error message.
* @summary Delegates the error logging to the global logger instance.
* @param {StringLike | Error} msg - The message to be logged.
* @param {Error|object} [e] - Optional error or metadata to include in the log.
* @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
* @return {void}
*/
static error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
/**
* @description Creates a logger for a specific object or context.
* @summary Creates a new logger instance for the given object or context using the factory function.
* @param {LoggingContext} object - The object, class, or context to create a logger for.
* @param {Partial<LoggingConfig>} [config] - Optional configuration to override global settings.
* @param {...any} args - Additional arguments to pass to the logger factory.
* @return {Logger} A new logger instance for the specified object or context.
*/
static for(object: LoggingContext, config?: Partial<LoggingConfig>, ...args: any[]): Logger;
/**
* @description Creates a logger for a specific reason or correlation context.
* @summary Utility to quickly create a logger labeled with a free-form reason and optional identifier so that ad-hoc operations can be traced without tying the logger to a class or method name.
* @param {string} reason - A textual reason or context label for this logger instance.
* @param {string} [id] - Optional identifier to help correlate related log entries.
* @return {Logger} A new logger instance labeled with the provided reason and id.
*/
static because(reason: string, id?: string): Logger;
private static baseContext;
private static attachRootContext;
private static ensureRoot;
/**
* @description Applies theme styling to text.
* @summary Applies styling (colors, formatting) to text based on the theme configuration.
* @param {string} text - The text to style.
* @param type - The type of element to style (e.g., "class", "message", "logLevel").
* @param {LogLevel} loggerLevel - The log level to use for styling.
* @param {Theme} [template=DefaultTheme] - The theme to use for styling.
* @return {string} The styled text.
* @mermaid
* sequenceDiagram
* participant Caller
* participant Theme as Logging.theme
* participant Apply as apply function
* participant Style as styled-string-builder
*
* Caller->>Theme: theme(text, type, loggerLevel)
* Theme->>Theme: Check if styling is enabled
* alt styling disabled
* Theme-->>Caller: return original text
* else styling enabled
* Theme->>Theme: Get theme for type
* alt theme not found
* Theme-->>Caller: return original text
* else theme found
* Theme->>Theme: Determine actual theme based on log level
* Theme->>Apply: Apply each style property
* Apply->>Style: Apply colors and formatting
* Style-->>Apply: Return styled text
* Apply-->>Theme: Return styled text
* Theme-->>Caller: Return final styled text
* end
* end
*/
static theme(text: string, type: keyof Theme | keyof LogLevel, loggerLevel: LogLevel, template?: Theme): string;
static register(descriptor: LogParameterDescriptor): import("./logParameters.cjs").LogParameterRegistry;
static unregister(key: string): import("./logParameters.cjs").LogParameterRegistry;
}
import { LoggerFactory, LoggingConfig, LoggingContext, LoggingFilter, LogMeta, StringLike, Theme, Logger } from "./types.js";
import { LogLevel } from "./constants.js";
import { LogParameterDescriptor } from "./logParameters.js";
import { LoggedEnvironment } from "./environment.js";
export declare const ROOT_CONTEXT_SYMBOL: unique symbol;
/**
* @description A minimal logger implementation.
* @summary MiniLogger is a lightweight logging class that implements the Logger interface. It provides basic logging functionality with support for different log levels, verbosity, context-aware logging, and customizable formatting.
* @param {string} [context] - The context (typically class name) this logger is associated with.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @param {string[]} [baseContext=[]] - The base context for the logger.
* @class MiniLogger
* @example
* // Create a new logger for a class
* const logger = new MiniLogger('MyClass');
*
* // Log messages at different levels
* logger.info('This is an info message');
* logger.debug('This is a debug message');
* logger.error('Something went wrong');
*
* // Create a child logger for a specific method
* const methodLogger = logger.for('myMethod');
* methodLogger.verbose('Detailed information', 2);
*
* // Log with custom configuration
* logger.for('specialMethod', { style: true }).info('Styled message');
*/
export declare class MiniLogger implements Logger {
protected conf?: Partial<LoggingConfig> | undefined;
protected context: string[];
protected baseContext: string[];
constructor(context?: string, conf?: Partial<LoggingConfig> | undefined, baseContext?: string[]);
protected config<K extends keyof LoggingConfig>(key: K): LoggingConfig[K];
for(config: Partial<LoggingConfig>): this;
for(method: string | ((...args: any[]) => any) | {
new (...args: any[]): any;
} | object): this;
for(method: string | ((...args: any[]) => any) | {
new (...args: any[]): any;
} | object | Partial<LoggingConfig>, config: Partial<LoggingConfig>, ...args: any[]): this;
protected getConfigSnapshot(): LoggingConfig;
protected getContextSegments(): string[];
protected resolveFilters(config: LoggingConfig): LoggingFilter[];
protected applyFilters(message: string, context: string[], config: LoggingConfig): string;
/**
* @description Creates a formatted log string.
* @summary Generates a log string with timestamp, colored log level, context, and message.
* @param {LogLevel} level - The log level for this message.
* @param {StringLike | Error} message - The message to log or an Error object.
* @param {Error} [error] - Optional error to extract stack trace to include in the log.
* @return {string} A formatted log string with all components.
*/
protected createLog(level: LogLevel, message: StringLike | Error, error?: Error, meta?: LogMeta): string;
private formatMeta;
protected normalizePatternSpacing(value: string): string;
/**
* @description Logs a message with the specified log level.
* @summary Checks if the message should be logged based on the current log level, then uses the appropriate console method to output the formatted log.
* @param {LogLevel} level - The log level of the message.
* @param {StringLike | Error} msg - The message to be logged or an Error object.
* @param {Error} [error] - Optional stack trace to include in the log.
* @return {void}
*/
protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
/**
* @description Logs a message at the benchmark level.
* @summary Logs a message at the benchmark level if the current verbosity setting allows it.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
benchmark(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the silly level.
* @summary Logs a message at the silly level if the current verbosity setting allows it.
* @param {StringLike} msg - The message to be logged.
* @param {number} [verbosity=0] - The verbosity level of the message.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
silly(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a message at the verbose level.
* @summary Logs a message at the verbose level if the current verbosity setting allows it.
* @param {StringLike} msg - The message to be logged.
* @param {number} [verbosity=0] - The verbosity level of the message.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a message at the info level.
* @summary Logs a message at the info level for general application information.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
info(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the debug level.
* @summary Logs a message at the debug level for detailed troubleshooting information.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
debug(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the error level.
* @summary Logs a message at the error level for errors and exceptions.
* @param {StringLike | Error} msg - The message to be logged or an Error object.
* @param {Error|object} [e] - Optional error or metadata to include in the log.
* @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
* @return {void}
*/
error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a message at the warning level.
* @summary Logs a message at the warning level for potential issues.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
warn(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a message at the trace level.
* @summary Logs a message at the trace level for tracing code execution.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
trace(msg: StringLike, meta?: LogMeta): void;
/**
* @description Updates the logger configuration.
* @summary Merges the provided configuration with the existing configuration.
* @param {Partial<LoggingConfig>} config - The configuration options to apply.
* @return {void}
*/
setConfig(config: Partial<LoggingConfig>): void;
get root(): string[];
/**
* @description Clears any contextual overrides applied by `for`.
* @summary Returns the same logger instance so more contexts can be chained afterwards.
* @return {this} The same logger instance.
*/
clear(): this;
}
/**
* @description A static class for managing logging operations.
* @summary The Logging class provides a centralized logging mechanism with support for different log levels, verbosity, and styling. It uses a singleton pattern to maintain a global logger instance and allows creating specific loggers for different classes and methods.
* @class Logging
* @example
* // Set global configuration
* Logging.setConfig({ level: LogLevel.debug, style: true });
*
* // Get a logger for a specific class
* const logger = Logging.for('MyClass');
*
* // Log messages at different levels
* logger.info('Application started');
* logger.debug('Processing data...');
*
* // Log with context
* const methodLogger = Logging.for('MyClass.myMethod');
* methodLogger.verbose('Detailed operation information', 1);
*
* // Log errors
* try {
* // some operation
* } catch (error) {
* logger.error(error);
* }
* @mermaid
* classDiagram
* class Logger {
* <<interface>>
* +for(method, config, ...args)
* +silly(msg, verbosity)
* +verbose(msg, verbosity)
* +info(msg)
* +debug(msg)
* +error(msg)
* +setConfig(config)
* }
*
* class Logging {
* -global: Logger
* -_factory: LoggerFactory
* -_config: LoggingConfig
* +setFactory(factory)
* +setConfig(config)
* +getConfig()
* +get()
* +verbose(msg, verbosity)
* +info(msg)
* +debug(msg)
* +silly(msg)
* +error(msg)
* +for(object, config, ...args)
* +because(reason, id)
* +theme(text, type, loggerLevel, template)
* }
*
* class MiniLogger {
* +constructor(context, conf?)
* }
*
* Logging ..> Logger : creates
* Logging ..> MiniLogger : creates by default
*/
export declare class Logging {
/**
* @description The global logger instance.
* @summary A singleton instance of Logger used for global logging.
*/
private static global?;
/**
* @description Factory function for creating logger instances.
* @summary A function that creates new Logger instances. By default, it creates a MiniLogger.
*/
private static _factory;
private static _config;
private constructor();
/**
* @description Sets the factory function for creating logger instances.
* @summary Allows customizing how logger instances are created.
* @param {LoggerFactory} factory - The factory function to use for creating loggers.
* @return {void}
*/
static setFactory(factory: LoggerFactory): void;
/**
* @description Updates the global logging configuration.
* @summary Allows updating the global logging configuration with new settings.
* @param {Partial<LoggingConfig>} config - The configuration options to apply.
* @return {void}
*/
static setConfig(config: Partial<LoggingConfig>): void;
/**
* @description Gets a copy of the current global logging configuration.
* @summary Returns a copy of the current global logging configuration.
* @return {LoggingConfig} A copy of the current configuration.
*/
static getConfig(): typeof LoggedEnvironment;
/**
* @description Retrieves or creates the global logger instance.
* @summary Returns the existing global logger or creates a new one if it doesn't exist.
* @return {Logger} The global Logger instance.
*/
static get(): Logger;
/**
* @description Logs a verbose message.
* @summary Delegates the verbose logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {number|object} [verbosity] - The verbosity level or metadata object.
* @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
* @return {void}
*/
static verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs an info message.
* @summary Delegates the info logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static info(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a trace message.
* @summary Delegates the trace logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static trace(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a debug message.
* @summary Delegates the debug logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static debug(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a benchmark message.
* @summary Delegates the benchmark logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static benchmark(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a silly message.
* @summary Delegates the silly logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {number|object} [verbosity] - The verbosity level or metadata object.
* @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
* @return {void}
*/
static silly(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a warning message.
* @summary Delegates the warning logging to the global logger instance.
* @param {StringLike} msg - The message to be logged.
* @param {object} [meta] - Optional metadata to include with the entry.
* @return {void}
*/
static warn(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs an error message.
* @summary Delegates the error logging to the global logger instance.
* @param {StringLike | Error} msg - The message to be logged.
* @param {Error|object} [e] - Optional error or metadata to include in the log.
* @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
* @return {void}
*/
static error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
/**
* @description Creates a logger for a specific object or context.
* @summary Creates a new logger instance for the given object or context using the factory function.
* @param {LoggingContext} object - The object, class, or context to create a logger for.
* @param {Partial<LoggingConfig>} [config] - Optional configuration to override global settings.
* @param {...any} args - Additional arguments to pass to the logger factory.
* @return {Logger} A new logger instance for the specified object or context.
*/
static for(object: LoggingContext, config?: Partial<LoggingConfig>, ...args: any[]): Logger;
/**
* @description Creates a logger for a specific reason or correlation context.
* @summary Utility to quickly create a logger labeled with a free-form reason and optional identifier so that ad-hoc operations can be traced without tying the logger to a class or method name.
* @param {string} reason - A textual reason or context label for this logger instance.
* @param {string} [id] - Optional identifier to help correlate related log entries.
* @return {Logger} A new logger instance labeled with the provided reason and id.
*/
static because(reason: string, id?: string): Logger;
private static baseContext;
private static attachRootContext;
private static ensureRoot;
/**
* @description Applies theme styling to text.
* @summary Applies styling (colors, formatting) to text based on the theme configuration.
* @param {string} text - The text to style.
* @param type - The type of element to style (e.g., "class", "message", "logLevel").
* @param {LogLevel} loggerLevel - The log level to use for styling.
* @param {Theme} [template=DefaultTheme] - The theme to use for styling.
* @return {string} The styled text.
* @mermaid
* sequenceDiagram
* participant Caller
* participant Theme as Logging.theme
* participant Apply as apply function
* participant Style as styled-string-builder
*
* Caller->>Theme: theme(text, type, loggerLevel)
* Theme->>Theme: Check if styling is enabled
* alt styling disabled
* Theme-->>Caller: return original text
* else styling enabled
* Theme->>Theme: Get theme for type
* alt theme not found
* Theme-->>Caller: return original text
* else theme found
* Theme->>Theme: Determine actual theme based on log level
* Theme->>Apply: Apply each style property
* Apply->>Style: Apply colors and formatting
* Style-->>Apply: Return styled text
* Apply-->>Theme: Return styled text
* Theme-->>Caller: Return final styled text
* end
* end
*/
static theme(text: string, type: keyof Theme | keyof LogLevel, loggerLevel: LogLevel, template?: Theme): string;
static register(descriptor: LogParameterDescriptor): import("./logParameters.js").LogParameterRegistry;
static unregister(key: string): import("./logParameters.js").LogParameterRegistry;
}
import { LogLevel } from "./constants.cjs";
import { LogMeta, LoggingConfig } from "./types.cjs";
export type LogParameterPayload = {
config: LoggingConfig;
level: LogLevel;
context: string[];
timestamp?: string;
app?: string;
separator?: string;
correlationId?: string;
rawMessage: string;
filteredMessage: string;
meta?: LogMeta;
metaString?: string;
stack?: string;
stackLabel?: string;
applyTheme(value: string, type: string): string;
};
export interface LogParameterDescriptor {
key: string;
render(payload: LogParameterPayload): string | undefined;
style?(rendered: string, payload: LogParameterPayload): string;
shouldInclude?(payload: LogParameterPayload): boolean;
}
export interface LogPatternLiteralSegment {
type: "literal";
value: string;
}
export interface LogPatternParameterSegment {
type: "parameter";
key: string;
}
export interface LogPatternOptionalSegment {
type: "optional";
prefix: string;
suffix: string;
children: LogPatternSegment[];
}
export type LogPatternSegment = LogPatternLiteralSegment | LogPatternParameterSegment | LogPatternOptionalSegment;
export type LogPatternDefinition = {
pattern: string;
segments: LogPatternSegment[];
keys: string[];
includesMeta: boolean;
};
export declare class LogParameterRegistry {
private readonly descriptors;
register(descriptor: LogParameterDescriptor): this;
unregister(key: string): this;
get(key: string): LogParameterDescriptor | undefined;
render(payload: LogParameterPayload, keys: string[]): Record<string, string>;
keys(): string[];
}
export declare function compileLogPattern(pattern: string): LogPatternDefinition;
export declare function renderPattern(definition: LogPatternDefinition, rendered: Record<string, string>): string;
export declare const logParameterRegistry: LogParameterRegistry;
import { LogLevel } from "./constants.js";
import { LogMeta, LoggingConfig } from "./types.js";
export type LogParameterPayload = {
config: LoggingConfig;
level: LogLevel;
context: string[];
timestamp?: string;
app?: string;
separator?: string;
correlationId?: string;
rawMessage: string;
filteredMessage: string;
meta?: LogMeta;
metaString?: string;
stack?: string;
stackLabel?: string;
applyTheme(value: string, type: string): string;
};
export interface LogParameterDescriptor {
key: string;
render(payload: LogParameterPayload): string | undefined;
style?(rendered: string, payload: LogParameterPayload): string;
shouldInclude?(payload: LogParameterPayload): boolean;
}
export interface LogPatternLiteralSegment {
type: "literal";
value: string;
}
export interface LogPatternParameterSegment {
type: "parameter";
key: string;
}
export interface LogPatternOptionalSegment {
type: "optional";
prefix: string;
suffix: string;
children: LogPatternSegment[];
}
export type LogPatternSegment = LogPatternLiteralSegment | LogPatternParameterSegment | LogPatternOptionalSegment;
export type LogPatternDefinition = {
pattern: string;
segments: LogPatternSegment[];
keys: string[];
includesMeta: boolean;
};
export declare class LogParameterRegistry {
private readonly descriptors;
register(descriptor: LogParameterDescriptor): this;
unregister(key: string): this;
get(key: string): LogParameterDescriptor | undefined;
render(payload: LogParameterPayload, keys: string[]): Record<string, string>;
keys(): string[];
}
export declare function compileLogPattern(pattern: string): LogPatternDefinition;
export declare function renderPattern(definition: LogPatternDefinition, rendered: Record<string, string>): string;
export declare const logParameterRegistry: LogParameterRegistry;
/**
* @module Pino
* @description This module provides an adapter for the Pino logger.
* @summary This module exports the {@link PinoLogger} class.
* @memberOf module:Logging
*/
export * from "./pino.cjs";
/**
* @module Pino
* @description This module provides an adapter for the Pino logger.
* @summary This module exports the {@link PinoLogger} class.
* @memberOf module:Logging
*/
export * from "./pino.js";
import { Logger as PinoBaseLogger } from "pino";
import { MiniLogger } from "../logging.cjs";
import { Logger, LoggerFactory, LogMeta, LoggingConfig, StringLike } from "../types.cjs";
import { LogLevel } from "../constants.cjs";
/**
* @description A logger that is powered by the Pino logging library.
* @summary This class extends {@link MiniLogger} and uses Pino as its underlying logging engine.
* @param {string} [context] - The context (typically the class name) that this logger is associated with.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @param {PinoBaseLogger} [driver] - An optional, pre-existing Pino logger instance to use.
* @class PinoLogger
*/
export declare class PinoLogger extends MiniLogger implements Logger {
protected pino: PinoBaseLogger;
constructor(context?: string, conf?: Partial<LoggingConfig>, driver?: PinoBaseLogger);
protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
fatal(msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
child(bindings?: Record<string, unknown>, options?: Record<string, unknown>): PinoLogger;
flush(): void | Promise<void>;
get level(): string | undefined;
set level(value: string | undefined);
}
/**
* @description A factory for creating {@link PinoLogger} instances.
* @summary This factory function creates a new {@link PinoLogger} instance, and can optionally accept a pre-existing Pino logger instance.
* @const {LoggerFactory} PinoFactory
* @memberOf module:Logging
*/
export declare const PinoFactory: LoggerFactory;
import { Logger as PinoBaseLogger } from "pino";
import { MiniLogger } from "../logging.js";
import { Logger, LoggerFactory, LogMeta, LoggingConfig, StringLike } from "../types.js";
import { LogLevel } from "../constants.js";
/**
* @description A logger that is powered by the Pino logging library.
* @summary This class extends {@link MiniLogger} and uses Pino as its underlying logging engine.
* @param {string} [context] - The context (typically the class name) that this logger is associated with.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @param {PinoBaseLogger} [driver] - An optional, pre-existing Pino logger instance to use.
* @class PinoLogger
*/
export declare class PinoLogger extends MiniLogger implements Logger {
protected pino: PinoBaseLogger;
constructor(context?: string, conf?: Partial<LoggingConfig>, driver?: PinoBaseLogger);
protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
fatal(msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
child(bindings?: Record<string, unknown>, options?: Record<string, unknown>): PinoLogger;
flush(): void | Promise<void>;
get level(): string | undefined;
set level(value: string | undefined);
}
/**
* @description A factory for creating {@link PinoLogger} instances.
* @summary This factory function creates a new {@link PinoLogger} instance, and can optionally accept a pre-existing Pino logger instance.
* @const {LoggerFactory} PinoFactory
* @memberOf module:Logging
*/
export declare const PinoFactory: LoggerFactory;
/**
* @description Pads the end of a string with a specified character.
* @summary This function extends the input string to a specified length by adding a padding character to the end. If the input string is already longer than the specified length, it is returned unchanged.
* @param {string} str - The input string to be padded.
* @param {number} length - The desired total length of the resulting string.
* @param {string} [char=" "] - The character to use for padding.
* @return {string} The padded string.
* @throws {Error} If the padding character is not exactly one character long.
* @function padEnd
* @memberOf module:Logging
*/
export declare function padEnd(str: string, length: number, char?: string): string;
/**
* @description Replaces placeholders in a string with the provided values.
* @summary This function interpolates a string by replacing placeholders of the form `${variableName}` with the corresponding values from the provided object. If a placeholder does not have a corresponding value, it is left unchanged in the string.
* @param {string} input - The input string containing the placeholders to be replaced.
* @param {Record<string, (number|string)>} values - An object containing key-value pairs for the replacement.
* @param {string} [prefix="${"] - The prefix for the placeholders.
* @param {string} [suffix="}"] - The suffix for the placeholders.
* @param {string} [flags="g"] - The regular expression flags to use.
* @return {string} The interpolated string with the placeholders replaced by their corresponding values.
* @function patchPlaceholders
* @mermaid
* sequenceDiagram
* participant Caller
* participant patchString
* participant String.replace
* Caller->>patchString: Call with input and values
* patchString->>String.replace: Call with regex and replacement function
* String.replace->>patchString: Return replaced string
* patchString-->>Caller: Return patched string
* @memberOf module:Logging
*/
export declare function patchPlaceholders(input: string, values: Record<string, number | string>, prefix?: string, suffix?: string, flags?: string): string;
/**
* @description Replaces occurrences of keys with their corresponding values in a string.
* @summary This function iterates through a set of key-value pairs and replaces all occurrences of each key in the input string with its corresponding value. It supports regular expression flags for customized replacement.
* @param {string} input - The input string in which the replacements will be made.
* @param {Record<string, (number|string)>} values - An object containing key-value pairs for the replacement.
* @param {string} [flags="g"] - The regular expression flags to control the replacement behavior.
* @return {string} The string with all the specified replacements applied.
* @function patchString
* @memberOf module:Logging
*/
export declare function patchString(input: string, values: Record<string, number | string>, flags?: string): string;
/**
* @description Converts a string to camelCase.
* @summary This function transforms the input string into camelCase format, where words are joined without spaces and each word after the first starts with a capital letter.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to camelCase.
* @function toCamelCase
* @memberOf module:Logging
*/
export declare function toCamelCase(text: string): string;
/**
* @description Converts a string to ENVIRONMENT_VARIABLE format.
* @summary This function transforms the input string into uppercase with words separated by underscores, which is a format that is typically used for environment variable names.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to ENVIRONMENT_VARIABLE format.
* @function toENVFormat
* @memberOf module:Logging
*/
export declare function toENVFormat(text: string): string;
/**
* @description Converts a string to snake_case.
* @summary This function transforms the input string into lowercase with words separated by underscores.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to snake_case.
* @function toSnakeCase
* @memberOf module:Logging
*/
export declare function toSnakeCase(text: string): string;
/**
* @description Converts a string to kebab-case.
* @summary This function transforms the input string into lowercase with words separated by hyphens.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to kebab-case.
* @function toKebabCase
* @memberOf module:Logging
*/
export declare function toKebabCase(text: string): string;
/**
* @description Converts a string to PascalCase.
* @summary This function transforms the input string into PascalCase format, where words are joined without spaces and each word starts with a capital letter.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to PascalCase.
* @function toPascalCase
* @memberOf module:Logging
*/
export declare function toPascalCase(text: string): string;
/**
* @description Escapes special characters in a string for use in a regular expression.
* @summary This function adds backslashes before characters that have a special meaning in regular expressions, which allows the string to be used as a literal match in a RegExp.
* @param {string} string - The string to escape for regular expression use.
* @return {string} The escaped string that is safe for use in regular expressions.
* @function escapeRegExp
* @memberOf module:Logging
*/
export declare function escapeRegExp(string: string): string;
/**
* @description A utility function that provides string formatting functionality that is similar to C#'s string.format.
* @summary This function replaces placeholders in a string with the provided arguments.
* @param {string} string - The string to format.
* @param {...(string|number|Record<string, any>)} args - The arguments to use for formatting.
* @return {string} The formatted string.
* @function sf
* @memberOf module:Logging
*/
export declare function sf(string: string, ...args: (string | number | Record<string, any>)[]): string;
/**
* @description A utility function that provides string formatting functionality that is similar to C#'s string.format.
* @summary This function is deprecated. Use {@link sf} instead.
* @see sf
* @deprecated
* @function stringFormat
* @memberOf module:Logging
*/
export declare const stringFormat: typeof sf;
/**
* @description Pads the end of a string with a specified character.
* @summary This function extends the input string to a specified length by adding a padding character to the end. If the input string is already longer than the specified length, it is returned unchanged.
* @param {string} str - The input string to be padded.
* @param {number} length - The desired total length of the resulting string.
* @param {string} [char=" "] - The character to use for padding.
* @return {string} The padded string.
* @throws {Error} If the padding character is not exactly one character long.
* @function padEnd
* @memberOf module:Logging
*/
export declare function padEnd(str: string, length: number, char?: string): string;
/**
* @description Replaces placeholders in a string with the provided values.
* @summary This function interpolates a string by replacing placeholders of the form `${variableName}` with the corresponding values from the provided object. If a placeholder does not have a corresponding value, it is left unchanged in the string.
* @param {string} input - The input string containing the placeholders to be replaced.
* @param {Record<string, (number|string)>} values - An object containing key-value pairs for the replacement.
* @param {string} [prefix="${"] - The prefix for the placeholders.
* @param {string} [suffix="}"] - The suffix for the placeholders.
* @param {string} [flags="g"] - The regular expression flags to use.
* @return {string} The interpolated string with the placeholders replaced by their corresponding values.
* @function patchPlaceholders
* @mermaid
* sequenceDiagram
* participant Caller
* participant patchString
* participant String.replace
* Caller->>patchString: Call with input and values
* patchString->>String.replace: Call with regex and replacement function
* String.replace->>patchString: Return replaced string
* patchString-->>Caller: Return patched string
* @memberOf module:Logging
*/
export declare function patchPlaceholders(input: string, values: Record<string, number | string>, prefix?: string, suffix?: string, flags?: string): string;
/**
* @description Replaces occurrences of keys with their corresponding values in a string.
* @summary This function iterates through a set of key-value pairs and replaces all occurrences of each key in the input string with its corresponding value. It supports regular expression flags for customized replacement.
* @param {string} input - The input string in which the replacements will be made.
* @param {Record<string, (number|string)>} values - An object containing key-value pairs for the replacement.
* @param {string} [flags="g"] - The regular expression flags to control the replacement behavior.
* @return {string} The string with all the specified replacements applied.
* @function patchString
* @memberOf module:Logging
*/
export declare function patchString(input: string, values: Record<string, number | string>, flags?: string): string;
/**
* @description Converts a string to camelCase.
* @summary This function transforms the input string into camelCase format, where words are joined without spaces and each word after the first starts with a capital letter.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to camelCase.
* @function toCamelCase
* @memberOf module:Logging
*/
export declare function toCamelCase(text: string): string;
/**
* @description Converts a string to ENVIRONMENT_VARIABLE format.
* @summary This function transforms the input string into uppercase with words separated by underscores, which is a format that is typically used for environment variable names.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to ENVIRONMENT_VARIABLE format.
* @function toENVFormat
* @memberOf module:Logging
*/
export declare function toENVFormat(text: string): string;
/**
* @description Converts a string to snake_case.
* @summary This function transforms the input string into lowercase with words separated by underscores.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to snake_case.
* @function toSnakeCase
* @memberOf module:Logging
*/
export declare function toSnakeCase(text: string): string;
/**
* @description Converts a string to kebab-case.
* @summary This function transforms the input string into lowercase with words separated by hyphens.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to kebab-case.
* @function toKebabCase
* @memberOf module:Logging
*/
export declare function toKebabCase(text: string): string;
/**
* @description Converts a string to PascalCase.
* @summary This function transforms the input string into PascalCase format, where words are joined without spaces and each word starts with a capital letter.
* @param {string} text - The input string to be converted.
* @return {string} The input string converted to PascalCase.
* @function toPascalCase
* @memberOf module:Logging
*/
export declare function toPascalCase(text: string): string;
/**
* @description Escapes special characters in a string for use in a regular expression.
* @summary This function adds backslashes before characters that have a special meaning in regular expressions, which allows the string to be used as a literal match in a RegExp.
* @param {string} string - The string to escape for regular expression use.
* @return {string} The escaped string that is safe for use in regular expressions.
* @function escapeRegExp
* @memberOf module:Logging
*/
export declare function escapeRegExp(string: string): string;
/**
* @description A utility function that provides string formatting functionality that is similar to C#'s string.format.
* @summary This function replaces placeholders in a string with the provided arguments.
* @param {string} string - The string to format.
* @param {...(string|number|Record<string, any>)} args - The arguments to use for formatting.
* @return {string} The formatted string.
* @function sf
* @memberOf module:Logging
*/
export declare function sf(string: string, ...args: (string | number | Record<string, any>)[]): string;
/**
* @description A utility function that provides string formatting functionality that is similar to C#'s string.format.
* @summary This function is deprecated. Use {@link sf} instead.
* @see sf
* @deprecated
* @function stringFormat
* @memberOf module:Logging
*/
export declare const stringFormat: typeof sf;
/**
* @description A snapshot of a recorded lap interval.
* @summary This captures the lap index, an optional label, the elapsed milliseconds for the lap, and the cumulative elapsed time since the stopwatch started.
* @typedef {object} Lap
* @property {number} index - The zero-based lap order.
* @property {string} [label] - An optional label that describes the lap.
* @property {number} ms - The duration of the lap in milliseconds.
* @property {number} totalMs - The total elapsed time when the lap was recorded.
* @memberOf module:Logging
*/
export type Lap = {
index: number;
label?: string;
/** Duration of this lap in milliseconds */
ms: number;
/** Cumulative time up to this lap in milliseconds */
totalMs: number;
};
type NowFn = () => number;
/**
* @description A high-resolution clock accessor that returns milliseconds.
* @summary This function chooses the most precise timer available in the current runtime, preferring `performance.now` or `process.hrtime.bigint`.
* @return {number} The milliseconds that have elapsed, according to the best available clock.
* @function now
* @memberOf module:Logging
*/
export declare const now: NowFn;
/**
* @description A high-resolution stopwatch with pause, resume, and lap tracking.
* @summary This class tracks elapsed time using the highest precision timer available. It supports pausing, resuming, and recording labeled laps for diagnostics and benchmarking.
* @param {boolean} [autoStart=false] - When `true`, the stopwatch starts immediately upon construction.
* @class StopWatch
* @example
* const sw = new StopWatch(true);
* // ... work ...
* const lap = sw.lap("phase 1");
* sw.pause();
* console.log(`Elapsed: ${lap.totalMs}ms`);
* @mermaid
* sequenceDiagram
* participant Client
* participant StopWatch
* participant Clock as now()
* Client->>StopWatch: start()
* StopWatch->>Clock: now()
* Clock-->>StopWatch: timestamp
* Client->>StopWatch: lap()
* StopWatch->>Clock: now()
* Clock-->>StopWatch: timestamp
* StopWatch-->>Client: Lap
* Client->>StopWatch: pause()
* StopWatch->>Clock: now()
* Clock-->>StopWatch: timestamp
*/
export declare class StopWatch {
private _startMs;
private _elapsedMs;
private _running;
private _laps;
private _lastLapTotalMs;
constructor(autoStart?: boolean);
/**
* @description Indicates whether the stopwatch is actively running.
* @summary This method returns `true` when timing is in progress, and `false` when it is paused or stopped.
* @return {boolean} The current running state.
*/
get running(): boolean;
/**
* @description The elapsed time that has been captured by the stopwatch.
* @summary This method computes the total elapsed time in milliseconds, including the current session if it is running.
* @return {number} The milliseconds that have elapsed since the stopwatch started.
*/
get elapsedMs(): number;
/**
* @description Starts timing if the stopwatch is not already running.
* @summary This method records the current timestamp and transitions the stopwatch into the running state.
* @return {this} A fluent reference to the stopwatch.
*/
start(): this;
/**
* @description Pauses timing and accumulates the elapsed milliseconds.
* @summary This method captures the partial duration, updates the accumulator, and keeps the stopwatch ready to resume later.
* @return {this} A fluent reference to the stopwatch.
*/
pause(): this;
/**
* @description Resumes timing after a pause.
* @summary This method captures a fresh start timestamp, while keeping the previous elapsed time intact.
* @return {this} A fluent reference to the stopwatch.
*/
resume(): this;
/**
* @description Stops timing and returns the total elapsed milliseconds.
* @summary This method invokes {@link StopWatch.pause} to consolidate the elapsed time, and leaves the stopwatch in a non-running state.
* @return {number} The milliseconds that have accumulated across all runs.
*/
stop(): number;
/**
* @description Resets the stopwatch state, while optionally continuing to run.
* @summary This method clears the elapsed time and lap history, and preserves whether the stopwatch should continue ticking.
* @return {this} A fluent reference to the stopwatch.
*/
reset(): this;
/**
* @description Records a lap split since the stopwatch started, or since the previous lap.
* @summary This method stores the lap metadata, updates the cumulative tracking, and returns the newly created {@link Lap}.
* @param {string} [label] - An optional label that describes the lap.
* @return {Lap} A lap snapshot that captures incremental and cumulative timings.
*/
lap(label?: string): Lap;
/**
* @description Retrieves the recorded lap history.
* @summary This method returns the internal lap array as a read-only view to prevent external mutation.
* @return {Array<Lap>} The laps that have been captured by the stopwatch.
*/
get laps(): readonly Lap[];
/**
* @description Formats the elapsed time in a human-readable representation.
* @summary This method uses {@link formatMs} to produce an `hh:mm:ss.mmm` string for display and logging.
* @return {string} The elapsed time, formatted for presentation.
*/
toString(): string;
/**
* @description Serializes the stopwatch state.
* @summary This method provides a JSON-friendly snapshot that includes the running state, elapsed time, and lap details.
* @return {{running: boolean, elapsedMs: number, laps: Lap[]}} A serializable stopwatch representation.
*/
toJSON(): {
running: boolean;
elapsedMs: number;
laps: Lap[];
};
}
/**
* @description Formats milliseconds into `hh:mm:ss.mmm`.
* @summary This function breaks the duration into hours, minutes, seconds, and milliseconds, and returns a zero-padded string.
* @param {number} ms - The milliseconds to format.
* @return {string} The formatted duration string.
* @function formatMs
* @memberOf module:Logging
* @mermaid
* sequenceDiagram
* participant Caller
* participant Formatter as formatMs
* Caller->>Formatter: formatMs(ms)
* Formatter->>Formatter: derive hours/minutes/seconds
* Formatter->>Formatter: pad segments
* Formatter-->>Caller: hh:mm:ss.mmm
*/
export declare function formatMs(ms: number): string;
export {};
/**
* @description A snapshot of a recorded lap interval.
* @summary This captures the lap index, an optional label, the elapsed milliseconds for the lap, and the cumulative elapsed time since the stopwatch started.
* @typedef {object} Lap
* @property {number} index - The zero-based lap order.
* @property {string} [label] - An optional label that describes the lap.
* @property {number} ms - The duration of the lap in milliseconds.
* @property {number} totalMs - The total elapsed time when the lap was recorded.
* @memberOf module:Logging
*/
export type Lap = {
index: number;
label?: string;
/** Duration of this lap in milliseconds */
ms: number;
/** Cumulative time up to this lap in milliseconds */
totalMs: number;
};
type NowFn = () => number;
/**
* @description A high-resolution clock accessor that returns milliseconds.
* @summary This function chooses the most precise timer available in the current runtime, preferring `performance.now` or `process.hrtime.bigint`.
* @return {number} The milliseconds that have elapsed, according to the best available clock.
* @function now
* @memberOf module:Logging
*/
export declare const now: NowFn;
/**
* @description A high-resolution stopwatch with pause, resume, and lap tracking.
* @summary This class tracks elapsed time using the highest precision timer available. It supports pausing, resuming, and recording labeled laps for diagnostics and benchmarking.
* @param {boolean} [autoStart=false] - When `true`, the stopwatch starts immediately upon construction.
* @class StopWatch
* @example
* const sw = new StopWatch(true);
* // ... work ...
* const lap = sw.lap("phase 1");
* sw.pause();
* console.log(`Elapsed: ${lap.totalMs}ms`);
* @mermaid
* sequenceDiagram
* participant Client
* participant StopWatch
* participant Clock as now()
* Client->>StopWatch: start()
* StopWatch->>Clock: now()
* Clock-->>StopWatch: timestamp
* Client->>StopWatch: lap()
* StopWatch->>Clock: now()
* Clock-->>StopWatch: timestamp
* StopWatch-->>Client: Lap
* Client->>StopWatch: pause()
* StopWatch->>Clock: now()
* Clock-->>StopWatch: timestamp
*/
export declare class StopWatch {
private _startMs;
private _elapsedMs;
private _running;
private _laps;
private _lastLapTotalMs;
constructor(autoStart?: boolean);
/**
* @description Indicates whether the stopwatch is actively running.
* @summary This method returns `true` when timing is in progress, and `false` when it is paused or stopped.
* @return {boolean} The current running state.
*/
get running(): boolean;
/**
* @description The elapsed time that has been captured by the stopwatch.
* @summary This method computes the total elapsed time in milliseconds, including the current session if it is running.
* @return {number} The milliseconds that have elapsed since the stopwatch started.
*/
get elapsedMs(): number;
/**
* @description Starts timing if the stopwatch is not already running.
* @summary This method records the current timestamp and transitions the stopwatch into the running state.
* @return {this} A fluent reference to the stopwatch.
*/
start(): this;
/**
* @description Pauses timing and accumulates the elapsed milliseconds.
* @summary This method captures the partial duration, updates the accumulator, and keeps the stopwatch ready to resume later.
* @return {this} A fluent reference to the stopwatch.
*/
pause(): this;
/**
* @description Resumes timing after a pause.
* @summary This method captures a fresh start timestamp, while keeping the previous elapsed time intact.
* @return {this} A fluent reference to the stopwatch.
*/
resume(): this;
/**
* @description Stops timing and returns the total elapsed milliseconds.
* @summary This method invokes {@link StopWatch.pause} to consolidate the elapsed time, and leaves the stopwatch in a non-running state.
* @return {number} The milliseconds that have accumulated across all runs.
*/
stop(): number;
/**
* @description Resets the stopwatch state, while optionally continuing to run.
* @summary This method clears the elapsed time and lap history, and preserves whether the stopwatch should continue ticking.
* @return {this} A fluent reference to the stopwatch.
*/
reset(): this;
/**
* @description Records a lap split since the stopwatch started, or since the previous lap.
* @summary This method stores the lap metadata, updates the cumulative tracking, and returns the newly created {@link Lap}.
* @param {string} [label] - An optional label that describes the lap.
* @return {Lap} A lap snapshot that captures incremental and cumulative timings.
*/
lap(label?: string): Lap;
/**
* @description Retrieves the recorded lap history.
* @summary This method returns the internal lap array as a read-only view to prevent external mutation.
* @return {Array<Lap>} The laps that have been captured by the stopwatch.
*/
get laps(): readonly Lap[];
/**
* @description Formats the elapsed time in a human-readable representation.
* @summary This method uses {@link formatMs} to produce an `hh:mm:ss.mmm` string for display and logging.
* @return {string} The elapsed time, formatted for presentation.
*/
toString(): string;
/**
* @description Serializes the stopwatch state.
* @summary This method provides a JSON-friendly snapshot that includes the running state, elapsed time, and lap details.
* @return {{running: boolean, elapsedMs: number, laps: Lap[]}} A serializable stopwatch representation.
*/
toJSON(): {
running: boolean;
elapsedMs: number;
laps: Lap[];
};
}
/**
* @description Formats milliseconds into `hh:mm:ss.mmm`.
* @summary This function breaks the duration into hours, minutes, seconds, and milliseconds, and returns a zero-padded string.
* @param {number} ms - The milliseconds to format.
* @return {string} The formatted duration string.
* @function formatMs
* @memberOf module:Logging
* @mermaid
* sequenceDiagram
* participant Caller
* participant Formatter as formatMs
* Caller->>Formatter: formatMs(ms)
* Formatter->>Formatter: derive hours/minutes/seconds
* Formatter->>Formatter: pad segments
* Formatter-->>Caller: hh:mm:ss.mmm
*/
export declare function formatMs(ms: number): string;
export {};
import { styles } from "styled-string-builder";
import { LoggingMode, LogLevel } from "./constants.cjs";
/**
* @description A string-compatible value that can be accepted by the logging APIs.
* @summary Represents either a literal string or an object that has a `toString()` method. This allows for the lazy stringification of complex payloads.
* @typedef {(string|Object)} StringLike
* @memberOf module:Logging
*/
export type StringLike = string | {
toString: () => string;
};
export type LogMeta = Record<string, unknown>;
/**
* @description A generic function signature for loosely typed callbacks.
* @summary This type covers variadic functions where the arguments and return types are not constrained, which enables the logging layer to accept any callable.
* @typedef {function(...any[]): any} AnyFunction
* @memberOf module:Logging
*/
export type AnyFunction = (...args: any[]) => any;
/**
* @description A constructable class type.
* @summary Describes a constructor that produces instances of type `T`. This allows APIs to accept class references for context-aware logging.
* @template T
* @typedef Class
* @memberOf module:Logging
*/
export type Class<T> = {
new (...args: any[]): T;
};
/**
* @description A context descriptor that is accepted when requesting a logger instance.
* @summary Allows the logging system to resolve context names from strings, constructors, or functions.
* @typedef {(string|Class<any>|AnyFunction)} LoggingContext
* @memberOf module:Logging
*/
export type LoggingContext = string | Class<any> | AnyFunction;
/**
* @description An interface for factories that create contextual clones of the receiver.
* @summary Declares a `for` method that returns another instance of `THIS` using the provided arguments. This enables chained logger customization.
* @template THIS
* @template ARGS
* @interface Impersonatable
* @memberOf module:Logging
*/
export interface Impersonatable<THIS, ARGS extends any[] = any[]> {
/**
* @description Produce a copy of the current instance with altered context.
* @summary Called by logging utilities to derive child objects with supplemental configuration and context metadata.
* @param {ARGS} args - Arguments forwarded to the impersonation strategy.
* @return {THIS} Derived instance using the provided arguments.
*/
for(...args: ARGS): THIS;
}
/**
* @description An interface for loggers that support multiple verbosity levels.
* @summary This interface declares severity-specific log methods, configuration overrides, and factory helpers that are used throughout the logging toolkit.
* @interface Logger
* @memberOf module:Logging
*/
export interface Logger extends Impersonatable<Logger, [
(string | {
new (...args: any[]): any;
} | AnyFunction | Partial<LoggingConfig>),
Partial<LoggingConfig>,
...any[]
]> {
/**
* @description Logs a benchmark message.
* @summary Emits high-frequency performance metrics at the `benchmark` log level.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
benchmark(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a `way too verbose` or a silly message.
* @summary Emits playful or extremely verbose details at the `silly` log level.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
silly(msg: StringLike, verbosity?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs developer trace messages.
* @summary Emits playful or extremely verbose details at the `silly` log level.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
trace(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a verbose message.
* @summary Writes diagnostic output governed by the configured verbosity threshold.
* @param {StringLike} msg - Message or payload to emit.
* @param {number} [verbosity] - Verbosity level required for the message to pass through.
* @return {void}
*/
verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs an info message.
* @summary Emits general informational events that describe application progress.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
info(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs an error message.
* @summary Records errors and exceptions, including optional stack traces.
* @param {StringLike|Error} msg - Message or {@link Error} instance to log.
* @param {Error} [e] - Optional secondary error or cause.
* @return {void}
*/
error(msg: StringLike | Error, error?: Error | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a debug message.
* @summary Emits fine-grained diagnostic details useful during development and troubleshooting.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
debug(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a debug message.
* @summary Emits fine-grained diagnostic details useful during development and troubleshooting.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
warn(msg: StringLike, meta?: LogMeta): void;
/**
* @description Creates a new logger for a specific method or context.
* @summary Produces a scoped logger that formats entries using the derived context and overrides supplied configuration.
* @param {any} method - Method name, callback, constructor, or partial configuration used to seed the child logger.
* @param {Partial<LoggingConfig>} [config] - Optional configuration overrides for the child logger.
* @param {...any[]} args - Extra arguments forwarded to factory implementations.
* @return {Logger} Logger instance tailored to the supplied context.
*/
for(config: Partial<LoggingConfig>): this;
for(context: string | {
new (...args: any[]): any;
} | AnyFunction | object): this;
for(method: string | {
new (...args: any[]): any;
} | AnyFunction | object | Partial<LoggingConfig>, config?: Partial<LoggingConfig>, ...args: any[]): this;
/**
* @description Clears any contextual overrides applied via {@link Logger.for}.
* @summary Resets temporary context/configuration so ensuing chains start from the base logger while preserving the concrete instance type.
* @return {this} The same logger instance to continue chaining.
*/
clear(): this;
/**
* @description Updates the logger configuration.
* @summary Merges the given options into the logger's existing configuration.
* @param {Partial<LoggingConfig>} config - Configuration overrides to apply.
* @return {void}
*/
setConfig(config: Partial<LoggingConfig>): void;
/**
* @description Immutable base context for the logger instance.
* @summary Returned as a copy so callers cannot mutate the internal base context while still allowing inspection.
*/
readonly root: string[];
}
/**
* @description An interface for filters that can mutate or reject log messages.
* @summary This allows for custom pre-processing of log entries before they are formatted or emitted.
* @interface LoggingFilter
* @memberOf module:Logging
*/
export interface LoggingFilter {
/**
* @description Apply filtering logic to an incoming message.
* @summary Receives the active configuration, original message, and context stack to produce the final message string.
* @param {LoggingConfig} config - Active logging configuration.
* @param {string} message - Message submitted for logging.
* @param {string[]} context - Context identifiers associated with the message.
* @return {string} Filtered message string.
*/
filter(config: LoggingConfig, message: string, context: string[]): string;
}
/**
* @description Configuration for the logging system.
* @summary Defines the log level, verbosity, and other settings for logging.
* @template TRANSPORT
* @typedef {object} LoggingConfig
* @property {string} env - The environment, e.g., "development", "production".
* @property {LogLevel} level - The logging level.
* @property {boolean} [logLevel] - Whether to display the log level in the output.
* @property {number} verbose - The verbosity level.
* @property {string} contextSeparator - The separator to use between context entries.
* @property {string} separator - The separator to use between log components.
* @property {boolean} [style] - Whether to apply styling to the log output.
* @property {boolean} [timestamp] - Whether to include timestamps in log messages.
* @property {string} [timestampFormat] - The format for timestamps.
* @property {boolean} [context] - Whether to include context information in log messages.
* @property {Theme} [theme] - The theme to use for styling log messages.
* @property {LoggingMode} format - The output format for log messages.
* @property {string} pattern - The pattern to use for formatting log messages.
* @property {(string|number)} [correlationId] - A correlation ID for tracking related log messages.
* @property {(string[]|LoggingFilter[])} [filters] - An array of filters to apply to log messages.
* @property {TRANSPORT[]} [transports] - An array of transports to use for logging.
* @memberOf module:Logging
*/
export type LoggingConfig<TRANSPORT = object> = {
env: "development" | "production" | "test" | "staging" | string;
level: LogLevel;
logLevel?: boolean;
verbose: number;
contextSeparator: string;
separator: string;
style?: boolean;
timestamp?: boolean;
timestampFormat?: string;
context?: boolean;
meta?: boolean;
theme?: Theme;
format: LoggingMode;
pattern: string;
correlationId?: string | number;
filters?: string[] | LoggingFilter[];
transports?: TRANSPORT[];
};
/**
* @description A factory signature for creating logger instances.
* @summary This allows consumers to override the logger construction with custom implementations.
* @template L
* @typedef {function(string, Partial<LoggingConfig>, ...any[]): L} LoggerFactory
* @memberOf module:Logging
*/
export type LoggerFactory<L extends Logger = Logger> = (object?: string, config?: Partial<LoggingConfig>, ...args: any[]) => L;
/**
* @description A theme option that is applied to a specific log element.
* @summary This interface configures the foreground and background colors, as well as additional style directives for styled console output.
* @interface ThemeOption
* @memberOf module:Logging
*/
export interface ThemeOption {
fg?: number | [number] | [number, number, number];
bg?: number | [number] | [number, number, number];
style?: number[] | [keyof typeof styles];
}
/**
* @description A mapping between log levels and theme overrides.
* @summary This enables level-specific styling by associating each {@link LogLevel} with a {@link ThemeOption} configuration.
* @typedef {Partial<Record<LogLevel, ThemeOption>>} ThemeOptionByLogLevel
* @memberOf module:Logging
*/
export type ThemeOptionByLogLevel = Partial<Record<LogLevel, ThemeOption>>;
/**
* @description A theme definition that is applied to the console output.
* @summary This interface specifies the styling for each console log element and supports overrides based on {@link LogLevel} values.
* @interface Theme
* @memberOf module:Logging
*/
export interface Theme {
/**
* @description Styling for application identifiers in the output.
*/
app: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for separators inserted between log sections.
*/
separator: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for class names in the output.
*/
class: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for timestamps in the output.
*/
timestamp: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for the main message text in the output.
*/
message: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for method names in the output.
*/
method: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for identifier elements in the output.
*/
id: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for stack trace blocks in the output.
*/
stack: ThemeOption;
/**
* @description Styling overrides keyed by {@link LogLevel}.
*/
logLevel: ThemeOptionByLogLevel;
}
import { styles } from "styled-string-builder";
import { LoggingMode, LogLevel } from "./constants.js";
/**
* @description A string-compatible value that can be accepted by the logging APIs.
* @summary Represents either a literal string or an object that has a `toString()` method. This allows for the lazy stringification of complex payloads.
* @typedef {(string|Object)} StringLike
* @memberOf module:Logging
*/
export type StringLike = string | {
toString: () => string;
};
export type LogMeta = Record<string, unknown>;
/**
* @description A generic function signature for loosely typed callbacks.
* @summary This type covers variadic functions where the arguments and return types are not constrained, which enables the logging layer to accept any callable.
* @typedef {function(...any[]): any} AnyFunction
* @memberOf module:Logging
*/
export type AnyFunction = (...args: any[]) => any;
/**
* @description A constructable class type.
* @summary Describes a constructor that produces instances of type `T`. This allows APIs to accept class references for context-aware logging.
* @template T
* @typedef Class
* @memberOf module:Logging
*/
export type Class<T> = {
new (...args: any[]): T;
};
/**
* @description A context descriptor that is accepted when requesting a logger instance.
* @summary Allows the logging system to resolve context names from strings, constructors, or functions.
* @typedef {(string|Class<any>|AnyFunction)} LoggingContext
* @memberOf module:Logging
*/
export type LoggingContext = string | Class<any> | AnyFunction;
/**
* @description An interface for factories that create contextual clones of the receiver.
* @summary Declares a `for` method that returns another instance of `THIS` using the provided arguments. This enables chained logger customization.
* @template THIS
* @template ARGS
* @interface Impersonatable
* @memberOf module:Logging
*/
export interface Impersonatable<THIS, ARGS extends any[] = any[]> {
/**
* @description Produce a copy of the current instance with altered context.
* @summary Called by logging utilities to derive child objects with supplemental configuration and context metadata.
* @param {ARGS} args - Arguments forwarded to the impersonation strategy.
* @return {THIS} Derived instance using the provided arguments.
*/
for(...args: ARGS): THIS;
}
/**
* @description An interface for loggers that support multiple verbosity levels.
* @summary This interface declares severity-specific log methods, configuration overrides, and factory helpers that are used throughout the logging toolkit.
* @interface Logger
* @memberOf module:Logging
*/
export interface Logger extends Impersonatable<Logger, [
(string | {
new (...args: any[]): any;
} | AnyFunction | Partial<LoggingConfig>),
Partial<LoggingConfig>,
...any[]
]> {
/**
* @description Logs a benchmark message.
* @summary Emits high-frequency performance metrics at the `benchmark` log level.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
benchmark(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a `way too verbose` or a silly message.
* @summary Emits playful or extremely verbose details at the `silly` log level.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
silly(msg: StringLike, verbosity?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs developer trace messages.
* @summary Emits playful or extremely verbose details at the `silly` log level.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
trace(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a verbose message.
* @summary Writes diagnostic output governed by the configured verbosity threshold.
* @param {StringLike} msg - Message or payload to emit.
* @param {number} [verbosity] - Verbosity level required for the message to pass through.
* @return {void}
*/
verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
/**
* @description Logs an info message.
* @summary Emits general informational events that describe application progress.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
info(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs an error message.
* @summary Records errors and exceptions, including optional stack traces.
* @param {StringLike|Error} msg - Message or {@link Error} instance to log.
* @param {Error} [e] - Optional secondary error or cause.
* @return {void}
*/
error(msg: StringLike | Error, error?: Error | LogMeta, meta?: LogMeta): void;
/**
* @description Logs a debug message.
* @summary Emits fine-grained diagnostic details useful during development and troubleshooting.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
debug(msg: StringLike, meta?: LogMeta): void;
/**
* @description Logs a debug message.
* @summary Emits fine-grained diagnostic details useful during development and troubleshooting.
* @param {StringLike} msg - Message or payload to emit.
* @return {void}
*/
warn(msg: StringLike, meta?: LogMeta): void;
/**
* @description Creates a new logger for a specific method or context.
* @summary Produces a scoped logger that formats entries using the derived context and overrides supplied configuration.
* @param {any} method - Method name, callback, constructor, or partial configuration used to seed the child logger.
* @param {Partial<LoggingConfig>} [config] - Optional configuration overrides for the child logger.
* @param {...any[]} args - Extra arguments forwarded to factory implementations.
* @return {Logger} Logger instance tailored to the supplied context.
*/
for(config: Partial<LoggingConfig>): this;
for(context: string | {
new (...args: any[]): any;
} | AnyFunction | object): this;
for(method: string | {
new (...args: any[]): any;
} | AnyFunction | object | Partial<LoggingConfig>, config?: Partial<LoggingConfig>, ...args: any[]): this;
/**
* @description Clears any contextual overrides applied via {@link Logger.for}.
* @summary Resets temporary context/configuration so ensuing chains start from the base logger while preserving the concrete instance type.
* @return {this} The same logger instance to continue chaining.
*/
clear(): this;
/**
* @description Updates the logger configuration.
* @summary Merges the given options into the logger's existing configuration.
* @param {Partial<LoggingConfig>} config - Configuration overrides to apply.
* @return {void}
*/
setConfig(config: Partial<LoggingConfig>): void;
/**
* @description Immutable base context for the logger instance.
* @summary Returned as a copy so callers cannot mutate the internal base context while still allowing inspection.
*/
readonly root: string[];
}
/**
* @description An interface for filters that can mutate or reject log messages.
* @summary This allows for custom pre-processing of log entries before they are formatted or emitted.
* @interface LoggingFilter
* @memberOf module:Logging
*/
export interface LoggingFilter {
/**
* @description Apply filtering logic to an incoming message.
* @summary Receives the active configuration, original message, and context stack to produce the final message string.
* @param {LoggingConfig} config - Active logging configuration.
* @param {string} message - Message submitted for logging.
* @param {string[]} context - Context identifiers associated with the message.
* @return {string} Filtered message string.
*/
filter(config: LoggingConfig, message: string, context: string[]): string;
}
/**
* @description Configuration for the logging system.
* @summary Defines the log level, verbosity, and other settings for logging.
* @template TRANSPORT
* @typedef {object} LoggingConfig
* @property {string} env - The environment, e.g., "development", "production".
* @property {LogLevel} level - The logging level.
* @property {boolean} [logLevel] - Whether to display the log level in the output.
* @property {number} verbose - The verbosity level.
* @property {string} contextSeparator - The separator to use between context entries.
* @property {string} separator - The separator to use between log components.
* @property {boolean} [style] - Whether to apply styling to the log output.
* @property {boolean} [timestamp] - Whether to include timestamps in log messages.
* @property {string} [timestampFormat] - The format for timestamps.
* @property {boolean} [context] - Whether to include context information in log messages.
* @property {Theme} [theme] - The theme to use for styling log messages.
* @property {LoggingMode} format - The output format for log messages.
* @property {string} pattern - The pattern to use for formatting log messages.
* @property {(string|number)} [correlationId] - A correlation ID for tracking related log messages.
* @property {(string[]|LoggingFilter[])} [filters] - An array of filters to apply to log messages.
* @property {TRANSPORT[]} [transports] - An array of transports to use for logging.
* @memberOf module:Logging
*/
export type LoggingConfig<TRANSPORT = object> = {
env: "development" | "production" | "test" | "staging" | string;
level: LogLevel;
logLevel?: boolean;
verbose: number;
contextSeparator: string;
separator: string;
style?: boolean;
timestamp?: boolean;
timestampFormat?: string;
context?: boolean;
meta?: boolean;
theme?: Theme;
format: LoggingMode;
pattern: string;
correlationId?: string | number;
filters?: string[] | LoggingFilter[];
transports?: TRANSPORT[];
};
/**
* @description A factory signature for creating logger instances.
* @summary This allows consumers to override the logger construction with custom implementations.
* @template L
* @typedef {function(string, Partial<LoggingConfig>, ...any[]): L} LoggerFactory
* @memberOf module:Logging
*/
export type LoggerFactory<L extends Logger = Logger> = (object?: string, config?: Partial<LoggingConfig>, ...args: any[]) => L;
/**
* @description A theme option that is applied to a specific log element.
* @summary This interface configures the foreground and background colors, as well as additional style directives for styled console output.
* @interface ThemeOption
* @memberOf module:Logging
*/
export interface ThemeOption {
fg?: number | [number] | [number, number, number];
bg?: number | [number] | [number, number, number];
style?: number[] | [keyof typeof styles];
}
/**
* @description A mapping between log levels and theme overrides.
* @summary This enables level-specific styling by associating each {@link LogLevel} with a {@link ThemeOption} configuration.
* @typedef {Partial<Record<LogLevel, ThemeOption>>} ThemeOptionByLogLevel
* @memberOf module:Logging
*/
export type ThemeOptionByLogLevel = Partial<Record<LogLevel, ThemeOption>>;
/**
* @description A theme definition that is applied to the console output.
* @summary This interface specifies the styling for each console log element and supports overrides based on {@link LogLevel} values.
* @interface Theme
* @memberOf module:Logging
*/
export interface Theme {
/**
* @description Styling for application identifiers in the output.
*/
app: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for separators inserted between log sections.
*/
separator: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for class names in the output.
*/
class: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for timestamps in the output.
*/
timestamp: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for the main message text in the output.
*/
message: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for method names in the output.
*/
method: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for identifier elements in the output.
*/
id: ThemeOption | ThemeOptionByLogLevel;
/**
* @description Styling for stack trace blocks in the output.
*/
stack: ThemeOption;
/**
* @description Styling overrides keyed by {@link LogLevel}.
*/
logLevel: ThemeOptionByLogLevel;
}
/**
* @description Checks if a value is a class.
* @summary This function determines if the given value is a class constructor.
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is a class, `false` otherwise.
* @function isClass
* @memberOf module:Logging
*/
export declare function isClass(value: unknown): value is abstract new (...args: any[]) => any;
/**
* @description Checks if a value is a function.
* @summary This function determines if the given value is a function, but not a class.
* @template T
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is a function, `false` otherwise.
* @function isFunction
* @memberOf module:Logging
*/
export declare function isFunction<T extends (...args: any[]) => unknown>(value: unknown): value is T;
/**
* @description Checks if a value is a method.
* @summary This function determines if the given value is a method.
* @template T
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is a method, `false` otherwise.
* @function isMethod
* @memberOf module:Logging
*/
export declare function isMethod<T extends (...args: any[]) => unknown>(value: unknown): value is T;
/**
* @description Checks if a value is an instance of a class.
* @summary This function determines if the given value is an instance of a class.
* @template T
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is an instance of a class, `false` otherwise.
* @function isInstance
* @memberOf module:Logging
*/
export declare function isInstance<T extends object>(value: unknown): value is T;
/**
* @description Gets the name of an object.
* @summary This function returns the name of the given object, which can be a class, an instance of a class, a function, or a primitive value.
* @param {unknown} value - The value to get the name of.
* @return {string} The name of the object.
* @function getObjectName
* @memberOf module:Logging
*/
export declare function getObjectName(value: unknown): string;
/**
* @description Checks if a value is a class.
* @summary This function determines if the given value is a class constructor.
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is a class, `false` otherwise.
* @function isClass
* @memberOf module:Logging
*/
export declare function isClass(value: unknown): value is abstract new (...args: any[]) => any;
/**
* @description Checks if a value is a function.
* @summary This function determines if the given value is a function, but not a class.
* @template T
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is a function, `false` otherwise.
* @function isFunction
* @memberOf module:Logging
*/
export declare function isFunction<T extends (...args: any[]) => unknown>(value: unknown): value is T;
/**
* @description Checks if a value is a method.
* @summary This function determines if the given value is a method.
* @template T
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is a method, `false` otherwise.
* @function isMethod
* @memberOf module:Logging
*/
export declare function isMethod<T extends (...args: any[]) => unknown>(value: unknown): value is T;
/**
* @description Checks if a value is an instance of a class.
* @summary This function determines if the given value is an instance of a class.
* @template T
* @param {unknown} value - The value to check.
* @return {boolean} `true` if the value is an instance of a class, `false` otherwise.
* @function isInstance
* @memberOf module:Logging
*/
export declare function isInstance<T extends object>(value: unknown): value is T;
/**
* @description Gets the name of an object.
* @summary This function returns the name of the given object, which can be a class, an instance of a class, a function, or a primitive value.
* @param {unknown} value - The value to get the name of.
* @return {string} The name of the object.
* @function getObjectName
* @memberOf module:Logging
*/
export declare function getObjectName(value: unknown): string;
/**
* @description Determines if the current environment is a browser by checking the prototype chain of the global object.
* @summary This function checks if the code is running in a browser environment.
* @return {boolean} `true` if the environment is a browser, `false` otherwise.
* @function isBrowser
* @memberOf module:Logging
*/
export declare function isBrowser(): boolean;
/**
* @description Determines if the current environment is a browser by checking the prototype chain of the global object.
* @summary This function checks if the code is running in a browser environment.
* @return {boolean} `true` if the environment is a browser, `false` otherwise.
* @function isBrowser
* @memberOf module:Logging
*/
export declare function isBrowser(): boolean;
/**
* @module Winston
* @description This module provides an adapter for the Winston logger.
* @summary This module exports the {@link WinstonLogger} class.
* @memberOf module:Logging
*/
export * from "./winston.cjs";
/**
* @module Winston
* @description This module provides an adapter for the Winston logger.
* @summary This module exports the {@link WinstonLogger} class.
* @memberOf module:Logging
*/
export * from "./winston.js";
import winston from "winston";
import { Logger, LoggerFactory, LogMeta, LoggingConfig, StringLike } from "../types.cjs";
import { MiniLogger } from "../logging.cjs";
import { LogLevel } from "../constants.cjs";
/**
* @description A logger implementation that uses Winston.
* @summary This class extends {@link MiniLogger} to provide logging functionality using the Winston library. It configures Winston with the appropriate transports and formats based on the logging configuration.
* @param {string} [cont] - The context (typically the class name) that this logger is associated with.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @class WinstonLogger
* @example
* // Create a Winston logger for a class
* const logger = new WinstonLogger('MyClass');
*
* // Log messages at different levels
* logger.info('Application started');
* logger.error(new Error('Something went wrong'));
*
* // Create a child logger for a specific method
* const methodLogger = logger.for('myMethod');
* methodLogger.debug('Processing data...');
*/
export declare class WinstonLogger extends MiniLogger implements Logger {
protected winston: winston.Logger;
constructor(cont?: string, conf?: Partial<LoggingConfig>);
private resolveTransports;
/**
* @description Logs a message with the specified log level using Winston.
* @summary This method overrides the base log method to use Winston for logging.
* @param {LogLevel} level - The log level of the message.
* @param {(StringLike|Error)} msg - The message to be logged or an Error object.
* @param {Error} [error] - An optional stack trace to include in the log.
* @return {void}
*/
protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
}
/**
* @description A factory function for creating Winston loggers.
* @summary This is a {@link LoggerFactory} implementation that creates {@link WinstonLogger} instances.
* @param {string} [context] - The context (typically the class name) for the logger.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @param {...any} _args - Additional arguments to pass to the WinstonLogger constructor.
* @return {WinstonLogger} A new WinstonLogger instance.
* @const WinstonFactory
* @memberOf module:Logging
*/
export declare const WinstonFactory: LoggerFactory;
import winston from "winston";
import { Logger, LoggerFactory, LogMeta, LoggingConfig, StringLike } from "../types.js";
import { MiniLogger } from "../logging.js";
import { LogLevel } from "../constants.js";
/**
* @description A logger implementation that uses Winston.
* @summary This class extends {@link MiniLogger} to provide logging functionality using the Winston library. It configures Winston with the appropriate transports and formats based on the logging configuration.
* @param {string} [cont] - The context (typically the class name) that this logger is associated with.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @class WinstonLogger
* @example
* // Create a Winston logger for a class
* const logger = new WinstonLogger('MyClass');
*
* // Log messages at different levels
* logger.info('Application started');
* logger.error(new Error('Something went wrong'));
*
* // Create a child logger for a specific method
* const methodLogger = logger.for('myMethod');
* methodLogger.debug('Processing data...');
*/
export declare class WinstonLogger extends MiniLogger implements Logger {
protected winston: winston.Logger;
constructor(cont?: string, conf?: Partial<LoggingConfig>);
private resolveTransports;
/**
* @description Logs a message with the specified log level using Winston.
* @summary This method overrides the base log method to use Winston for logging.
* @param {LogLevel} level - The log level of the message.
* @param {(StringLike|Error)} msg - The message to be logged or an Error object.
* @param {Error} [error] - An optional stack trace to include in the log.
* @return {void}
*/
protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
}
/**
* @description A factory function for creating Winston loggers.
* @summary This is a {@link LoggerFactory} implementation that creates {@link WinstonLogger} instances.
* @param {string} [context] - The context (typically the class name) for the logger.
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
* @param {...any} _args - Additional arguments to pass to the WinstonLogger constructor.
* @return {WinstonLogger} A new WinstonLogger instance.
* @const WinstonFactory
* @memberOf module:Logging
*/
export declare const WinstonFactory: LoggerFactory;
+1
-1

@@ -1,2 +0,2 @@

var e,t;e=this,t=function(e,t,r,n){"use strict";const o="ENV",s="__",i=["${","}"];var a;e.LogLevel=void 0,(a=e.LogLevel||(e.LogLevel={})).benchmark="benchmark",a.error="error",a.warn="warn",a.info="info",a.verbose="verbose",a.debug="debug",a.trace="trace",a.silly="silly";const c={benchmark:0,error:3,warn:6,info:9,verbose:12,debug:15,trace:18,silly:21};var l;e.LoggingMode=void 0,(l=e.LoggingMode||(e.LoggingMode={})).RAW="raw",l.JSON="json";const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},logLevel:{benchmark:{fg:32,style:["bold"]},error:{fg:31,style:["bold"]},info:{fg:34,style:["bold"]},verbose:{fg:34,style:["bold"]},debug:{fg:33,style:["bold"]},trace:{fg:33,style:["bold"]},silly:{fg:33,style:["bold"]}}},g={env:"development",verbose:0,level:e.LogLevel.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:e.LoggingMode.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class f{constructor(){this.descriptors=new Map}register(e){return this.descriptors.set(e.key,e),this}unregister(e){return this.descriptors.delete(e),this}get(e){return this.descriptors.get(e)}render(e,t){const r={},n=new Set;return t.forEach(t=>{if(n.has(t))return;n.add(t);const o=this.descriptors.get(t);if(!o)return;if(o.shouldInclude&&!o.shouldInclude(e))return;const s=o.render(e);if(void 0===s)return;const i=o.style?o.style(s,e):s;r[t]=i}),r}keys(){return Array.from(this.descriptors.keys())}}const p=new Map;function h(e){if(p.has(e))return p.get(e);const t=d(e||""),r=new Set,n=[];m(t,r,n);const o={pattern:e,segments:t,keys:n,includesMeta:r.has("meta")};return p.set(e,o),o}function y(e,t){return v(e.segments,t).text}function d(e){const t=[];let r=0;for(;r<e.length;){const n=e[r];if("["===n){const n=b(e,r,"[","]");if(-1===n){t.push({type:"literal",value:"["}),r++;continue}const o=e.slice(r+1,n);t.push({type:"optional",prefix:"[",suffix:"]",children:d(o)}),r=n+1;continue}if("{"===n){const n=e.indexOf("}",r+1);if(-1===n){t.push({type:"literal",value:"{"}),r++;continue}const o=e.slice(r+1,n).trim();t.push({type:"parameter",key:o}),r=n+1;continue}let o=r;for(;o<e.length&&"["!==e[o]&&"{"!==e[o];)o++;const s=e.slice(r,o);s.length&&t.push({type:"literal",value:s}),r=o}return t}function b(e,t,r,n){let o=0;for(let s=t;s<e.length;s++){const t=e[s];if(t===r)o++;else if(t===n&&(o--,0===o))return s}return-1}function m(e,t,r){for(const n of e)"parameter"===n.type&&(t.has(n.key)||(t.add(n.key),r.push(n.key))),"optional"===n.type&&m(n.children,t,r)}function v(e,t){const r=[];let n=!1;for(const o of e){const e=x(o,t);e.text.length&&r.push(e.text),n=n||e.hasValue}return{text:r.join(""),hasValue:n}}function x(e,t){if("literal"===e.type)return{text:e.value,hasValue:!1};if("parameter"===e.type){const r=t[e.key]??"";return{text:r,hasValue:r.length>0}}const r=v(e.children,t);return r.hasValue?{text:`${e.prefix}${r.text}${e.suffix}`,hasValue:!0}:{text:"",hasValue:!1}}const w=new f;w.register({key:"level",render(e){if(!1!==e.config.logLevel)return e.level.toUpperCase()},style:(e,t)=>t.applyTheme(e,"logLevel")}).register({key:"timestamp",shouldInclude:e=>!(!e.config.timestamp||!e.timestamp),render:e=>e.timestamp,style:(e,t)=>t.applyTheme(e,"timestamp")}).register({key:"app",shouldInclude:e=>!!e.app,render:e=>e.app,style:(e,t)=>t.applyTheme(e,"app")}).register({key:"context",shouldInclude:e=>!1!==e.config.context&&e.context.length>0,render(e){const t=e.config.contextSeparator||".";return e.context.join(t)},style:(e,t)=>t.applyTheme(e,"class")}).register({key:"separator",shouldInclude:e=>!!e.separator,render:e=>e.separator,style:(e,t)=>t.applyTheme(e,"separator")}).register({key:"message",render:e=>e.filteredMessage,style:(e,t)=>t.applyTheme(e,"message")}).register({key:"stack",shouldInclude:e=>!!e.stack,render:e=>e.stack,style:(e,t)=>t.applyTheme(e,"stack")}).register({key:"meta",shouldInclude:e=>!!e.metaString,render:e=>e.metaString}).register({key:"correlationId",shouldInclude:e=>!!e.correlationId,render:e=>e.correlationId,style:(e,t)=>t.applyTheme(e,"id")});const L=w;function E(e,t,r="g"){return Object.entries(t).forEach(([t,n])=>{const o=RegExp(k(t),r);e=e.replace(o,n)}),e}function O(e){return _(e).toUpperCase()}function _(e){return e.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function k(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function j(e,...t){if(t.length>1&&!t.every(e=>"string"==typeof e||"number"==typeof e))throw Error("Only string and number arguments are supported for multiple replacements.");if(1===t.length&&"object"==typeof t[0]){const r=t[0];return Object.entries(r).reduce((e,[t,r])=>e.replace(RegExp(`\\{${t}\\}`,"g"),()=>r),e)}return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const A=j;function M(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const P=Symbol("EnvironmentEmpty"),S=Symbol("EnvironmentModel"),R=/^[a-z][a-zA-Z0-9]*$/;class C extends r.ObjectAccumulator{static{this.factory=()=>new C}constructor(){super(),Object.defineProperty(this,S,{value:{},writable:!0,enumerable:!1,configurable:!1})}fromEnv(e){let t;return M()?t=globalThis[o]||{}:(t=globalThis.process.env,e=O(e)),this.parseEnvValue(t[e])}parseEnvValue(e){return C.parseRuntimeValue(e)}static parseRuntimeValue(e){if("string"!=typeof e)return e;if("true"===e)return!0;if("false"===e)return!1;const t=e.trim();return/^-?\d+(\.\d+)?$/.test(t)?Number(t):e}expand(e){Object.entries(e).forEach(([e,t])=>{C.mergeModel(this[S],e,t),Object.defineProperty(this,e,{get:()=>{const r=this.fromEnv(e);return void 0!==r?r:t&&"object"==typeof t?Array.isArray(t)?t:C.buildEnvProxy(t,[e]):""===t?P:t},set:e=>{t=e},configurable:!0,enumerable:!0})})}orThrow(){const e=this[S],t=e=>void 0!==e?this.parseEnvValue(e):void 0,r=(e,t=!1)=>C.missingEnvError(e,t),n=(e,o)=>{const s={get(s,i){if("string"!=typeof i)return;if(Array.isArray(e)&&"length"===i)return e.length;const a=[...o,i],{key:c,value:l}=C.readRuntimeForPath(a);if("string"==typeof l&&0===l.length)throw r(c,!0);const u=t(l);if(void 0!==u){if("string"==typeof u&&0===u.length)throw r(c,!0);return u}if(!e||!Object.prototype.hasOwnProperty.call(e,i))throw r(c);const g=e[i];if(void 0!==g){if(""===g)throw r(c);return g&&"object"==typeof g?n(g,a):g}},ownKeys:()=>e?Reflect.ownKeys(e):[],getOwnPropertyDescriptor(t,r){if(e)return Object.prototype.hasOwnProperty.call(e,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(e)?[]:{},s)};return new Proxy(this,{get(o,s,i){if("string"!=typeof s)return Reflect.get(o,s,i);if(!Object.prototype.hasOwnProperty.call(e,s))return Reflect.get(o,s,i);const{key:a,value:c}=C.readRuntimeForPath([s]);if("string"==typeof c&&0===c.length)throw r(a,!0);const l=t(c);if(void 0!==l){if("string"==typeof l&&0===l.length)throw r(a,!0);return l}const u=e[s];if(u&&"object"==typeof u)return n(u,[s]);if(void 0===u)return Reflect.get(o,s,i);const g=Reflect.get(o,s);if(void 0===g||""===g)throw r(a,""===g);return g}})}static instance(...e){if(!C._instance){const t=C.factory(...e),r=new Proxy(t,{get(e,t,r){const n=Reflect.get(e,t,r);if(n!==P&&("string"!=typeof t||!Object.prototype.hasOwnProperty.call(e,t)||void 0!==n)){if(void 0!==n)return n;if("string"==typeof t){if("app"===t)return;return C.buildEnvProxy(void 0,[t])}return n}}});C._instance=r}return C._instance}accumulate(e){return super.accumulate(e),this}static accumulate(e){const t=C.instance();return Object.keys(t).forEach(e=>{const r=Object.getOwnPropertyDescriptor(t,e);r&&r.configurable&&r.enumerable&&Object.defineProperty(t,e,{...r,enumerable:!1})}),t.accumulate(e),t}static get(e){return C._instance.get(e)}static formatEnvSegment(e){return R.test(e)?O(e):e.toUpperCase()}static buildEnvKey(e){return e.map(e=>C.formatEnvSegment(e)).join(s)}static buildRawKey(e){return e.join(s)}static readRuntimeForPath(e){const t=C.buildEnvKey(e),r=C.buildRawKey(e),n=C.readRuntimeEnv(t);if(void 0!==n)return{key:t,value:n};if(r!==t){const e=C.readRuntimeEnv(r);if(void 0!==e)return{key:r,value:e}}return{key:t,value:void 0}}static buildEnvProxy(e,t){const r=e=>C.readRuntimeEnv(e),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>C.buildEnvKey(t);if("toString"===s)return()=>C.buildEnvKey(t);if("valueOf"===s)return()=>C.buildEnvKey(t);if("symbol"==typeof s)return;if(Array.isArray(e)&&"length"===s)return e.length;const i=[...t,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=!!e&&Object.prototype.hasOwnProperty.call(e,s),g=u?e[s]:void 0;if(Array.isArray(e)&&(e=>"string"==typeof e&&n.test(e))(s)){if(!u)return;return g&&"object"==typeof g?C.buildEnvProxy(g,i):C.parseRuntimeValue(g)}return g&&"object"==typeof g?C.buildEnvProxy(g,i):u&&""===g||u&&void 0===g?void 0:u?C.parseRuntimeValue(g):C.buildEnvProxy(void 0,i)},ownKeys:()=>e?Reflect.ownKeys(e):[],getOwnPropertyDescriptor(t,r){if(e)return Object.prototype.hasOwnProperty.call(e,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(e)?[]:{},o)}static keys(e=!0){return C.instance().keys().map(t=>e?O(t):t)}static mergeModel(e,t,r){if(e){if(r&&"object"==typeof r&&!Array.isArray(r)){const n=e[t],o=n&&"object"==typeof n&&!Array.isArray(n)?n:{};return e[t]=o,void Object.entries(r).forEach(([e,t])=>{C.mergeModel(o,e,t)})}e[t]=r}}static readRuntimeEnv(e){if(M()){const t=globalThis[o];return t?t[e]:void 0}return globalThis?.process?.env?.[e]}static missingEnvError(e,t){return Error(`Environment variable ${e} is required but was ${t?"an empty string":"undefined"}.`)}}const $=C.accumulate(Object.assign({app:void 0},g,{env:(M()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function T(e){if("function"!=typeof e)return!1;try{const t=Function.prototype.toString.call(e);if(/^\s*class[\s{]/.test(t))return!0}catch{}const t=Object.getOwnPropertyDescriptor(e,"prototype");if(!t||!t.value)return!1;if(!1===t.writable)return!0;const r=e.prototype;return!!Object.prototype.hasOwnProperty.call(r,"constructor")&&Object.getOwnPropertyNames(r).filter(e=>"constructor"!==e).length>0}function I(e){return"function"==typeof e&&!T(e)}function V(e){if(!I(e))return!1;const t=Object.getOwnPropertyDescriptor(e,"prototype");return!t||void 0===t.value}function N(e){if(null===e||"object"!=typeof e)return!1;const t=e.constructor;return!(!t||t===Object)&&T(t)}function F(e){if(null===e)return"null";if(void 0===e)return"undefined";if("string"==typeof e)return e;if(T(e))return e.name||"AnonymousClass";if(N(e)){const t=e.toString;if("function"==typeof t&&t!==Object.prototype.toString)try{const r=t.call(e);if("string"==typeof r&&r.length)return r}catch{}const r=e.constructor;return r&&r.name?r.name:"AnonymousInstance"}if(V(e)||I(e)){const t=e;return t.name?t.name:"anonymous"}if("object"==typeof e){const t=Object.prototype.toString.call(e),r=/^\[object ([^\]]+)\]$/.exec(t);return r?.[1]?r[1]:"Object"}return typeof e}const K=Symbol("MiniLoggerRootContext");class D{constructor(e,t,r=[]){this.conf=t,this.baseContext=Array.isArray(r)?[...r]:[],e&&this.baseContext.push(e),this.context=[...this.baseContext],this[K]=[...this.baseContext]}config(e){return this.conf&&e in this.conf?this.conf[e]:z.getConfig()[e]}for(e,t,...r){let n,o=t;const s=Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[],i=this[K],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof e?n=e:void 0!==e&&(T(e)||N(e)||I(e)?n=F(e):!o&&e&&"object"==typeof e&&(o=e));let c=n?[...s,n]:[...s];return new Proxy(this,{get:(e,t,r)=>{const n=Reflect.get(e,t,r);return"config"===t?new Proxy(this.config,{apply:(e,t,n)=>{const[s]=n;return o&&void 0!==s&&s in o?o[s]:Reflect.apply(e,r,n)},get:(e,t)=>o&&t in o?o[t]:Reflect.get(e,t,r)}):"clear"===t?()=>(c=[...a],o=void 0,r):"context"===t?c:"root"===t?[...a]:t===K?a:"for"===t?(...t)=>{const r=Array.isArray(e.context)?[...e.context]:"string"==typeof e.context&&e.context?[e.context]:[];e.context=[...c];try{return e.for.apply(e,t)}finally{e.context=r}}:n}})}getConfigSnapshot(){return{...z.getConfig(),...this.conf||{}}}getContextSegments(){return Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[]}resolveFilters(e){const t=e.filters||[];return Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e&&"function"==typeof e.filter):[]}applyFilters(e,t,r){const n=this.resolveFilters(r);return n.length?n.reduce((e,n)=>{try{const o=n.filter(r,e,[...t]);return"string"==typeof o?o:e}catch{return e}},e):e}createLog(e,t,r,n){const o=!!this.config("style"),s=this.config("separator"),i=z.getConfig().app,a=this.config("timestamp")?(new Date).toISOString():void 0,c=this.getConfigSnapshot(),l=this.getContextSegments(),u="string"==typeof t?t:t instanceof Error?t.message:t+"",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||t instanceof Error){const n=r||t;n.stack&&(x="string"==typeof t?g:n.message,v=` | ${x} - Stack trace:\n${o?z.theme(n.stack,"stack",e):n.stack}`)}const w={config:c,level:e,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:(t,r)=>o?z.theme(t,r,e):t},E=this.config("pattern"),O=c.pattern||"",_=h(E.length?E:O),k=L.render(w,_.keys);switch(this.config("format")){case"json":{const e=L.render(w,L.keys()),t={};return Object.entries(e).forEach(([e,r])=>{"meta"!==e&&(t[e]=r)}),w.meta&&(t.meta=w.meta),JSON.stringify(t)}case"raw":{let e=this.normalizePatternSpacing(y(_,k));return!_.includesMeta&&d&&(e=e?`${e} ${d}`:d),e}default:throw Error("Unsupported logging format: "+this.config("format"))}}formatMeta(e){try{return JSON.stringify(e)}catch(t){return e+""}}normalizePatternSpacing(e){return e.replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/g,"")}log(t,r,n,o){const s=this.config("level");if(c[t]>c[s])return;let i;switch(t){case e.LogLevel.benchmark:case e.LogLevel.info:case e.LogLevel.verbose:i=console.log;break;case e.LogLevel.debug:i=console.debug;break;case e.LogLevel.error:i=console.error;break;case e.LogLevel.trace:i=console.trace;break;case e.LogLevel.warn:i=console.warn;break;case e.LogLevel.silly:i=console.debug;break;default:throw Error("Invalid log level")}i(this.createLog(t,r,n,o))}benchmark(t,r){this.log(e.LogLevel.benchmark,t,void 0,r)}silly(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.silly,t,void 0,s)}verbose(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.verbose,t,void 0,s)}info(t,r){this.log(e.LogLevel.info,t,void 0,r)}debug(t,r){this.log(e.LogLevel.debug,t,void 0,r)}error(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.error,t,o,s)}warn(t,r){this.log(e.LogLevel.warn,t,void 0,r)}trace(t,r){this.log(e.LogLevel.trace,t,void 0,r)}setConfig(e){this.conf={...this.conf||{},...e}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class z{static{this._factory=(e,t)=>{const r="string"==typeof $.app?[$.app]:[];return new D(e,t,r)}}static{this._config=$}constructor(){}static setFactory(e){z._factory=e,this.global=void 0}static setConfig(e){Object.entries(e).forEach(([e,t])=>{this._config[e]=t})}static getConfig(){return this._config}static get(){return this.ensureRoot()}static verbose(e,t=0,r){return this.get().verbose(e,t,r)}static info(e,t){return this.get().info(e,t)}static trace(e,t){return this.get().trace(e,t)}static debug(e,t){return this.get().debug(e,t)}static benchmark(e,t){return this.get().benchmark(e,t)}static silly(e,t=0,r){return this.get().silly(e,t,r)}static warn(e,t){return this.get().warn(e,t)}static error(e,t,r){return this.get().error(e,t,r)}static for(e,t,...r){const n=void 0!==t?[e,t]:[e];return(this.global?this.global:this.ensureRoot(r)).for(...n)}static because(e,t){let r=this.ensureRoot().for(e,this._config);return t&&(r=r.for(t)),r}static baseContext(){const e=this._config.app;return"string"==typeof e&&e.length?[e]:[]}static attachRootContext(e){const t=e.root&&Array.isArray(e.root)?[...e.root]:this.baseContext();return(!e.context||Array.isArray(e.context)&&0===e.context.length)&&(e.context=[...t]),e[K]=[...t],e}static ensureRoot(e=[]){if(!this.global){const t=this._factory(void 0,void 0,...e);this.global=this.attachRootContext(t)}return this.global}static theme(r,n,o,s=u){if(!this._config.style)return r;const i=s[n];if(!i||!Object.keys(i).length)return r;let a=i;const c=Object.assign({},e.LogLevel);return Object.keys(i)[0]in c&&(a=i[o]||{}),Object.keys(a).reduce((e,r)=>{const n=a[r];return n?((e,r,n)=>{try{const o=e;let s=t.style(o);function i(e,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(e))return i.call(s,n);switch(e.length){case 1:return i=r?s.bgColor256:s.color256,i(e[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(e[0],e[1],e[2]);default:return t.style(o)}}function a(e){s="number"==typeof e?s.style(e):s[e]}switch(r){case"bg":case"fg":return i(n).text;case"style":return Array.isArray(n)?n.forEach(a):a(n),s.text;default:return o}}catch(c){return e}})(e,r,n):e},r)}static register(e){return L.register(e)}static unregister(e){return L.unregister(e)}}class U{get log(){return this._log||(this._log=z.for(this)),this._log}constructor(){}}class J extends U{get log(){return super.log.for(this,{filters:[]})}}const Z="undefined"!=typeof globalThis&&"function"==typeof globalThis.performance?.now?()=>globalThis.performance.now():"undefined"!=typeof process&&"function"==typeof process.hrtime?.bigint?()=>{const e=process.hrtime.bigint();return Number(e)/1e6}:()=>Date.now();function q(e){const t=0>e?"-":"",r=Math.abs(e),n=Math.floor(r/36e5),o=Math.floor(r%36e5/6e4),s=Math.floor(r%6e4/1e3),i=Math.floor(r%1e3),a=(e,t)=>e.toString().padStart(t,"0");return`${t}${a(n,2)}:${a(o,2)}:${a(s,2)}.${a(i,3)}`}function B(t=e.LogLevel.info,r=0,n=(...e)=>"called with "+e,o){return(e,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=e instanceof U?e.log.for(e[s]):z.for(e).for(e[s]),c=a[t].bind(a),l=i.value;return i.value=new Proxy(l,{apply(e,t,s){c(n(...s),r);try{const r=Reflect.apply(e,t,s);return r instanceof Promise?r.then(e=>(o&&c(o(void 0,e)),e)).catch(e=>{throw o&&a.error(o(e)),e}):(o&&c(o(void 0,r)),r)}catch(e){throw o&&a.error(o(e)),e}}}),i}}function W(){return(e,t,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class H extends J{constructor(e,t){super(),this.regexp=e,this.replacement=t}match(e){const t=this.regexp.exec(e);return this.regexp.lastIndex=0,t}filter(e,t,r){const n=this.log.for(this.filter);if(!this.match(t))return t;try{return t.replace(this.regexp,this.replacement)}catch(e){n.error("PatternFilter replacement error: "+e)}return""}}n.__decorate([W(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",void 0)],H.prototype,"match",null),e.BrowserEnvKey=o,e.DefaultLoggingConfig=g,e.DefaultPlaceholderWrappers=i,e.DefaultTheme=u,e.ENV_PATH_DELIMITER=s,e.Environment=C,e.LogFilter=J,e.LogParameterRegistry=f,e.LoggedClass=U,e.LoggedEnvironment=$,e.Logging=z,e.MiniLogger=D,e.NumericLogLevels=c,e.PACKAGE_NAME="@decaf-ts/logging",e.PatternFilter=H,e.ROOT_CONTEXT_SYMBOL=K,e.StopWatch=class{constructor(e=!1){this._startMs=null,this._elapsedMs=0,this._running=!1,this._laps=[],this._lastLapTotalMs=0,e&&this.start()}get running(){return this._running}get elapsedMs(){return this._running&&null!=this._startMs?this._elapsedMs+(Z()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=Z()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=Z()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=Z()),this}stop(){return this.pause(),this._elapsedMs}reset(){const e=this._running;return this._startMs=e?Z():null,this._elapsedMs=0,this._laps=[],this._lastLapTotalMs=0,this}lap(e){const t=this.elapsedMs,r=t-this._lastLapTotalMs,n={index:this._laps.length,label:e,ms:r,totalMs:t};return this._laps.push(n),this._lastLapTotalMs=t,n}get laps(){return this._laps}toString(){return q(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}},e.VERSION="0.14.0",e.benchmark=()=>(e,t,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=e instanceof U?e.log.for(e[t]):z.for(e).for(e[t]),o=r.value;return r.value=new Proxy(o,{apply(e,t,r){const o=Z();try{const s=Reflect.apply(e,t,r);return s instanceof Promise?s.then(e=>(n.benchmark(`completed in ${Z()-o}ms`),e)).catch(e=>{throw n.benchmark(`failed in ${Z()-o}ms`),e}):(n.benchmark(`completed in ${Z()-o}ms`),s)}catch(e){throw n.benchmark(`failed in ${Z()-o}ms`),e}}}),r},e.compileLogPattern=h,e.debug=()=>B(e.LogLevel.debug,0,(...e)=>"called with "+e,(e,t)=>e?"Failed with: "+e:t?"Completed with "+JSON.stringify(t):"completed"),e.escapeRegExp=k,e.final=W,e.formatMs=q,e.getObjectName=F,e.info=()=>B(e.LogLevel.info),e.isBrowser=M,e.isClass=T,e.isFunction=I,e.isInstance=N,e.isMethod=V,e.log=B,e.logParameterRegistry=L,e.now=Z,e.padEnd=(e,t,r=" ")=>{if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return e.padEnd(t,r)},e.patchPlaceholders=(e,t,r=i[0],n=i[1],o="g")=>E(e,Object.entries(t).reduce((e,[t,o])=>(e[`${r}${t}${n}`]=o,e),{}),o),e.patchString=E,e.renderPattern=y,e.sf=j,e.silly=()=>B(e.LogLevel.silly),e.stringFormat=A,e.toCamelCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,(e,t)=>0===t?e.toLowerCase():e.toUpperCase()).replace(/\s+/g,""),e.toENVFormat=O,e.toKebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),e.toPascalCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,e=>e.toUpperCase()).replace(/\s+/g,""),e.toSnakeCase=_,e.trace=()=>B(e.LogLevel.trace),e.verbose=(t=0)=>(t||(t=0),B(e.LogLevel.verbose,t)),Object.keys(t).forEach(r=>{"default"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:()=>t[r]})})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("styled-string-builder"),require("typed-object-accumulator"),require("tslib")):"function"==typeof define&&define.amd?define(["exports","styled-string-builder","typed-object-accumulator","tslib"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).logging={},e.styledStringBuilder,e.typedObjectAccumulator,e.tslib);
var e,t;e=this,t=function(e,t,r,n){"use strict";const o="ENV",s="__",i=["${","}"];var a;e.LogLevel=void 0,(a=e.LogLevel||(e.LogLevel={})).benchmark="benchmark",a.error="error",a.warn="warn",a.info="info",a.verbose="verbose",a.debug="debug",a.trace="trace",a.silly="silly";const c={benchmark:0,error:3,warn:6,info:9,verbose:12,debug:15,trace:18,silly:21};var l;e.LoggingMode=void 0,(l=e.LoggingMode||(e.LoggingMode={})).RAW="raw",l.JSON="json";const u={app:{},separator:{},class:{fg:34},id:{fg:36},stack:{},timestamp:{},message:{error:{fg:31}},method:{},logLevel:{benchmark:{fg:32,style:["bold"]},error:{fg:31,style:["bold"]},info:{fg:34,style:["bold"]},verbose:{fg:34,style:["bold"]},debug:{fg:33,style:["bold"]},trace:{fg:33,style:["bold"]},silly:{fg:33,style:["bold"]}}},g={env:"development",verbose:0,level:e.LogLevel.info,logLevel:!0,style:!1,filters:[],contextSeparator:".",separator:"-",timestamp:!0,timestampFormat:"HH:mm:ss.SSS",context:!0,meta:!0,format:e.LoggingMode.RAW,pattern:"{level} [{timestamp}] {app} {context} {separator} {message} {stack}",theme:u};class f{constructor(){this.descriptors=new Map}register(e){return this.descriptors.set(e.key,e),this}unregister(e){return this.descriptors.delete(e),this}get(e){return this.descriptors.get(e)}render(e,t){const r={},n=new Set;return t.forEach(t=>{if(n.has(t))return;n.add(t);const o=this.descriptors.get(t);if(!o)return;if(o.shouldInclude&&!o.shouldInclude(e))return;const s=o.render(e);if(void 0===s)return;const i=o.style?o.style(s,e):s;r[t]=i}),r}keys(){return Array.from(this.descriptors.keys())}}const p=new Map;function h(e){if(p.has(e))return p.get(e);const t=d(e||""),r=new Set,n=[];m(t,r,n);const o={pattern:e,segments:t,keys:n,includesMeta:r.has("meta")};return p.set(e,o),o}function y(e,t){return v(e.segments,t).text}function d(e){const t=[];let r=0;for(;r<e.length;){const n=e[r];if("["===n){const n=b(e,r,"[","]");if(-1===n){t.push({type:"literal",value:"["}),r++;continue}const o=e.slice(r+1,n);t.push({type:"optional",prefix:"[",suffix:"]",children:d(o)}),r=n+1;continue}if("{"===n){const n=e.indexOf("}",r+1);if(-1===n){t.push({type:"literal",value:"{"}),r++;continue}const o=e.slice(r+1,n).trim();t.push({type:"parameter",key:o}),r=n+1;continue}let o=r;for(;o<e.length&&"["!==e[o]&&"{"!==e[o];)o++;const s=e.slice(r,o);s.length&&t.push({type:"literal",value:s}),r=o}return t}function b(e,t,r,n){let o=0;for(let s=t;s<e.length;s++){const t=e[s];if(t===r)o++;else if(t===n&&(o--,0===o))return s}return-1}function m(e,t,r){for(const n of e)"parameter"===n.type&&(t.has(n.key)||(t.add(n.key),r.push(n.key))),"optional"===n.type&&m(n.children,t,r)}function v(e,t){const r=[];let n=!1;for(const o of e){const e=x(o,t);e.text.length&&r.push(e.text),n=n||e.hasValue}return{text:r.join(""),hasValue:n}}function x(e,t){if("literal"===e.type)return{text:e.value,hasValue:!1};if("parameter"===e.type){const r=t[e.key]??"";return{text:r,hasValue:r.length>0}}const r=v(e.children,t);return r.hasValue?{text:`${e.prefix}${r.text}${e.suffix}`,hasValue:!0}:{text:"",hasValue:!1}}const w=new f;w.register({key:"level",render(e){if(!1!==e.config.logLevel)return e.level.toUpperCase()},style:(e,t)=>t.applyTheme(e,"logLevel")}).register({key:"timestamp",shouldInclude:e=>!(!e.config.timestamp||!e.timestamp),render:e=>e.timestamp,style:(e,t)=>t.applyTheme(e,"timestamp")}).register({key:"app",shouldInclude:e=>!!e.app,render:e=>e.app,style:(e,t)=>t.applyTheme(e,"app")}).register({key:"context",shouldInclude:e=>!1!==e.config.context&&e.context.length>0,render(e){const t=e.config.contextSeparator||".";return e.context.join(t)},style:(e,t)=>t.applyTheme(e,"class")}).register({key:"separator",shouldInclude:e=>!!e.separator,render:e=>e.separator,style:(e,t)=>t.applyTheme(e,"separator")}).register({key:"message",render:e=>e.filteredMessage,style:(e,t)=>t.applyTheme(e,"message")}).register({key:"stack",shouldInclude:e=>!!e.stack,render:e=>e.stack,style:(e,t)=>t.applyTheme(e,"stack")}).register({key:"meta",shouldInclude:e=>!!e.metaString,render:e=>e.metaString}).register({key:"correlationId",shouldInclude:e=>!!e.correlationId,render:e=>e.correlationId,style:(e,t)=>t.applyTheme(e,"id")});const L=w;function E(e,t,r="g"){return Object.entries(t).forEach(([t,n])=>{const o=RegExp(k(t),r);e=e.replace(o,n)}),e}function O(e){return _(e).toUpperCase()}function _(e){return e.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function k(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function j(e,...t){if(t.length>1&&!t.every(e=>"string"==typeof e||"number"==typeof e))throw Error("Only string and number arguments are supported for multiple replacements.");if(1===t.length&&"object"==typeof t[0]){const r=t[0];return Object.entries(r).reduce((e,[t,r])=>e.replace(RegExp(`\\{${t}\\}`,"g"),()=>r),e)}return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const A=j;function M(){return Object.getPrototypeOf(Object.getPrototypeOf(globalThis))!==Object.prototype}const P=Symbol("EnvironmentEmpty"),S=Symbol("EnvironmentModel"),R=/^[a-z][a-zA-Z0-9]*$/;class C extends r.ObjectAccumulator{static{this.factory=()=>new C}constructor(){super(),Object.defineProperty(this,S,{value:{},writable:!0,enumerable:!1,configurable:!1})}fromEnv(e){let t;return M()?t=globalThis[o]||{}:(t=globalThis.process.env,e=O(e)),this.parseEnvValue(t[e])}parseEnvValue(e){return C.parseRuntimeValue(e)}static parseRuntimeValue(e){if("string"!=typeof e)return e;if("true"===e)return!0;if("false"===e)return!1;const t=e.trim();return/^-?\d+(\.\d+)?$/.test(t)?Number(t):e}expand(e){Object.entries(e).forEach(([e,t])=>{C.mergeModel(this[S],e,t),Object.defineProperty(this,e,{get:()=>{const r=this.fromEnv(e);return void 0!==r?r:t&&"object"==typeof t?Array.isArray(t)?t:C.buildEnvProxy(t,[e]):""===t?P:t},set:e=>{t=e},configurable:!0,enumerable:!0})})}orThrow(){const e=this[S],t=e=>void 0!==e?this.parseEnvValue(e):void 0,r=(e,t=!1)=>C.missingEnvError(e,t),n=(e,o)=>{const s={get(s,i){if("string"!=typeof i)return;if(Array.isArray(e)&&"length"===i)return e.length;const a=[...o,i],{key:c,value:l}=C.readRuntimeForPath(a);if("string"==typeof l&&0===l.length)throw r(c,!0);const u=t(l);if(void 0!==u){if("string"==typeof u&&0===u.length)throw r(c,!0);return u}if(!e||!Object.prototype.hasOwnProperty.call(e,i))throw r(c);const g=e[i];if(void 0!==g){if(""===g)throw r(c);return g&&"object"==typeof g?n(g,a):g}},ownKeys:()=>e?Reflect.ownKeys(e):[],getOwnPropertyDescriptor(t,r){if(e)return Object.prototype.hasOwnProperty.call(e,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(e)?[]:{},s)};return new Proxy(this,{get(o,s,i){if("string"!=typeof s)return Reflect.get(o,s,i);if(!Object.prototype.hasOwnProperty.call(e,s))return Reflect.get(o,s,i);const{key:a,value:c}=C.readRuntimeForPath([s]);if("string"==typeof c&&0===c.length)throw r(a,!0);const l=t(c);if(void 0!==l){if("string"==typeof l&&0===l.length)throw r(a,!0);return l}const u=e[s];if(u&&"object"==typeof u)return n(u,[s]);if(void 0===u)return Reflect.get(o,s,i);const g=Reflect.get(o,s);if(void 0===g||""===g)throw r(a,""===g);return g}})}static instance(...e){if(!C._instance){const t=C.factory(...e),r=new Proxy(t,{get(e,t,r){const n=Reflect.get(e,t,r);if(n!==P&&("string"!=typeof t||!Object.prototype.hasOwnProperty.call(e,t)||void 0!==n)){if(void 0!==n)return n;if("string"==typeof t){if("app"===t)return;return C.buildEnvProxy(void 0,[t])}return n}}});C._instance=r}return C._instance}accumulate(e){return super.accumulate(e),this}static accumulate(e){const t=C.instance();return Object.keys(t).forEach(e=>{const r=Object.getOwnPropertyDescriptor(t,e);r&&r.configurable&&r.enumerable&&Object.defineProperty(t,e,{...r,enumerable:!1})}),t.accumulate(e),t}static get(e){return C._instance.get(e)}static formatEnvSegment(e){return R.test(e)?O(e):e.toUpperCase()}static buildEnvKey(e){return e.map(e=>C.formatEnvSegment(e)).join(s)}static buildRawKey(e){return e.join(s)}static readRuntimeForPath(e){const t=C.buildEnvKey(e),r=C.buildRawKey(e),n=C.readRuntimeEnv(t);if(void 0!==n)return{key:t,value:n};if(r!==t){const e=C.readRuntimeEnv(r);if(void 0!==e)return{key:r,value:e}}return{key:t,value:void 0}}static buildEnvProxy(e,t){const r=e=>C.readRuntimeEnv(e),n=/^[0-9]+$/,o={get(o,s){if(s===Symbol.toPrimitive)return()=>C.buildEnvKey(t);if("toString"===s)return()=>C.buildEnvKey(t);if("valueOf"===s)return()=>C.buildEnvKey(t);if("symbol"==typeof s)return;if(Array.isArray(e)&&"length"===s)return e.length;const i=[...t,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=!!e&&Object.prototype.hasOwnProperty.call(e,s),g=u?e[s]:void 0;if(Array.isArray(e)&&(e=>"string"==typeof e&&n.test(e))(s)){if(!u)return;return g&&"object"==typeof g?C.buildEnvProxy(g,i):C.parseRuntimeValue(g)}return g&&"object"==typeof g?C.buildEnvProxy(g,i):u&&""===g||u&&void 0===g?void 0:u?C.parseRuntimeValue(g):C.buildEnvProxy(void 0,i)},ownKeys:()=>e?Reflect.ownKeys(e):[],getOwnPropertyDescriptor(t,r){if(e)return Object.prototype.hasOwnProperty.call(e,r)?{enumerable:!0,configurable:!0}:void 0}};return new Proxy(Array.isArray(e)?[]:{},o)}static keys(e=!0){return C.instance().keys().map(t=>e?O(t):t)}static mergeModel(e,t,r){if(e){if(r&&"object"==typeof r&&!Array.isArray(r)){const n=e[t],o=n&&"object"==typeof n&&!Array.isArray(n)?n:{};return e[t]=o,void Object.entries(r).forEach(([e,t])=>{C.mergeModel(o,e,t)})}e[t]=r}}static readRuntimeEnv(e){if(M()){const t=globalThis[o];return t?t[e]:void 0}return globalThis?.process?.env?.[e]}static missingEnvError(e,t){return Error(`Environment variable ${e} is required but was ${t?"an empty string":"undefined"}.`)}}const $=C.accumulate(Object.assign({app:void 0},g,{env:(M()&&globalThis[o]?globalThis[o].NODE_ENV:globalThis.process.env.NODE_ENV)||"development"}));function T(e){if("function"!=typeof e)return!1;try{const t=Function.prototype.toString.call(e);if(/^\s*class[\s{]/.test(t))return!0}catch{}const t=Object.getOwnPropertyDescriptor(e,"prototype");if(!t||!t.value)return!1;if(!1===t.writable)return!0;const r=e.prototype;return!!Object.prototype.hasOwnProperty.call(r,"constructor")&&Object.getOwnPropertyNames(r).filter(e=>"constructor"!==e).length>0}function I(e){return"function"==typeof e&&!T(e)}function V(e){if(!I(e))return!1;const t=Object.getOwnPropertyDescriptor(e,"prototype");return!t||void 0===t.value}function N(e){if(null===e||"object"!=typeof e)return!1;const t=e.constructor;return!(!t||t===Object)&&T(t)}function F(e){if(null===e)return"null";if(void 0===e)return"undefined";if("string"==typeof e)return e;if(T(e))return e.name||"AnonymousClass";if(N(e)){const t=e.toString;if("function"==typeof t&&t!==Object.prototype.toString)try{const r=t.call(e);if("string"==typeof r&&r.length)return r}catch{}const r=e.constructor;return r&&r.name?r.name:"AnonymousInstance"}if(V(e)||I(e)){const t=e;return t.name?t.name:"anonymous"}if("object"==typeof e){const t=Object.prototype.toString.call(e),r=/^\[object ([^\]]+)\]$/.exec(t);return r?.[1]?r[1]:"Object"}return typeof e}const K=Symbol("MiniLoggerRootContext");class D{constructor(e,t,r=[]){this.conf=t,this.baseContext=Array.isArray(r)?[...r]:[],e&&this.baseContext.push(e),this.context=[...this.baseContext],this[K]=[...this.baseContext]}config(e){return this.conf&&e in this.conf?this.conf[e]:z.getConfig()[e]}for(e,t,...r){let n,o=t;const s=Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[],i=this[K],a=Array.isArray(i)?[...i]:Array.isArray(this.baseContext)?[...this.baseContext]:[];"string"==typeof e?n=e:void 0!==e&&(T(e)||N(e)||I(e)?n=F(e):!o&&e&&"object"==typeof e&&(o=e));let c=n?[...s,n]:[...s];return new Proxy(this,{get:(e,t,r)=>{const n=Reflect.get(e,t,r);return"config"===t?new Proxy(this.config,{apply:(e,t,n)=>{const[s]=n;return o&&void 0!==s&&s in o?o[s]:Reflect.apply(e,r,n)},get:(e,t)=>o&&t in o?o[t]:Reflect.get(e,t,r)}):"clear"===t?()=>(c=[...a],o=void 0,r):"context"===t?c:"root"===t?[...a]:t===K?a:"for"===t?(...t)=>{const r=Array.isArray(e.context)?[...e.context]:"string"==typeof e.context&&e.context?[e.context]:[];e.context=[...c];try{return e.for.apply(e,t)}finally{e.context=r}}:n}})}getConfigSnapshot(){return{...z.getConfig(),...this.conf||{}}}getContextSegments(){return Array.isArray(this.context)?[...this.context]:"string"==typeof this.context&&this.context?[this.context]:[]}resolveFilters(e){const t=e.filters||[];return Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e&&"function"==typeof e.filter):[]}applyFilters(e,t,r){const n=this.resolveFilters(r);return n.length?n.reduce((e,n)=>{try{const o=n.filter(r,e,[...t]);return"string"==typeof o?o:e}catch{return e}},e):e}createLog(e,t,r,n){const o=!!this.config("style"),s=this.config("separator"),i=z.getConfig().app,a=this.config("timestamp")?(new Date).toISOString():void 0,c=this.getConfigSnapshot(),l=this.getContextSegments(),u="string"==typeof t?t:t instanceof Error?t.message:t+"",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||t instanceof Error){const n=r||t;n.stack&&(x="string"==typeof t?g:n.message,v=` | ${x} - Stack trace:\n${o?z.theme(n.stack,"stack",e):n.stack}`)}const w={config:c,level:e,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:(t,r)=>o?z.theme(t,r,e):t},E=this.config("pattern"),O=c.pattern||"",_=h(E.length?E:O),k=L.render(w,_.keys);switch(this.config("format")){case"json":{const e=L.render(w,L.keys()),t={};return Object.entries(e).forEach(([e,r])=>{"meta"!==e&&(t[e]=r)}),w.meta&&(t.meta=w.meta),JSON.stringify(t)}case"raw":{let e=this.normalizePatternSpacing(y(_,k));return!_.includesMeta&&d&&(e=e?`${e} ${d}`:d),e}default:throw Error("Unsupported logging format: "+this.config("format"))}}formatMeta(e){try{return JSON.stringify(e)}catch(t){return e+""}}normalizePatternSpacing(e){return e.replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/g,"")}log(t,r,n,o){const s=this.config("level");if(c[t]>c[s])return;let i;switch(t){case e.LogLevel.benchmark:case e.LogLevel.info:case e.LogLevel.verbose:i=console.log;break;case e.LogLevel.debug:i=console.debug;break;case e.LogLevel.error:i=console.error;break;case e.LogLevel.trace:i=console.trace;break;case e.LogLevel.warn:i=console.warn;break;case e.LogLevel.silly:i=console.debug;break;default:throw Error("Invalid log level")}i(this.createLog(t,r,n,o))}benchmark(t,r){this.log(e.LogLevel.benchmark,t,void 0,r)}silly(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.silly,t,void 0,s)}verbose(t,r=0,n){const o="number"==typeof r?r:0,s="number"==typeof r?n:r;this.config("verbose")<o||this.log(e.LogLevel.verbose,t,void 0,s)}info(t,r){this.log(e.LogLevel.info,t,void 0,r)}debug(t,r){this.log(e.LogLevel.debug,t,void 0,r)}error(t,r,n){let o,s;r instanceof Error?(o=r,s=n):s=r,this.log(e.LogLevel.error,t,o,s)}warn(t,r){this.log(e.LogLevel.warn,t,void 0,r)}trace(t,r){this.log(e.LogLevel.trace,t,void 0,r)}setConfig(e){this.conf={...this.conf||{},...e}}get root(){return[...this.baseContext]}clear(){return this.context=[...this.baseContext],this}}class z{static{this._factory=(e,t)=>{const r="string"==typeof $.app?[$.app]:[];return new D(e,t,r)}}static{this._config=$}constructor(){}static setFactory(e){z._factory=e,this.global=void 0}static setConfig(e){Object.entries(e).forEach(([e,t])=>{this._config[e]=t})}static getConfig(){return this._config}static get(){return this.ensureRoot()}static verbose(e,t=0,r){return this.get().verbose(e,t,r)}static info(e,t){return this.get().info(e,t)}static trace(e,t){return this.get().trace(e,t)}static debug(e,t){return this.get().debug(e,t)}static benchmark(e,t){return this.get().benchmark(e,t)}static silly(e,t=0,r){return this.get().silly(e,t,r)}static warn(e,t){return this.get().warn(e,t)}static error(e,t,r){return this.get().error(e,t,r)}static for(e,t,...r){const n=void 0!==t?[e,t]:[e];return(this.global?this.global:this.ensureRoot(r)).for(...n)}static because(e,t){let r=this.ensureRoot().for(e,this._config);return t&&(r=r.for(t)),r}static baseContext(){const e=this._config.app;return"string"==typeof e&&e.length?[e]:[]}static attachRootContext(e){const t=e.root&&Array.isArray(e.root)?[...e.root]:this.baseContext();return(!e.context||Array.isArray(e.context)&&0===e.context.length)&&(e.context=[...t]),e[K]=[...t],e}static ensureRoot(e=[]){if(!this.global){const t=this._factory(void 0,void 0,...e);this.global=this.attachRootContext(t)}return this.global}static theme(r,n,o,s=u){if(!this._config.style)return r;const i=s[n];if(!i||!Object.keys(i).length)return r;let a=i;const c=Object.assign({},e.LogLevel);return Object.keys(i)[0]in c&&(a=i[o]||{}),Object.keys(a).reduce((e,r)=>{const n=a[r];return n?((e,r,n)=>{try{const o=e;let s=t.style(o);function i(e,r=!1){let i=r?s.background:s.foreground;if(!Array.isArray(e))return i.call(s,n);switch(e.length){case 1:return i=r?s.bgColor256:s.color256,i(e[0]);case 3:return i=r?s.bgRgb:s.rgb,s.rgb(e[0],e[1],e[2]);default:return t.style(o)}}function a(e){s="number"==typeof e?s.style(e):s[e]}switch(r){case"bg":case"fg":return i(n).text;case"style":return Array.isArray(n)?n.forEach(a):a(n),s.text;default:return o}}catch(c){return e}})(e,r,n):e},r)}static register(e){return L.register(e)}static unregister(e){return L.unregister(e)}}class U{get log(){return this._log||(this._log=z.for(this)),this._log}constructor(){}}class J extends U{get log(){return super.log.for(this,{filters:[]})}}const Z="undefined"!=typeof globalThis&&"function"==typeof globalThis.performance?.now?()=>globalThis.performance.now():"undefined"!=typeof process&&"function"==typeof process.hrtime?.bigint?()=>{const e=process.hrtime.bigint();return Number(e)/1e6}:()=>Date.now();function q(e){const t=0>e?"-":"",r=Math.abs(e),n=Math.floor(r/36e5),o=Math.floor(r%36e5/6e4),s=Math.floor(r%6e4/1e3),i=Math.floor(r%1e3),a=(e,t)=>e.toString().padStart(t,"0");return`${t}${a(n,2)}:${a(o,2)}:${a(s,2)}.${a(i,3)}`}function B(t=e.LogLevel.info,r=0,n=(...e)=>"called with "+e,o){return(e,s,i)=>{if(!i||"number"==typeof i)throw Error("Logging decoration only applies to methods");const a=e instanceof U?e.log.for(e[s]):z.for(e).for(e[s]),c=a[t].bind(a),l=i.value;return i.value=new Proxy(l,{apply(e,t,s){c(n(...s),r);try{const r=Reflect.apply(e,t,s);return r instanceof Promise?r.then(e=>(o&&c(o(void 0,e)),e)).catch(e=>{throw o&&a.error(o(e)),e}):(o&&c(o(void 0,r)),r)}catch(e){throw o&&a.error(o(e)),e}}}),i}}function W(){return(e,t,r)=>{if(!r)throw Error("final decorator can only be used on methods");return r?.configurable&&(r.configurable=!1),r}}class H extends J{constructor(e,t){super(),this.regexp=e,this.replacement=t}match(e){const t=this.regexp.exec(e);return this.regexp.lastIndex=0,t}filter(e,t,r){const n=this.log.for(this.filter);if(!this.match(t))return t;try{return t.replace(this.regexp,this.replacement)}catch(e){n.error("PatternFilter replacement error: "+e)}return""}}n.__decorate([W(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",void 0)],H.prototype,"match",null),e.BrowserEnvKey=o,e.DefaultLoggingConfig=g,e.DefaultPlaceholderWrappers=i,e.DefaultTheme=u,e.ENV_PATH_DELIMITER=s,e.Environment=C,e.LogFilter=J,e.LogParameterRegistry=f,e.LoggedClass=U,e.LoggedEnvironment=$,e.Logging=z,e.MiniLogger=D,e.NumericLogLevels=c,e.PACKAGE_NAME="@decaf-ts/logging",e.PatternFilter=H,e.ROOT_CONTEXT_SYMBOL=K,e.StopWatch=class{constructor(e=!1){this._startMs=null,this._elapsedMs=0,this._running=!1,this._laps=[],this._lastLapTotalMs=0,e&&this.start()}get running(){return this._running}get elapsedMs(){return this._running&&null!=this._startMs?this._elapsedMs+(Z()-this._startMs):this._elapsedMs}start(){return this._running||(this._running=!0,this._startMs=Z()),this}pause(){return this._running&&null!=this._startMs&&(this._elapsedMs+=Z()-this._startMs,this._startMs=null,this._running=!1),this}resume(){return this._running||(this._running=!0,this._startMs=Z()),this}stop(){return this.pause(),this._elapsedMs}reset(){const e=this._running;return this._startMs=e?Z():null,this._elapsedMs=0,this._laps=[],this._lastLapTotalMs=0,this}lap(e){const t=this.elapsedMs,r=t-this._lastLapTotalMs,n={index:this._laps.length,label:e,ms:r,totalMs:t};return this._laps.push(n),this._lastLapTotalMs=t,n}get laps(){return this._laps}toString(){return q(this.elapsedMs)}toJSON(){return{running:this._running,elapsedMs:this.elapsedMs,laps:this._laps.slice()}}},e.VERSION="0.15.0",e.benchmark=()=>(e,t,r)=>{if(!r||"number"==typeof r)throw Error("benchmark decoration only applies to methods");const n=e instanceof U?e.log.for(e[t]):z.for(e).for(e[t]),o=r.value;return r.value=new Proxy(o,{apply(e,t,r){const o=Z();try{const s=Reflect.apply(e,t,r);return s instanceof Promise?s.then(e=>(n.benchmark(`completed in ${Z()-o}ms`),e)).catch(e=>{throw n.benchmark(`failed in ${Z()-o}ms`),e}):(n.benchmark(`completed in ${Z()-o}ms`),s)}catch(e){throw n.benchmark(`failed in ${Z()-o}ms`),e}}}),r},e.compileLogPattern=h,e.debug=()=>B(e.LogLevel.debug,0,(...e)=>"called with "+e,(e,t)=>e?"Failed with: "+e:t?"Completed with "+JSON.stringify(t):"completed"),e.escapeRegExp=k,e.final=W,e.formatMs=q,e.getObjectName=F,e.info=()=>B(e.LogLevel.info),e.isBrowser=M,e.isClass=T,e.isFunction=I,e.isInstance=N,e.isMethod=V,e.log=B,e.logParameterRegistry=L,e.now=Z,e.padEnd=(e,t,r=" ")=>{if(1!==r.length)throw Error("Invalid character length for padding. must be one!");return e.padEnd(t,r)},e.patchPlaceholders=(e,t,r=i[0],n=i[1],o="g")=>E(e,Object.entries(t).reduce((e,[t,o])=>(e[`${r}${t}${n}`]=o,e),{}),o),e.patchString=E,e.renderPattern=y,e.sf=j,e.silly=()=>B(e.LogLevel.silly),e.stringFormat=A,e.toCamelCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,(e,t)=>0===t?e.toLowerCase():e.toUpperCase()).replace(/\s+/g,""),e.toENVFormat=O,e.toKebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),e.toPascalCase=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,e=>e.toUpperCase()).replace(/\s+/g,""),e.toSnakeCase=_,e.trace=()=>B(e.LogLevel.trace),e.verbose=(t=0)=>(t||(t=0),B(e.LogLevel.verbose,t)),Object.keys(t).forEach(r=>{"default"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:()=>t[r]})})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("styled-string-builder"),require("typed-object-accumulator"),require("tslib")):"function"==typeof define&&define.amd?define(["exports","styled-string-builder","typed-object-accumulator","tslib"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).logging={},e.styledStringBuilder,e.typedObjectAccumulator,e.tslib);
//# sourceMappingURL=logging.cjs.map

@@ -25,10 +25,2 @@ "use strict";

exports.DefaultPlaceholderWrappers = ["${", "}"];
/**
* @description An enum for log levels.
* @summary Defines the different levels of logging for the application.
* @enum {string}
* @readonly
* @memberOf module:Logging
*/
var LogLevel;
(function (LogLevel) {

@@ -51,3 +43,3 @@ /** @description Benchmark events that capture performance metrics. */

LogLevel["silly"] = "silly";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
})(exports.LogLevel || (exports.LogLevel = {}));
/**

@@ -83,10 +75,2 @@ * @description The numeric values that are associated with log levels.

};
/**
* @description An enum for logging output modes.
* @summary Defines the different output formats for log messages.
* @enum {string}
* @readonly
* @memberOf module:Logging
*/
var LoggingMode;
(function (LoggingMode) {

@@ -97,3 +81,3 @@ /** Raw text format for human readability */

LoggingMode["JSON"] = "json";
})(LoggingMode || (exports.LoggingMode = LoggingMode = {}));
})(exports.LoggingMode || (exports.LoggingMode = {}));
/**

@@ -162,3 +146,3 @@ * @description The default theme for styling log output.

verbose: 0,
level: LogLevel.info,
level: exports.LogLevel.info,
logLevel: true,

@@ -173,6 +157,7 @@ style: false,

meta: true,
format: LoggingMode.RAW,
format: exports.LoggingMode.RAW,
pattern: "{level} [{timestamp}] {app} {context} {separator} {message} {stack}",
theme: exports.DefaultTheme,
};
//# sourceMappingURL=constants.js.map
//# sourceMappingURL=constants.js.map

@@ -11,6 +11,6 @@ "use strict";

exports.final = final;
const constants_1 = require("./constants.cjs");
const logging_1 = require("./logging.cjs");
const time_1 = require("./time.cjs");
const LoggedClass_1 = require("./LoggedClass.cjs");
const constants_js_1 = require("./constants.cjs");
const logging_js_1 = require("./logging.cjs");
const time_js_1 = require("./time.cjs");
const LoggedClass_js_1 = require("./LoggedClass.cjs");
/**

@@ -48,9 +48,9 @@ * @description A method decorator for logging function calls.

*/
function log(level = constants_1.LogLevel.info, verbosity = 0, entryMessage = (...args) => `called with ${args}`, exitMessage) {
function log(level = constants_js_1.LogLevel.info, verbosity = 0, entryMessage = (...args) => `called with ${args}`, exitMessage) {
return function log(target, propertyKey, descriptor) {
if (!descriptor || typeof descriptor === "number")
throw new Error(`Logging decoration only applies to methods`);
const logger = target instanceof LoggedClass_1.LoggedClass
const logger = target instanceof LoggedClass_js_1.LoggedClass
? target["log"].for(target[propertyKey])
: logging_1.Logging.for(target).for(target[propertyKey]);
: logging_js_1.Logging.for(target).for(target[propertyKey]);
const method = logger[level].bind(logger);

@@ -117,9 +117,9 @@ const originalMethod = descriptor.value;

throw new Error(`benchmark decoration only applies to methods`);
const logger = target instanceof LoggedClass_1.LoggedClass
const logger = target instanceof LoggedClass_js_1.LoggedClass
? target["log"].for(target[propertyKey])
: logging_1.Logging.for(target).for(target[propertyKey]);
: logging_js_1.Logging.for(target).for(target[propertyKey]);
const originalMethod = descriptor.value;
descriptor.value = new Proxy(originalMethod, {
apply(fn, thisArg, args) {
const start = (0, time_1.now)();
const start = (0, time_js_1.now)();
try {

@@ -130,15 +130,15 @@ const result = Reflect.apply(fn, thisArg, args);

.then((r) => {
logger.benchmark(`completed in ${(0, time_1.now)() - start}ms`);
logger.benchmark(`completed in ${(0, time_js_1.now)() - start}ms`);
return r;
})
.catch((e) => {
logger.benchmark(`failed in ${(0, time_1.now)() - start}ms`);
logger.benchmark(`failed in ${(0, time_js_1.now)() - start}ms`);
throw e;
});
}
logger.benchmark(`completed in ${(0, time_1.now)() - start}ms`);
logger.benchmark(`completed in ${(0, time_js_1.now)() - start}ms`);
return result;
}
catch (err) {
logger.benchmark(`failed in ${(0, time_1.now)() - start}ms`);
logger.benchmark(`failed in ${(0, time_js_1.now)() - start}ms`);
throw err;

@@ -159,3 +159,3 @@ }

function debug() {
return log(constants_1.LogLevel.debug, 0, (...args) => `called with ${args}`, (e, result) => e
return log(constants_js_1.LogLevel.debug, 0, (...args) => `called with ${args}`, (e, result) => e
? `Failed with: ${e}`

@@ -174,3 +174,3 @@ : result

function info() {
return log(constants_1.LogLevel.info);
return log(constants_js_1.LogLevel.info);
}

@@ -185,3 +185,3 @@ /**

function silly() {
return log(constants_1.LogLevel.silly);
return log(constants_js_1.LogLevel.silly);
}

@@ -196,3 +196,3 @@ /**

function trace() {
return log(constants_1.LogLevel.trace);
return log(constants_js_1.LogLevel.trace);
}

@@ -211,3 +211,3 @@ /**

}
return log(constants_1.LogLevel.verbose, verbosity);
return log(constants_js_1.LogLevel.verbose, verbosity);
}

@@ -231,2 +231,3 @@ /**

}
//# sourceMappingURL=decorators.js.map
//# sourceMappingURL=decorators.js.map

@@ -5,5 +5,5 @@ "use strict";

const typed_object_accumulator_1 = require("typed-object-accumulator");
const text_1 = require("./text.cjs");
const web_1 = require("./web.cjs");
const constants_1 = require("./constants.cjs");
const text_js_1 = require("./text.cjs");
const web_js_1 = require("./web.cjs");
const constants_js_1 = require("./constants.cjs");
/**

@@ -65,9 +65,9 @@ * @description An environment accumulator that lazily reads from runtime sources.

let env;
if ((0, web_1.isBrowser)()) {
if ((0, web_js_1.isBrowser)()) {
env =
globalThis[constants_1.BrowserEnvKey] || {};
globalThis[constants_js_1.BrowserEnvKey] || {};
}
else {
env = globalThis.process.env;
k = (0, text_1.toENVFormat)(k);
k = (0, text_js_1.toENVFormat)(k);
}

@@ -305,3 +305,3 @@ return this.parseEnvValue(env[k]);

return camelCasePattern.test(segment)
? (0, text_1.toENVFormat)(segment)
? (0, text_js_1.toENVFormat)(segment)
: segment.toUpperCase();

@@ -312,6 +312,6 @@ }

.map((segment) => Environment.formatEnvSegment(segment))
.join(constants_1.ENV_PATH_DELIMITER);
.join(constants_js_1.ENV_PATH_DELIMITER);
}
static buildRawKey(path) {
return path.join(constants_1.ENV_PATH_DELIMITER);
return path.join(constants_js_1.ENV_PATH_DELIMITER);
}

@@ -419,3 +419,3 @@ static readRuntimeForPath(path) {

.keys()
.map((k) => (toEnv ? (0, text_1.toENVFormat)(k) : k));
.map((k) => (toEnv ? (0, text_js_1.toENVFormat)(k) : k));
}

@@ -439,4 +439,4 @@ static mergeModel(model, key, value) {

static readRuntimeEnv(key) {
if ((0, web_1.isBrowser)()) {
const env = globalThis[constants_1.BrowserEnvKey];
if ((0, web_js_1.isBrowser)()) {
const env = globalThis[constants_js_1.BrowserEnvKey];
return env ? env[key] : undefined;

@@ -460,7 +460,8 @@ }

app: undefined,
}, constants_1.DefaultLoggingConfig, {
env: ((0, web_1.isBrowser)() && globalThis[constants_1.BrowserEnvKey]
? globalThis[constants_1.BrowserEnvKey]["NODE_ENV"]
}, constants_js_1.DefaultLoggingConfig, {
env: ((0, web_js_1.isBrowser)() && globalThis[constants_js_1.BrowserEnvKey]
? globalThis[constants_js_1.BrowserEnvKey]["NODE_ENV"]
: globalThis.process.env["NODE_ENV"]) || "development",
}));
//# sourceMappingURL=environment.js.map
//# sourceMappingURL=environment.js.map

@@ -24,2 +24,3 @@ "use strict";

__exportStar(require("./PatternFilter.cjs"), exports);
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogFilter = void 0;
const LoggedClass_1 = require("./../LoggedClass.cjs");
const LoggedClass_js_1 = require("./../LoggedClass.cjs");
/**

@@ -29,3 +29,3 @@ * @description A base class for message filters that can be plugged into the logging pipeline.

*/
class LogFilter extends LoggedClass_1.LoggedClass {
class LogFilter extends LoggedClass_js_1.LoggedClass {
/**

@@ -41,2 +41,3 @@ * @description A scoped logger that excludes other filters from the chain.

exports.LogFilter = LogFilter;
//# sourceMappingURL=LogFilter.js.map
//# sourceMappingURL=LogFilter.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PatternFilter = void 0;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if (d = decorators[i])
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PatternFilter = void 0;
const LogFilter_1 = require("./LogFilter.cjs");
const decorators_1 = require("./../decorators.cjs");
const LogFilter_js_1 = require("./LogFilter.cjs");
const decorators_js_1 = require("./../decorators.cjs");
/**

@@ -41,3 +46,3 @@ * @description A filter that patches log messages using regular expressions.

*/
class PatternFilter extends LogFilter_1.LogFilter {
class PatternFilter extends LogFilter_js_1.LogFilter {
constructor(regexp, replacement) {

@@ -84,3 +89,3 @@ super();

__decorate([
(0, decorators_1.final)(),
(0, decorators_js_1.final)(),
__metadata("design:type", Function),

@@ -90,2 +95,3 @@ __metadata("design:paramtypes", [String]),

], PatternFilter.prototype, "match", null);
//# sourceMappingURL=PatternFilter.js.map
//# sourceMappingURL=PatternFilter.js.map

@@ -43,3 +43,3 @@ "use strict";

*/
exports.VERSION = "0.14.0";
exports.VERSION = "0.15.0";
/**

@@ -53,2 +53,3 @@ * @description Current package version string.

exports.PACKAGE_NAME = "@decaf-ts/logging";
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoggedClass = void 0;
const logging_1 = require("./logging.cjs");
const logging_js_1 = require("./logging.cjs");
/**

@@ -41,3 +41,3 @@ * @description A base class that provides a ready-to-use logger instance.

if (!this._log)
this._log = logging_1.Logging.for(this);
this._log = logging_js_1.Logging.for(this);
return this._log;

@@ -48,2 +48,3 @@ }

exports.LoggedClass = LoggedClass;
//# sourceMappingURL=LoggedClass.js.map
//# sourceMappingURL=LoggedClass.js.map

@@ -5,6 +5,6 @@ "use strict";

const styled_string_builder_1 = require("styled-string-builder");
const constants_1 = require("./constants.cjs");
const logParameters_1 = require("./logParameters.cjs");
const environment_1 = require("./environment.cjs");
const utils_1 = require("./utils.cjs");
const constants_js_1 = require("./constants.cjs");
const logParameters_js_1 = require("./logParameters.cjs");
const environment_js_1 = require("./environment.cjs");
const utils_js_1 = require("./utils.cjs");
exports.ROOT_CONTEXT_SYMBOL = Symbol("MiniLoggerRootContext");

@@ -75,4 +75,4 @@ /**

else if (method !== undefined) {
if ((0, utils_1.isClass)(method) || (0, utils_1.isInstance)(method) || (0, utils_1.isFunction)(method)) {
contextName = (0, utils_1.getObjectName)(method);
if ((0, utils_js_1.isClass)(method) || (0, utils_js_1.isInstance)(method) || (0, utils_js_1.isFunction)(method)) {
contextName = (0, utils_js_1.getObjectName)(method);
}

@@ -245,7 +245,7 @@ else if (!childConfig && method && typeof method === "object") {

: defaultPattern;
const definition = (0, logParameters_1.compileLogPattern)(pattern);
const rendered = logParameters_1.logParameterRegistry.render(payload, definition.keys);
const definition = (0, logParameters_js_1.compileLogPattern)(pattern);
const rendered = logParameters_js_1.logParameterRegistry.render(payload, definition.keys);
switch (this.config("format")) {
case "json": {
const jsonValues = logParameters_1.logParameterRegistry.render(payload, logParameters_1.logParameterRegistry.keys());
const jsonValues = logParameters_js_1.logParameterRegistry.render(payload, logParameters_js_1.logParameterRegistry.keys());
const logEntry = {};

@@ -263,3 +263,3 @@ Object.entries(jsonValues).forEach(([key, value]) => {

case "raw": {
let generated = this.normalizePatternSpacing((0, logParameters_1.renderPattern)(definition, rendered));
let generated = this.normalizePatternSpacing((0, logParameters_js_1.renderPattern)(definition, rendered));
if (!definition.includesMeta && filteredMetaString) {

@@ -298,26 +298,26 @@ generated = generated

const confLvl = this.config("level");
if (constants_1.NumericLogLevels[confLvl] < constants_1.NumericLogLevels[level])
if (constants_js_1.NumericLogLevels[confLvl] < constants_js_1.NumericLogLevels[level])
return;
let method;
switch (level) {
case constants_1.LogLevel.benchmark:
case constants_js_1.LogLevel.benchmark:
method = console.log;
break;
case constants_1.LogLevel.info:
case constants_1.LogLevel.verbose:
case constants_js_1.LogLevel.info:
case constants_js_1.LogLevel.verbose:
method = console.log;
break;
case constants_1.LogLevel.debug:
case constants_js_1.LogLevel.debug:
method = console.debug;
break;
case constants_1.LogLevel.error:
case constants_js_1.LogLevel.error:
method = console.error;
break;
case constants_1.LogLevel.trace:
case constants_js_1.LogLevel.trace:
method = console.trace;
break;
case constants_1.LogLevel.warn:
case constants_js_1.LogLevel.warn:
method = console.warn;
break;
case constants_1.LogLevel.silly:
case constants_js_1.LogLevel.silly:
method = console.debug;

@@ -338,3 +338,3 @@ break;

benchmark(msg, meta) {
this.log(constants_1.LogLevel.benchmark, msg, undefined, meta);
this.log(constants_js_1.LogLevel.benchmark, msg, undefined, meta);
}

@@ -353,3 +353,3 @@ /**

if (this.config("verbose") >= verbosity)
this.log(constants_1.LogLevel.silly, msg, undefined, payloadMeta);
this.log(constants_js_1.LogLevel.silly, msg, undefined, payloadMeta);
}

@@ -368,3 +368,3 @@ /**

if (this.config("verbose") >= verbosity)
this.log(constants_1.LogLevel.verbose, msg, undefined, payloadMeta);
this.log(constants_js_1.LogLevel.verbose, msg, undefined, payloadMeta);
}

@@ -379,3 +379,3 @@ /**

info(msg, meta) {
this.log(constants_1.LogLevel.info, msg, undefined, meta);
this.log(constants_js_1.LogLevel.info, msg, undefined, meta);
}

@@ -390,3 +390,3 @@ /**

debug(msg, meta) {
this.log(constants_1.LogLevel.debug, msg, undefined, meta);
this.log(constants_js_1.LogLevel.debug, msg, undefined, meta);
}

@@ -411,3 +411,3 @@ /**

}
this.log(constants_1.LogLevel.error, msg, errorCandidate, payloadMeta);
this.log(constants_js_1.LogLevel.error, msg, errorCandidate, payloadMeta);
}

@@ -422,3 +422,3 @@ /**

warn(msg, meta) {
this.log(constants_1.LogLevel.warn, msg, undefined, meta);
this.log(constants_js_1.LogLevel.warn, msg, undefined, meta);
}

@@ -433,3 +433,3 @@ /**

trace(msg, meta) {
this.log(constants_1.LogLevel.trace, msg, undefined, meta);
this.log(constants_js_1.LogLevel.trace, msg, undefined, meta);
}

@@ -527,9 +527,11 @@ /**

*/
static { this._factory = (object, config) => {
const base = typeof environment_1.LoggedEnvironment.app === "string"
? [environment_1.LoggedEnvironment.app]
: [];
return new MiniLogger(object, config, base);
}; }
static { this._config = environment_1.LoggedEnvironment; }
static {
this._factory = (object, config) => {
const base = typeof environment_js_1.LoggedEnvironment.app === "string"
? [environment_js_1.LoggedEnvironment.app]
: [];
return new MiniLogger(object, config, base);
};
}
static { this._config = environment_js_1.LoggedEnvironment; }
constructor() { }

@@ -739,3 +741,3 @@ /**

*/
static theme(text, type, loggerLevel, template = constants_1.DefaultTheme) {
static theme(text, type, loggerLevel, template = constants_js_1.DefaultTheme) {
if (!this._config.style)

@@ -800,3 +802,3 @@ return text;

let actualTheme = individualTheme;
const logLevels = Object.assign({}, constants_1.LogLevel);
const logLevels = Object.assign({}, constants_js_1.LogLevel);
if (Object.keys(individualTheme)[0] in logLevels)

@@ -813,9 +815,10 @@ actualTheme =

static register(descriptor) {
return logParameters_1.logParameterRegistry.register(descriptor);
return logParameters_js_1.logParameterRegistry.register(descriptor);
}
static unregister(key) {
return logParameters_1.logParameterRegistry.unregister(key);
return logParameters_js_1.logParameterRegistry.unregister(key);
}
}
exports.Logging = Logging;
//# sourceMappingURL=logging.js.map
//# sourceMappingURL=logging.js.map

@@ -281,2 +281,3 @@ "use strict";

exports.logParameterRegistry = registry;
//# sourceMappingURL=logParameters.js.map
//# sourceMappingURL=logParameters.js.map

@@ -24,2 +24,3 @@ "use strict";

__exportStar(require("./pino.cjs"), exports);
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map

@@ -38,21 +38,21 @@ "use strict";

const pino_1 = __importStar(require("pino"));
const logging_1 = require("./../logging.cjs");
const constants_1 = require("./../constants.cjs");
const logging_js_1 = require("./../logging.cjs");
const constants_js_1 = require("./../constants.cjs");
const LogLevelToPino = {
[constants_1.LogLevel.benchmark]: "info",
[constants_1.LogLevel.error]: "error",
[constants_1.LogLevel.warn]: "warn",
[constants_1.LogLevel.info]: "info",
[constants_1.LogLevel.verbose]: "info",
[constants_1.LogLevel.debug]: "debug",
[constants_1.LogLevel.trace]: "trace",
[constants_1.LogLevel.silly]: "trace",
[constants_js_1.LogLevel.benchmark]: "info",
[constants_js_1.LogLevel.error]: "error",
[constants_js_1.LogLevel.warn]: "warn",
[constants_js_1.LogLevel.info]: "info",
[constants_js_1.LogLevel.verbose]: "info",
[constants_js_1.LogLevel.debug]: "debug",
[constants_js_1.LogLevel.trace]: "trace",
[constants_js_1.LogLevel.silly]: "trace",
};
const PinoToLogLevel = {
fatal: constants_1.LogLevel.error,
error: constants_1.LogLevel.error,
warn: constants_1.LogLevel.warn,
info: constants_1.LogLevel.info,
debug: constants_1.LogLevel.debug,
trace: constants_1.LogLevel.trace,
fatal: constants_js_1.LogLevel.error,
error: constants_js_1.LogLevel.error,
warn: constants_js_1.LogLevel.warn,
info: constants_js_1.LogLevel.info,
debug: constants_js_1.LogLevel.debug,
trace: constants_js_1.LogLevel.trace,
};

@@ -104,3 +104,3 @@ const toPinoLevel = (level) => LogLevelToPino[level] ?? "info";

*/
class PinoLogger extends logging_1.MiniLogger {
class PinoLogger extends logging_js_1.MiniLogger {
constructor(context, conf, driver) {

@@ -115,6 +115,6 @@ super(context, conf);

}
const globalConfig = logging_1.Logging.getConfig();
const globalConfig = logging_js_1.Logging.getConfig();
const config = Object.assign({}, globalConfig, this.conf || {});
const separator = config.contextSeparator ||
logging_1.Logging.getConfig().contextSeparator;
logging_js_1.Logging.getConfig().contextSeparator;
const contextName = joinContext(Array.isArray(this.context) ? this.context : [], separator);

@@ -141,3 +141,3 @@ const options = buildPinoOptions(contextName, config);

fatal(msg, error, meta) {
const formatted = this.createLog(constants_1.LogLevel.error, msg, error, meta);
const formatted = this.createLog(constants_js_1.LogLevel.error, msg, error, meta);
const fatal = this.pino.fatal;

@@ -196,2 +196,3 @@ if (typeof fatal === "function") {

exports.PinoFactory = PinoFactory;
//# sourceMappingURL=pino.js.map
//# sourceMappingURL=pino.js.map

@@ -14,3 +14,3 @@ "use strict";

exports.sf = sf;
const constants_1 = require("./constants.cjs");
const constants_js_1 = require("./constants.cjs");
/**

@@ -53,3 +53,3 @@ * @description Pads the end of a string with a specified character.

*/
function patchPlaceholders(input, values, prefix = constants_1.DefaultPlaceholderWrappers[0], suffix = constants_1.DefaultPlaceholderWrappers[1], flags = "g") {
function patchPlaceholders(input, values, prefix = constants_js_1.DefaultPlaceholderWrappers[0], suffix = constants_js_1.DefaultPlaceholderWrappers[1], flags = "g") {
const placeholders = Object.entries(values).reduce((acc, [key, val]) => {

@@ -191,2 +191,3 @@ acc[`${prefix}${key}${suffix}`] = val;

exports.stringFormat = sf;
//# sourceMappingURL=text.js.map
//# sourceMappingURL=text.js.map

@@ -219,2 +219,3 @@ "use strict";

}
//# sourceMappingURL=time.js.map
//# sourceMappingURL=time.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map
//# sourceMappingURL=types.js.map

@@ -141,2 +141,3 @@ "use strict";

}
//# sourceMappingURL=utils.js.map
//# sourceMappingURL=utils.js.map

@@ -15,2 +15,3 @@ "use strict";

}
//# sourceMappingURL=web.js.map
//# sourceMappingURL=web.js.map

@@ -24,2 +24,3 @@ "use strict";

__exportStar(require("./winston.cjs"), exports);
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map

@@ -8,3 +8,3 @@ "use strict";

const winston_1 = __importDefault(require("winston"));
const logging_1 = require("./../logging.cjs");
const logging_js_1 = require("./../logging.cjs");
/**

@@ -28,6 +28,6 @@ * @description A logger implementation that uses Winston.

*/
class WinstonLogger extends logging_1.MiniLogger {
class WinstonLogger extends logging_js_1.MiniLogger {
constructor(cont, conf) {
super(cont, conf);
const config = Object.assign({}, logging_1.Logging.getConfig(), this.conf || {});
const config = Object.assign({}, logging_js_1.Logging.getConfig(), this.conf || {});
const transports = this.resolveTransports(config.transports || undefined);

@@ -80,2 +80,3 @@ const passThrough = winston_1.default.format.printf(({ message }) => typeof message === "string" ? message : JSON.stringify(message));

exports.WinstonFactory = WinstonFactory;
//# sourceMappingURL=winston.js.map
//# sourceMappingURL=winston.js.map

@@ -26,3 +26,3 @@ /**

*/
export const VERSION = "0.14.0";
export const VERSION = "0.15.0";
/**

@@ -29,0 +29,0 @@ * @description Current package version string.

{
"name": "@decaf-ts/logging",
"version": "0.15.0",
"version": "0.16.0",
"description": "simple winston inspired wrapper for cross lib logging",

@@ -5,0 +5,0 @@ "type": "module",

{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/environment.ts"],"names":[],"mappings":";;;AAAA,uEAA6D;AAC7D,qCAAqC;AACrC,mCAAkC;AAClC,+CAIqB;AAyBrB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE/C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAE/C,MAAa,WAA8B,SAAQ,4CAAoB;IACrE;;;;;;OAMG;aACc,YAAO,GACtB,GAAqB,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;IAU5C;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;YACvC,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,OAAO,CAAC,CAAS;QACzB,IAAI,GAA4B,CAAC;QACjC,IAAI,IAAA,eAAS,GAAE,EAAE,CAAC;YAChB,GAAG;gBAEC,UAGD,CAAC,yBAAa,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;YAC7B,CAAC,GAAG,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACO,aAAa,CAAC,GAAY;QAClC,OAAO,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,GAAY;QAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC;QACxC,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACgB,MAAM,CAAmB,KAAQ;QAClD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACvC,WAAW,CAAC,UAAU,CAAE,IAAY,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE;gBAC7B,GAAG,EAAE,GAAG,EAAE;oBACR,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,OAAO,OAAO,KAAK,WAAW;wBAAE,OAAO,OAAO,CAAC;oBACnD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4BAAE,OAAO,CAAC,CAAC;wBAC/B,OAAO,WAAW,CAAC,aAAa,CAAC,CAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;oBACD,sIAAsI;oBACtI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;wBACb,OAAO,UAAmC,CAAC;oBAC7C,CAAC;oBACD,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,GAAG,EAAE,CAAC,GAAe,EAAE,EAAE;oBACvB,CAAC,GAAG,GAAG,CAAC;gBACV,CAAC;gBACD,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,SAAS,GAAI,IAAY,CAAC,WAAW,CAAwB,CAAC;QACpE,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,EAAE,CACpC,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,QAAiB,KAAK,EAAE,EAAE,CACtD,WAAW,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE1C,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,IAAc,EAAO,EAAE;YAC5D,MAAM,OAAO,GAAsB;gBACjC,GAAG,CAAC,OAAO,EAAE,IAAI;oBACf,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,OAAO,SAAS,CAAC;oBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,QAAQ;wBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;oBACnE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;oBACjC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GACtC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAC3C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;wBAC3D,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC9B,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC9C,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;wBACxC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;4BAC/D,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC9B,OAAO,YAAY,CAAC;oBACtB,CAAC;oBAED,MAAM,OAAO,GACX,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7D,IAAI,CAAC,OAAO;wBAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;oBAEpC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,OAAO,UAAU,KAAK,WAAW;wBAAE,OAAO,SAAS,CAAC;oBACxD,IAAI,UAAU,KAAK,EAAE;wBAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;oBAE7C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;wBACjD,OAAO,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACjD,CAAC;oBAED,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,OAAO;oBACL,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,CAAC;gBACD,wBAAwB,CAAC,OAAO,EAAE,IAAI;oBACpC,IAAI,CAAC,KAAK;wBAAE,OAAO,SAAS,CAAC;oBAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;wBACtD,OAAO;4BACL,UAAU,EAAE,IAAI;4BAChB,YAAY,EAAE,IAAI;yBACG,CAAC;oBAC1B,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;aACF,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,MAAM,OAAO,GAAsB;YACjC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACxB,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACvD,SAAS,EACT,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,YAAY;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE9D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GACtC,WAAW,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAC3D,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC9B,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;oBACxC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;wBAC/D,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC9B,OAAO,YAAY,CAAC;gBACtB,CAAC;gBAED,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACjD,OAAO,iBAAiB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBAED,IAAI,OAAO,UAAU,KAAK,WAAW;oBACnC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,EAAE;oBAChD,MAAM,OAAO,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;gBAEvC,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC;QAEF,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAA6B,CAAC;IAC9D,CAAC;IAED;;;;;;;;OAQG;IACO,MAAM,CAAC,QAAQ,CAA6B,GAAG,IAAe;QACtE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAM,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,IAAW,EAAE;gBACrC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;oBACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAClD,IAAI,KAAK,KAAK,UAAU;wBAAE,OAAO,SAAS,CAAC;oBAC3C,gGAAgG;oBAChG,IACE,OAAO,IAAI,KAAK,QAAQ;wBACxB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,CAAC;wBACD,IAAI,OAAO,KAAK,KAAK,WAAW;4BAAE,OAAO,SAAS,CAAC;oBACrD,CAAC;oBACD,IAAI,OAAO,KAAK,KAAK,WAAW;wBAAE,OAAO,KAAK,CAAC;oBAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,+EAA+E;wBAC/E,IAAI,IAAI,KAAK,KAAK;4BAAE,OAAO,SAAS,CAAC;wBACrC,OAAO,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;YACH,WAAW,CAAC,SAAS,GAAG,OAAc,CAAC;QACzC,CAAC;QACD,OAAO,WAAW,CAAC,SAAc,CAAC;IACpC,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,gEAAgE;IAChD,UAAU,CACxB,KAAQ;QAER,0EAA0E;QAC1E,KAAK,CAAC,UAAU,CAAC,KAAY,CAAC,CAAC;QAC/B,OAAO,IAAgD,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAmB,KAAQ;QAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAoB,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,QAAe,EAAE,GAAG,CAAC,CAAC;YACnE,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjD,MAAM,CAAC,cAAc,CAAC,QAAe,EAAE,GAAG,EAAE;oBAC1C,GAAG,IAAI;oBACP,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,sEAAsE;QACtE,uDAAuD;QACvD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,uEAAuE;QACvE,6CAA6C;QAC7C,OAAO,QAAkD,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,OAAe;QAC7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,CAAC,CAAC,IAAA,kBAAW,EAAC,OAAO,CAAC;YACtB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAc;QACvC,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aACvD,IAAI,CAAC,8BAAkB,CAAC,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAc;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,8BAAkB,CAAC,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,IAAc;QAC9C,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE,CAAC;YAC5C,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;gBACtC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,aAAa,CAAC,OAAY,EAAE,IAAc;QACvD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAW,EAAE;YACvC,OAAO,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,UAAU,CAAC;QACrC,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAkB,EAAE,CAC7D,OAAO,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAsB;YACjC,GAAG,CAAC,OAAO,EAAE,IAAqB;gBAChC,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;oBAChC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxB,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAE/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,QAAQ;oBAAE,OAAO,OAAO,CAAC,MAAM,CAAC;gBACvE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEjD,2DAA2D;gBAC3D,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC9D,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,OAAO,QAAQ,KAAK,WAAW;oBACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAEjD,MAAM,OAAO,GACX,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,OAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE/D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,OAAO;wBAAE,OAAO,SAAS,CAAC;oBAC/B,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;wBAC5C,OAAO,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBACxD,OAAO,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAClD,CAAC;gBAED,MAAM,YAAY,GAAG,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC;gBAChE,IAAI,YAAY;oBAAE,OAAO,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAExE,IAAI,OAAO,IAAI,SAAS,KAAK,EAAE;oBAAE,OAAO,SAAS,CAAC;gBAClD,IAAI,OAAO,IAAI,OAAO,SAAS,KAAK,WAAW;oBAAE,OAAO,SAAS,CAAC;gBAElE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAClD,CAAC;gBAED,wEAAwE;gBACxE,kFAAkF;gBAClF,OAAO,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,OAAO;gBACL,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,CAAC;YACD,wBAAwB,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO;oBAAE,OAAO,SAAgB,CAAC;gBACtC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;oBACrD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAwB,CAAC;gBACxE,CAAC;gBACD,OAAO,SAAgB,CAAC;YAC1B,CAAC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,EAAU,CAAC;QACzD,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,QAAiB,IAAI;QAC/B,OAAO,WAAW,CAAC,QAAQ,EAAE;aAC1B,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,MAAM,CAAC,UAAU,CACvB,KAA0B,EAC1B,GAAW,EACX,KAAU;QAEV,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAClE,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;gBACvD,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,GAAW;QACvC,IAAI,IAAA,eAAS,GAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GACP,UAGD,CAAC,yBAAa,CAAC,CAAC;YACjB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,OAAQ,UAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,GAAW,EAAE,KAAc;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QACvD,OAAO,IAAI,KAAK,CACd,wBAAwB,GAAG,wBAAwB,MAAM,GAAG,CAC7D,CAAC;IACJ,CAAC;;AA7cH,kCA8cC;AAED;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,WAAW,CAAC,UAAU,CACrD,MAAM,CAAC,MAAM,CACX;IACE,GAAG,EAAE,SAA+B;CACrC,EACD,gCAAoB,EACpB;IACE,GAAG,EACD,CAAC,IAAA,eAAS,GAAE,IAAK,UAAkB,CAAC,yBAAa,CAAC;QAChD,CAAC,CAAE,UAAkB,CAAC,yBAAa,CAAC,CAAC,UAAU,CAAC;QAChD,CAAC,CAAE,UAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,aAAa;CACpE,CACF,CACF,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/filters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,kDAA4B;AAC5B,sDAAgC"}
{"version":3,"file":"LogFilter.js","sourceRoot":"","sources":["../../../src/filters/LogFilter.ts"],"names":[],"mappings":";;;AACA,sDAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAsB,SAAU,SAAQ,yBAAW;IACjD;;;;OAIG;IACH,IAAa,GAAG;QACd,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;CAeF;AAvBD,8BAuBC"}
{"version":3,"file":"PatternFilter.js","sourceRoot":"","sources":["../../../src/filters/PatternFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AAExC,oDAAsC;AAUtC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,aAAc,SAAQ,qBAAS;IAC1C,YACqB,MAAc,EACd,WAAyC;QAE5D,KAAK,EAAE,CAAC;QAHW,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAA8B;IAG9D,CAAC;IAED;;;;;OAKG;IAEO,KAAK,CAAC,OAAe;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,6DAA6D;IAC7D,MAAM,CAAC,MAAqB,EAAE,OAAe,EAAE,OAAiB;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAkB,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAzCD,sCAyCC;AA1BW;IADT,IAAA,kBAAK,GAAE;;;;0CAKP"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,sDAA0B;AAC1B,kDAA4B;AAC5B,mDAA6B;AAC7B,oDAA8B;AAC9B,oDAA8B;AAC9B,gDAA0B;AAC1B,sDAAgC;AAChC,6CAAuB;AACvB,6CAAuB;AACvB,8CAAwB;AACxB,4CAAsB;AACtB,8CAAwB;AACxB,wDAAsC;AAEtC;;;;;;GAMG;AACU,QAAA,OAAO,GAAW,aAAa,CAAC;AAE7C;;;;;;GAMG;AACU,QAAA,YAAY,GAAW,aAAa,CAAC"}
{"version":3,"file":"LoggedClass.js","sourceRoot":"","sources":["../../src/LoggedClass.ts"],"names":[],"mappings":";;;AAAA,2CAAoC;AAGpC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAsB,WAAW;IAG/B;;;;OAIG;IACH,IAAc,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,iBAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,gBAAyB,CAAC;CAC3B;AAdD,kCAcC"}
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"logParameters.js","sourceRoot":"","sources":["../../src/logParameters.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pino/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,6CAAuB"}
{"version":3,"file":"pino.js","sourceRoot":"","sources":["../../../src/pino/pino.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/text.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/time.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":";;AAOA,8BAKC;AAZD;;;;;;GAMG;AACH,SAAgB,SAAS;IACvB,OAAO,CACL,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CACjB,CAAC;AACJ,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/winston/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,gDAA0B"}
{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../../src/winston/winston.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2D;AAS3D,8CAAiD;AAGjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,aAAc,SAAQ,oBAAU;IAG3C,YAAY,IAAa,EAAE,IAA6B;QACtD,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,EAAE,EACF,iBAAO,CAAC,SAAS,EAAE,EACnB,IAAI,CAAC,IAAI,IAAI,EAAE,CACY,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CACtC,MAAM,CAAC,UAAsC,IAAI,SAAS,CAC5D,CAAC;QACF,MAAM,WAAW,GAAG,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACxD,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAChE,CAAC;QAEF,MAAM,aAAa,GAAkB;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU;YACV,MAAM,EAAE,WAAW;SACpB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,iBAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEO,iBAAiB,CAAC,UAAwB;QAChD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM;YAAE,OAAO,UAAU,CAAC;QACvD,OAAO,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACgB,GAAG,CACpB,KAAe,EACf,GAAuB,EACvB,KAAa,EACb,IAAc;QAEd,MAAM,OAAO,GAAa;YACxB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;SACjD,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC9B,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;CACF;AArDD,sCAqDC;AAED;;;;;;;;;GASG;AACI,MAAM,cAAc,GAAkB,CAC3C,OAAgB,EAChB,IAA6B;AAC7B,6DAA6D;AAC7D,GAAG,KAAY,EACA,EAAE,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AALxC,QAAA,cAAc,kBAK0B"}