redis-smq-common 1.0.0-rc.5 → 1.0.0-rc.8

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/CHANGELOG.md CHANGED
@@ -1,8 +1,20 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.0.0-rc.8 (2022-05-30)
4
+
5
+ * Add WatchedKeysChangedError class (1e42e80)
6
+
7
+ ## 1.0.0-rc.7 (2022-05-30)
8
+
9
+ * Fix various redis errors (9349261)
10
+
11
+ ## 1.0.0-rc.6 (2022-05-30)
12
+
13
+ * Fix missing RedisClient from package exports (88f90f0)
14
+
3
15
  ## 1.0.0-rc.5 (2022-05-30)
4
16
 
5
- Update IRedisClientMulti interface (be1c534)
17
+ * Update IRedisClientMulti interface (be1c534)
6
18
 
7
19
  ## 1.0.0-rc.4 (2022-05-30)
8
20
 
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export { LockManager } from './src/lock-manager/lock-manager';
4
4
  export { logger } from './src/logger/logger';
5
5
  export { PowerManager } from './src/power-manager/power-manager';
6
6
  export { createClientInstance } from './src/redis-client/create-client-instance';
7
+ export { RedisClient } from './src/redis-client/redis-client';
7
8
  export { Ticker } from './src/ticker/ticker';
8
9
  export { Worker } from './src/worker/worker';
9
10
  export { WorkerRunner } from './src/worker/worker-runner/worker-runner';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.events = exports.WorkerPool = exports.WorkerRunner = exports.Worker = exports.Ticker = exports.createClientInstance = exports.PowerManager = exports.logger = exports.LockManager = exports.errors = exports.async = void 0;
3
+ exports.events = exports.WorkerPool = exports.WorkerRunner = exports.Worker = exports.Ticker = exports.RedisClient = exports.createClientInstance = exports.PowerManager = exports.logger = exports.LockManager = exports.errors = exports.async = void 0;
4
4
  var async_1 = require("./src/async/async");
5
5
  Object.defineProperty(exports, "async", { enumerable: true, get: function () { return async_1.async; } });
6
6
  var errors_1 = require("./src/errors");
@@ -13,6 +13,8 @@ var power_manager_1 = require("./src/power-manager/power-manager");
13
13
  Object.defineProperty(exports, "PowerManager", { enumerable: true, get: function () { return power_manager_1.PowerManager; } });
14
14
  var create_client_instance_1 = require("./src/redis-client/create-client-instance");
15
15
  Object.defineProperty(exports, "createClientInstance", { enumerable: true, get: function () { return create_client_instance_1.createClientInstance; } });
16
+ var redis_client_1 = require("./src/redis-client/redis-client");
17
+ Object.defineProperty(exports, "RedisClient", { enumerable: true, get: function () { return redis_client_1.RedisClient; } });
16
18
  var ticker_1 = require("./src/ticker/ticker");
17
19
  Object.defineProperty(exports, "Ticker", { enumerable: true, get: function () { return ticker_1.Ticker; } });
18
20
  var worker_1 = require("./src/worker/worker");
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IoredisClientMulti = void 0;
4
4
  const redis_client_error_1 = require("../errors/redis-client.error");
