@trunkrs/common 1.6.3 → 1.6.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trunkrs/common",
3
- "version": "1.6.3",
3
+ "version": "1.6.4",
4
4
  "description": "Common standards library for development in Trunkrs",
5
5
  "types": "./index.d.ts",
6
6
  "repository": "https://github.com/Trunkrs/common.git",
@@ -2,6 +2,9 @@ import { RedisClientType } from 'redis';
2
2
  import SetOptions from './types/SetOptions';
3
3
  declare class RedisClient {
4
4
  private readonly client;
5
+ private needsConnectionCounter;
6
+ private connect;
7
+ private disconnect;
5
8
  constructor(client: RedisClientType);
6
9
  set(key: string, value: string, options?: SetOptions): Promise<void>;
7
10
  get(key: string): Promise<string | null>;
@@ -3,8 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class RedisClient {
4
4
  constructor(client) {
5
5
  this.client = client;
6
+ this.needsConnectionCounter = 0;
7
+ }
8
+ async connect() {
9
+ if (!this.needsConnectionCounter) {
10
+ await this.client.connect();
11
+ }
12
+ this.needsConnectionCounter += 1;
13
+ }
14
+ async disconnect() {
15
+ this.needsConnectionCounter -= 1;
16
+ if (!this.needsConnectionCounter) {
17
+ await this.client.disconnect();
18
+ }
6
19
  }
7
20
  async set(key, value, options) {
21
+ await this.connect();
8
22
  const commandOptions = {};
9
23
  if (options === null || options === void 0 ? void 0 : options.expiresAt) {
10
24
  Object.assign(commandOptions, {
@@ -16,14 +30,13 @@ class RedisClient {
16
30
  [options.setCondition]: true,
17
31
  });
18
32
  }
19
- await this.client.connect();
20
33
  await this.client.set(key, value, commandOptions);
21
- await this.client.disconnect();
34
+ await this.disconnect();
22
35
  }
23
36
  async get(key) {
24
- await this.client.connect();
37
+ await this.connect();
25
38
  const item = await this.client.get(key);
26
- await this.client.disconnect();
39
+ await this.disconnect();
27
40
  return item;
28
41
  }
29
42
  async getOrSet(key, factory, setOptions) {
@@ -35,14 +48,14 @@ class RedisClient {
35
48
  return value;
36
49
  }
37
50
  async delete(...keys) {
38
- await this.client.connect();
51
+ await this.connect();
39
52
  await this.client.del(keys);
40
- await this.client.disconnect();
53
+ await this.disconnect();
41
54
  }
42
55
  async clear() {
43
- await this.client.connect();
56
+ await this.connect();
44
57
  await this.client.FLUSHALL();
45
- await this.client.disconnect();
58
+ await this.disconnect();
46
59
  }
47
60
  }
48
61
  exports.default = RedisClient;
@@ -1 +1 @@
1
- {"version":3,"file":"RedisClient.js","sourceRoot":"","sources":["../../../services/redis/RedisClient.ts"],"names":[],"mappings":";;AAIA,MAAM,WAAW;IACf,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IASjD,KAAK,CAAC,GAAG,CACd,GAAW,EACX,KAAa,EACb,OAAoB;QAEpB,MAAM,cAAc,GAAG,EAAE,CAAA;QAEzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;gBAE5B,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;aAClC,CAAC,CAAA;SACH;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC5B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI;aAC7B,CAAC,CAAA;SACH;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC;IAQM,KAAK,CAAC,GAAG,CAAC,GAAW;QAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAWM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B,EAC9B,UAAuB;QAEvB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,MAAM,OAAO,EAAE,CAAA;YAEvB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;SACvC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAOM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAc;QACnC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC;IAMM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"RedisClient.js","sourceRoot":"","sources":["../../../services/redis/RedisClient.ts"],"names":[],"mappings":";;AAIA,MAAM,WAAW;IAmBf,YAAoC,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAlBnD,2BAAsB,GAAG,CAAC,CAAA;IAkB4B,CAAC;IAhBvD,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SAC5B;QAED,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAA;IAClC,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAA;QAEhC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;SAC/B;IACH,CAAC;IAWM,KAAK,CAAC,GAAG,CACd,GAAW,EACX,KAAa,EACb,OAAoB;QAEpB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,cAAc,GAAG,EAAE,CAAA;QAEzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;gBAE5B,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;aAClC,CAAC,CAAA;SACH;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC5B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI;aAC7B,CAAC,CAAA;SACH;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;QACjD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACzB,CAAC;IAQM,KAAK,CAAC,GAAG,CAAC,GAAW;QAC1B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAEvB,OAAO,IAAI,CAAA;IACb,CAAC;IAWM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B,EAC9B,UAAuB;QAEvB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,MAAM,OAAO,EAAE,CAAA;YAEvB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;SACvC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAOM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAc;QACnC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACzB,CAAC;IAMM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACzB,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}