@xylabs/logger 3.0.9 → 3.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/browser/IdLogger.d.cts +6 -6
  2. package/dist/browser/IdLogger.d.cts.map +1 -1
  3. package/dist/browser/IdLogger.d.mts +6 -6
  4. package/dist/browser/IdLogger.d.mts.map +1 -1
  5. package/dist/browser/IdLogger.d.ts +6 -6
  6. package/dist/browser/IdLogger.d.ts.map +1 -1
  7. package/dist/browser/Logger.d.cts +4 -5
  8. package/dist/browser/Logger.d.cts.map +1 -1
  9. package/dist/browser/Logger.d.mts +4 -5
  10. package/dist/browser/Logger.d.mts.map +1 -1
  11. package/dist/browser/Logger.d.ts +4 -5
  12. package/dist/browser/Logger.d.ts.map +1 -1
  13. package/dist/browser/getFunctionName.d.cts +2 -0
  14. package/dist/browser/getFunctionName.d.cts.map +1 -0
  15. package/dist/browser/getFunctionName.d.mts +2 -0
  16. package/dist/browser/getFunctionName.d.mts.map +1 -0
  17. package/dist/browser/getFunctionName.d.ts +2 -0
  18. package/dist/browser/getFunctionName.d.ts.map +1 -0
  19. package/dist/browser/index.cjs +44 -42
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.d.cts +1 -0
  22. package/dist/browser/index.d.cts.map +1 -1
  23. package/dist/browser/index.d.mts +1 -0
  24. package/dist/browser/index.d.mts.map +1 -1
  25. package/dist/browser/index.d.ts +1 -0
  26. package/dist/browser/index.d.ts.map +1 -1
  27. package/dist/browser/index.js +44 -42
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/node/IdLogger.d.cts +6 -6
  30. package/dist/node/IdLogger.d.cts.map +1 -1
  31. package/dist/node/IdLogger.d.mts +6 -6
  32. package/dist/node/IdLogger.d.mts.map +1 -1
  33. package/dist/node/IdLogger.d.ts +6 -6
  34. package/dist/node/IdLogger.d.ts.map +1 -1
  35. package/dist/node/Logger.d.cts +4 -5
  36. package/dist/node/Logger.d.cts.map +1 -1
  37. package/dist/node/Logger.d.mts +4 -5
  38. package/dist/node/Logger.d.mts.map +1 -1
  39. package/dist/node/Logger.d.ts +4 -5
  40. package/dist/node/Logger.d.ts.map +1 -1
  41. package/dist/node/getFunctionName.d.cts +2 -0
  42. package/dist/node/getFunctionName.d.cts.map +1 -0
  43. package/dist/node/getFunctionName.d.mts +2 -0
  44. package/dist/node/getFunctionName.d.mts.map +1 -0
  45. package/dist/node/getFunctionName.d.ts +2 -0
  46. package/dist/node/getFunctionName.d.ts.map +1 -0
  47. package/dist/node/index.cjs +45 -42
  48. package/dist/node/index.cjs.map +1 -1
  49. package/dist/node/index.d.cts +1 -0
  50. package/dist/node/index.d.cts.map +1 -1
  51. package/dist/node/index.d.mts +1 -0
  52. package/dist/node/index.d.mts.map +1 -1
  53. package/dist/node/index.d.ts +1 -0
  54. package/dist/node/index.d.ts.map +1 -1
  55. package/dist/node/index.js +45 -42
  56. package/dist/node/index.js.map +1 -1
  57. package/package.json +2 -2
  58. package/src/IdLogger.ts +14 -17
  59. package/src/Logger.ts +4 -27
  60. package/src/getFunctionName.ts +23 -0
  61. package/src/index.ts +1 -0