5
+ const watched_keys_changed_error_1 = require("../errors/watched-keys-changed.error");
5
6
  class IoredisClientMulti {
6
7
  constructor(client) {
7
8
  this.multi = client.multi();
@@ -43,7 +44,7 @@ class IoredisClientMulti {
43
44
  return this;
44
45
  }
45
46
  srem(key, element) {
46
- this.multi.srem(key, ...element);
47
+ this.multi.srem(key, ...(typeof element === 'string' ? [element] : element));
47
48
  return this;
48
49
  }
49
50
  hset(key, field, value) {
@@ -63,7 +64,7 @@ class IoredisClientMulti {
63
64
  return this;
64
65
  }
65
66
  del(key) {
66
- this.multi.del(...key);
67
+ this.multi.del(...(typeof key === 'string' ? [key] : key));
67
68
  return this;
68
69
  }
69
70
  exec(cb) {
@@ -71,7 +72,7 @@ class IoredisClientMulti {
71
72
  if (err)
72
73
  cb(err);
73
74
  else if (!reply)
74
- cb(new redis_client_error_1.RedisClientError(`Redis transaction has been abandoned. Try again.`));
75
+ cb(new watched_keys_changed_error_1.WatchedKeysChangedError());
75
76
  else {
76
77
  const lengths = [];
77
78
  let err = null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeRedisV3ClientMulti = void 0;
4
- const redis_client_error_1 = require("../errors/redis-client.error");
4
+ const watched_keys_changed_error_1 = require("../errors/watched-keys-changed.error");
5
5
  class NodeRedisV3ClientMulti {
6
6
  constructor(client) {
7
7
  this.multi = client.multi();
@@ -71,7 +71,7 @@ class NodeRedisV3ClientMulti {
71
71
  if (err)
72
72
  cb(err);
73
73
  else if (!reply)
74
- cb(new redis_client_error_1.RedisClientError(`Redis transaction has been abandoned. Try again.`));
74
+ cb(new watched_keys_changed_error_1.WatchedKeysChangedError());
75
75
  else
76
76
  cb(null, reply);
77
77
  });
@@ -110,7 +110,7 @@ class NodeRedisV3Client extends redis_client_1.RedisClient {
110
110
  this.client.hset(key, field, value, cb);
111
111
  }
112
112
  hdel(key, fields, cb) {
113
- this.client.hdel(key, fields, cb);
113
+ this.client.hdel(key, ...(typeof fields === 'string' ? [fields] : fields), cb);
114
114
  }
115
115
  lrange(key, start, stop, cb) {
116
116
  this.client.lrange(key, start, stop, cb);
@@ -166,7 +166,7 @@ class NodeRedisV3Client extends redis_client_1.RedisClient {
166
166
  this.client.get(key, cb);
167
167
  }
168
168
  del(key, cb) {
169
- this.client.del(key, cb);
169
+ this.client.del(...(typeof key === 'string' ? [key] : key), cb);
170
170
  }
171
171
  llen(key, cb) {
172
172
  this.client.llen(key, cb);
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeRedisV4ClientMulti = void 0;
4
+ const client_1 = require("@redis/client");
5
+ const watched_keys_changed_error_1 = require("../errors/watched-keys-changed.error");
4
6
  class NodeRedisV4ClientMulti {
5
7
  constructor(client) {
6
8
  this.multi = client.multi();
@@ -69,7 +71,12 @@ class NodeRedisV4ClientMulti {
69
71
  this.multi
70
72
  .exec()
71
73
  .then((reply) => cb(null, reply))
72
- .catch(cb);
74
+ .catch((err) => {
75
+ if (err instanceof client_1.WatchError)
76
+ cb(new watched_keys_changed_error_1.WatchedKeysChangedError());
77
+ else
78
+ cb(err);
79
+ });
73
80
  }
74
81
  }
75
82
  exports.NodeRedisV4ClientMulti = NodeRedisV4ClientMulti;
@@ -215,8 +215,8 @@ class NodeRedisV4Client extends redis_client_1.RedisClient {
215
215
  }
216
216
  del(key, cb) {
217
217
  this.client
218
- .sendCommand(['del', ...(Array.isArray(key) ? key : [key])])
219
- .then((reply) => cb(null, Number(reply)))
218
+ .del(key)
219
+ .then((reply) => cb(null, reply))
220
220
  .catch(cb);
221
221
  }
222
222
  llen(key, cb) {
@@ -0,0 +1,4 @@
1
+ import { RedisClientError } from './redis-client.error';
2
+ export declare class WatchedKeysChangedError extends RedisClientError {
3
+ constructor(msg?: string);
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WatchedKeysChangedError = void 0;
4
+ const redis_client_error_1 = require("./redis-client.error");
5
+ class WatchedKeysChangedError extends redis_client_error_1.RedisClientError {
6
+ constructor(msg = 'One (or more) of the watched keys has been changed') {
7
+ super(msg);
8
+ }
9
+ }
10
+ exports.WatchedKeysChangedError = WatchedKeysChangedError;
11
+ //# sourceMappingURL=watched-keys-changed.error.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redis-smq-common",
3
- "version": "1.0.0-rc.5",
3
+ "version": "1.0.0-rc.8",
4
4
  "description": "RedisSMQ shared components that may be used by integrated applications and extensions.",
5
5
  "author": "Weyoss <weyoss@protonmail.com>",
6
6
  "license": "MIT",