@winible/winible-typed 2.103.0 → 2.104.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.
@@ -25,11 +25,43 @@ const logger_1 = __importDefault(require("../logger"));
25
25
  class CacheService {
26
26
  constructor() {
27
27
  this.client = null;
28
+ this.errorHandler = null;
29
+ }
30
+ /**
31
+ * Set a custom error handler for capturing errors to Sentry or other services
32
+ * @param handler - Function to handle errors
33
+ */
34
+ setErrorHandler(handler) {
35
+ this.errorHandler = handler;
36
+ }
37
+ /**
38
+ * Internal method to handle errors
39
+ * Uses custom error handler if set, otherwise falls back to logger only
40
+ */
41
+ handleError(error, message, context) {
42
+ if (this.errorHandler) {
43
+ error.name = context.method;
44
+ this.errorHandler(error, undefined, context);
45
+ }
46
+ else {
47
+ // Fallback to logger if no error handler is set
48
+ (0, logger_1.default)(message, {
49
+ level: "error",
50
+ method: (context === null || context === void 0 ? void 0 : context.method) || "CacheService",
51
+ action: (context === null || context === void 0 ? void 0 : context.action) || "error",
52
+ error,
53
+ additionalData: context === null || context === void 0 ? void 0 : context.additionalData,
54
+ });
55
+ }
28
56
  }
29
57
  /**
30
58
  * Initialize the Cache client
59
+ * @param errorHandler - Optional error handler for Sentry integration
31
60
  */
32
- async initialize() {
61
+ async initialize(errorHandler) {
62
+ if (errorHandler) {
63
+ this.errorHandler = errorHandler;
64
+ }
33
65
  try {
34
66
  const host = process.env.ELASTICACHE_HOST;
35
67
  const port = parseInt(process.env.ELASTICACHE_PORT || "6379", 10);
@@ -102,7 +134,7 @@ class CacheService {
102
134
  // Wait for connection with timeout and throw if it fails
103
135
  await Promise.race([
104
136
  this.client.ping(),
105
- new Promise((_, reject) => setTimeout(() => reject(new Error("Connection timeout after 10 seconds")), 10000)),
137
+ new Promise((_, reject) => setTimeout(() => reject(new Error("Connection timeout after 20 seconds")), 20000)),
106
138
  ]);
107
139
  (0, logger_1.default)("Cache client connected successfully", {
108
140
  level: "info",
@@ -111,13 +143,11 @@ class CacheService {
111
143
  });
112
144
  }
113
145
  catch (error) {
114
- (0, logger_1.default)("Failed to initialize cache client", {
115
- level: "error",
146
+ this.handleError(error, null, {
116
147
  method: "CacheService.initialize",
117
148
  action: "error",
118
- additionalData: { error },
149
+ additionalData: { message: error.message || "Failed to initialize cache client", },
119
150
  });
120
- throw error;
121
151
  }
122
152
  }
123
153
  /**
@@ -134,11 +164,10 @@ class CacheService {
134
164
  return JSON.parse(value);
135
165
  }
136
166
  catch (error) {
137
- (0, logger_1.default)("Failed to get value from cache", {
138
- level: "error",
167
+ this.handleError(error, null, {
139
168
  method: "CacheService.get",
140
169
  action: "error",
141
- additionalData: { key, error },
170
+ additionalData: { message: "Failed to get value from cache", key },
142
171
  });
143
172
  return null;
144
173
  }
@@ -160,13 +189,11 @@ class CacheService {
160
189
  }
161
190
  }
162
191
  catch (error) {
163
- (0, logger_1.default)("Failed to set value in cache", {
164
- level: "error",
192
+ this.handleError(error, null, {
165
193
  method: "CacheService.set",
166
194
  action: "error",
167
- additionalData: { key, ttl, error },
195
+ additionalData: { message: "Failed to set value in cache", key, ttl },
168
196
  });
169
- throw error;
170
197
  }
171
198
  }
172
199
  /**
@@ -178,13 +205,11 @@ class CacheService {
178
205
  await this.client.del(key);
179
206
  }
180
207
  catch (error) {
181
- (0, logger_1.default)("Failed to delete key from cache", {
182
- level: "error",
208
+ this.handleError(error, null, {
183
209
  method: "CacheService.delete",
184
210
  action: "error",
185
- additionalData: { key, error },
211
+ additionalData: { message: "Failed to delete key from cache", key },
186
212
  });
187
- throw error;
188
213
  }
189
214
  }
190
215
  /**
@@ -205,11 +230,10 @@ class CacheService {
205
230
  return keys;
206
231
  }
207
232
  catch (error) {
208
- (0, logger_1.default)("Failed to get keys from cache", {
209
- level: "error",
233
+ this.handleError(error, null, {
210
234
  method: "CacheService.keys",
211
235
  action: "error",
212
- additionalData: { pattern, error },
236
+ additionalData: { message: "Failed to get keys from cache", pattern },
213
237
  });
214
238
  return [];
215
239
  }
@@ -225,11 +249,10 @@ class CacheService {
225
249
  return size;
226
250
  }
227
251
  catch (error) {
228
- (0, logger_1.default)("Failed to get database size", {
229
- level: "error",
252
+ this.handleError(error, null, {
230
253
  method: "CacheService.dbsize",
231
254
  action: "error",
232
- additionalData: { error },
255
+ additionalData: { message: "Failed to get database size" },
233
256
  });
234
257
  return 0;
235
258
  }
@@ -256,13 +279,11 @@ class CacheService {
256
279
  }
257
280
  }
258
281
  catch (error) {
259
- (0, logger_1.default)("Failed to clear keys matching pattern", {
260
- level: "error",
282
+ this.handleError(error, null, {
261
283
  method: "CacheService.clearPattern",
262
284
  action: "error",
263
- additionalData: { pattern, error },
285
+ additionalData: { message: "Failed to clear keys matching pattern", pattern },
264
286
  });
265
- throw error;
266
287
  }
267
288
  }
268
289
  /**
@@ -276,11 +297,10 @@ class CacheService {
276
297
  return result === 1;
277
298
  }
278
299
  catch (error) {
279
- (0, logger_1.default)("Failed to check if key exists", {
280
- level: "error",
300
+ this.handleError(error, null, {
281
301
  method: "CacheService.exists",
282
302
  action: "error",
283
- additionalData: { key, error },
303
+ additionalData: { message: "Failed to check if key exists", key },
284
304
  });
285
305
  return false;
286
306
  }
@@ -304,13 +324,11 @@ class CacheService {
304
324
  await pipeline.exec();
305
325
  }
306
326
  catch (error) {
307
- (0, logger_1.default)("Failed to set multiple values in cache", {
308
- level: "error",
327
+ this.handleError(error, null, {
309
328
  method: "CacheService.mset",
310
329
  action: "error",
311
- additionalData: { count: entries.length, error },
330
+ additionalData: { message: "Failed to set multiple values in cache", count: entries.length },
312
331
  });
313
- throw error;
314
332
  }
315
333
  }
316
334
  /**
@@ -324,11 +342,10 @@ class CacheService {
324
342
  return values.map((value) => value ? JSON.parse(value) : null);
325
343
  }
326
344
  catch (error) {
327
- (0, logger_1.default)("Failed to get multiple values from cache", {
328
- level: "error",
345
+ this.handleError(error, null, {
329
346
  method: "CacheService.mget",
330
347
  action: "error",
331
- additionalData: { count: keys.length, error },
348
+ additionalData: { message: "Failed to get multiple values from cache", count: keys.length },
332
349
  });
333
350
  return keys.map(() => null);
334
351
  }
@@ -344,13 +361,12 @@ class CacheService {
344
361
  return await this.client.incrby(key, increment);
345
362
  }
346
363
  catch (error) {
347
- (0, logger_1.default)("Failed to increment value in cache", {
348
- level: "error",
364
+ this.handleError(error, null, {
349
365
  method: "CacheService.increment",
350
366
  action: "error",
351
- additionalData: { key, increment, error },
367
+ additionalData: { message: "Failed to increment value in cache", key, increment },
352
368
  });
353
- throw error;
369
+ return 0;
354
370
  }
355
371
  }
356
372
  /**
@@ -364,13 +380,12 @@ class CacheService {
364
380
  return await this.client.decrby(key, decrement);
365
381
  }
366
382
  catch (error) {
367
- (0, logger_1.default)("Failed to decrement value in cache", {
368
- level: "error",
383
+ this.handleError(error, null, {
369
384
  method: "CacheService.decrement",
370
385
  action: "error",
371
- additionalData: { key, decrement, error },
386
+ additionalData: { message: "Failed to decrement value in cache", key, decrement },
372
387
  });
373
- throw error;
388
+ return 0;
374
389
  }
375
390
  }
376
391
  /**
@@ -385,13 +400,12 @@ class CacheService {
385
400
  return result === 1;
386
401
  }
387
402
  catch (error) {
388
- (0, logger_1.default)("Failed to set expiration on key", {
389
- level: "error",
403
+ this.handleError(error, null, {
390
404
  method: "CacheService.expire",
391
405
  action: "error",
392
- additionalData: { key, ttl, error },
406
+ additionalData: { message: "Failed to set expiration on key", key, ttl },
393
407
  });
394
- throw error;
408
+ return false;
395
409
  }
396
410
  }
397
411
  /**
@@ -404,11 +418,10 @@ class CacheService {
404
418
  return await this.client.ttl(key);
405
419
  }
406
420
  catch (error) {
407
- (0, logger_1.default)("Failed to get TTL for key", {
408
- level: "error",
421
+ this.handleError(error, null, {
409
422
  method: "CacheService.ttl",
410
423
  action: "error",
411
- additionalData: { key, error },
424
+ additionalData: { message: "Failed to get TTL for key", key },
412
425
  });
413
426
  return -2;
414
427
  }
@@ -442,13 +455,11 @@ class CacheService {
442
455
  return result;
443
456
  }
444
457
  catch (error) {
445
- (0, logger_1.default)("Failed to ping cache client", {
446
- level: "error",
458
+ this.handleError(error, null, {
447
459
  method: "CacheService.ping",
448
460
  action: "error",
449
- additionalData: { error },
461
+ additionalData: { message: "Failed to ping cache client" },
450
462
  });
451
- throw error;
452
463
  }
453
464
  }
454
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cacheService.js","sourceRoot":"","sources":["../../../utils/cacheService/cacheService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cacheService.js","sourceRoot":"","sources":["../../../utils/cacheService/cacheService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winible/winible-typed",
3
- "version": "2.103.0",
3
+ "version": "2.104.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -40,22 +40,67 @@ describe('CacheService', () => {
40
40
  });
41
41
 
42
42
  describe('Initialization', () => {
43
- it('should throw error if ELASTICACHE_HOST is not set', async () => {
43
+ it('should handle error when ELASTICACHE_HOST is not set', async () => {
44
+ const mockErrorHandler = jest.fn();
44
45
  delete process.env.ELASTICACHE_HOST;
45
46
  const service = new CacheService();
46
- await expect(service.initialize()).rejects.toThrow('ELASTICACHE_HOST environment variable is required');
47
+
48
+ await service.initialize(mockErrorHandler);
49
+
50
+ expect(mockErrorHandler).toHaveBeenCalledWith(
51
+ expect.any(Error),
52
+ undefined,
53
+ expect.objectContaining({
54
+ method: 'CacheService.initialize',
55
+ action: 'error',
56
+ additionalData: expect.objectContaining({
57
+ message: expect.any(String),
58
+ }),
59
+ })
60
+ );
61
+ await service.disconnect();
47
62
  });
48
63
 
49
- it('should throw error if ELASTICACHE_USERNAME is not set', async () => {
64
+ it('should handle error when ELASTICACHE_USERNAME is not set', async () => {
65
+ const mockErrorHandler = jest.fn();
50
66
  delete process.env.ELASTICACHE_USERNAME;
51
67
  const service = new CacheService();
52
- await expect(service.initialize()).rejects.toThrow('ELASTICACHE_USERNAME environment variable is required');
68
+
69
+ await service.initialize(mockErrorHandler);
70
+
71
+ expect(mockErrorHandler).toHaveBeenCalledWith(
72
+ expect.any(Error),
73
+ undefined,
74
+ expect.objectContaining({
75
+ method: 'CacheService.initialize',
76
+ action: 'error',
77
+ additionalData: expect.objectContaining({
78
+ message: expect.any(String),
79
+ }),
80
+ })
81
+ );
82
+ await service.disconnect();
53
83
  });
54
84
 
55
- it('should throw error if ELASTICACHE_PASSWORD is not set', async () => {
85
+ it('should handle error when ELASTICACHE_PASSWORD is not set', async () => {
86
+ const mockErrorHandler = jest.fn();
56
87
  delete process.env.ELASTICACHE_PASSWORD;
57
88
  const service = new CacheService();
58
- await expect(service.initialize()).rejects.toThrow('ELASTICACHE_PASSWORD environment variable is required');
89
+
90
+ await service.initialize(mockErrorHandler);
91
+
92
+ expect(mockErrorHandler).toHaveBeenCalledWith(
93
+ expect.any(Error),
94
+ undefined,
95
+ expect.objectContaining({
96
+ method: 'CacheService.initialize',
97
+ action: 'error',
98
+ additionalData: expect.objectContaining({
99
+ message: expect.any(String),
100
+ }),
101
+ })
102
+ );
103
+ await service.disconnect();
59
104
  });
60
105
 
61
106
  it('should initialize successfully with all required env vars', async () => {
@@ -1,6 +1,19 @@
1
1
  import Redis from "ioredis";
2
2
  import logger from "../logger";
3
3
 
4
+ /**
5
+ * Error handler function type for cache service errors
6
+ */
7
+ type ErrorHandler = (
8
+ error: any,
9
+ req: any,
10
+ context?: {
11
+ method?: string;
12
+ action?: string;
13
+ additionalData?: any;
14
+ }
15
+ ) => void;
16
+
4
17
  /**
5
18
  * CacheService - A singleton service for interacting with ElastiCache Valkey cluster
6
19
  *
@@ -19,11 +32,52 @@ import logger from "../logger";
19
32
  */
20
33
  class CacheService {
21
34
  private client: Redis | null = null;
35
+ private errorHandler: any = null;
36
+
37
+ /**
38
+ * Set a custom error handler for capturing errors to Sentry or other services
39
+ * @param handler - Function to handle errors
40
+ */
41
+ setErrorHandler(handler: any): void {
42
+ this.errorHandler = handler;
43
+ }
44
+
45
+ /**
46
+ * Internal method to handle errors
47
+ * Uses custom error handler if set, otherwise falls back to logger only
48
+ */
49
+ private handleError(
50
+ error: any,
51
+ message: string,
52
+ context?: {
53
+ method?: string;
54
+ action?: string;
55
+ additionalData?: any;
56
+ }
57
+ ): void {
58
+ if (this.errorHandler) {
59
+ error.name = context.method
60
+ this.errorHandler(error, undefined, context);
61
+ } else {
62
+ // Fallback to logger if no error handler is set
63
+ logger(message, {
64
+ level: "error",
65
+ method: context?.method || "CacheService",
66
+ action: context?.action || "error",
67
+ error,
68
+ additionalData: context?.additionalData,
69
+ });
70
+ }
71
+ }
22
72
 
23
73
  /**
24
74
  * Initialize the Cache client
75
+ * @param errorHandler - Optional error handler for Sentry integration
25
76
  */
26
- async initialize(): Promise<void> {
77
+ async initialize(errorHandler?: ErrorHandler): Promise<void> {
78
+ if (errorHandler) {
79
+ this.errorHandler = errorHandler;
80
+ }
27
81
  try {
28
82
  const host = process.env.ELASTICACHE_HOST;
29
83
  const port = parseInt(process.env.ELASTICACHE_PORT || "6379", 10);
@@ -105,7 +159,7 @@ class CacheService {
105
159
  await Promise.race([
106
160
  this.client.ping(),
107
161
  new Promise((_, reject) =>
108
- setTimeout(() => reject(new Error("Connection timeout after 10 seconds")), 10000)
162
+ setTimeout(() => reject(new Error("Connection timeout after 20 seconds")), 20000)
109
163
  ),
110
164
  ]);
111
165
 
@@ -115,13 +169,11 @@ class CacheService {
115
169
  action: "completed",
116
170
  });
117
171
  } catch (error) {
118
- logger("Failed to initialize cache client", {
119
- level: "error",
172
+ this.handleError(error, null, {
120
173
  method: "CacheService.initialize",
121
174
  action: "error",
122
- additionalData: { error },
175
+ additionalData: { message: error.message || "Failed to initialize cache client", },
123
176
  });
124
- throw error;
125
177
  }
126
178
  }
127
179
 
@@ -138,11 +190,10 @@ class CacheService {
138
190
  }
139
191
  return JSON.parse(value) as T;
140
192
  } catch (error) {
141
- logger("Failed to get value from cache", {
142
- level: "error",
193
+ this.handleError(error, null, {
143
194
  method: "CacheService.get",
144
195
  action: "error",
145
- additionalData: { key, error },
196
+ additionalData: { message: "Failed to get value from cache", key },
146
197
  });
147
198
  return null;
148
199
  }
@@ -163,13 +214,11 @@ class CacheService {
163
214
  await this.client!.set(key, serialized);
164
215
  }
165
216
  } catch (error) {
166
- logger("Failed to set value in cache", {
167
- level: "error",
217
+ this.handleError(error, null, {
168
218
  method: "CacheService.set",
169
219
  action: "error",
170
- additionalData: { key, ttl, error },
220
+ additionalData: { message: "Failed to set value in cache", key, ttl },
171
221
  });
172
- throw error;
173
222
  }
174
223
  }
175
224
 
@@ -181,13 +230,11 @@ class CacheService {
181
230
  try {
182
231
  await this.client!.del(key);
183
232
  } catch (error) {
184
- logger("Failed to delete key from cache", {
185
- level: "error",
233
+ this.handleError(error, null, {
186
234
  method: "CacheService.delete",
187
235
  action: "error",
188
- additionalData: { key, error },
236
+ additionalData: { message: "Failed to delete key from cache", key },
189
237
  });
190
- throw error;
191
238
  }
192
239
  }
193
240
 
@@ -216,11 +263,10 @@ class CacheService {
216
263
 
217
264
  return keys;
218
265
  } catch (error) {
219
- logger("Failed to get keys from cache", {
220
- level: "error",
266
+ this.handleError(error, null, {
221
267
  method: "CacheService.keys",
222
268
  action: "error",
223
- additionalData: { pattern, error },
269
+ additionalData: { message: "Failed to get keys from cache", pattern },
224
270
  });
225
271
  return [];
226
272
  }
@@ -236,11 +282,10 @@ class CacheService {
236
282
  const size = await this.client!.dbsize();
237
283
  return size;
238
284
  } catch (error) {
239
- logger("Failed to get database size", {
240
- level: "error",
285
+ this.handleError(error, null, {
241
286
  method: "CacheService.dbsize",
242
287
  action: "error",
243
- additionalData: { error },
288
+ additionalData: { message: "Failed to get database size" },
244
289
  });
245
290
  return 0;
246
291
  }
@@ -267,13 +312,11 @@ class CacheService {
267
312
  });
268
313
  }
269
314
  } catch (error) {
270
- logger("Failed to clear keys matching pattern", {
271
- level: "error",
315
+ this.handleError(error, null, {
272
316
  method: "CacheService.clearPattern",
273
317
  action: "error",
274
- additionalData: { pattern, error },
318
+ additionalData: { message: "Failed to clear keys matching pattern", pattern },
275
319
  });
276
- throw error;
277
320
  }
278
321
  }
279
322
 
@@ -287,11 +330,10 @@ class CacheService {
287
330
  const result = await this.client!.exists(key);
288
331
  return result === 1;
289
332
  } catch (error) {
290
- logger("Failed to check if key exists", {
291
- level: "error",
333
+ this.handleError(error, null, {
292
334
  method: "CacheService.exists",
293
335
  action: "error",
294
- additionalData: { key, error },
336
+ additionalData: { message: "Failed to check if key exists", key },
295
337
  });
296
338
  return false;
297
339
  }
@@ -316,13 +358,11 @@ class CacheService {
316
358
  });
317
359
  await pipeline.exec();
318
360
  } catch (error) {
319
- logger("Failed to set multiple values in cache", {
320
- level: "error",
361
+ this.handleError(error, null, {
321
362
  method: "CacheService.mset",
322
363
  action: "error",
323
- additionalData: { count: entries.length, error },
364
+ additionalData: { message: "Failed to set multiple values in cache", count: entries.length },
324
365
  });
325
- throw error;
326
366
  }
327
367
  }
328
368
 
@@ -338,11 +378,10 @@ class CacheService {
338
378
  value ? (JSON.parse(value) as T) : null
339
379
  );
340
380
  } catch (error) {
341
- logger("Failed to get multiple values from cache", {
342
- level: "error",
381
+ this.handleError(error, null, {
343
382
  method: "CacheService.mget",
344
383
  action: "error",
345
- additionalData: { count: keys.length, error },
384
+ additionalData: { message: "Failed to get multiple values from cache", count: keys.length },
346
385
  });
347
386
  return keys.map(() => null);
348
387
  }
@@ -358,13 +397,12 @@ class CacheService {
358
397
  try {
359
398
  return await this.client!.incrby(key, increment);
360
399
  } catch (error) {
361
- logger("Failed to increment value in cache", {
362
- level: "error",
400
+ this.handleError(error, null, {
363
401
  method: "CacheService.increment",
364
402
  action: "error",
365
- additionalData: { key, increment, error },
403
+ additionalData: { message: "Failed to increment value in cache", key, increment },
366
404
  });
367
- throw error;
405
+ return 0;
368
406
  }
369
407
  }
370
408
 
@@ -378,13 +416,12 @@ class CacheService {
378
416
  try {
379
417
  return await this.client!.decrby(key, decrement);
380
418
  } catch (error) {
381
- logger("Failed to decrement value in cache", {
382
- level: "error",
419
+ this.handleError(error, null, {
383
420
  method: "CacheService.decrement",
384
421
  action: "error",
385
- additionalData: { key, decrement, error },
422
+ additionalData: { message: "Failed to decrement value in cache", key, decrement },
386
423
  });
387
- throw error;
424
+ return 0;
388
425
  }
389
426
  }
390
427
 
@@ -399,13 +436,12 @@ class CacheService {
399
436
  const result = await this.client!.expire(key, ttl);
400
437
  return result === 1;
401
438
  } catch (error) {
402
- logger("Failed to set expiration on key", {
403
- level: "error",
439
+ this.handleError(error, null, {
404
440
  method: "CacheService.expire",
405
441
  action: "error",
406
- additionalData: { key, ttl, error },
442
+ additionalData: { message: "Failed to set expiration on key", key, ttl },
407
443
  });
408
- throw error;
444
+ return false;
409
445
  }
410
446
  }
411
447
 
@@ -418,11 +454,10 @@ class CacheService {
418
454
  try {
419
455
  return await this.client!.ttl(key);
420
456
  } catch (error) {
421
- logger("Failed to get TTL for key", {
422
- level: "error",
457
+ this.handleError(error, null, {
423
458
  method: "CacheService.ttl",
424
459
  action: "error",
425
- additionalData: { key, error },
460
+ additionalData: { message: "Failed to get TTL for key", key },
426
461
  });
427
462
  return -2;
428
463
  }
@@ -456,13 +491,11 @@ class CacheService {
456
491
  const result = await this.client!.ping();
457
492
  return result;
458
493
  } catch (error) {
459
- logger("Failed to ping cache client", {
460
- level: "error",
494
+ this.handleError(error, null, {
461
495
  method: "CacheService.ping",
462
496
  action: "error",
463
- additionalData: { error },
497
+ additionalData: { message: "Failed to ping cache client" },
464
498
  });
465
- throw error;
466
499
  }
467
500
  }
468
501
  }