redis-smq-common 8.1.0 → 8.2.0

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 (117) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/src/logger/console-logger/console-logger.d.ts +14 -0
  3. package/dist/cjs/src/logger/console-logger/console-logger.d.ts.map +1 -0
  4. package/dist/cjs/src/logger/console-logger/console-logger.js +61 -0
  5. package/dist/cjs/src/logger/console-logger/console-logger.js.map +1 -0
  6. package/dist/cjs/src/logger/console-logger/console-message-formatter.d.ts +17 -0
  7. package/dist/cjs/src/logger/console-logger/console-message-formatter.d.ts.map +1 -0
  8. package/dist/cjs/src/logger/console-logger/console-message-formatter.js +48 -0
  9. package/dist/cjs/src/logger/console-logger/console-message-formatter.js.map +1 -0
  10. package/dist/cjs/src/logger/console-logger/index.d.ts +3 -0
  11. package/dist/cjs/src/logger/console-logger/index.d.ts.map +1 -0
  12. package/dist/cjs/src/logger/console-logger/index.js +19 -0
  13. package/dist/cjs/src/logger/console-logger/index.js.map +1 -0
  14. package/dist/cjs/src/logger/console-logger/types/console-logger.d.ts +15 -0
  15. package/dist/cjs/src/logger/console-logger/types/console-logger.d.ts.map +1 -0
  16. package/dist/cjs/src/logger/console-logger/types/console-logger.js +11 -0
  17. package/dist/cjs/src/logger/console-logger/types/console-logger.js.map +1 -0
  18. package/dist/cjs/src/logger/console-logger/types/index.d.ts +2 -0
  19. package/dist/cjs/src/logger/console-logger/types/index.d.ts.map +1 -0
  20. package/dist/cjs/src/logger/console-logger/types/index.js +18 -0
  21. package/dist/cjs/src/logger/console-logger/types/index.js.map +1 -0
  22. package/dist/cjs/src/logger/index.d.ts +1 -0
  23. package/dist/cjs/src/logger/index.d.ts.map +1 -1
  24. package/dist/cjs/src/logger/index.js +1 -0
  25. package/dist/cjs/src/logger/index.js.map +1 -1
  26. package/dist/cjs/src/logger/logger.d.ts +1 -1
  27. package/dist/cjs/src/logger/logger.d.ts.map +1 -1
  28. package/dist/cjs/src/logger/logger.js +27 -5
  29. package/dist/cjs/src/logger/logger.js.map +1 -1
  30. package/dist/cjs/src/logger/types/index.d.ts +1 -7
  31. package/dist/cjs/src/logger/types/index.d.ts.map +1 -1
  32. package/dist/cjs/src/logger/types/index.js +1 -1
  33. package/dist/cjs/src/logger/types/logger.d.ts +12 -0
  34. package/dist/cjs/src/logger/types/logger.d.ts.map +1 -0
  35. package/dist/cjs/src/logger/types/{config.js → logger.js} +1 -1
  36. package/dist/cjs/src/logger/types/logger.js.map +1 -0
  37. package/dist/cjs/src/redis-lock/redis-lock.d.ts +2 -0
  38. package/dist/cjs/src/redis-lock/redis-lock.d.ts.map +1 -1
  39. package/dist/cjs/src/redis-lock/redis-lock.js +114 -19
  40. package/dist/cjs/src/redis-lock/redis-lock.js.map +1 -1
  41. package/dist/cjs/src/worker/worker-callable.d.ts +2 -1
  42. package/dist/cjs/src/worker/worker-callable.d.ts.map +1 -1
  43. package/dist/cjs/src/worker/worker-callable.js +31 -3
  44. package/dist/cjs/src/worker/worker-callable.js.map +1 -1
  45. package/dist/cjs/src/worker/worker-resource-group.d.ts.map +1 -1
  46. package/dist/cjs/src/worker/worker-resource-group.js +100 -17
  47. package/dist/cjs/src/worker/worker-resource-group.js.map +1 -1
  48. package/dist/cjs/src/worker/worker-runnable.d.ts +2 -1
  49. package/dist/cjs/src/worker/worker-runnable.d.ts.map +1 -1
  50. package/dist/cjs/src/worker/worker-runnable.js +33 -4
  51. package/dist/cjs/src/worker/worker-runnable.js.map +1 -1
  52. package/dist/cjs/src/worker/worker.d.ts +4 -1
  53. package/dist/cjs/src/worker/worker.d.ts.map +1 -1
  54. package/dist/cjs/src/worker/worker.js +206 -57
  55. package/dist/cjs/src/worker/worker.js.map +1 -1
  56. package/dist/esm/src/logger/console-logger/console-logger.d.ts +14 -0
  57. package/dist/esm/src/logger/console-logger/console-logger.d.ts.map +1 -0
  58. package/dist/esm/src/logger/console-logger/console-logger.js +59 -0
  59. package/dist/esm/src/logger/console-logger/console-logger.js.map +1 -0
  60. package/dist/esm/src/logger/console-logger/console-message-formatter.d.ts +17 -0
  61. package/dist/esm/src/logger/console-logger/console-message-formatter.d.ts.map +1 -0
  62. package/dist/esm/src/logger/console-logger/console-message-formatter.js +47 -0
  63. package/dist/esm/src/logger/console-logger/console-message-formatter.js.map +1 -0
  64. package/dist/esm/src/logger/console-logger/index.d.ts +3 -0
  65. package/dist/esm/src/logger/console-logger/index.d.ts.map +1 -0
  66. package/dist/esm/src/logger/console-logger/index.js +3 -0
  67. package/dist/esm/src/logger/console-logger/index.js.map +1 -0
  68. package/dist/esm/src/logger/console-logger/types/console-logger.d.ts +15 -0
  69. package/dist/esm/src/logger/console-logger/types/console-logger.d.ts.map +1 -0
  70. package/dist/esm/src/logger/console-logger/types/console-logger.js +8 -0
  71. package/dist/esm/src/logger/console-logger/types/console-logger.js.map +1 -0
  72. package/dist/esm/src/logger/console-logger/types/index.d.ts +2 -0
  73. package/dist/esm/src/logger/console-logger/types/index.d.ts.map +1 -0
  74. package/dist/esm/src/logger/console-logger/types/index.js +2 -0
  75. package/dist/esm/src/logger/console-logger/types/index.js.map +1 -0
  76. package/dist/esm/src/logger/index.d.ts +1 -0
  77. package/dist/esm/src/logger/index.d.ts.map +1 -1
  78. package/dist/esm/src/logger/index.js +1 -0
  79. package/dist/esm/src/logger/index.js.map +1 -1
  80. package/dist/esm/src/logger/logger.d.ts +1 -1
  81. package/dist/esm/src/logger/logger.d.ts.map +1 -1
  82. package/dist/esm/src/logger/logger.js +25 -3
  83. package/dist/esm/src/logger/logger.js.map +1 -1
  84. package/dist/esm/src/logger/types/index.d.ts +1 -7
  85. package/dist/esm/src/logger/types/index.d.ts.map +1 -1
  86. package/dist/esm/src/logger/types/index.js +1 -1
  87. package/dist/esm/src/logger/types/logger.d.ts +12 -0
  88. package/dist/esm/src/logger/types/logger.d.ts.map +1 -0
  89. package/dist/esm/src/logger/types/logger.js +2 -0
  90. package/dist/esm/src/logger/types/logger.js.map +1 -0
  91. package/dist/esm/src/redis-lock/redis-lock.d.ts +2 -0
  92. package/dist/esm/src/redis-lock/redis-lock.d.ts.map +1 -1
  93. package/dist/esm/src/redis-lock/redis-lock.js +114 -19
  94. package/dist/esm/src/redis-lock/redis-lock.js.map +1 -1
  95. package/dist/esm/src/worker/worker-callable.d.ts +2 -1
  96. package/dist/esm/src/worker/worker-callable.d.ts.map +1 -1
  97. package/dist/esm/src/worker/worker-callable.js +31 -3
  98. package/dist/esm/src/worker/worker-callable.js.map +1 -1
  99. package/dist/esm/src/worker/worker-resource-group.d.ts.map +1 -1
  100. package/dist/esm/src/worker/worker-resource-group.js +100 -17
  101. package/dist/esm/src/worker/worker-resource-group.js.map +1 -1
  102. package/dist/esm/src/worker/worker-runnable.d.ts +2 -1
  103. package/dist/esm/src/worker/worker-runnable.d.ts.map +1 -1
  104. package/dist/esm/src/worker/worker-runnable.js +33 -4
  105. package/dist/esm/src/worker/worker-runnable.js.map +1 -1
  106. package/dist/esm/src/worker/worker.d.ts +4 -1
  107. package/dist/esm/src/worker/worker.d.ts.map +1 -1
  108. package/dist/esm/src/worker/worker.js +206 -55
  109. package/dist/esm/src/worker/worker.js.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/cjs/src/logger/types/config.d.ts +0 -4
  112. package/dist/cjs/src/logger/types/config.d.ts.map +0 -1
  113. package/dist/cjs/src/logger/types/config.js.map +0 -1
  114. package/dist/esm/src/logger/types/config.d.ts +0 -4
  115. package/dist/esm/src/logger/types/config.d.ts.map +0 -1
  116. package/dist/esm/src/logger/types/config.js +0 -2
  117. package/dist/esm/src/logger/types/config.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ export var EConsoleLoggerLevel;