@@ -1,4 +1,4 @@
1
- export type LogFunction = (message?: unknown) => void;
1
+ export type LogFunction = (...data: unknown[]) => void;
2
2
  /**
3
3
  * Interface to handle overlap between Winston &
4
4
  * `console` with as much congruency as possible.
@@ -14,10 +14,10 @@ export declare enum LogLevel {
14
14
  error = 1,
15
15
  warn = 2,
16
16
  info = 3,
17
- debug = 4,
18
- log = 5
17
+ log = 4,
18
+ debug = 5
19
19
  }
20
- export declare const NoOpLogFunction: (_message?: unknown) => undefined;
20
+ export declare const NoOpLogFunction: (..._data: unknown[]) => undefined;
21
21
  export declare class ConsoleLogger implements Logger {
22
22
  readonly level: LogLevel;
23
23
  constructor(level?: LogLevel);
@@ -42,5 +42,4 @@ export declare class ConsoleLogger implements Logger {
42
42
  (message?: any, ...optionalParams: any[]): void;
43
43
  };
44
44
  }
45
- export declare const getFunctionName: (depth?: number) => string;
46
45
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,GAAG,IAAI;CACR;AAED,eAAO,MAAM,eAAe,cAAe,OAAO,cAAY,CAAA;AAE9D,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ;gBAAf,KAAK,GAAE,QAAwB;IAEpD,IAAI,KAAK;;;MAER;IAED,IAAI,KAAK;;;MAER;IAED,IAAI,IAAI;;;MAEP;IAED,IAAI,GAAG;;;MAEN;IAED,IAAI,IAAI;;;MAEP;CACF;AACD,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,GAAG,IAAI;IACP,KAAK,IAAI;CACV;AAED,eAAO,MAAM,eAAe,aAAc,OAAO,EAAE,cAAY,CAAA;AAE/D,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ;gBAAf,KAAK,GAAE,QAAwB;IAEpD,IAAI,KAAK;;;MAER;IAED,IAAI,KAAK;;;MAER;IAED,IAAI,IAAI;;;MAEP;IAED,IAAI,GAAG;;;MAEN;IAED,IAAI,IAAI;;;MAEP;CACF"}
@@ -1,4 +1,4 @@
1
- export type LogFunction = (message?: unknown) => void;
1
+ export type LogFunction = (...data: unknown[]) => void;
2
2
  /**
3
3
  * Interface to handle overlap between Winston &
4
4
  * `console` with as much congruency as possible.
@@ -14,10 +14,10 @@ export declare enum LogLevel {
14
14
  error = 1,
15
15
  warn = 2,
16
16
  info = 3,
17
- debug = 4,
18
- log = 5
17
+ log = 4,
18
+ debug = 5
19
19
  }
20
- export declare const NoOpLogFunction: (_message?: unknown) => undefined;
20
+ export declare const NoOpLogFunction: (..._data: unknown[]) => undefined;
21
21
  export declare class ConsoleLogger implements Logger {
22
22
  readonly level: LogLevel;
23
23
  constructor(level?: LogLevel);
@@ -42,5 +42,4 @@ export declare class ConsoleLogger implements Logger {
42
42
  (message?: any, ...optionalParams: any[]): void;
43
43
  };
44
44
  }
45
- export declare const getFunctionName: (depth?: number) => string;
46
45
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,GAAG,IAAI;CACR;AAED,eAAO,MAAM,eAAe,cAAe,OAAO,cAAY,CAAA;AAE9D,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ;gBAAf,KAAK,GAAE,QAAwB;IAEpD,IAAI,KAAK;;;MAER;IAED,IAAI,KAAK;;;MAER;IAED,IAAI,IAAI;;;MAEP;IAED,IAAI,GAAG;;;MAEN;IAED,IAAI,IAAI;;;MAEP;CACF;AACD,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,GAAG,IAAI;IACP,KAAK,IAAI;CACV;AAED,eAAO,MAAM,eAAe,aAAc,OAAO,EAAE,cAAY,CAAA;AAE/D,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ;gBAAf,KAAK,GAAE,QAAwB;IAEpD,IAAI,KAAK;;;MAER;IAED,IAAI,KAAK;;;MAER;IAED,IAAI,IAAI;;;MAEP;IAED,IAAI,GAAG;;;MAEN;IAED,IAAI,IAAI;;;MAEP;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare const getFunctionName: (depth?: number) => string;
2
+ //# sourceMappingURL=getFunctionName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFunctionName.d.ts","sourceRoot":"","sources":["../../src/getFunctionName.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getFunctionName: (depth?: number) => string;
2
+ //# sourceMappingURL=getFunctionName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFunctionName.d.ts","sourceRoot":"","sources":["../../src/getFunctionName.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getFunctionName: (depth?: number) => string;
2
+ //# sourceMappingURL=getFunctionName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFunctionName.d.ts","sourceRoot":"","sources":["../../src/getFunctionName.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
@@ -28,37 +28,8 @@ __export(src_exports, {
28
28
  });
29
29
  module.exports = __toCommonJS(src_exports);
30
30
 
31
- // src/Logger.ts
31
+ // src/getFunctionName.ts
32
32
  var import_error = require("@xylabs/error");
33
- var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
34
- LogLevel2[LogLevel2["error"] = 1] = "error";
35
- LogLevel2[LogLevel2["warn"] = 2] = "warn";
36
- LogLevel2[LogLevel2["info"] = 3] = "info";
37
- LogLevel2[LogLevel2["debug"] = 4] = "debug";
38
- LogLevel2[LogLevel2["log"] = 5] = "log";
39
- return LogLevel2;
40
- })(LogLevel || {});
41
- var NoOpLogFunction = (_message) => void 0;
42
- var ConsoleLogger = class {
43
- constructor(level = 2 /* warn */) {
44
- this.level = level;
45
- }
46
- get debug() {
47
- return this.level >= 4 /* debug */ ? console.debug : NoOpLogFunction;
48
- }
49
- get error() {
50
- return this.level >= 1 /* error */ ? console.error : NoOpLogFunction;
51
- }
52
- get info() {
53
- return this.level >= 3 /* info */ ? console.info : NoOpLogFunction;
54
- }
55
- get log() {
56
- return this.level >= 5 /* log */ ? console.log : NoOpLogFunction;
57
- }
58
- get warn() {
59
- return this.level >= 2 /* warn */ ? console.warn : NoOpLogFunction;
60
- }
61
- };
62
33
  var getFunctionName = (depth = 2) => {
63
34
  try {
64
35
  throw new Error("Getting function name");
@@ -91,28 +62,60 @@ var IdLogger = class {
91
62
  set id(id) {
92
63
  this._id = () => id;
93
64
  }
94
- debug(message) {
65
+ debug(...data) {
66
+ var _a;
67
+ (_a = this._logger) == null ? void 0 : _a.debug(this.prefix(), ...data);
68
+ }
69
+ error(...data) {
95
70
  var _a;
96
- (_a = this._logger) == null ? void 0 : _a.debug(this.generate(message, getFunctionName(3)));
71
+ (_a = this._logger) == null ? void 0 : _a.error(this.prefix(), ...data);
97
72
  }
98
- error(message) {
73
+ info(...data) {
99
74
  var _a;
100
- (_a = this._logger) == null ? void 0 : _a.error(this.generate(message, getFunctionName(3)));
75
+ (_a = this._logger) == null ? void 0 : _a.info(this.prefix(), ...data);
101
76
  }
102
- info(message) {
77
+ log(...data) {
103
78
  var _a;
104
- (_a = this._logger) == null ? void 0 : _a.info(this.generate(message, getFunctionName(3)));
79
+ (_a = this._logger) == null ? void 0 : _a.log(this.prefix(), ...data);
105
80
  }
106
- log(message) {
81
+ warn(...data) {
107
82
  var _a;
108
- (_a = this._logger) == null ? void 0 : _a.log(this.generate(message, getFunctionName(3)));
83
+ (_a = this._logger) == null ? void 0 : _a.warn(this.prefix(), ...data);
109
84
  }
110
- warn(message) {
85
+ prefix() {
111
86
  var _a;
112
- (_a = this._logger) == null ? void 0 : _a.warn(this.generate(message, getFunctionName(3)));
87
+ return `[${(_a = this._id) == null ? void 0 : _a.call(this)}|${getFunctionName(4)}]`;
88
+ }
89
+ };
90
+
91
+ // src/Logger.ts
92
+ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
93
+ LogLevel2[LogLevel2["error"] = 1] = "error";
94
+ LogLevel2[LogLevel2["warn"] = 2] = "warn";
95
+ LogLevel2[LogLevel2["info"] = 3] = "info";
96
+ LogLevel2[LogLevel2["log"] = 4] = "log";
97
+ LogLevel2[LogLevel2["debug"] = 5] = "debug";
98
+ return LogLevel2;
99
+ })(LogLevel || {});
100
+ var NoOpLogFunction = (..._data) => void 0;
101
+ var ConsoleLogger = class {
102
+ constructor(level = 2 /* warn */) {
103
+ this.level = level;
104
+ }
105
+ get debug() {
106
+ return this.level >= 5 /* debug */ ? console.debug : NoOpLogFunction;
113
107
  }
114
- generate(message, tag) {
115
- return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, null, 2) : `${message}`}`;
108
+ get error() {
109
+ return this.level >= 1 /* error */ ? console.error : NoOpLogFunction;
110
+ }
111
+ get info() {
112
+ return this.level >= 3 /* info */ ? console.info : NoOpLogFunction;
113
+ }
114
+ get log() {
115
+ return this.level >= 4 /* log */ ? console.log : NoOpLogFunction;
116
+ }
117
+ get warn() {
118
+ return this.level >= 2 /* warn */ ? console.warn : NoOpLogFunction;
116
119
  }
117
120
  };
118
121
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Logger.ts","../../src/IdLogger.ts"],"sourcesContent":["export * from './IdLogger'\nexport * from './Logger'\n","import { handleError } from '@xylabs/error'\n\nexport type LogFunction = (message?: unknown) => void\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n warn: LogFunction\n}\n\nexport enum LogLevel {\n error = 1,\n warn = 2,\n info = 3,\n debug = 4,\n log = 5,\n}\n\nexport const NoOpLogFunction = (_message?: unknown) => void {}\n\nexport class ConsoleLogger implements Logger {\n constructor(readonly level: LogLevel = LogLevel.warn) {}\n\n get debug() {\n return this.level >= LogLevel.debug ? console.debug : NoOpLogFunction\n }\n\n get error() {\n return this.level >= LogLevel.error ? console.error : NoOpLogFunction\n }\n\n get info() {\n return this.level >= LogLevel.info ? console.info : NoOpLogFunction\n }\n\n get log() {\n return this.level >= LogLevel.log ? console.log : NoOpLogFunction\n }\n\n get warn() {\n return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction\n }\n}\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Getting function name')\n } catch (ex) {\n return handleError(ex, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const funcName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName\n })\n }\n}\n","import { getFunctionName, Logger } from './Logger'\n\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, null, 2)\n : `${message}`\n }`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA4B;AAgBrB,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,SAAM,KAAN;AALU,SAAAA;AAAA,GAAA;AAQL,IAAM,kBAAkB,CAAC,aAAuB;AAEhD,IAAM,gBAAN,MAAsC;AAAA,EAC3C,YAAqB,QAAkB,cAAe;AAAjC;AAAA,EAAkC;AAAA,EAEvD,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AAAA,EAEA,IAAI,MAAM;AACR,WAAO,KAAK,SAAS,cAAe,QAAQ,MAAM;AAAA,EACpD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AACF;AACO,IAAM,kBAAkB,CAAC,QAAQ,MAAM;AAC5C,MAAI;AACF,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC,SAAS,IAAI;AACX,eAAO,0BAAY,IAAI,CAAC,UAAU;AArDtC;AAsDM,UAAI;AACJ,YAAM,cAAa,WAAM,UAAN,mBAAa,MAAM,MAAM,OAAO,MAAM;AACzD,YAAM,YACJ,yCAAY,KAAK,CAAC,MAAM,UAAU;AAChC,YAAI,KAAK,SAAS,KAAK,SAAS,MAAM;AAEpC,cAAI,SAAS,OAAO;AAClB,uBAAW;AAAA,UACb;AACA,iBAAO;AAAA,QACT;AAAA,MACF,OAAM;AACR,aAAO,WAAW,GAAG,QAAQ,IAAI,yCAAa,WAAW,EAAE,KAAK;AAAA,IAClE,CAAC;AAAA,EACH;AACF;;;ACnEO,IAAM,WAAN,MAAiC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,IAAmB;AAC7C,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,IAAI,GAAG,IAAY;AACjB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,MAAM,SAAmB;AAf3B;AAgBI,eAAK,YAAL,mBAAc,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,MAAM,SAAmB;AAlB3B;AAmBI,eAAK,YAAL,mBAAc,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,KAAK,SAAmB;AArB1B;AAsBI,eAAK,YAAL,mBAAc,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC9D;AAAA,EACA,IAAI,SAAmB;AAxBzB;AAyBI,eAAK,YAAL,mBAAc,IAAI,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC7D;AAAA,EACA,KAAK,SAAmB;AA3B1B;AA4BI,eAAK,YAAL,mBAAc,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEQ,SAAS,SAAmB,KAAc;AAChD,WAAO,GAAG,GAAG,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG,OAAO,EAAE,GAC/C,OAAO,YAAY,WAAW,UAC5B,OAAO,YAAY,WAAW,KAAK,UAAU,SAAS,MAAM,CAAC,IAC7D,GAAG,OAAO,EACd;AAAA,EACF;AACF;","names":["LogLevel"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/getFunctionName.ts","../../src/IdLogger.ts","../../src/Logger.ts"],"sourcesContent":["export * from './getFunctionName'\nexport * from './IdLogger'\nexport * from './Logger'\n","import { handleError } from '@xylabs/error'\n\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Getting function name')\n } catch (ex) {\n return handleError(ex, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const funcName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName\n })\n }\n}\n","import { getFunctionName } from './getFunctionName'\nimport { Logger } from './Logger'\n\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(...data: unknown[]) {\n this._logger?.debug(this.prefix(), ...data)\n }\n error(...data: unknown[]) {\n this._logger?.error(this.prefix(), ...data)\n }\n info(...data: unknown[]) {\n this._logger?.info(this.prefix(), ...data)\n }\n log(...data: unknown[]) {\n this._logger?.log(this.prefix(), ...data)\n }\n warn(...data: unknown[]) {\n this._logger?.warn(this.prefix(), ...data)\n }\n\n private prefix() {\n return `[${this._id?.()}|${getFunctionName(4)}]`\n }\n}\n","export type LogFunction = (...data: unknown[]) => void\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n warn: LogFunction\n}\n\nexport enum LogLevel {\n error = 1,\n warn = 2,\n info = 3,\n log = 4,\n debug = 5,\n}\n\nexport const NoOpLogFunction = (..._data: unknown[]) => void {}\n\nexport class ConsoleLogger implements Logger {\n constructor(readonly level: LogLevel = LogLevel.warn) {}\n\n get debug() {\n return this.level >= LogLevel.debug ? console.debug : NoOpLogFunction\n }\n\n get error() {\n return this.level >= LogLevel.error ? console.error : NoOpLogFunction\n }\n\n get info() {\n return this.level >= LogLevel.info ? console.info : NoOpLogFunction\n }\n\n get log() {\n return this.level >= LogLevel.log ? console.log : NoOpLogFunction\n }\n\n get warn() {\n return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA4B;AAErB,IAAM,kBAAkB,CAAC,QAAQ,MAAM;AAC5C,MAAI;AACF,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC,SAAS,IAAI;AACX,eAAO,0BAAY,IAAI,CAAC,UAAU;AANtC;AAOM,UAAI;AACJ,YAAM,cAAa,WAAM,UAAN,mBAAa,MAAM,MAAM,OAAO,MAAM;AACzD,YAAM,YACJ,yCAAY,KAAK,CAAC,MAAM,UAAU;AAChC,YAAI,KAAK,SAAS,KAAK,SAAS,MAAM;AAEpC,cAAI,SAAS,OAAO;AAClB,uBAAW;AAAA,UACb;AACA,iBAAO;AAAA,QACT;AAAA,MACF,OAAM;AACR,aAAO,WAAW,GAAG,QAAQ,IAAI,yCAAa,WAAW,EAAE,KAAK;AAAA,IAClE,CAAC;AAAA,EACH;AACF;;;ACnBO,IAAM,WAAN,MAAiC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,IAAmB;AAC7C,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,IAAI,GAAG,IAAY;AACjB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,SAAS,MAAiB;AAhB5B;AAiBI,eAAK,YAAL,mBAAc,MAAM,KAAK,OAAO,GAAG,GAAG;AAAA,EACxC;AAAA,EACA,SAAS,MAAiB;AAnB5B;AAoBI,eAAK,YAAL,mBAAc,MAAM,KAAK,OAAO,GAAG,GAAG;AAAA,EACxC;AAAA,EACA,QAAQ,MAAiB;AAtB3B;AAuBI,eAAK,YAAL,mBAAc,KAAK,KAAK,OAAO,GAAG,GAAG;AAAA,EACvC;AAAA,EACA,OAAO,MAAiB;AAzB1B;AA0BI,eAAK,YAAL,mBAAc,IAAI,KAAK,OAAO,GAAG,GAAG;AAAA,EACtC;AAAA,EACA,QAAQ,MAAiB;AA5B3B;AA6BI,eAAK,YAAL,mBAAc,KAAK,KAAK,OAAO,GAAG,GAAG;AAAA,EACvC;AAAA,EAEQ,SAAS;AAhCnB;AAiCI,WAAO,KAAI,UAAK,QAAL,6BAAY,IAAI,gBAAgB,CAAC,CAAC;AAAA,EAC/C;AACF;;;ACrBO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,SAAM,KAAN;AACA,EAAAA,oBAAA,WAAQ,KAAR;AALU,SAAAA;AAAA,GAAA;AAQL,IAAM,kBAAkB,IAAI,UAAqB;AAEjD,IAAM,gBAAN,MAAsC;AAAA,EAC3C,YAAqB,QAAkB,cAAe;AAAjC;AAAA,EAAkC;AAAA,EAEvD,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AAAA,EAEA,IAAI,MAAM;AACR,WAAO,KAAK,SAAS,cAAe,QAAQ,MAAM;AAAA,EACpD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AACF;","names":["LogLevel"]}
@@ -1,3 +1,4 @@
1
+ export * from './getFunctionName';
1
2
  export * from './IdLogger';
2
3
  export * from './Logger';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './getFunctionName';
1
2
  export * from './IdLogger';
2
3
  export * from './Logger';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './getFunctionName';
1
2
  export * from './IdLogger';
2
3
  export * from './Logger';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
@@ -1,34 +1,5 @@
1
- // src/Logger.ts
1
+ // src/getFunctionName.ts
2
2
  import { handleError } from "@xylabs/error";
3
- var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
4
- LogLevel2[LogLevel2["error"] = 1] = "error";
5
- LogLevel2[LogLevel2["warn"] = 2] = "warn";
6
- LogLevel2[LogLevel2["info"] = 3] = "info";
7
- LogLevel2[LogLevel2["debug"] = 4] = "debug";
8
- LogLevel2[LogLevel2["log"] = 5] = "log";
9
- return LogLevel2;
10
- })(LogLevel || {});
11
- var NoOpLogFunction = (_message) => void 0;
12
- var ConsoleLogger = class {
13
- constructor(level = 2 /* warn */) {
14
- this.level = level;
15
- }
16
- get debug() {
17
- return this.level >= 4 /* debug */ ? console.debug : NoOpLogFunction;
18
- }
19
- get error() {
20
- return this.level >= 1 /* error */ ? console.error : NoOpLogFunction;
21
- }
22
- get info() {
23
- return this.level >= 3 /* info */ ? console.info : NoOpLogFunction;
24
- }
25
- get log() {
26
- return this.level >= 5 /* log */ ? console.log : NoOpLogFunction;
27
- }
28
- get warn() {
29
- return this.level >= 2 /* warn */ ? console.warn : NoOpLogFunction;
30
- }
31
- };
32
3
  var getFunctionName = (depth = 2) => {
33
4
  try {
34
5
  throw new Error("Getting function name");
@@ -61,28 +32,60 @@ var IdLogger = class {
61
32
  set id(id) {
62
33
  this._id = () => id;
63
34
  }
64
- debug(message) {
35
+ debug(...data) {
36
+ var _a;
37
+ (_a = this._logger) == null ? void 0 : _a.debug(this.prefix(), ...data);
38
+ }
39
+ error(...data) {
65
40
  var _a;
66
- (_a = this._logger) == null ? void 0 : _a.debug(this.generate(message, getFunctionName(3)));
41
+ (_a = this._logger) == null ? void 0 : _a.error(this.prefix(), ...data);
67
42
  }
68
- error(message) {
43
+ info(...data) {
69
44
  var _a;
70
- (_a = this._logger) == null ? void 0 : _a.error(this.generate(message, getFunctionName(3)));
45
+ (_a = this._logger) == null ? void 0 : _a.info(this.prefix(), ...data);
71
46
  }
72
- info(message) {
47
+ log(...data) {
73
48
  var _a;
74
- (_a = this._logger) == null ? void 0 : _a.info(this.generate(message, getFunctionName(3)));
49
+ (_a = this._logger) == null ? void 0 : _a.log(this.prefix(), ...data);
75
50
  }
76
- log(message) {
51
+ warn(...data) {
77
52
  var _a;
78
- (_a = this._logger) == null ? void 0 : _a.log(this.generate(message, getFunctionName(3)));
53
+ (_a = this._logger) == null ? void 0 : _a.warn(this.prefix(), ...data);
79
54
  }
80
- warn(message) {
55
+ prefix() {
81
56
  var _a;
82
- (_a = this._logger) == null ? void 0 : _a.warn(this.generate(message, getFunctionName(3)));
57
+ return `[${(_a = this._id) == null ? void 0 : _a.call(this)}|${getFunctionName(4)}]`;
58
+ }
59
+ };
60
+
61
+ // src/Logger.ts
62
+ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
63
+ LogLevel2[LogLevel2["error"] = 1] = "error";
64
+ LogLevel2[LogLevel2["warn"] = 2] = "warn";
65
+ LogLevel2[LogLevel2["info"] = 3] = "info";
66
+ LogLevel2[LogLevel2["log"] = 4] = "log";
67
+ LogLevel2[LogLevel2["debug"] = 5] = "debug";
68
+ return LogLevel2;
69
+ })(LogLevel || {});
70
+ var NoOpLogFunction = (..._data) => void 0;
71
+ var ConsoleLogger = class {
72
+ constructor(level = 2 /* warn */) {
73
+ this.level = level;
74
+ }
75
+ get debug() {
76
+ return this.level >= 5 /* debug */ ? console.debug : NoOpLogFunction;
83
77
  }
84
- generate(message, tag) {
85
- return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, null, 2) : `${message}`}`;
78
+ get error() {
79
+ return this.level >= 1 /* error */ ? console.error : NoOpLogFunction;
80
+ }
81
+ get info() {
82
+ return this.level >= 3 /* info */ ? console.info : NoOpLogFunction;
83
+ }
84
+ get log() {
85
+ return this.level >= 4 /* log */ ? console.log : NoOpLogFunction;
86
+ }
87
+ get warn() {
88
+ return this.level >= 2 /* warn */ ? console.warn : NoOpLogFunction;
86
89
  }
87
90
  };
88
91
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Logger.ts","../../src/IdLogger.ts"],"sourcesContent":["import { handleError } from '@xylabs/error'\n\nexport type LogFunction = (message?: unknown) => void\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n warn: LogFunction\n}\n\nexport enum LogLevel {\n error = 1,\n warn = 2,\n info = 3,\n debug = 4,\n log = 5,\n}\n\nexport const NoOpLogFunction = (_message?: unknown) => void {}\n\nexport class ConsoleLogger implements Logger {\n constructor(readonly level: LogLevel = LogLevel.warn) {}\n\n get debug() {\n return this.level >= LogLevel.debug ? console.debug : NoOpLogFunction\n }\n\n get error() {\n return this.level >= LogLevel.error ? console.error : NoOpLogFunction\n }\n\n get info() {\n return this.level >= LogLevel.info ? console.info : NoOpLogFunction\n }\n\n get log() {\n return this.level >= LogLevel.log ? console.log : NoOpLogFunction\n }\n\n get warn() {\n return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction\n }\n}\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Getting function name')\n } catch (ex) {\n return handleError(ex, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const funcName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName\n })\n }\n}\n","import { getFunctionName, Logger } from './Logger'\n\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, null, 2)\n : `${message}`\n }`\n }\n}\n"],"mappings":";AAAA,SAAS,mBAAmB;AAgBrB,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,SAAM,KAAN;AALU,SAAAA;AAAA,GAAA;AAQL,IAAM,kBAAkB,CAAC,aAAuB;AAEhD,IAAM,gBAAN,MAAsC;AAAA,EAC3C,YAAqB,QAAkB,cAAe;AAAjC;AAAA,EAAkC;AAAA,EAEvD,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AAAA,EAEA,IAAI,MAAM;AACR,WAAO,KAAK,SAAS,cAAe,QAAQ,MAAM;AAAA,EACpD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AACF;AACO,IAAM,kBAAkB,CAAC,QAAQ,MAAM;AAC5C,MAAI;AACF,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC,SAAS,IAAI;AACX,WAAO,YAAY,IAAI,CAAC,UAAU;AArDtC;AAsDM,UAAI;AACJ,YAAM,cAAa,WAAM,UAAN,mBAAa,MAAM,MAAM,OAAO,MAAM;AACzD,YAAM,YACJ,yCAAY,KAAK,CAAC,MAAM,UAAU;AAChC,YAAI,KAAK,SAAS,KAAK,SAAS,MAAM;AAEpC,cAAI,SAAS,OAAO;AAClB,uBAAW;AAAA,UACb;AACA,iBAAO;AAAA,QACT;AAAA,MACF,OAAM;AACR,aAAO,WAAW,GAAG,QAAQ,IAAI,yCAAa,WAAW,EAAE,KAAK;AAAA,IAClE,CAAC;AAAA,EACH;AACF;;;ACnEO,IAAM,WAAN,MAAiC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,IAAmB;AAC7C,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,IAAI,GAAG,IAAY;AACjB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,MAAM,SAAmB;AAf3B;AAgBI,eAAK,YAAL,mBAAc,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,MAAM,SAAmB;AAlB3B;AAmBI,eAAK,YAAL,mBAAc,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,KAAK,SAAmB;AArB1B;AAsBI,eAAK,YAAL,mBAAc,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC9D;AAAA,EACA,IAAI,SAAmB;AAxBzB;AAyBI,eAAK,YAAL,mBAAc,IAAI,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC7D;AAAA,EACA,KAAK,SAAmB;AA3B1B;AA4BI,eAAK,YAAL,mBAAc,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEQ,SAAS,SAAmB,KAAc;AAChD,WAAO,GAAG,GAAG,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG,OAAO,EAAE,GAC/C,OAAO,YAAY,WAAW,UAC5B,OAAO,YAAY,WAAW,KAAK,UAAU,SAAS,MAAM,CAAC,IAC7D,GAAG,OAAO,EACd;AAAA,EACF;AACF;","names":["LogLevel"]}
1
+ {"version":3,"sources":["../../src/getFunctionName.ts","../../src/IdLogger.ts","../../src/Logger.ts"],"sourcesContent":["import { handleError } from '@xylabs/error'\n\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Getting function name')\n } catch (ex) {\n return handleError(ex, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const funcName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName\n })\n }\n}\n","import { getFunctionName } from './getFunctionName'\nimport { Logger } from './Logger'\n\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(...data: unknown[]) {\n this._logger?.debug(this.prefix(), ...data)\n }\n error(...data: unknown[]) {\n this._logger?.error(this.prefix(), ...data)\n }\n info(...data: unknown[]) {\n this._logger?.info(this.prefix(), ...data)\n }\n log(...data: unknown[]) {\n this._logger?.log(this.prefix(), ...data)\n }\n warn(...data: unknown[]) {\n this._logger?.warn(this.prefix(), ...data)\n }\n\n private prefix() {\n return `[${this._id?.()}|${getFunctionName(4)}]`\n }\n}\n","export type LogFunction = (...data: unknown[]) => void\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n warn: LogFunction\n}\n\nexport enum LogLevel {\n error = 1,\n warn = 2,\n info = 3,\n log = 4,\n debug = 5,\n}\n\nexport const NoOpLogFunction = (..._data: unknown[]) => void {}\n\nexport class ConsoleLogger implements Logger {\n constructor(readonly level: LogLevel = LogLevel.warn) {}\n\n get debug() {\n return this.level >= LogLevel.debug ? console.debug : NoOpLogFunction\n }\n\n get error() {\n return this.level >= LogLevel.error ? console.error : NoOpLogFunction\n }\n\n get info() {\n return this.level >= LogLevel.info ? console.info : NoOpLogFunction\n }\n\n get log() {\n return this.level >= LogLevel.log ? console.log : NoOpLogFunction\n }\n\n get warn() {\n return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction\n }\n}\n"],"mappings":";AAAA,SAAS,mBAAmB;AAErB,IAAM,kBAAkB,CAAC,QAAQ,MAAM;AAC5C,MAAI;AACF,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC,SAAS,IAAI;AACX,WAAO,YAAY,IAAI,CAAC,UAAU;AANtC;AAOM,UAAI;AACJ,YAAM,cAAa,WAAM,UAAN,mBAAa,MAAM,MAAM,OAAO,MAAM;AACzD,YAAM,YACJ,yCAAY,KAAK,CAAC,MAAM,UAAU;AAChC,YAAI,KAAK,SAAS,KAAK,SAAS,MAAM;AAEpC,cAAI,SAAS,OAAO;AAClB,uBAAW;AAAA,UACb;AACA,iBAAO;AAAA,QACT;AAAA,MACF,OAAM;AACR,aAAO,WAAW,GAAG,QAAQ,IAAI,yCAAa,WAAW,EAAE,KAAK;AAAA,IAClE,CAAC;AAAA,EACH;AACF;;;ACnBO,IAAM,WAAN,MAAiC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,IAAmB;AAC7C,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,IAAI,GAAG,IAAY;AACjB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,SAAS,MAAiB;AAhB5B;AAiBI,eAAK,YAAL,mBAAc,MAAM,KAAK,OAAO,GAAG,GAAG;AAAA,EACxC;AAAA,EACA,SAAS,MAAiB;AAnB5B;AAoBI,eAAK,YAAL,mBAAc,MAAM,KAAK,OAAO,GAAG,GAAG;AAAA,EACxC;AAAA,EACA,QAAQ,MAAiB;AAtB3B;AAuBI,eAAK,YAAL,mBAAc,KAAK,KAAK,OAAO,GAAG,GAAG;AAAA,EACvC;AAAA,EACA,OAAO,MAAiB;AAzB1B;AA0BI,eAAK,YAAL,mBAAc,IAAI,KAAK,OAAO,GAAG,GAAG;AAAA,EACtC;AAAA,EACA,QAAQ,MAAiB;AA5B3B;AA6BI,eAAK,YAAL,mBAAc,KAAK,KAAK,OAAO,GAAG,GAAG;AAAA,EACvC;AAAA,EAEQ,SAAS;AAhCnB;AAiCI,WAAO,KAAI,UAAK,QAAL,6BAAY,IAAI,gBAAgB,CAAC,CAAC;AAAA,EAC/C;AACF;;;ACrBO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,SAAM,KAAN;AACA,EAAAA,oBAAA,WAAQ,KAAR;AALU,SAAAA;AAAA,GAAA;AAQL,IAAM,kBAAkB,IAAI,UAAqB;AAEjD,IAAM,gBAAN,MAAsC;AAAA,EAC3C,YAAqB,QAAkB,cAAe;AAAjC;AAAA,EAAkC;AAAA,EAEvD,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS,gBAAiB,QAAQ,QAAQ;AAAA,EACxD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AAAA,EAEA,IAAI,MAAM;AACR,WAAO,KAAK,SAAS,cAAe,QAAQ,MAAM;AAAA,EACpD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS,eAAgB,QAAQ,OAAO;AAAA,EACtD;AACF;","names":["LogLevel"]}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "description": "Primary SDK for using XYO Protocol 2.0",
13
13
  "dependencies": {
14
- "@xylabs/error": "~3.0.9"
14
+ "@xylabs/error": "~3.0.11"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@xylabs/ts-scripts-yarn3": "^3.5.0",
@@ -68,6 +68,6 @@
68
68
  "esm"
69
69
  ],
70
70
  "sideEffects": false,
71
- "version": "3.0.9",
71
+ "version": "3.0.11",
72
72
  "type": "module"
73
73
  }
package/src/IdLogger.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { getFunctionName, Logger } from './Logger'
1
+ import { getFunctionName } from './getFunctionName'
2
+ import { Logger } from './Logger'
2
3
 
3
4
  export class IdLogger implements Logger {
4
5
  private _id?: () => string
@@ -13,27 +14,23 @@ export class IdLogger implements Logger {
13
14
  this._id = () => id
14
15
  }
15
16
 
16
- debug(message?: unknown) {
17
- this._logger?.debug(this.generate(message, getFunctionName(3)))
17
+ debug(...data: unknown[]) {
18
+ this._logger?.debug(this.prefix(), ...data)
18
19
  }
19
- error(message?: unknown) {
20
- this._logger?.error(this.generate(message, getFunctionName(3)))
20
+ error(...data: unknown[]) {
21
+ this._logger?.error(this.prefix(), ...data)
21
22
  }
22
- info(message?: unknown) {
23
- this._logger?.info(this.generate(message, getFunctionName(3)))
23
+ info(...data: unknown[]) {
24
+ this._logger?.info(this.prefix(), ...data)
24
25
  }
25
- log(message?: unknown) {
26
- this._logger?.log(this.generate(message, getFunctionName(3)))
26
+ log(...data: unknown[]) {
27
+ this._logger?.log(this.prefix(), ...data)
27
28
  }
28
- warn(message?: unknown) {
29
- this._logger?.warn(this.generate(message, getFunctionName(3)))
29
+ warn(...data: unknown[]) {
30
+ this._logger?.warn(this.prefix(), ...data)
30
31
  }
31
32
 
32
- private generate(message?: unknown, tag?: string) {
33
- return `${tag} ${this._id ? `[${this._id}] ` : ''}${
34
- typeof message === 'string' ? message
35
- : typeof message === 'object' ? JSON.stringify(message, null, 2)
36
- : `${message}`
37
- }`
33
+ private prefix() {
34
+ return `[${this._id?.()}|${getFunctionName(4)}]`
38
35
  }
39
36
  }
package/src/Logger.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { handleError } from '@xylabs/error'
2
-
3
- export type LogFunction = (message?: unknown) => void
1
+ export type LogFunction = (...data: unknown[]) => void
4
2
 
5
3
  /**
6
4
  * Interface to handle overlap between Winston &
@@ -18,11 +16,11 @@ export enum LogLevel {
18
16
  error = 1,
19
17
  warn = 2,
20
18
  info = 3,
21
- debug = 4,
22
- log = 5,
19
+ log = 4,
20
+ debug = 5,
23
21
  }
24
22
 
25
- export const NoOpLogFunction = (_message?: unknown) => void {}
23
+ export const NoOpLogFunction = (..._data: unknown[]) => void {}
26
24
 
27
25
  export class ConsoleLogger implements Logger {
28
26
  constructor(readonly level: LogLevel = LogLevel.warn) {}
@@ -47,24 +45,3 @@ export class ConsoleLogger implements Logger {
47
45
  return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction
48
46
  }
49
47
  }
50
- export const getFunctionName = (depth = 2) => {
51
- try {
52
- throw new Error('Getting function name')
53
- } catch (ex) {
54
- return handleError(ex, (error) => {
55
- let newIndex: number | undefined
56
- const stackParts = error.stack?.split('\n')[depth].split(' ')
57
- const funcName =
58
- stackParts?.find((item, index) => {
59
- if (item.length > 0 && item !== 'at') {
60
- //check if constructor
61
- if (item === 'new') {
62
- newIndex = index
63
- }
64
- return item
65
- }
66
- }) ?? '<unknown>'
67
- return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName
68
- })
69
- }
70
- }
@@ -0,0 +1,23 @@
1
+ import { handleError } from '@xylabs/error'
2
+
3
+ export const getFunctionName = (depth = 2) => {
4
+ try {
5
+ throw new Error('Getting function name')
6
+ } catch (ex) {
7
+ return handleError(ex, (error) => {
8
+ let newIndex: number | undefined
9
+ const stackParts = error.stack?.split('\n')[depth].split(' ')
10
+ const funcName =
11
+ stackParts?.find((item, index) => {
12
+ if (item.length > 0 && item !== 'at') {
13
+ //check if constructor
14
+ if (item === 'new') {
15
+ newIndex = index
16
+ }
17
+ return item
18
+ }
19
+ }) ?? '<unknown>'
20
+ return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName
21
+ })
22
+ }
23
+ }
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './getFunctionName'
1
2
  export * from './IdLogger'
2
3
  export * from './Logger'