2
+ (function (EConsoleLoggerLevel) {
3
+ EConsoleLoggerLevel[EConsoleLoggerLevel["DEBUG"] = 0] = "DEBUG";
4
+ EConsoleLoggerLevel[EConsoleLoggerLevel["INFO"] = 1] = "INFO";
5
+ EConsoleLoggerLevel[EConsoleLoggerLevel["WARN"] = 2] = "WARN";
6
+ EConsoleLoggerLevel[EConsoleLoggerLevel["ERROR"] = 3] = "ERROR";
7
+ })(EConsoleLoggerLevel || (EConsoleLoggerLevel = {}));
8
+ //# sourceMappingURL=console-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../../../../../src/logger/console-logger/types/console-logger.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,6DAAQ,CAAA;IACR,+DAAS,CAAA;AACX,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B"}
@@ -0,0 +1,2 @@
1
+ export * from './console-logger.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/logger/console-logger/types/index.ts"],"names":[],"mappings":"AASA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './console-logger.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/logger/console-logger/types/index.ts"],"names":[],"mappings":"AASA,cAAc,qBAAqB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './types/index.js';
2
2
  export * from './errors/index.js';
3
3
  export * from './logger.js';
4
+ export * from './console-logger/index.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/logger/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/logger/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './types/index.js';
2
2
  export * from './errors/index.js';
3
3
  export * from './logger.js';
4
+ export * from './console-logger/index.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logger/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logger/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { ILogger, ILoggerConfig } from './types/index.js';
2
2
  declare function destroy(): void;
3
3
  declare function setLogger<T extends ILogger>(logger: T): void;
4
- declare function getLogger(cfg: ILoggerConfig, ns?: string): ILogger;
4
+ declare function getLogger(cfg?: ILoggerConfig, ns?: string): ILogger;
5
5
  export declare const logger: {
6
6
  getLogger: typeof getLogger;
7
7
  setLogger: typeof setLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/logger/logger.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAmB1D,iBAAS,OAAO,IAAI,IAAI,CAEvB;AAOD,iBAAS,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAKrD;AAmCD,iBAAS,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAa3D;AAED,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/logger/logger.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAmB1D,iBAAS,OAAO,IAAI,IAAI,CAEvB;AAOD,iBAAS,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAKrD;AAoFD,iBAAS,SAAS,CAAC,GAAG,GAAE,aAAkB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAahE;AAED,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { ConsoleLogger } from './console-logger/index.js';
1
3
  import { LoggerError } from './errors/index.js';
2
4
  let instance = null;
3
5
  const noop = () => void 0;
@@ -16,10 +18,30 @@ function setLogger(logger) {
16
18
  }
17
19
  instance = logger;
18
20
  }
21
+ function validateNamespace(ns) {
22
+ if (!ns || ns.trim() === '') {
23
+ throw new LoggerError('Namespace cannot be empty');
24
+ }
25
+ const validNamespacePattern = /^[a-zA-Z0-9_-]+$/;
26
+ if (!validNamespacePattern.test(ns)) {
27
+ throw new LoggerError('Namespace must contain only alphanumeric characters, underscores, and hyphens');
28
+ }
29
+ }
30
+ function hasNamespace(message) {
31
+ if (typeof message !== 'string')
32
+ return false;
33
+ const namespacePattern = /^\[[a-zA-Z0-9_-]+-[0-9a-f-]+\]:/;
34
+ return namespacePattern.test(message);
35
+ }
19
36
  function createNamespacedLogger(ns, logger) {
37
+ validateNamespace(ns);
38
+ const nsId = `${ns}-${randomUUID()}`;
20
39
  const wrap = (method) => {
21
40
  return (message, ...params) => {
22
- const msg = typeof message === 'string' ? `${ns}: ${message}` : message;
41
+ const skipNamespace = typeof message !== 'string' ||
42
+ (logger instanceof ConsoleLogger && logger.isFormatted(message)) ||
43
+ hasNamespace(message);
44
+ const msg = skipNamespace ? message : `[${nsId}]: ${message}`;
23
45
  logger[method](msg, ...params);
24
46
  };
25
47
  };
@@ -30,12 +52,12 @@ function createNamespacedLogger(ns, logger) {
30
52
  error: wrap('error'),
31
53
  };
32
54
  }
33
- function getLogger(cfg, ns) {
55
+ function getLogger(cfg = {}, ns) {
34
56
  if (!cfg.enabled) {
35
57
  return dummyLogger;
36
58
  }
37
59
  if (instance === null) {
38
- instance = console;
60
+ instance = new ConsoleLogger(cfg.options);
39
61
  }
40
62
  if (typeof ns === 'string' && ns.trim() !== '') {
41
63
  return createNamespacedLogger(ns, instance);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/logger/logger.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,IAAI,QAAQ,GAAmB,IAAI,CAAC;AAGpC,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,KAAK,CAAC,CAAC;AAGhC,MAAM,WAAW,GAAY,MAAM,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAKH,SAAS,OAAO;IACd,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAOD,SAAS,SAAS,CAAoB,MAAS;IAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAChE,CAAC;IACD,QAAQ,GAAG,MAAM,CAAC;AACpB,CAAC;AAQD,SAAS,sBAAsB,CAAC,EAAU,EAAE,MAAe;IAEzD,MAAM,IAAI,GAAG,CACX,MAAqB,EAC+B,EAAE;QACtD,OAAO,CAAC,OAAgB,EAAE,GAAG,MAAiB,EAAQ,EAAE;YACtD,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACxE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAWD,SAAS,SAAS,CAAC,GAAkB,EAAE,EAAW;IAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAEtB,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,OAAO,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,SAAS;IACT,SAAS;IACT,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/logger/logger.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,2 @@
1
- export * from './config.js';
2
- export interface ILogger {
3
- info(message: unknown, ...params: unknown[]): void;
4
- warn(message: unknown, ...params: unknown[]): void;
5
- error(message: unknown, ...params: unknown[]): void;
6
- debug(message: unknown, ...params: unknown[]): void;
7
- }
1
+ export * from './logger.js';
8
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/logger/types/index.ts"],"names":[],"mappings":"AASA,cAAc,aAAa,CAAC;AAE5B,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEnD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEpD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/logger/types/index.ts"],"names":[],"mappings":"AASA,cAAc,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './config.js';
1
+ export * from './logger.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,12 @@
1
+ import { IConsoleLoggerOptions } from '../console-logger/index.js';
2
+ export interface ILogger {
3
+ info(message: unknown, ...params: unknown[]): void;
4
+ warn(message: unknown, ...params: unknown[]): void;
5
+ error(message: unknown, ...params: unknown[]): void;
6
+ debug(message: unknown, ...params: unknown[]): void;
7
+ }
8
+ export interface ILoggerConfig {
9
+ enabled?: boolean;
10
+ options?: IConsoleLoggerOptions;
11
+ }
12
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../src/logger/types/logger.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEnD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEpD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAK5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAMlB,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../src/logger/types/logger.ts"],"names":[],"mappings":""}
@@ -28,6 +28,8 @@ export declare class RedisLock extends Runnable<TLockerEvent> {
28
28
  protected goingDown(): Array<(cb: ICallback<void>) => void>;
29
29
  protected handleError: (err: Error) => void;
30
30
  protected getLogger(): ILogger;
31
+ protected up(cb: ICallback<boolean>): void;
32
+ protected down(cb: ICallback<boolean>): void;
31
33
  run(cb: ICallback<boolean>): void;
32
34
  acquireLock(cb: ICallback<boolean>): void;
33
35
  releaseLock(cb: ICallback<void>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"redis-lock.d.ts","sourceRoot":"","sources":["../../../../src/redis-lock/redis-lock.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAU1C,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,CAAC;AAgBF,qBAAa,SAAU,SAAQ,QAAQ,CAAC,YAAY,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,OAAO,SAAC;IAC3B,SAAS,CAAC,QAAQ,CAAC,WAAW,UAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAC;IACvB,SAAS,CAAC,QAAQ,CAAC,WAAW,eAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,SAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAC;IACzB,SAAS,CAAC,QAAQ,CAAC,MAAM,UAAC;gBAGxB,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,UAAQ,EACnB,kBAAkB,GAAE,MAAU;IAiChC,SAAS,CAAC,IAAI,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAmB1C;IAgBF,SAAS,CAAC,MAAM,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAa5C;IAaF,SAAS,CAAC,OAAO,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAO7C;IAgBF,SAAS,CAAC,UAAU,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAGhD;IAYF,SAAS,CAAC,cAAc,IAAI,IAAI;cA+Bb,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;cAgB/C,SAAS,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAWpE,UAAmB,WAAW,QAAS,KAAK,KAAG,IAAI,CAGjD;cAOiB,SAAS,IAAI,OAAO;IAqB9B,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAyB1C,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAezC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;IAiBtC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;IAarC,QAAQ,IAAI,OAAO;IAWnB,UAAU,IAAI,OAAO;CAGtB"}
1
+ {"version":3,"file":"redis-lock.d.ts","sourceRoot":"","sources":["../../../../src/redis-lock/redis-lock.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAU1C,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,CAAC;AAgBF,qBAAa,SAAU,SAAQ,QAAQ,CAAC,YAAY,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,OAAO,SAAC;IAC3B,SAAS,CAAC,QAAQ,CAAC,WAAW,UAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAC;IACvB,SAAS,CAAC,QAAQ,CAAC,WAAW,eAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,SAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAC;IACzB,SAAS,CAAC,QAAQ,CAAC,MAAM,UAAC;gBAGxB,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,UAAQ,EACnB,kBAAkB,GAAE,MAAU;IAuDhC,SAAS,CAAC,IAAI,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAyC1C;IAgBF,SAAS,CAAC,MAAM,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAsC5C;IAaF,SAAS,CAAC,OAAO,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAkB7C;IAgBF,SAAS,CAAC,UAAU,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAKhD;IAYF,SAAS,CAAC,cAAc,IAAI,IAAI;cA8Cb,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;cAkB/C,SAAS,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAapE,UAAmB,WAAW,QAAS,KAAK,KAAG,IAAI,CAIjD;cAOiB,SAAS,IAAI,OAAO;cAWpB,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;cAehC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAyB5C,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAgD1C,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAgBzC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;IAkBtC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;IA4BrC,QAAQ,IAAI,OAAO;IAenB,UAAU,IAAI,OAAO;CAOtB"}
@@ -29,103 +29,198 @@ export class RedisLock extends Runnable {
29
29
  this.retryOnFail = retryOnFail;
30
30
  this.autoExtendInterval = autoExtendInterval;
31
31
  this.logger = logger;
32
+ this.logger.info(`RedisLock instance created for key: ${lockKey}`);
33
+ this.logger.debug('RedisLock initialization details', {
34
+ id: this.id,
35
+ lockKey,
36
+ ttl,
37
+ retryOnFail,
38
+ autoExtendInterval,
39
+ });
32
40
  this.redisClient = redisClient;
33
41
  this.redisClient.on('error', this.handleError);
34
- this.redisClient.loadScriptFiles(luaScriptMap, () => void 0);
42
+ this.logger.debug('Loading Redis Lua scripts');
43
+ this.redisClient.loadScriptFiles(luaScriptMap, (err) => {
44
+ if (err) {
45
+ this.logger.error(`Failed to load Redis Lua scripts: ${err.message}`, err);
46
+ }
47
+ else {
48
+ this.logger.debug('Redis Lua scripts loaded successfully');
49
+ }
50
+ });
35
51
  this.timer = new Timer();
36
52
  this.timer.on('error', this.handleError);
53
+ this.logger.info('RedisLock initialization complete');
37
54
  }
38
55
  lock = (cb) => {
56
+ this.logger.debug(`Attempting to acquire lock for key: ${this.lockKey}`);
39
57
  this.redisClient.set(this.lockKey, this.id, {
40
58
  expire: { mode: 'PX', value: this.ttl },
41
59
  exists: 'NX',
42
60
  }, (err, reply) => {
43
- if (err)
61
+ if (err) {
62
+ this.logger.error(`Error acquiring lock: ${err.message}`, err);
44
63
  return cb(err);
45
- if (!this.powerSwitch.isGoingUp())
64
+ }
65
+ if (!this.powerSwitch.isGoingUp()) {
66
+ this.logger.warn('Lock acquisition aborted: power switch is no longer in going-up state');
46
67
  return cb(new AbortError());
68
+ }
47
69
  if (!reply) {
48
- return this.retryOnFail
49
- ? this.timer.setTimeout(() => this.lock(cb), 1000)
50
- : cb(new LockAcquireError());
70
+ if (this.retryOnFail) {
71
+ this.logger.debug('Lock already held by another instance, retrying in 1 second');
72
+ return this.timer.setTimeout(() => this.lock(cb), 1000);
73
+ }
74
+ else {
75
+ this.logger.warn('Failed to acquire lock: already held by another instance');
76
+ return cb(new LockAcquireError());
77
+ }
51
78
  }
79
+ this.logger.info(`Lock acquired successfully for key: ${this.lockKey}`);
52
80
  cb();
53
81
  });
54
82
  };
55
83
  extend = (cb) => {
56
- if (!this.isRunning())
84
+ if (!this.isRunning()) {
85
+ this.logger.warn('Cannot extend lock: lock is not currently held');
57
86
  return cb(new LockNotAcquiredError());
87
+ }
88
+ this.logger.debug(`Attempting to extend lock TTL for key: ${this.lockKey}`);
58
89
  this.redisClient.runScript(ELuaScript.EXTEND_LOCK, [this.lockKey], [this.id, this.ttl], (err, reply) => {
59
- if (err)
90
+ if (err) {
91
+ this.logger.error(`Error extending lock TTL: ${err.message}`, err);
60
92
  return cb(err);
61
- if (!this.powerSwitch.isRunning())
93
+ }
94
+ if (!this.powerSwitch.isRunning()) {
95
+ this.logger.warn('Lock extension aborted: power switch is no longer in running state');
62
96
  return cb(new AbortError());
63
- if (reply !== 1)
97
+ }
98
+ if (reply !== 1) {
99
+ this.logger.warn('Failed to extend lock: lock no longer held by this instance');
64
100
  return this.shutdown(() => cb(new LockExtendError()));
101
+ }
102
+ this.logger.debug(`Lock TTL extended successfully for key: ${this.lockKey}`);
65
103
  cb();
66
104
  });
67
105
  };
68
106
  release = (cb) => {
69
- this.redisClient.runScript(ELuaScript.RELEASE_LOCK, [this.lockKey], [this.id], (err) => cb(err));
107
+ this.logger.debug(`Attempting to release lock for key: ${this.lockKey}`);
108
+ this.redisClient.runScript(ELuaScript.RELEASE_LOCK, [this.lockKey], [this.id], (err) => {
109
+ if (err) {
110
+ this.logger.error(`Error releasing lock: ${err.message}`, err);
111
+ }
112
+ else {
113
+ this.logger.info(`Lock released successfully for key: ${this.lockKey}`);
114
+ }
115
+ cb(err);
116
+ });
70
117
  };
71
118
  resetTimer = (cb) => {
119
+ this.logger.debug('Resetting auto-extension timer');
72
120
  this.timer.reset();
121
+ this.logger.debug('Auto-extension timer reset successfully');
73
122
  cb();
74
123
  };
75
124
  autoExtendLock() {
76
125
  if (this.autoExtendInterval) {
126
+ this.logger.debug(`Scheduling auto-extension of lock in ${this.autoExtendInterval}ms`);
77
127
  this.timer.setTimeout(() => this.extend((err) => {
78
128
  if (err && !(err instanceof AbortError)) {
129
+ this.logger.error(`Auto-extension of lock failed: ${err.message}`, err);
79
130
  this.handleError(err);
80
131
  }
81
132
  else if (!err) {
133
+ this.logger.debug('Auto-extension of lock successful, scheduling next extension');
82
134
  this.autoExtendLock();
83
135
  }
136
+ else {
137
+ this.logger.debug('Auto-extension of lock aborted');
138
+ }
84
139
  }), this.autoExtendInterval);
85
140
  }
141
+ else {
142
+ this.logger.debug('Auto-extension of lock is disabled');
143
+ }
86
144
  }
87
145
  goingUp() {
146
+ this.logger.debug('RedisLock transitioning to going-up state');
147
+ this.emit('locker.goingUp', this.id);
88
148
  return super.goingUp().concat([this.lock]);
89
149
  }
90
150
  goingDown() {
151
+ this.logger.debug('RedisLock transitioning to going-down state');
152
+ this.emit('locker.goingDown', this.id);
91
153
  return [this.resetTimer, this.release].concat(super.goingDown());
92
154
  }
93
155
  handleError = (err) => {
156
+ this.logger.error(`RedisLock error: ${err.message}`, err);
94
157
  this.emit('locker.error', err, this.id);
95
158
  super.handleError(err);
96
159
  };
97
160
  getLogger() {
98
161
  return this.logger;
99
162
  }
163
+ up(cb) {
164
+ this.logger.info(`RedisLock transitioned to up state for key: ${this.lockKey}`);
165
+ this.emit('locker.up', this.id);
166
+ super.up(cb);
167
+ }
168
+ down(cb) {
169
+ this.logger.info(`RedisLock transitioned to down state for key: ${this.lockKey}`);
170
+ this.emit('locker.down', this.id);
171
+ super.down(cb);
172
+ }
100
173
  run(cb) {
174
+ this.logger.info(`Attempting to run RedisLock for key: ${this.lockKey}`);
101
175
  super.run((err, reply) => {
102
- if (err instanceof LockAcquireError)
176
+ if (err instanceof LockAcquireError) {
177
+ this.logger.info(`Lock already held by another instance for key: ${this.lockKey}`);
103
178
  return cb(null, false);
104
- if (err)
179
+ }
180
+ if (err) {
181
+ this.logger.error(`Error running RedisLock: ${err.message}`, err);
105
182
  return cb(err);
106
- if (reply)
107
- this.autoExtendLock();
183
+ }
184
+ if (reply) {
185
+ this.logger.info(`RedisLock running successfully for key: ${this.lockKey}`);
186
+ if (this.autoExtendInterval) {
187
+ this.logger.debug(`Auto-extension enabled with interval: ${this.autoExtendInterval}ms`);
188
+ this.autoExtendLock();
189
+ }
190
+ }
108
191
  cb(null, Boolean(reply));
109
192
  });
110
193
  }
111
194
  acquireLock(cb) {
195
+ this.logger.info(`Acquiring lock for key: ${this.lockKey}`);
112
196
  this.run(cb);
113
197
  }
114
198
  releaseLock(cb) {
199
+ this.logger.info(`Releasing lock for key: ${this.lockKey}`);
115
200
  this.shutdown(cb);
116
201
  }
117
202
  extendLock(cb) {
118
- if (this.autoExtendInterval)
203
+ this.logger.debug(`Manual extension of lock requested for key: ${this.lockKey}`);
204
+ if (this.autoExtendInterval) {
205
+ this.logger.warn('Cannot manually extend lock: auto-extension is enabled');
119
206
  return cb(new LockMethodNotAllowedError());
120
- if (!this.powerSwitch.isRunning())
207
+ }
208
+ if (!this.powerSwitch.isRunning()) {
209
+ this.logger.warn('Cannot extend lock: lock is not currently held');
121
210
  return cb(new LockNotAcquiredError());
211
+ }
212
+ this.logger.debug('Extending lock TTL');
122
213
  this.extend(cb);
123
214
  }
124
215
  isLocked() {
125
- return this.powerSwitch.isRunning();
216
+ const locked = this.powerSwitch.isRunning();
217
+ this.logger.debug(`Lock status check for key ${this.lockKey}: ${locked ? 'locked' : 'not locked'}`);
218
+ return locked;
126
219
  }
127
220
  isReleased() {
128
- return this.powerSwitch.isDown();
221
+ const released = this.powerSwitch.isDown();
222
+ this.logger.debug(`Lock release status check for key ${this.lockKey}: ${released ? 'released' : 'not released'}`);
223
+ return released;
129
224
  }
130
225
  }
131
226
  //# sourceMappingURL=redis-lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-lock.js","sourceRoot":"","sources":["../../../../src/redis-lock/redis-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-lock.js","sourceRoot":"","sources":["../../../../src/redis-lock/redis-lock.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ICallback } from '../common/index.js';
2
+ import { ILogger } from '../logger/index.js';
2
3
  import { EWorkerType, IWorkerCallable } from './types/index.js';
3
4
  import { Worker } from './worker.js';
4
5
  export declare class WorkerCallable<Payload, Reply> extends Worker<Payload, Reply> implements IWorkerCallable<Payload, Reply> {
5
6
  protected readonly type: EWorkerType;
6
- constructor(workerFilename: string);
7
+ constructor(workerFilename: string, logger?: ILogger);
7
8
  call(payload: Payload, cb: ICallback<Reply>): void;
8
9
  }
9
10
  //# sourceMappingURL=worker-callable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-callable.d.ts","sourceRoot":"","sources":["../../../../src/worker/worker-callable.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAEL,WAAW,EACX,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,cAAc,CAAC,OAAO,EAAE,KAAK,CACxC,SAAQ,MAAM,CAAC,OAAO,EAAE,KAAK,CAC7B,YAAW,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAwB;gBAEhD,cAAc,EAAE,MAAM;IAIlC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC;CAQ5C"}
1
+ {"version":3,"file":"worker-callable.d.ts","sourceRoot":"","sources":["../../../../src/worker/worker-callable.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAEL,WAAW,EACX,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,cAAc,CAAC,OAAO,EAAE,KAAK,CACxC,SAAQ,MAAM,CAAC,OAAO,EAAE,KAAK,CAC7B,YAAW,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAwB;gBAEhD,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAWpD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC;CAgC5C"}
@@ -3,16 +3,44 @@ import { EWorkerThreadParentMessage, EWorkerType, } from './types/index.js';
3
3
  import { Worker } from './worker.js';
4
4
  export class WorkerCallable extends Worker {
5
5
  type = EWorkerType.CALLABLE;
6
- constructor(workerFilename) {
6
+ constructor(workerFilename, logger) {
7
7
  super(workerFilename);
8
+ this.logger = logger ?? this.logger;
9
+ this.logger.info(`WorkerCallable instance created for ${workerFilename}`);
10
+ this.logger.debug('WorkerCallable initialization details', {
11
+ id: this.id,
12
+ type: EWorkerType[this.type],
13
+ hasCustomLogger: !!logger,
14
+ });
8
15
  }
9
16
  call(payload, cb) {
17
+ this.logger.info(`Calling worker ${this.id}`);
18
+ this.logger.debug('Call details', {
19
+ hasPayload: payload !== null && payload !== undefined,
20
+ payloadType: payload !== null && payload !== undefined
21
+ ? typeof payload
22
+ : 'null/undefined',
23
+ });
10
24
  if (payload === null || payload === undefined) {
25
+ this.logger.error('Worker call failed: payload is required');
11
26
  cb(new WorkerPayloadRequiredError());
12
27
  }
13
28
  else {
14
- this.registerEvents(cb);
15
- this.postMessage({ type: EWorkerThreadParentMessage.CALL, payload });
29
+ try {
30
+ this.logger.debug('Registering worker thread event handlers');
31
+ this.registerEvents(cb);
32
+ this.logger.debug('Posting CALL message to worker thread');
33
+ this.postMessage({ type: EWorkerThreadParentMessage.CALL, payload });
34
+ this.logger.debug('Worker call initiated successfully');
35
+ }
36
+ catch (err) {
37
+ const error = err instanceof Error ? err : new Error('Unknown error');
38
+ this.logger.error(`Worker call failed: ${error.message}`, {
39
+ error: error.message,
40
+ stack: error.stack,
41
+ });
42
+ cb(error);
43
+ }
16
44
  }
17
45
  }
18
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-callable.js","sourceRoot":"","sources":["../../../../src/worker/worker-callable.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,0BAA0B,EAC1B,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,cACX,SAAQ,MAAsB;IAGX,IAAI,GAAgB,WAAW,CAAC,QAAQ,CAAC;IAE5D,YAAY,cAAsB;QAChC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,OAAgB,EAAE,EAAoB;QACzC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,EAAE,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"worker-callable.js","sourceRoot":"","sources":["../../../../src/worker/worker-callable.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,0BAA0B,EAC1B,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,cACX,SAAQ,MAAsB;IAGX,IAAI,GAAgB,WAAW,CAAC,QAAQ,CAAC;IAE5D,YAAY,cAAsB,EAAE,MAAgB;QAClD,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;YACzD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,eAAe,EAAE,CAAC,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAgB,EAAE,EAAoB;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;YAChC,UAAU,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YACrD,WAAW,EACT,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;gBACvC,CAAC,CAAC,OAAO,OAAO;gBAChB,CAAC,CAAC,gBAAgB;SACvB,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,EAAE,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAErE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,EAAE;oBACxD,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-resource-group.d.ts","sourceRoot":"","sources":["../../../../src/worker/worker-resource-group.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG;IACtC,2BAA2B,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,QAAQ,CAAC,yBAAyB,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,YAAY,cAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,YAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,WAAW,eAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,UAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAM;IAClD,SAAS,CAAC,gBAAgB,UAAS;gBAGjC,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,MAAM;IAwBzB,SAAS,CAAC,IAAI,OAAQ,SAAS,CAAC,IAAI,CAAC,UAUnC;IAEF,SAAS,CAAC,UAAU,OAAQ,SAAS,CAAC,IAAI,CAAC,UAczC;IAEF,SAAS,CAAC,eAAe,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAerD;IAEF,SAAS,CAAC,WAAW,OAAQ,SAAS,CAAC,IAAI,CAAC,UAE1C;cAEiB,SAAS,IAAI,OAAO;cAIpB,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cAI5C,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cAI9C,WAAW,CAAC,GAAG,EAAE,KAAK;IAOzC,SAAS,aAAc,MAAM,WAAW,OAAO,KAAG,IAAI,CAIpD;IAEF,WAAW,eACG,MAAM,WACT,OAAO,MACZ,SAAS,CAAC,IAAI,CAAC,KAClB,IAAI,CAmBL;CACH"}
1
+ {"version":3,"file":"worker-resource-group.d.ts","sourceRoot":"","sources":["../../../../src/worker/worker-resource-group.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG;IACtC,2BAA2B,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,QAAQ,CAAC,yBAAyB,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,YAAY,cAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,YAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,WAAW,eAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,UAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAM;IAClD,SAAS,CAAC,gBAAgB,UAAS;gBAGjC,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,MAAM;IAuCzB,SAAS,CAAC,IAAI,OAAQ,SAAS,CAAC,IAAI,CAAC,UAgBnC;IAEF,SAAS,CAAC,UAAU,OAAQ,SAAS,CAAC,IAAI,CAAC,UAwCzC;IAEF,SAAS,CAAC,eAAe,OAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAoCrD;IAEF,SAAS,CAAC,WAAW,OAAQ,SAAS,CAAC,IAAI,CAAC,UAU1C;cAEiB,SAAS,IAAI,OAAO;cAIpB,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cAK5C,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cAK9C,WAAW,CAAC,GAAG,EAAE,KAAK;IAQzC,SAAS,aAAc,MAAM,WAAW,OAAO,KAAG,IAAI,CAWpD;IAEF,WAAW,eACG,MAAM,WACT,OAAO,MACZ,SAAS,CAAC,IAAI,CAAC,KAClB,IAAI,CAqDL;CACH"}